summaryrefslogtreecommitdiff
path: root/httemplate/misc/clone-cgp_rule.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/misc/clone-cgp_rule.html')
-rw-r--r--httemplate/misc/clone-cgp_rule.html27
1 files changed, 27 insertions, 0 deletions
diff --git a/httemplate/misc/clone-cgp_rule.html b/httemplate/misc/clone-cgp_rule.html
new file mode 100644
index 0000000..d821a2d
--- /dev/null
+++ b/httemplate/misc/clone-cgp_rule.html
@@ -0,0 +1,27 @@
+% if ( $error ) {
+% errorpage($error);
+% } else {
+<% $cgi->redirect($p. "browse/cgp_rule.html?svcnum=". $svcnum) %>
+% }
+<%init>
+
+# :/ needs agent-virt so you can't futz with arbitrary rules
+
+#die "access denied"
+# unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service');
+
+#untaint svcnum and clone
+$cgi->param('svcnum') =~ /^(\d+)$/ || die "Illegal svcnum";
+my $svcnum = $1;
+$cgi->param('clone') =~ /^(\d+)$/ || die "Illegal clone";
+my $clone = $1;
+
+my @cgp_rule = qsearch('cgp_rule', { 'svcnum' => $clone } );
+
+my $error = '';
+foreach my $cgp_rule ( @cgp_rule ) {
+ $error = $cgp_rule->clone( $svcnum );
+ last if $error;
+}
+
+</%init>