summaryrefslogtreecommitdiff
path: root/httemplate/elements/tr-select-reason.html
diff options
context:
space:
mode:
authorivan <ivan>2008-03-29 08:15:45 +0000
committerivan <ivan>2008-03-29 08:15:45 +0000
commit3f23bdfaef8eb6bb092b72ea741b63e243f8ab19 (patch)
tree38afeaebc98c09ae571c3ed4193d7a97cb54dac0 /httemplate/elements/tr-select-reason.html
parentca292755ee3fc2027707b046352414e06ad45584 (diff)
okay. and thank goodness its on 1.9. really fix error reporting on quick package order this time. have to change cust cancel popup slightly too, but its for the better (easier custnum parsing). and lastly make it easier for reason selection to be reused without stickiness-on-errors being a big pain in the ass
Diffstat (limited to 'httemplate/elements/tr-select-reason.html')
-rwxr-xr-xhttemplate/elements/tr-select-reason.html44
1 files changed, 42 insertions, 2 deletions
diff --git a/httemplate/elements/tr-select-reason.html b/httemplate/elements/tr-select-reason.html
index 4051e7d20..d85538f0c 100755
--- a/httemplate/elements/tr-select-reason.html
+++ b/httemplate/elements/tr-select-reason.html
@@ -1,3 +1,34 @@
+<%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 %>()
{
@@ -36,7 +67,7 @@
<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>
+ <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>
% }
@@ -95,7 +126,13 @@ my %opt = @_;
my $name = $opt{'field'};
my $class = $opt{'reason_class'};
-my $init_reason = $opt{'curr_value'};
+
+my $init_reason;
+if ( $opt{'cgi'} ) {
+ $init_reason = $opt{'cgi'}->param($name);
+} else {
+ $init_reason = $opt{'curr_value'};
+}
my $controlledbutton = $opt{'control_button'};
@@ -128,6 +165,9 @@ if ($init_reason == -1 || 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" );
}
}