diff options
| author | Christopher Burger <burgerc@freeside.biz> | 2017-11-13 12:45:15 -0500 | 
|---|---|---|
| committer | Christopher Burger <burgerc@freeside.biz> | 2018-06-19 09:24:18 -0400 | 
| commit | d65053a0357531b623d0ff715d3426301f242b2c (patch) | |
| tree | abf48d185222f1cf76fd36fc8363eb55d7857aab /httemplate/elements | |
| parent | 20bfaf53d36f64261b9c6fe7a548b64ad40f5868 (diff) | |
RT# 77470 - added reason option to advanced package report with suspended status is selected.  Also added links to suspend and unsuspend when status active or suspended is used.
Conflicts:
	FS/FS/cust_pkg/Search.pm
	httemplate/elements/tr-select-reason.html
	httemplate/elements/tr-td-label.html
Diffstat (limited to 'httemplate/elements')
| -rw-r--r-- | httemplate/elements/header-popup.html | 1 | ||||
| -rw-r--r-- | httemplate/elements/popup-topreload.html | 17 | ||||
| -rw-r--r-- | httemplate/elements/topreload.js | 6 | ||||
| -rwxr-xr-x | httemplate/elements/tr-select-reason.html | 35 | ||||
| -rw-r--r-- | httemplate/elements/tr-td-label.html | 12 | 
5 files changed, 61 insertions, 10 deletions
| diff --git a/httemplate/elements/header-popup.html b/httemplate/elements/header-popup.html index 906b1ee51..37402014b 100644 --- a/httemplate/elements/header-popup.html +++ b/httemplate/elements/header-popup.html @@ -34,6 +34,7 @@ Example:        <SCRIPT SRC="<% $fsurl %>elements/printtofit.js"></SCRIPT>  %     }  %   } +    <SCRIPT SRC="<% $fsurl %>elements/topreload.js"></SCRIPT>      <% $head |n %>    </HEAD>    <BODY <% $etc |n %>> diff --git a/httemplate/elements/popup-topreload.html b/httemplate/elements/popup-topreload.html new file mode 100644 index 000000000..7a166f6de --- /dev/null +++ b/httemplate/elements/popup-topreload.html @@ -0,0 +1,17 @@ +<%doc> + +Example: + +  <& /elements/popup-topreload, mt('Action completed') &> + +</%doc> +<& /elements/header-popup.html, encode_entities($message) &> +  <SCRIPT TYPE="text/javascript"> +    topreload(); +  </SCRIPT> +<& /elements/footer-popup.html &> +<%init> + +my $message = shift; + +</%init>
\ No newline at end of file diff --git a/httemplate/elements/topreload.js b/httemplate/elements/topreload.js new file mode 100644 index 000000000..84faee05c --- /dev/null +++ b/httemplate/elements/topreload.js @@ -0,0 +1,6 @@ + window.topreload = function() { +   if (window != window.top) { +   	window.top.location.reload(); +   } + } + 
\ No newline at end of file diff --git a/httemplate/elements/tr-select-reason.html b/httemplate/elements/tr-select-reason.html index 3b9bb2299..2fe676b1f 100755 --- a/httemplate/elements/tr-select-reason.html +++ b/httemplate/elements/tr-select-reason.html @@ -5,17 +5,22 @@ Example:    include( '/elements/tr-select-reason.html',      #required  -    'field'         => 'reasonnum', -    'reason_class'  => 'C', # currently 'C', 'R', 'F', 'S' or 'X' -                           # for cancel, credit, refund, suspend or void credit +    'field'          => 'reasonnum',     # field name +    'reason_class'   => 'C',             # one of those in %FS::reason_type::class_name +    'label'          => 'Your Label',    # field display label      #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 +    'control_button' => 'element_name',  #button to be enabled when a reason is +                                         #selected      'id'             => 'element_id', +    'hide_add'       => '1',             # setting this will hide the add new reason link, +                                         # even if the user has access to add a new reason. +    'hide_onload'    => '1',             # setting this will hide reason select box on page load, +                                         # allowing for it do be displayed later. +    'pre_options'    => [ 0 => 'all'],   # an array of pre options.  Defaults to 0 => 'select reason...'      #deprecated ways to keep things "sticky" on errors      # (requires duplicate code in each using file to parse cgi params) @@ -68,24 +73,28 @@ Example:  </SCRIPT>  %# sadly can't just use add_inline here, as we have non-text fields +  <& tr-select-table.html, -  'label'           => 'Reason', +  'label'           => $label,    'field'           => $name,    'id'              => $id,    'table'           => 'reason',    'records'         => \@reasons, +  'label_callback'  => sub { my $reason = shift; +                             $reason->type . ' : ' .  $reason->reason },    'name_col'        => 'label',    'disable_empty'   => 1, -  'pre_options'     => [ 0 => 'Select reason...' ], +  'pre_options'     => \@pre_options,    'post_options'    => \@post_options,    'curr_value'      => $init_reason,    'onchange'        => $id.'_changed()', +  'hide_onload'     => $opt{'hide_onload'},  &>  % # "add new reason" fields  % # should be a <fieldset>, but that doesn't fit well into the table -% if ( $curuser->access_right($add_access_right) ) { +% if ( $curuser->access_right($add_access_right) && !$hide_addnew ) {  <TR id="<% $id %>_new_fields">    <TD COLSPAN=2>      <TABLE CLASS="inv" STYLE="text-align: left"> @@ -184,6 +193,8 @@ my %opt = @_;  my $name = $opt{'field'};  my $class = $opt{'reason_class'}; +my $label = $opt{'label'} ? $opt{'label'} : 'Reason'; +my $hide_addnew = $opt{'hide_addnew'} ? $opt{'hide_addnew'} : '';  my $init_reason;  if ( $opt{'cgi'} ) { @@ -195,6 +206,8 @@ if ( $opt{'cgi'} ) {  my $id = $opt{'id'} || $name;  $id =~ s/\./_/g; # for edit/part_event +my $label_id = $opt{'label_id'} || ''; +  my $add_access_right;  if ($class eq 'C') {    $add_access_right = 'Add on-the-fly cancel reason'; @@ -222,10 +235,14 @@ my @reasons = qsearch({                         ' ON (reason.reason_type = reason_type.typenum)',    'hashref'         => { disabled => '' },    'extra_sql'       => " AND reason_type.class = '$class'", +  'order_by'        => ' ORDER BY type, reason',  }); +my @pre_options = ( 0 => 'Select reason...' ); +@pre_options = @{ $opt{'pre_options'} if $opt{'pre_options'} }; +  my @post_options; -if ( $curuser->access_right($add_access_right) ) { +if ( $curuser->access_right($add_access_right) && !$hide_addnew ) {    @post_options = ( -1 => 'Add new reason' );  } diff --git a/httemplate/elements/tr-td-label.html b/httemplate/elements/tr-td-label.html index 8125541c7..542f4559c 100644 --- a/httemplate/elements/tr-td-label.html +++ b/httemplate/elements/tr-td-label.html @@ -1,4 +1,12 @@ -<TR> +<%doc> + +Actually <TR> <TH> $label </TH> + +Note that this puts the 'label' argument into the document verbatim, with no +escaping or localization. + +</%doc> +<TR id="<% $opt{'id'} %>_row" <% $row_style %>>    <TD ALIGN  = "right"        VALIGN = "<% $opt{'valign'} || 'top' %>" @@ -14,6 +22,8 @@ my $style = 'padding-top: 3px';  $style .= '; '. $opt{'cell_style'}    if $opt{'cell_style'}; +my $row_style = 'style="visibility:collapse;"' if $opt{'hide_onload'}; +  my $required = $opt{'required'} ? '<font color="#ff0000">*</font> ' : '';  </%init> | 
