diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-08-25 15:06:47 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-08-25 15:06:47 -0700 |
commit | 127c3e6c4da293af18ed05e108a110213be682fc (patch) | |
tree | 354fc9e91be4a90afbfa66b81a8d6e0cd8e9fc9a /httemplate/elements | |
parent | 6bdc9c23cddd8d8a48f993afb58616972f2e1ac1 (diff) |
usability: customer tags with checkboxes instead of a select-multiple
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/checkboxes-table.html | 18 | ||||
-rw-r--r-- | httemplate/elements/select-cust_tag.html | 13 | ||||
-rw-r--r-- | httemplate/elements/tr-select-cust_tag.html | 4 |
3 files changed, 18 insertions, 17 deletions
diff --git a/httemplate/elements/checkboxes-table.html b/httemplate/elements/checkboxes-table.html index 671cd1f9b..d3bbab430 100644 --- a/httemplate/elements/checkboxes-table.html +++ b/httemplate/elements/checkboxes-table.html @@ -69,6 +69,7 @@ % 'select' => $opt{'target_table'}. '.*', % 'addl_from' => "LEFT JOIN $opt{'link_table'} USING ( $target_pkey )", % 'extra_sql' => $extra_sql, +% 'order_by' => $opt{'order_by'}, % }) % ) { % @@ -83,7 +84,11 @@ % % } elsif ( !$sourcenum ) { # newly created object, has no links yet % -% $checked = $opt{'default'} ? 'CHECKED' : '' +% if ( ref($opt{'default'}) ) { +% $checked = $opt{'default'}->{$targetnum} ? 'CHECKED' : ''; +% } else { +% $checked = $opt{'default'} ? 'CHECKED' : '' +% } % % } else { % @@ -98,17 +103,12 @@ % % - - <INPUT TYPE="checkbox" NAME="<% $target_pkey. $targetnum %>" <% $checked %> VALUE="ON"> +% my $color_col = $opt{'color_col'}; + <INPUT TYPE="checkbox" NAME="<% $target_pkey. $targetnum %>" <% $checked %> VALUE="ON"><DIV STYLE="display:inline; background-color: #<% $color_col ? $target_obj->$color_col : '' %>"> % if ( $opt{'target_link'} ) { - - <A HREF="<% $opt{'target_link'} %><% $targetnum %>"> -% -% % } % -<% $targetnum %>: % if ( $opt{'name_callback'} ) { @@ -118,7 +118,7 @@ % - <% $target_obj->$name_col() %><% $opt{'target_link'} ? '</A>' : '' %> + <% $target_obj->$name_col() %></DIV><% $opt{'target_link'} ? '</A>' : '' %> % } % if ( $opt{'disable-able'} ) { diff --git a/httemplate/elements/select-cust_tag.html b/httemplate/elements/select-cust_tag.html index 61d4dca3b..02f849850 100644 --- a/httemplate/elements/select-cust_tag.html +++ b/httemplate/elements/select-cust_tag.html @@ -1,11 +1,12 @@ -<% include( '/elements/select-table.html', - 'table' => 'part_tag', +<% include( '/elements/checkboxes-table.html', + 'target_table' => 'part_tag', + 'link_table' => 'cust_tag', 'name_col' => 'tagname', #tagname - tagdesc?? - 'multiple' => 1, - #'value' => $agentnum || '', - #'agent_virt' => 1, - 'hashref' => { 'disabled' => '' }, + 'color_col' => 'tagcolor', + 'disable-able' => 1, 'order_by' => ' ORDER BY tagname', + 'source_table' => 'cust_main', + 'sourcenum' => $opt{'custnum'}, %opt, ) %> diff --git a/httemplate/elements/tr-select-cust_tag.html b/httemplate/elements/tr-select-cust_tag.html index b133dcc15..711408e27 100644 --- a/httemplate/elements/tr-select-cust_tag.html +++ b/httemplate/elements/tr-select-cust_tag.html @@ -4,8 +4,6 @@ <TH ALIGN="right"><% $opt{'label'} || 'Tags' %></TD> <TD> <% include( '/elements/select-cust_tag.html', - 'curr_value' => \@curr_tagnum, - 'part_tag' => \@part_tag, %opt, ) %> @@ -38,6 +36,8 @@ if ( $cgi && $cgi->param('tagnum') ) { my $extra_sql = "WHERE disabled IS NULL OR disabled = '' "; $extra_sql .= ' OR tagnum IN ('. join(',', @curr_tagnum). ')' if @curr_tagnum; +#now kind of inefficient (we only want to know if there are any), but since +# its an edit control its not significant my @part_tag = qsearch({ 'table' => 'part_tag', 'hashref' => {}, |