in FCC options editor, jump back to correct page after submitting, #32638
authorMark Wells <mark@freeside.biz>
Wed, 18 Feb 2015 23:50:51 +0000 (15:50 -0800)
committerMark Wells <mark@freeside.biz>
Wed, 18 Feb 2015 23:50:51 +0000 (15:50 -0800)
httemplate/browse/part_pkg-fcc.html
httemplate/edit/process/bulk-part_pkg-fcc.html

index bdfb99a..69e7d8f 100755 (executable)
@@ -197,6 +197,13 @@ my $html_form = qq!<FORM ACTION="${p}edit/process/bulk-part_pkg-fcc.html" METHOD
   ' )
   <BR><BR>';
 
+# pass the page selection through so we can jump back to the current spot
+if ( $cgi->param('maxrecords') =~ /^(\d+)$/ ) {
+  $html_form .= qq!<INPUT TYPE="hidden" NAME="maxrecords" VALUE="$1">!;
+}
+if ( $cgi->param('offset') =~ /^(\d+)$/ ) {
+  $html_form .= qq!<INPUT TYPE="hidden" NAME="offset" VALUE="$1">!;
+}
 
 # restore this only after creating $html_form
 $cgi->param('classnum', $classnum) if length($classnum);
@@ -228,7 +235,7 @@ my @menubar =
   }
 
   function filter_change() {
-    window.location = '! . $cgi->self_url . qq!?classnum='
+    window.location = '<% $cgi->self_url %>?classnum='
       + document.getElementById('classnum').value;
   }
 </script>
index 8ef3308..d060a24 100644 (file)
@@ -17,7 +17,7 @@
 %   }
 <% $cgi->redirect($fsurl.'browse/part_pkg-fcc.html?redirect='.$session) %>
 % } else {
-<% $cgi->redirect($fsurl.'browse/part_pkg-fcc.html?classnum='.$classnum.$jump) %>
+<% $cgi->redirect($dest) %>
 % }
 <%init>
 my $curuser = $FS::CurrentUser::CurrentUser;
@@ -38,10 +38,14 @@ foreach my $param ($cgi->param) {
   $error{$pkgpart} = $error if $error;
 }
 
-my $classnum = $cgi->param('classnum');
+my $dest = $fsurl.'browse/part_pkg-fcc.html?';
+foreach (qw(classnum maxrecords offset)) {
+  if ( $cgi->param($_) =~ /^(\d+)$/ ) {
+    $dest .= "$_=$1;";
+  }
+}
 
-my $jump = '';
 if ( $cgi->param('jump') =~ /^pkgpart(\d+)$/ ) {
-  $jump = '#'.$1;
+  $dest .= "#$1";
 }
 </%init>