diff options
author | ivan <ivan> | 2006-04-22 00:58:40 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-04-22 00:58:40 +0000 |
commit | 1a033848671cad2cbe7687b37fc718b3b2a68b83 (patch) | |
tree | 01fc1ca352726cdc5786e0ccaf78515e9326ba84 /httemplate/elements | |
parent | 303cb4ce4b6ce634e108e3b7a0b43086a5e4f184 (diff) |
start of package class web UI (add/edit package classes, package class selection in package def edit)
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/select-agent.html | 32 | ||||
-rw-r--r-- | httemplate/elements/select-pkg_class.html | 16 | ||||
-rw-r--r-- | httemplate/elements/select-table.html | 45 | ||||
-rw-r--r-- | httemplate/elements/tr-select-pkg_class.html | 29 |
4 files changed, 102 insertions, 20 deletions
diff --git a/httemplate/elements/select-agent.html b/httemplate/elements/select-agent.html index c2a5e4bde..aa480a54b 100644 --- a/httemplate/elements/select-agent.html +++ b/httemplate/elements/select-agent.html @@ -1,24 +1,16 @@ <% my( $agentnum, %opt ) = @_; - my @agents; - if ( $opt{'agents'} ) { - @agents = @{ $opt{'agents'} }; - } else { - @agents = qsearch( 'agent', { disabled=>'' } ); - } - + my %select_opt = (); + $select_opt{'records'} = $opt{'agents'} + if $opt{'agents'}; + +%><%= include( '/elements/select-table.html', + 'table' => 'agent', + 'name_col' => 'agent', + 'value' => $agentnum, + 'empty_label' => 'all', + 'hashref' => { 'disabled' => '' }, + %select_opt, + ) %> - -<SELECT NAME="agentnum"> - - <OPTION VALUE="">all</OPTION> - - <% foreach my $agent ( sort { $a->agent cmp $b->agent } @agents ) { %> - - <OPTION VALUE="<%= $agent->agentnum %>"<%= $agentnum == $agent->agentnum ? ' SELECTED' : '' %>><%= $agent->agent %> - - <% } %> - -</SELECT> - diff --git a/httemplate/elements/select-pkg_class.html b/httemplate/elements/select-pkg_class.html new file mode 100644 index 000000000..5486e0877 --- /dev/null +++ b/httemplate/elements/select-pkg_class.html @@ -0,0 +1,16 @@ +<% + my( $classnum, %opt ) = @_; + + my %select_opt = (); + $select_opt{'records'} = $opt{'pkg_class'} + if $opt{'pkg_class'}; + +%><%= include( '/elements/select-table.html', + 'table' => 'pkg_class', + 'name_col' => 'classname', + 'value' => $classnum, + 'empty_label' => '(none)', + #'hashref' => { 'disabled' => '' }, + #%select_opt, + ) +%> diff --git a/httemplate/elements/select-table.html b/httemplate/elements/select-table.html new file mode 100644 index 000000000..10cc8b995 --- /dev/null +++ b/httemplate/elements/select-table.html @@ -0,0 +1,45 @@ +<% + + ##required + # 'table' => 'table_name', + # 'name_col' => 'name_column', + # + ##strongly recommended (you want your forms to be "sticky" on errors, right?) + # 'value' => 'current_value', + # + ##opt + # 'empty_label' => '', #better specify it though, the default might change + # 'hashref' => {}, + # 'records' => \@records, #instead of hashref + + my( %opt ) = @_; + + my $key = dbdef->table($opt{'table'})->primary_key; #? $opt{'primary_key'} || + + my $name_col = $opt{'name_col'}; + + my @records = (); + if ( $opt{'records'} ) { + @records = @{ $opt{'records'} }; + } else { + @records = qsearch( $opt{'table'}, ( $opt{'hashref'} || {} ) ); + } + +%> + +<SELECT NAME="<%= $key %>"> + + <OPTION VALUE=""><%= $opt{'empty_label'} || 'all' %></OPTION> + + <% foreach my $record ( sort { $a->$name_col() cmp $b->$name_col() } + @records + ) + { + %> + + <OPTION VALUE="<%= $record->$key() %>"<%= $opt{'value'} == $record->$key() ? ' SELECTED' : '' %>><%= $record->$name_col() %> + + <% } %> + +</SELECT> + diff --git a/httemplate/elements/tr-select-pkg_class.html b/httemplate/elements/tr-select-pkg_class.html new file mode 100644 index 000000000..de10885c8 --- /dev/null +++ b/httemplate/elements/tr-select-pkg_class.html @@ -0,0 +1,29 @@ +<% + my( $classnum, %opt ) = @_; + + my @pkg_class; + if ( $opt{'pkg_class'} ) { + @pkg_class = @{ $opt{'pkg_class'} }; + } else { + @pkg_class = qsearch( 'pkg_class', {} ); # { disabled=>'' } ); + } + +%> + +<% if ( scalar(@pkg_class) == 0 ) { %> + + <INPUT TYPE="hidden" NAME="classnum" VALUE=""> + +<% } else { %> + + <TR> + <TD ALIGN="right"><%= $opt{'label'} || 'Package class' %></TD> + <TD> + <%= include( '/elements/select-pkg_class.html', $classnum, + 'pkg_class' => \@pkg_class, + ) + %> + </TD> + </TR> + +<% } %> |