From 4afceb55388ffa32d18c2b821fda11027540dce5 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 11 Nov 2016 11:42:45 -0800 Subject: [PATCH] UX: add status to package actions, redirect back to package tab --- FS/FS/Mason.pm | 16 ++++++++++------ httemplate/elements/header-cust_main.html | 2 +- httemplate/elements/header-full.html | 14 ++++++++++++++ httemplate/misc/process/cancel_pkg.html | 4 ++++ httemplate/misc/unsusp_pkg.cgi | 11 ++++++++++- 5 files changed, 39 insertions(+), 8 deletions(-) diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index cb195a059..89140cac1 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -471,15 +471,19 @@ if ( -e $addl_handler_use_file ) { no warnings 'redefine'; *CGI::redirect = sub { my $self = shift; - my $cookie = ''; - if ( $_[0] eq '-cookie' ) { #this isn't actually used at the moment - (my $x, $cookie) = (shift, shift); - $HTML::Mason::r->err_headers_out->add( 'Set-cookie' => $cookie ); - } - my $location = shift; use vars qw($m); + my $location = ''; + if ( $_[0] =~ /^-/ ) { + my %opt = @_; + $location = $opt{'-uri'}; + my $cookie = $opt{'-cookie'}; + $m->apache_req->err_headers_out->{'Set-cookie'} = $cookie if $cookie; + } else { + $location = shift; + } + # false laziness w/below if ( @DBIx::Profile::ISA ) { diff --git a/httemplate/elements/header-cust_main.html b/httemplate/elements/header-cust_main.html index c1123c321..c094f950f 100644 --- a/httemplate/elements/header-cust_main.html +++ b/httemplate/elements/header-cust_main.html @@ -12,7 +12,7 @@ Examples: <& /elements/header.html, { 'title' => $title, 'title_noescape' => $title_noescape, - 'nobr' => 1, + #'nobr' => 1, 'etc' => $opt{'etc'}, } &> diff --git a/httemplate/elements/header-full.html b/httemplate/elements/header-full.html index fe02650f1..59e27851b 100644 --- a/httemplate/elements/header-full.html +++ b/httemplate/elements/header-full.html @@ -193,6 +193,20 @@ Example: <% $title_noescape || encode_entities($title) %> +% my %cookies = CGI::Cookie->fetch($r); +% if ( $cookies{freeside_status} ) { +
+% foreach my $status_msg ( $cookies{freeside_status}->value ) { + + +
<% $status_msg |h %>
+% } + + +% } + % unless ( $nobr ) {
% } diff --git a/httemplate/misc/process/cancel_pkg.html b/httemplate/misc/process/cancel_pkg.html index b8be27113..0649261e7 100755 --- a/httemplate/misc/process/cancel_pkg.html +++ b/httemplate/misc/process/cancel_pkg.html @@ -1,5 +1,9 @@ <& /elements/header-popup.html, emt("Package $past_method") &> + diff --git a/httemplate/misc/unsusp_pkg.cgi b/httemplate/misc/unsusp_pkg.cgi index b350693dd..ad7effcb3 100755 --- a/httemplate/misc/unsusp_pkg.cgi +++ b/httemplate/misc/unsusp_pkg.cgi @@ -1,7 +1,16 @@ %if ( $error ) { % errorpage($error); %} else { -<% $cgi->redirect(popurl(2). "view/cust_main.cgi?".$cust_pkg->getfield('custnum')) %> +% my $cookie = CGI::Cookie->new( -name => 'freeside_status', +% -value => mt('Package unsuspended'), +% -expires => '+5m', +% ); +% #$r->headers_out->add( 'Set-Cookie' => $cookie->as_string ); +<% $cgi->redirect( + -uri => popurl(2). "view/cust_main.cgi?show=packages;custnum=".$cust_pkg->getfield('custnum'), + -cookie => $cookie + ) +%> %} <%init> -- 2.11.0