diff options
Diffstat (limited to 'httemplate/elements/tr-select-reason.html')
-rwxr-xr-x | httemplate/elements/tr-select-reason.html | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/httemplate/elements/tr-select-reason.html b/httemplate/elements/tr-select-reason.html deleted file mode 100755 index d85538f0c..000000000 --- a/httemplate/elements/tr-select-reason.html +++ /dev/null @@ -1,189 +0,0 @@ -<%doc> - -Example: - - include( '/elements/tr-select-reason.html', - - #required - 'field' => 'reasonnum', - 'reason_class' => 'C', # currently 'C', 'R', or 'S' - # for cancel, credit, or suspend - - #recommended - 'cgi' => $cgi, #easiest way for things to be properly "sticky" on errors - - #optional - 'control_button' => 'element_name', #button to be enabled when a reason is - #selected - 'id' => 'element_id', - - #deprecated ways to keep things "sticky" on errors - # (requires duplicate code in each using file to parse cgi params) - 'curr_value' => $curr_value, - 'curr_value' => { - 'typenum' => $typenum, - 'reason' => $reason, - }, - - ) - -</%doc> - -<SCRIPT TYPE="text/javascript"> - function sh_add<% $func_suffix %>() - { - - if (document.getElementById('<% $id %>').selectedIndex == 0){ - <% $controlledbutton ? $controlledbutton.'.disabled = true;' : ';' %> - }else{ - <% $controlledbutton ? $controlledbutton.'.disabled = false;' : ';' %> - } - -%if ($curuser->access_right($add_access_right)){ - - if (document.getElementById('<% $id %>').selectedIndex == - (document.getElementById('<% $id %>').length - 1)) { - document.getElementById('new<% $id %>').disabled = false; - document.getElementById('new<% $id %>').style.display = 'inline'; - document.getElementById('new<% $id %>Label').style.display = 'inline'; - document.getElementById('new<% $id %>T').disabled = false; - document.getElementById('new<% $id %>T').style.display = 'inline'; - document.getElementById('new<% $id %>TLabel').style.display = 'inline'; - } else { - document.getElementById('new<% $id %>').disabled = true; - document.getElementById('new<% $id %>').style.display = 'none'; - document.getElementById('new<% $id %>Label').style.display = 'none'; - document.getElementById('new<% $id %>T').disabled = true; - document.getElementById('new<% $id %>T').style.display = 'none'; - document.getElementById('new<% $id %>TLabel').style.display = 'none'; - } - -%} - - } -</SCRIPT> - -<TR> - <TD ALIGN="right">Reason</TD> - <TD> - <SELECT id="<% $id %>" name="<% $name %>" onFocus="sh_add<% $func_suffix %>()" onChange="sh_add<% $func_suffix %>()"> - <OPTION VALUE="" <% ($init_reason eq '') ? 'SELECTED' : '' %>>Select Reason...</OPTION> -% foreach my $reason (@reasons) { - <OPTION VALUE="<% $reason->reasonnum %>" <% ($init_reason == $reason->reasonnum) ? 'SELECTED' : '' %>><% $reason->reasontype->type %> : <% $reason->reason %></OPTION> -% } -% if ($curuser->access_right($add_access_right)) { - <OPTION VALUE="-1" <% ($init_reason == -1) ? 'SELECTED' : '' %>>Add new reason</OPTION> -% } -% - </SELECT> - </TD> -</TR> - -% my @types = qsearch( 'reason_type', { 'class' => $class } ); -% if (scalar(@types) < 1) { # we should never reach this -<TR> - <TD ALIGN="right"> - <P>No reason types. Go add some. </P> - </TD> -</TR> -% }elsif (scalar(@types) == 1) { -<TR> - <TD ALIGN="right"> - <P id="new<% $name %>TLabel" style="display:<% $display %>">Reason Type</P> - </TD> - <TD> - <P id="new<% $name %>T" disabled="<% $disabled %>" style="display:<% $display %>"><% $types[0]->type %> - <INPUT type="hidden" name="new<% $name %>T" value="<% $types[0]->typenum %>"> - </TD> -</TR> - -% }else{ - -<TR> - <TD ALIGN="right"> - <P id="new<% $id %>TLabel" style="display:<% $display %>">Reason Type</P> - </TD> - <TD> - <SELECT id="new<% $id %>T" name="new<% $name %>T" "<% $disabled %>" style="display:<% $display %>"> -% for my $type (@types) { - <OPTION VALUE="<% $type->typenum %>" <% ($init_type == $type->typenum) ? 'SELECTED' : '' %>><% $type->type %></OPTION> -% } - </SELECT> - </TD> -</TR> -% } - -<TR> - <TD ALIGN="right"> - <P id="new<% $id %>Label" style="display:<% $display %>">New Reason</P> - </TD> - <TD><INPUT id="new<% $id %>" name="new<% $name %>" type="text" value="<% $init_newreason |h %>" "<% $disabled %>" style="display:<% $display %>"></TD> -</TR> - -<%init> - -my %opt = @_; - -my $name = $opt{'field'}; -my $class = $opt{'reason_class'}; - -my $init_reason; -if ( $opt{'cgi'} ) { - $init_reason = $opt{'cgi'}->param($name); -} else { - $init_reason = $opt{'curr_value'}; -} - -my $controlledbutton = $opt{'control_button'}; - -( my $func_suffix = $name ) =~ s/\./_/g; - -my $id = $opt{'id'} || $func_suffix; - -my( $add_access_right, $access_right ); -if ($class eq 'C') { - $access_right = 'Cancel customer'; - $add_access_right = 'Add on-the-fly cancel reason'; -} elsif ($class eq 'S') { - $access_right = 'Suspend customer package'; - $add_access_right = 'Add on-the-fly suspend reason'; -} elsif ($class eq 'R') { - $access_right = 'Post credit'; - $add_access_right = 'Add on-the-fly credit reason'; -} else { - die "illegal class: $class"; -} - -my( $display, $disabled ) = ( 'none', 'DISABLED' ); -my( $init_type, $init_newreason ) = ( '', '' ); -if ($init_reason == -1 || ref($init_reason) ) { - - $display = 'inline'; - $disabled = ''; - - if ( ref($init_reason) ) { - $init_type = $init_reason->{'typenum'}; - $init_newreason = $init_reason->{'reason'}; - $init_reason = -1; - } elsif ( $opt{'cgi'} ) { - $init_type = $opt{'cgi'}->param( "new${name}T" ); - $init_newreason = $opt{'cgi'}->param( "new$name" ); - } - -} - -my $extra_sql = - "WHERE class = '$class' and (disabled = '' OR disabled is NULL)"; - -my @reasons = qsearch({ - table => 'reason', - hashref => {}, - extra_sql => $extra_sql, - addl_from => 'LEFT JOIN reason_type '. - ' ON reason_type.typenum = reason.reason_type', - order_by => 'ORDER BY reason_type.type ASC, reason.reason ASC', -}); - -my $curuser = $FS::CurrentUser::CurrentUser; - -</%init> |