RT# 38217 Fix JS bug when creating an email notice
authorMitch Jackson <mitch@freeside.biz>
Tue, 23 Oct 2018 04:51:51 +0000 (00:51 -0400)
committerMitch Jackson <mitch@freeside.biz>
Tue, 23 Oct 2018 04:51:51 +0000 (00:51 -0400)
httemplate/browse/log_email.html
httemplate/misc/delete-log_email.html

index 007ea6f..6c2bce5 100644 (file)
@@ -6,10 +6,7 @@
                         . $add_condition_link
                         . ' | '
                         . $system_log_link
-                        . '</P>'
-                        . '<SCRIPT>'
-                        . $areyousure
-                        . '</SCRIPT>',
+                        . '</P>',
      'query'         => $query,
      'count_query'   => $count_query,
      'header'      => [ '#',
 
    ) %>
 
+<script>
+  function areyousure_delete_log_email(logemailnum) {
+    if ( confirm( 'Delete log email condition #' + logemailnum )) {
+        console.log('ok?');
+      <%
+        include(
+          '/elements/popup_link_onclick.html' => {
+            js_action   => qq( '${fsurl}/misc/delete-log_email.html?logemailnum=' + logemailnum ),
+            actionlabel => 'Delete log email condition',
+            nofalse     => 1,
+          }
+        )
+      %>
+      return;
+    }
+  }
+</script>
+
 <%init>
 
 my $curuser = $FS::CurrentUser::CurrentUser;
@@ -50,11 +65,7 @@ my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
   unless $curuser->access_right([ 'View system logs', 'Configuration' ]);
 
-my $add_condition_link = include('/elements/popup_link.html',
-  'action' => $p.'edit/log_email.html?popup=1',
-  'label'  => 'Add log email condition',
-  'actionlabel' => 'Add log email condition',
-);
+my $add_condition_link = qq( <a href="${fsurl}edit/log_email.html">Add log email condition</a> );
 
 my $system_log_link = qq(<A HREF="${p}search/log.html">System Log</A>);
 
@@ -68,24 +79,10 @@ my $query = {
 my $count_query = "SELECT COUNT(*) FROM log_email";
 
 my $actions = sub {
-  my $log_email = shift;
-  my $logemailnum = $log_email->logemailnum;
+  my $logemailnum = shift->logemailnum;
   qq!<A HREF="javascript:areyousure_delete_log_email($logemailnum)">(delete)</A>!;
 };
 
-my $areyousure_onclick = include('/elements/popup_link_onclick.html',
-  'js_action' => q(') . $p . q(misc/delete-log_email.html?logemailnum=' + logemailnum),
-  'actionlabel' => 'Delete log email condition',
-);
-
-my $areyousure = <<EOF;
-function areyousure_delete_log_email(logemailnum) {
-  if (confirm('Are you sure you want to delete log email condition #'+logemailnum+'?')) {
-${areyousure_onclick}
-  }
-}
-EOF
-
 my $editlink = [ $p.'edit/log_email.html?logemailnum=', 'logemailnum' ];
 
 </%init>
index cc17b15..5a6bdc0 100644 (file)
@@ -3,7 +3,7 @@
 % } else {
 <H1>Log email condition deleted</H1>
 <SCRIPT>
-window.top.location.reload();
+window.top.location = "<% $fsurl %>browse/log_email.html";
 </SCRIPT>
 % }
 
@@ -11,10 +11,12 @@ window.top.location.reload();
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right([ 'View system logs', 'Configuration' ]);
 
-my $logemailnum = $cgi->param('logemailnum');
-$logemailnum =~ /^\d+$/ or die "bad logemailnum '$logemailnum'";
-my $log_email = FS::log_email->by_key($logemailnum)
-  or die "logemailnum '$logemailnum' not found";
-my $error = $log_email->delete;
+  my $error;
+  my $logemailnum = $cgi->param('logemailnum');
+  if ( $logemailnum && $logemailnum =~ /^\d+$/ ) {
+    if ( my $log_email = FS::log_email->by_key( $logemailnum ) ) {
+      $error = $log_email->delete;
+    }
+  }
 </%init>