freeside/httemplate/edit part_svc.cgi,1.43,1.44

ivan ivan at pouncequick.420.am
Thu Feb 24 06:22:06 PST 2005


Update of /home/cvs/cvsroot/freeside/httemplate/edit
In directory pouncequick:/tmp/cvs-serv22292/httemplate/edit

Modified Files:
	part_svc.cgi 
Log Message:
add progressbar to service definition add - duplicate checking can take a while, closes: Bug#1126

Index: part_svc.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/part_svc.cgi,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- part_svc.cgi	16 Sep 2004 13:22:51 -0000	1.43
+++ part_svc.cgi	24 Feb 2005 14:22:01 -0000	1.44
@@ -1,52 +1,7 @@
 <%
 my $part_svc;
 my $clone = '';
-my $error = '';
-if ( $cgi->param('magic') eq 'process' ) {
-
-  my $svcpart = $cgi->param('svcpart');
-  my $old = qsearchs('part_svc', { 'svcpart' => $svcpart }) if $svcpart;
-  
-  $cgi->param( 'svc_acct__usergroup',
-               join(',', $cgi->param('svc_acct__usergroup') ) );
-  
-  my $new = new FS::part_svc ( {
-    map {
-      $_, scalar($cgi->param($_));
-  #  } qw(svcpart svc svcdb)
-    } ( fields('part_svc'),
-        map { my $svcdb = $_;
-              my @fields = fields($svcdb);
-              push @fields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
-              map { ( $svcdb.'__'.$_, $svcdb.'__'.$_.'_flag' )  } @fields;
-            } grep defined( $FS::Record::dbdef->table($_) ),
-                   qw( svc_acct svc_domain svc_forward svc_www svc_broadband )
-      )
-  } );
-  
-  my %exportnums =
-    map { $_->exportnum => ( $cgi->param('exportnum'.$_->exportnum) || '') }
-        qsearch('part_export', {} );
-
-  if ( $svcpart ) {
-    $error = $new->replace($old, '1.3-COMPAT', [ 'usergroup' ], \%exportnums );
-  } else {
-    $error = $new->insert( [ 'usergroup' ], \%exportnums );
-    $svcpart = $new->getfield('svcpart');
-  }
-
-  unless ( $error ) { #no error, redirect
-    #print $cgi->redirect(popurl(3)."browse/part_svc.cgi");
-    print $cgi->redirect("${p}browse/part_svc.cgi");
-    myexit;
-  }
-
-  $part_svc = $new; #??
-  #$part_svc = new FS::part_svc ( {
-  #  map { $_, scalar($cgi->param($_)) } fields('part_svc')
-  #} );
-
-} elsif ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) {#clone
+if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) {#clone
   #$cgi->param('clone') =~ /^(\d+)$/ or die "malformed query: $query";
   $part_svc = qsearchs('part_svc', { 'svcpart'=>$1 } )
     or die "unknown svcpart: $1";
@@ -76,17 +31,12 @@
            )
 %>
 
-<% if ( $error ) { %>
-<FONT SIZE="+1" COLOR="#ff0000">Error: <%= $error %></FONT>
-<% } %>
-
 <FORM NAME="dummy">
 
       Service Part #<%= $part_svc->svcpart ? $part_svc->svcpart : "(NEW)" %>
 <BR><BR>
 Service  <INPUT TYPE="text" NAME="svc" VALUE="<%= $hashref->{svc} %>"><BR>
 Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<%= $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>><BR>
-<INPUT TYPE="hidden" NAME="magic" VALUE="process">
 <INPUT TYPE="hidden" NAME="svcpart" VALUE="<%= $hashref->{svcpart} %>">
 <BR>
 Services are items you offer to your customers.
@@ -213,10 +163,11 @@
     'form_name'      => 'dummy',
     #'form_action'    => 'process/part_svc.cgi',
     'form_action'    => 'part_svc.cgi', #self
-    'form_text'      => [ qw( magic svc svcpart ) ],
+    'form_text'      => [ qw( svc svcpart ) ],
     'form_checkbox'  => [ 'disabled' ],
     'layer_callback' => sub {
       my $layer = shift;
+      
       my $html = qq!<INPUT TYPE="hidden" NAME="svcdb" VALUE="$layer">!;
 
       my $columns = 3;
@@ -250,12 +201,8 @@
       $part_svc->svcpart($clone) if $clone; #haha, undone below
       foreach my $field (@fields) {
         my $part_svc_column = $part_svc->part_svc_column($field);
-        my $value = $error
-                      ? $cgi->param("${layer}__${field}")
-                      : $part_svc_column->columnvalue;
-        my $flag = $error
-                     ? $cgi->param("${layer}__${field}_flag")
-                     : $part_svc_column->columnflag;
+        my $value = $part_svc_column->columnvalue;
+        my $flag = $part_svc_column->columnflag;
         my $def = $defs{$layer}{$field};
         my $desc = ref($def) ? $def->{desc} : $def;
         
@@ -317,8 +264,20 @@
       $part_svc->svcpart('') if $clone; #undone
       $html .= "</TABLE>";
 
-      $html .= '<BR><INPUT TYPE="submit" VALUE="'.
-               ($hashref->{svcpart} ? 'Apply changes' : 'Add service'). '">';
+      $html .= include('/elements/progress-init.html',
+                         $layer, #form name
+                         [ qw(svc svcpart disabled exportnum), @fields ],
+                         'process/part_svc.cgi',
+                         $p.'browse/part_svc.cgi',
+                         $layer,
+                      );
+      $html .= '<BR><INPUT NAME="submit" TYPE="button" VALUE="'.
+               ($hashref->{svcpart} ? 'Apply changes' : 'Add service'). '" '.
+               ' onClick="document.'. "$layer.submit.disabled=true; ".
+               "fixup(document.$layer); $layer". 'process();">';
+
+      #$html .= '<BR><INPUT TYPE="submit" VALUE="'.
+      #         ($hashref->{svcpart} ? 'Apply changes' : 'Add service'). '">';
 
       $html;
 




More information about the freeside-commits mailing list