summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/cgp_rule-simplified.html
diff options
context:
space:
mode:
authorivan <ivan>2010-08-06 00:45:29 +0000
committerivan <ivan>2010-08-06 00:45:29 +0000
commit0715eb639658bfde2c21c39cd5ccaf4bf22b18d4 (patch)
treea4abf0d4d046b65151d8e7d13657467b8f2322de /httemplate/edit/process/cgp_rule-simplified.html
parentb93983d6758cd67b7bcb6c4118344981d8bb6e8d (diff)
communigate account rules: vacation & redirect all, RT#7514
Diffstat (limited to 'httemplate/edit/process/cgp_rule-simplified.html')
-rw-r--r--httemplate/edit/process/cgp_rule-simplified.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/httemplate/edit/process/cgp_rule-simplified.html b/httemplate/edit/process/cgp_rule-simplified.html
new file mode 100644
index 000000000..60769d4e6
--- /dev/null
+++ b/httemplate/edit/process/cgp_rule-simplified.html
@@ -0,0 +1,53 @@
+% if ( $error ) { #redirect back to edit...
+% $cgi->param('error', $error);
+<% $cgi->redirect(popurl(3).'edit/'.$opt{'redirect'}.'?'. $cgi->query_string) %>
+% } else { #success XXX better msg talking about vacation vs. redirect all
+ <% include('/elements/header-popup.html', 'Rule updated') %>
+ <SCRIPT TYPE="text/javascript">
+ window.top.location.reload();
+ </SCRIPT>
+
+ </BODY>
+ </HTML>
+% }
+<%init>
+
+my %opt = @_;
+
+my %hash = (
+ 'svcnum' => scalar($cgi->param('svcnum')),
+ 'name' => $opt{'name'},
+);
+
+my $cgp_rule = qsearchs('cgp_rule', \%hash);
+
+my $error = '';
+if ( $cgp_rule ) { #updating
+ $error = $cgp_rule->delete;
+}
+
+$cgp_rule = new FS::cgp_rule { %hash, 'priority' => $opt{'priority'} };
+$error ||= $cgp_rule->insert;
+
+foreach my $condition ( @{ $opt{'conditions'} } ) {
+ my $cgp_rule_condition = new FS::cgp_rule_condition {
+ %$condition,
+ 'rulenum' => $cgp_rule->rulenum,
+ };
+ $error ||= $cgp_rule_condition->insert;
+}
+
+foreach my $action ( @{ $opt{'actions'} } ) {
+ my $cgp_rule_action = new FS::cgp_rule_action {
+ %$action,
+ 'rulenum' => $cgp_rule->rulenum,
+ };
+ $error ||= $cgp_rule_action->insert;
+}
+
+unless ( $error ) {
+ my $export_error = $cgp_rule->svc_export;
+ die $export_error if $export_error; #error handling sucks wrt this... shouldn't happen though
+}
+
+</%init>