RT# 83204 - added link to service or tower causing error.
[freeside.git] / httemplate / edit / process / elements / process.html
index 1711b01..e332957 100644 (file)
@@ -34,6 +34,11 @@ Example:
 
    'clear_on_error' => [ 'form_field1', 'form_field2', ... ],
 
+   ## message will be returned to redirect page as cookie and read by header.html
+   ## append =status, =warning, =error to change color of message box.  Default is status
+   ## status is green, warning is yellow, and error is red
+   'message'        => [ 'My message=status', 'Please restart=warning' ],
+
                   #pass an arrayref of hashrefs for multiple m2ms or m2names
                   #be certain you incorporate m2m_Common if you see error: param
 
@@ -208,7 +213,16 @@ process();
   </HTML>
 
 %} else {
-<% $cgi->redirect($redirect) %>
+%  my $cookie;
+%  $cookie = CGI::Cookie->new(
+%                        -name    => 'freeside_status',
+%                        -value   => $messages,
+%                        -expires => '+5m',
+%                      ) if $messages;
+   <% $cgi->redirect( -uri    => $redirect,
+                      -cookie => $cookie,
+      )
+   %>
 %}
 <%init>
 
@@ -478,14 +492,18 @@ foreach my $value ( @values ) {
 
 }
 
-if ($class eq "FS::tower") {
+if ($class eq "FS::tower" && !$error) {
   foreach my $part_svc_broadband_export ( FS::tower_sector->part_export_svc_broadband ) {
     if ($part_svc_broadband_export and $part_svc_broadband_export->can('export_tower_sector')) {
       my $export_tower = $part_svc_broadband_export->export_tower_sector($new);
       $error = $export_tower->{'error'} if $export_tower;
     }
   }
-  $cgi->param('error', $error) if $error;
+  if ($error) {
+    my $encoded_error = encode_base64($error);
+    $cgi->param('error_link', $encoded_error) if $error;
+
+  }
 }
 
 # set up redirect URLs
@@ -510,6 +528,8 @@ if ( !$error ) {
   }
 }
 
+my $messages = $opt{'message'} ? $opt{'message'} : '';
+
 my $edit_ext = $opt{'edit_ext'} || 'html';
 my $error_redirect = $opt{'error_redirect'}
                      || popurl(2)."$table.$edit_ext";