diff options
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/select-rt-customfield.html | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/httemplate/elements/select-rt-customfield.html b/httemplate/elements/select-rt-customfield.html new file mode 100644 index 000000000..7a45bb14b --- /dev/null +++ b/httemplate/elements/select-rt-customfield.html @@ -0,0 +1,34 @@ +<SELECT NAME="<% $opt{name} %>"> +% while ( @fields ) { +<OPTION VALUE="<% shift @fields %>"><% shift @fields %></OPTION> +% } +</SELECT> +<%once> +RT::Init(); +</%once> +<%init> +my %opt = @_; +my $lookuptype = $opt{lookuptype}; +my $valuetype = $opt{valuetype}; +# get a list of TimeValue-type custom fields +my $CurrentUser = RT::CurrentUser->new(); +$CurrentUser->LoadByName($FS::CurrentUser::CurrentUser->username); +die "RT not configured" unless $CurrentUser->id; +my $CFs = RT::CustomFields->new($CurrentUser); + +$CFs->Limit(FIELD => 'LookupType', + OPERATOR => 'ENDSWITH', + VALUE => $lookuptype) + if $lookuptype; + +$CFs->Limit(FIELD => 'Type', + VALUE => $valuetype) + if $valuetype; + +my @fields; +push @fields, '', $opt{empty_label} if exists($opt{empty_label}); + +while (my $CF = $CFs->Next) { + push @fields, $CF->Name, ($CF->Description || $CF->Name); +} +</%init> |