summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/bulk-part_pkg.html
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-02-17 14:21:53 -0800
committerIvan Kohler <ivan@freeside.biz>2013-02-17 14:21:53 -0800
commitc13c6407510f6fd1783ce0fbd97800afa27c30b5 (patch)
tree2aa89f3303f46f08bc82f109eae4b9cc313db676 /httemplate/edit/process/bulk-part_pkg.html
parent4e619bb76046bc35f0d7d29ae743b629f2a34030 (diff)
parent8b590098fbd78765f97d44f5500a967b4afdbbe1 (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate/edit/process/bulk-part_pkg.html')
-rw-r--r--httemplate/edit/process/bulk-part_pkg.html30
1 files changed, 30 insertions, 0 deletions
diff --git a/httemplate/edit/process/bulk-part_pkg.html b/httemplate/edit/process/bulk-part_pkg.html
new file mode 100644
index 000000000..4775a9334
--- /dev/null
+++ b/httemplate/edit/process/bulk-part_pkg.html
@@ -0,0 +1,30 @@
+% if ( $error ) {
+% $cgi->param('error', $error);
+<% $cgi->redirect(popurl(3).'/edit/bulk-part_pkg.cgi?', $cgi->query_string) %>
+% } else {
+<% $cgi->redirect(popurl(3).'/browse/part_pkg.cgi') %>
+% }
+<%init>
+die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Bulk edit package definitions');
+
+my @pkgparts = $cgi->param('pkgpart')
+ or die "no package definitions selected";
+
+my %changes;
+foreach my $param (grep { /^report_option_\d+$/ } $cgi->param) {
+ if ( length($cgi->param($param)) ) {
+ if ( $cgi->param($param) == 1 ) {
+ $changes{$param} = 1;
+ } else {
+ $changes{$param} = '';
+ }
+ }
+}
+
+my $error;
+foreach my $pkgpart (@pkgparts) {
+ my $part_pkg = FS::part_pkg->by_key($pkgpart);
+ my %options = ( $part_pkg->options, %changes );
+ $error ||= $part_pkg->replace( options => \%options );
+}
+</%init>