v4 style
[freeside.git] / httemplate / elements / popup_link-cust_svc.html
index decb82d..39c0d31 100644 (file)
@@ -2,19 +2,18 @@
 
 Example:
 
-  <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
-  <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+  include('/elements/init_overlib.html')
 
-  include( '/elements/svc_popup_link.html', {
+  include('/elements/popup_link-cust_svc.html', { #hashref or a list, either way
 
     #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
+    'cust_svc'       => $cust_svc       # a FS::cust_svc object or FS::svc_* object
    
     #strongly recommended (you want a title, right?)
-    'actionlabel     => 'You clicked',  # popup title
+    'actionlabel'    => 'You clicked',  # popup title
    
     #opt
     'width'          => '540',
@@ -23,37 +22,26 @@ Example:
   )
 
 </%doc>
+% if ( $params->{'cust_svc'} ) {
+<% include( '/elements/popup_link.html', $params ) %>\
+% }
 <%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) = @_;
+
+my $params = { 'closetext' => 'Close',
+               'width'     => 392,
+             };
+
+if (ref($_[0]) eq 'HASH') {
+  $params = { %$params, %{ $_[0] } };
+} else {
+  $params = { %$params, @_ };
 }
 
-$action .= '?svcnum='. $cust_svc->svcnum;
-$actionlabel .= ' service '. $cust_svc->svcnum;
-$width ||= 392;
+$params->{'action'} .=
+  ( $params->{'action'} =~ /\?/ ? ';' : '?' ).
+  'svcnum='. $params->{'cust_svc'}->svcnum;
+
+$params->{'actionlabel'} .=
+  ' service '. $params->{'cust_svc'}->svcnum; #XXX svcnum? really?
 
 </%init>
-<% $cust_svc
-   ? include('/elements/popup_link.html', { 'action'       => $action,
-                                            'label'        => $label,
-                                            'actionlabel'  => $actionlabel,
-                                            'color'        => $color,
-                                            'width'        => $width,
-                                            'closetext'    => $closetext,
-                                          }
-            )
-   : ''
-%>