summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorjeff <jeff>2008-03-16 23:05:27 +0000
committerjeff <jeff>2008-03-16 23:05:27 +0000
commit5ea49c83c4a5b71a1e7baf2b6a75fe50816fdce5 (patch)
tree8c7bb81c4a0e0d638c260f2c183ebefbe17c337a /httemplate
parent664c32360a73c1962fefdf9da62f5e6842cee4c0 (diff)
componentize conflicting %once subroutines (rt#3250)
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/elements/popup_link-cust_main.html56
-rw-r--r--httemplate/elements/popup_link-cust_pkg.html59
-rw-r--r--httemplate/elements/popup_link-cust_svc.html59
-rw-r--r--httemplate/elements/popup_link.html47
-rwxr-xr-xhttemplate/view/cust_main.cgi40
-rwxr-xr-xhttemplate/view/cust_main/packages.html164
6 files changed, 308 insertions, 117 deletions
diff --git a/httemplate/elements/popup_link-cust_main.html b/httemplate/elements/popup_link-cust_main.html
new file mode 100644
index 000000000..3b1363f49
--- /dev/null
+++ b/httemplate/elements/popup_link-cust_main.html
@@ -0,0 +1,56 @@
+<%doc>
+
+Example:
+
+ <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+
+ include( '/elements/cust_popup_link.html', {
+
+ #required
+ 'action' => 'content.html', # uri for content of popup which should
+ # be suitable for appending keywords
+ 'label' => 'click me', # text of <A> tag
+ 'cust_main' => $cust_main # a FS::cust_main object
+
+ #strongly recommended (you want a title, right?)
+ 'actionlabel => 'You clicked', # popup title
+
+ #opt
+ 'width' => '540',
+ 'color' => '#ff0000',
+ 'closetext' => 'Go Away', # the value '' removes the link
+ )
+
+</%doc>
+<%init>
+my($params, $action, $label, $actionlabel, $color, $cust_main, $width);
+my $closetext = '';
+if (ref(@_[0]) eq 'HASH') {
+ $params = shift;
+ foreach (qw(action label actionlabel width color)) {
+ $action = $params->{'action'} if exists $params->{'action'};
+ $label = $params->{'label'} if exists $params->{'label'};
+ $actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
+ $width = $params->{'width'} if exists $params->{'width'};
+ $color = $params->{'color'} if exists $params->{'color'};
+ $closetext = $params->{'closetext'} if exists $params->{'closetext'};
+ $cust_main = $params->{'cust_main'} if exists $params->{'cust_main'};
+ }
+}else{ # deprecated
+ ($action, $label, $actionlabel, $color, $cust_main) = @_;
+}
+
+$action .= '?'. $cust_main->custnum;
+
+</%init>
+<% $cust_main
+ ? include('/elements/popup_link.html', { 'action' => $action,
+ 'label' => $label,
+ 'actionlabel' => $actionlabel,
+ 'color' => $color,
+ 'closetext' => $closetext,
+ }
+ )
+ : ''
+%>
diff --git a/httemplate/elements/popup_link-cust_pkg.html b/httemplate/elements/popup_link-cust_pkg.html
new file mode 100644
index 000000000..cd4aa4c2e
--- /dev/null
+++ b/httemplate/elements/popup_link-cust_pkg.html
@@ -0,0 +1,59 @@
+<%doc>
+
+Example:
+
+ <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+
+ include( '/elements/pkg_popup_link.html', {
+
+ #required
+ 'action' => 'content.html', # uri for content of popup which should
+ # be suitable for appending '&stuff...'
+ 'label' => 'click me', # text of <A> tag
+ 'cust_pkg' => $cust_pkg # a FS::cust_pkg object
+
+ #strongly recommended (you want a title, right?)
+ 'actionlabel => 'You clicked', # popup title
+
+ #opt
+ 'width' => '540',
+ 'color' => '#ff0000',
+ 'closetext' => 'Go Away', # the value '' removes the link
+ )
+
+</%doc>
+<%init>
+my($params, $action, $label, $actionlabel, $color, $cust_pkg, $width);
+my $closetext = 'Close';
+if (ref(@_[0]) eq 'HASH') {
+ $params = shift;
+ foreach (qw(action label actionlabel width color)) {
+ $action = $params->{'action'} if exists $params->{'action'};
+ $label = $params->{'label'} if exists $params->{'label'};
+ $actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
+ $width = $params->{'width'} if exists $params->{'width'};
+ $color = $params->{'color'} if exists $params->{'color'};
+ $closetext = $params->{'closetext'} if exists $params->{'closetext'};
+ $cust_pkg = $params->{'cust_pkg'} if exists $params->{'cust_pkg'};
+ }
+}else{ # deprecated
+ ($action, $label, $actionlabel, $color, $cust_pkg) = @_;
+}
+
+$action .= '&pkgnum='. $cust_pkg->pkgnum;
+$actionlabel .= ' package '. $cust_pkg->pkgnum;
+$width ||= 768;
+
+</%init>
+<% $cust_pkg
+ ? include('/elements/popup_link.html', { 'action' => $action,
+ 'label' => $label,
+ 'actionlabel' => $actionlabel,
+ 'color' => $color,
+ 'width' => $width,
+ 'closetext' => $closetext,
+ }
+ )
+ : ''
+%>
diff --git a/httemplate/elements/popup_link-cust_svc.html b/httemplate/elements/popup_link-cust_svc.html
new file mode 100644
index 000000000..decb82d97
--- /dev/null
+++ b/httemplate/elements/popup_link-cust_svc.html
@@ -0,0 +1,59 @@
+<%doc>
+
+Example:
+
+ <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+
+ include( '/elements/svc_popup_link.html', {
+
+ #required
+ 'action' => 'content.html', # uri for content of popup which should
+ # be suitable for appending '?svcnum='
+ 'label' => 'click me', # text of <A> tag
+ 'cust_svc' => $cust_svc # a FS::cust_svc object
+
+ #strongly recommended (you want a title, right?)
+ 'actionlabel => 'You clicked', # popup title
+
+ #opt
+ 'width' => '540',
+ 'color' => '#ff0000',
+ 'closetext' => 'Go Away', # the value '' removes the link
+ )
+
+</%doc>
+<%init>
+my($params, $action, $label, $actionlabel, $cust_svc, $color, $width);
+my $closetext = 'Close';
+if (ref(@_[0]) eq 'HASH') {
+ $params = shift;
+ foreach (qw(action label actionlabel width color)) {
+ $action = $params->{'action'} if exists $params->{'action'};
+ $label = $params->{'label'} if exists $params->{'label'};
+ $actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
+ $width = $params->{'width'} if exists $params->{'width'};
+ $color = $params->{'color'} if exists $params->{'color'};
+ $closetext = $params->{'closetext'} if exists $params->{'closetext'};
+ $cust_svc = $params->{'cust_svc'} if exists $params->{'cust_svc'};
+ }
+}else{ # deprecated
+ ($action, $label, $actionlabel, $cust_svc) = @_;
+}
+
+$action .= '?svcnum='. $cust_svc->svcnum;
+$actionlabel .= ' service '. $cust_svc->svcnum;
+$width ||= 392;
+
+</%init>
+<% $cust_svc
+ ? include('/elements/popup_link.html', { 'action' => $action,
+ 'label' => $label,
+ 'actionlabel' => $actionlabel,
+ 'color' => $color,
+ 'width' => $width,
+ 'closetext' => $closetext,
+ }
+ )
+ : ''
+%>
diff --git a/httemplate/elements/popup_link.html b/httemplate/elements/popup_link.html
new file mode 100644
index 000000000..816856bba
--- /dev/null
+++ b/httemplate/elements/popup_link.html
@@ -0,0 +1,47 @@
+<%doc>
+
+Example:
+
+ <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+
+ include( '/elements/popup_link.html', {
+
+ #required
+ 'action' => 'content.html', # uri for content of popup
+ 'label' => 'click me', # text of <A> tag
+
+ #strongly recommended
+ 'actionlabel => 'You clicked', # popup title
+
+ #opt
+ 'width' => '540',
+ 'color' => '#ff0000',
+ 'closetext' => 'Go Away', # the value '' removes the link
+ )
+
+</%doc>
+<%init>
+my($params, $action, $label, $actionlabel, $width, $color);
+my $closetext = 'Close';
+if (ref(@_[0]) eq 'HASH') {
+ $params = shift;
+ foreach (qw(action label actionlabel width color)) {
+ $action = $params->{'action'} if exists $params->{'action'};
+ $label = $params->{'label'} if exists $params->{'label'};
+ $actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
+ $width = $params->{'width'} if exists $params->{'width'};
+ $color = $params->{'color'} if exists $params->{'color'};
+ $closetext = $params->{'closetext'} if exists $params->{'closetext'};
+ }
+}else{ # deprecated
+ ($action, $label, $actionlabel, $width) = @_;
+}
+
+$width ||= 540;
+$color ||= '#333399';
+
+</%init>
+%if ($action && $label) {
+<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('<% "$action" %>', <% $width %>, 336, 'pkg_or_svc_action_popup' ), CAPTION, '<% $actionlabel %>', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '<% $color %>', CGCOLOR, '<% $color %>', CLOSETEXT, '<% $closetext %>' ); return false;"><% $label %></A>
+%}
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi
index 4ca777d6a..05d1c8d69 100755
--- a/httemplate/view/cust_main.cgi
+++ b/httemplate/view/cust_main.cgi
@@ -20,7 +20,15 @@ function areyousure(href, message) {
% && $cust_main->ncancelled_pkgs
% ) {
- <% cust_cancel_link($cust_main) %> |
+ <% include( '/elements/popup_link-cust_main.html',
+ { 'action' => $p. 'misc/cancel_cust.html',
+ 'label' => 'Cancel&nbsp;this&nbsp;customer',
+ 'actionlabel' => 'Confirm Cancellation',
+ 'color' => '#ff0000',
+ 'cust_main' => $cust_main,
+ }
+ )
+ %> |
% }
@@ -155,33 +163,3 @@ my $cust_main = qsearchs( {
die "Customer not found!" unless $cust_main;
</%init>
-<%once>
-
-
-sub cust_cancel_link { cust_popup_link( 'misc/cancel_cust.html',
- 'Cancel&nbsp;this&nbsp;customer',
- 'Confirm Cancellation',
- '#ff0000',
- @_,
- );
-}
-
-#false laziness w/view/cust_main/packages.html
-
-sub cust_popup_link {
- my($action, $label, $actionlabel, $color, $cust_main) = @_;
- $action .= '?'. $cust_main->custnum;
- popup_link($action, $label, $actionlabel, $color);
-}
-
-sub popup_link {
- my($action, $label, $actionlabel, $color) = @_;
- $color ||= '#333399';
- qq!<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('$p$action', 540, 336, 'pkg_or_svc_action_popup' ), CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '' ); return false;">$label</A>!;
-
-# CLOSETEXT, '',
-#WIDTH, 576, HEIGHT, 128, TEXTSIZE, 3,
-#BGCOLOR, '#ff0000', CGCOLOR, '#ff0000'
-}
-
-</%once>
diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html
index 891fa3009..b51c02494 100755
--- a/httemplate/view/cust_main/packages.html
+++ b/httemplate/view/cust_main/packages.html
@@ -11,7 +11,16 @@
% ) {
%
<% $s++ ? ' | ' : '' %>
- <% popup_link('edit/quick-charge.html?custnum='. $cust_main->custnum, 'One-time charge', 'One-time charge', '#333399', 545) %>
+ <% include('/elements/popup_link.html',
+ {
+ 'action' => $p. 'edit/quick-charge.html?custnum='. $cust_main->custnum,
+ 'label' => 'One-time charge',
+ 'actionlabel' => 'One-time charge',
+ 'color' => '#333399',
+ 'width' => 545,
+ })
+ %>
+
% }
% if ( $curuser->access_right('Bulk change customer packages') ) {
<% $s++ ? ' | ' : '' %>
@@ -434,9 +443,6 @@ sub pkg_status_row_colspan {
}
-</%init>
-<%once>
-
#subroutines
sub get_packages {
@@ -516,64 +522,77 @@ sub pkg_datestr {
$strip;
}
-sub pkg_change_link { pkg_popup_link('misc/change_pkg.cgi?dummy=value',
- 'Change&nbsp;package',
- 'Change',
- '',
- @_
- );
- }
-
-sub pkg_suspend_link { pkg_popup_link( 'misc/cancel_pkg.html?method=suspend',
- 'Suspend&nbsp;now',
- 'Suspend',
- '#FF9900',
- @_
- );
- }
-
-sub pkg_adjourn_link { pkg_popup_link( 'misc/cancel_pkg.html?method=adjourn',
- 'Suspend&nbsp;later',
- 'Adjourn',
- '#CC6600',
- @_
- );
- }
+sub pkg_change_link { include( '/elements/popup_link-cust_pkg.html',
+ { 'action' => $p. 'misc/change_pkg.cgi?dummy=value',
+ 'label' => 'Change&nbsp;package',
+ 'actionlabel' => 'Change',
+ 'cust_pkg' => shift,
+ }
+ )
+ }
+
+sub pkg_suspend_link { include( '/elements/popup_link-cust_pkg.html',
+ { 'action' => $p. 'misc/cancel_pkg.html?method=suspend',
+ 'label' => 'Suspend&nbsp;now',
+ 'actionlabel' => 'Suspend',
+ 'color' => '#FF9900',
+ 'cust_pkg' => shift,
+ }
+ )
+ }
+
+
+sub pkg_adjourn_link { include( '/elements/popup_link-cust_pkg.html',
+ { 'action' => $p. 'misc/cancel_pkg.html?method=adjourn',
+ 'label' => 'Suspend&nbsp;later',
+ 'actionlabel' => 'Adjourn',
+ 'color' => '#CC6600',
+ 'cust_pkg' => shift,
+ }
+ )
+ }
sub pkg_unsuspend_link { pkg_link('misc/unsusp_pkg', 'Unsuspend', @_ ); }
-sub pkg_expire_link { pkg_link('misc/expire_pkg', 'Cancel&nbsp;later', @_ ); }
sub pkg_dates_link { pkg_link('edit/REAL_cust_pkg', 'Edit&nbsp;dates', @_ ); }
-sub pkg_cancel_link { pkg_popup_link( 'misc/cancel_pkg.html?method=cancel',
- 'Cancel&nbsp;now',
- 'Cancel',
- '#ff0000',
- @_
- );
- }
-
-sub pkg_expire_link { pkg_popup_link( 'misc/cancel_pkg.html?method=expire',
- 'Cancel&nbsp;later',
- 'Expire', #"Cancel package $num later"
- '#CC0000',
- @_
- );
- }
-
-sub svc_recharge_link { svc_popup_link( 'misc/recharge_svc.html',
- 'Recharge',
- 'Recharge',
- '#333399',
- @_
- );
- }
-
-sub order_pkg_link { cust_popup_link( 'misc/order_pkg.html',
- 'Order&nbsp;new&nbsp;package',
- 'Order new package',
- '#333399',
- @_
- );
+sub pkg_cancel_link { include( '/elements/popup_link-cust_pkg.html',
+ { 'action' => $p. 'misc/cancel_pkg.html?method=cancel',
+ 'label' => 'Cancel&nbsp;now',
+ 'actionlabel' => 'Cancel',
+ 'color' => '#ff0000',
+ 'cust_pkg' => shift,
+ }
+ )
+ }
+
+sub pkg_expire_link { include( '/elements/popup_link-cust_pkg.html',
+ { 'action' => $p. 'misc/cancel_pkg.html?method=expire',
+ 'label' => 'Cancel&nbsp;later',
+ 'actionlabel' => 'Expire', #"Cancel package $num later"
+ 'color' => '#CC0000',
+ 'cust_pkg' => shift,
+ }
+ )
+ }
+
+sub svc_recharge_link { include( '/elements/popup_link-cust_svc.html',
+ { 'action' => $p. 'misc/recharge_svc.html',
+ 'label' => 'Recharge',
+ 'actionlabel' => 'Recharge',
+ 'color' => '#333399',
+ 'cust_svc' => shift,
+ }
+ )
+ }
+
+sub order_pkg_link { include( '/elements/popup_link-cust_main.html',
+ { 'action' => $p. 'misc/order_pkg.html',
+ 'label' => 'Order&nbsp;new&nbsp;package',
+ 'actionlabel' => 'Order new package',
+ 'color' => '#333399',
+ 'cust_svc' => shift,
+ }
+ )
}
sub pkg_event_link {
@@ -589,33 +608,6 @@ sub pkg_link {
qq!<a href="$p$action.cgi?!. $cust_pkg->pkgnum. qq!">$label</a>!;
}
-sub pkg_popup_link {
- my($action, $label, $actionlabel, $color, $cust_pkg) = @_;
- $action .= '&pkgnum='. $cust_pkg->pkgnum;
- $actionlabel .= ' package '. $cust_pkg->pkgnum;
- popup_link($action, $label, $actionlabel, $color, 768);
-}
-
-sub svc_popup_link {
- my($action, $label, $actionlabel, $color, $cust_svc) = @_;
- $action .= '?svcnum='. $cust_svc->svcnum;
- $actionlabel .= ' service '. $cust_svc->svcnum;
- popup_link($action, $label, $actionlabel, $color);
-}
-
-sub cust_popup_link {
- my($action, $label, $actionlabel, $color, $cust_main) = @_;
- $action .= '?'. $cust_main->custnum;
- popup_link($action, $label, $actionlabel, $color);
-}
-
-sub popup_link {
- my($action, $label, $actionlabel, $color, $width) = @_;
- $color ||= '#333399';
- $width ||= 540;
- qq!<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('$p$action', $width, 336, 'pkg_or_svc_action_popup' ), CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color' ); return false;">$label</A>!;
-}
-
sub pkg_customize_link {
my $cust_pkg = shift or return '';
my $custnum = $cust_pkg->custnum;
@@ -626,4 +618,4 @@ sub pkg_customize_link {
qq!">Customize</A>!;
}
-</%once>
+</%init>