diff options
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/browse/cgp_rule.html | 46 | ||||
-rw-r--r-- | httemplate/edit/cgp_rule.html | 30 | ||||
-rw-r--r-- | httemplate/edit/process/cgp_rule.html | 14 | ||||
-rw-r--r-- | httemplate/misc/delete-cgp_rule.html | 23 | ||||
-rw-r--r-- | httemplate/view/svc_acct/basics.html | 57 | ||||
-rw-r--r-- | httemplate/view/svc_acct/communigate.html | 77 | ||||
-rw-r--r-- | httemplate/view/svc_domain/basics.html | 18 |
7 files changed, 205 insertions, 60 deletions
diff --git a/httemplate/browse/cgp_rule.html b/httemplate/browse/cgp_rule.html new file mode 100644 index 000000000..3bf4d69bd --- /dev/null +++ b/httemplate/browse/cgp_rule.html @@ -0,0 +1,46 @@ +<% include('elements/browse.html', + 'title' => "Rules for $svc_label: $svc_value", + 'name_singular' => 'rule', + 'html_init' => $html_init, + 'query' => { 'table' => 'cgp_rule', + 'hashref' => { 'svcnum' => $svcnum }, + 'order_by' => 'ORDER BY priority DESC', + }, + 'count_query' => $count_query, + 'header' => [ 'Priority', 'Name', '' ], + 'fields' => [ sub { shift->priority || 'Inactive'; }, + 'name', + sub { 'Delete'; }, + ], + #'align' + 'links' => [ $edit_sub, $edit_sub, $del_sub ], + ) +%> +<%init> + +$cgi->param('svcnum') =~ /^(\d+)$/ or die 'no svcnum'; +my $svcnum = $1; + +#agent virt so you can't do cross-agent communigate rules +my $cust_svc = qsearchs('cust_svc', { 'svcnum' => $svcnum }) + or die 'unknown svcnum'; + +my $count_query = "SELECT COUNT(*) FROM cgp_rule WHERE svcnum = $svcnum"; + +my($svc_label, $svc_value, $svcdb) = $cust_svc->label; + + +my $view = FS::UI::Web::svc_url( 'm' => $m, + 'action' => 'view', + 'part_svc' => $cust_svc->part_svc, + 'svc' => $cust_svc, + ); + +my $html_init = + qq(<A HREF="$view">View this $svc_label</A><BR><BR>). + qq!<A HREF="${p}edit/cgp_rule.html?svcnum=$svcnum">Add new rule</A><BR><BR>!; + +my $edit_sub = [ $p.'edit/cgp_rule.html?', 'rulenum' ]; +my $del_sub = [ $p.'misc/delete-cgp_rule.html?', 'rulenum' ]; #XXX javascript areyousure or something + +</%init> diff --git a/httemplate/edit/cgp_rule.html b/httemplate/edit/cgp_rule.html new file mode 100644 index 000000000..9c03a52f0 --- /dev/null +++ b/httemplate/edit/cgp_rule.html @@ -0,0 +1,30 @@ +<% include('elements/edit.html', + 'name_singular' => 'rule', + 'table' => 'cgp_rule', + 'labels' => { 'rulenum' => 'Rule', + 'name' => 'Name', + 'comment' => 'Comment', + 'priority' => 'Priority', + }, + 'fields' => [ 'name', + 'comment', + { 'field' => 'priority', + 'type' => 'select', + 'options' => [ 0 .. 10 ], + 'labels' => { 0 => 'Inactive' }, + }, + { 'field' => 'svcnum', 'type' => 'hidden', }, + ], + 'new_callback' => sub { my( $cgi, $cgp_rule ) = @_; + $cgp_rule->svcnum( $cgi->param('svcnum') ); + }, + #'viewall_url' => $viewall_url, + 'menubar' => [], + ) +%> +<%init> + +#my $svcnum #huh +#my $viewall_url = $p. "browse/$table.html?svcnum=$svcnum"; + +</%init> diff --git a/httemplate/edit/process/cgp_rule.html b/httemplate/edit/process/cgp_rule.html new file mode 100644 index 000000000..3880b56b9 --- /dev/null +++ b/httemplate/edit/process/cgp_rule.html @@ -0,0 +1,14 @@ +<% include( 'elements/process.html', + 'table' => 'cgp_rule', + 'redirect' => $redirect, + ) +%> +<%init> + +my $redirect = sub { + my($cgi, $new) = @_; + my $svcnum = $new->svcnum; + popurl(3)."browse/cgp_rule.html?svcnum=$svcnum;rulenum="; +}; + +</%init> diff --git a/httemplate/misc/delete-cgp_rule.html b/httemplate/misc/delete-cgp_rule.html new file mode 100644 index 000000000..a2ba2dbc9 --- /dev/null +++ b/httemplate/misc/delete-cgp_rule.html @@ -0,0 +1,23 @@ +% 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 devicenum +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/ || die "Illegal rulenum"; +my $rulenum = $1; + +my $cgp_rule = qsearchs('cgp_rule', { 'rulenum' => $rulenum } ); +my $svcnum = $cgp_rule->svcnum; + +my $error = $cgp_rule->delete; + +</%init> diff --git a/httemplate/view/svc_acct/basics.html b/httemplate/view/svc_acct/basics.html index 7beb88a81..f4c83888d 100644 --- a/httemplate/view/svc_acct/basics.html +++ b/httemplate/view/svc_acct/basics.html @@ -68,62 +68,7 @@ % } elsif ( $opt{'communigate'} ) { -%# settings - - <% include('/view/elements/tr.html', label=>'Mailbox type', value=>$svc_acct->cgp_type) %> - - <% include('/view/elements/tr.html', label=>'Enabled services', - value=>$svc_acct->cgp_accessmodes ) %> - - <% include('/view/elements/tr.html', label=>'Mail storage limit', - value=>$svc_acct->quota ) %> - - <% include('/view/elements/tr.html', label=>'File storage limit', - value=>$svc_acct->file_quota ) %> - - <% include('/view/elements/tr.html', label=>'Number of files limit', - value=>$svc_acct->file_maxnum ) %> - - <% include('/view/elements/tr.html', label=>'File size limit', - value=>$svc_acct->file_maxsize ) %> - - <% include('/view/elements/tr.html', label=>'Password recovery', - value=>$svc_acct->password_recover ? 'YES' : 'NO' ) %> - - <% include('/view/elements/tr.html', label=>'Allowed mail rules', - value=>$svc_acct->cgp_rulesallowed || 'default (No)') %> - - <% include('/view/elements/tr.html', label=>'RPOP modifications', - value=>$svc_acct->cgp_rpopallowed ? 'YES' : 'NO' ) %> - - <% include('/view/elements/tr.html', label=>'Accepts mail to "all"', - value=>$svc_acct->cgp_mailtoall ? 'YES' : 'NO' ) %> - - <% include('/view/elements/tr.html', label=>'Add trailer to sent mail', - value=>$svc_acct->cgp_addmailtrailer ? 'YES' : 'NO' ) %> - -%# preferences - - <% include('/view/elements/tr.html', label=>'Message delete method', - value=>$svc_acct->cgp_deletemode ) %> - - <% include('/view/elements/tr.html', label=>'On logout remove trash', - value=>$svc_acct->cgp_emptytrash ) %> - - <% include('/view/elements/tr.html', label=>'Language', - value=>$svc_acct->cgp_language || 'default (English)' ) %> - <% include('/view/elements/tr.html', label=>'Time zone', - value=>$svc_acct->cgp_timezone || 'default (HostOS)' ) %> - <% include('/view/elements/tr.html', label=>'Layout', - value=>$svc_acct->cgp_skinname || 'default (***)' ) %> - - <% include('/view/elements/tr.html', label=>'Pronto style', - value=>$svc_acct->cgp_prontoskinname ) %> - - <% include('/view/elements/tr.html', label=>'Send read receipts', - value=>$svc_acct->cgp_sendmdnmode ) %> - -%#XXX vacation message, redirect all mail, mail rules + <% include( 'communigate.html', %opt ) %> % } diff --git a/httemplate/view/svc_acct/communigate.html b/httemplate/view/svc_acct/communigate.html new file mode 100644 index 000000000..9d6680750 --- /dev/null +++ b/httemplate/view/svc_acct/communigate.html @@ -0,0 +1,77 @@ +%# settings + + <% include('/view/elements/tr.html', label=>'Mailbox type', value=>$svc_acct->cgp_type) %> + + <% include('/view/elements/tr.html', label=>'Enabled services', + value=>$svc_acct->cgp_accessmodes ) %> + + <% include('/view/elements/tr.html', label=>'Mail storage limit', + value=>$svc_acct->quota ) %> + + <% include('/view/elements/tr.html', label=>'File storage limit', + value=>$svc_acct->file_quota ) %> + + <% include('/view/elements/tr.html', label=>'Number of files limit', + value=>$svc_acct->file_maxnum ) %> + + <% include('/view/elements/tr.html', label=>'File size limit', + value=>$svc_acct->file_maxsize ) %> + + <% include('/view/elements/tr.html', label=>'Password recovery', + value=>$svc_acct->password_recover ? 'YES' : 'NO' ) %> + + <% include('/view/elements/tr.html', label=>'Allowed mail rules', + value=>$svc_acct->cgp_rulesallowed || 'default (No)') %> + + <% include('/view/elements/tr.html', label=>'RPOP modifications', + value=>$svc_acct->cgp_rpopallowed ? 'YES' : 'NO' ) %> + + <% include('/view/elements/tr.html', label=>'Accepts mail to "all"', + value=>$svc_acct->cgp_mailtoall ? 'YES' : 'NO' ) %> + + <% include('/view/elements/tr.html', label=>'Add trailer to sent mail', + value=>$svc_acct->cgp_addmailtrailer ? 'YES' : 'NO' ) %> + +%# preferences + + <% include('/view/elements/tr.html', label=>'Message delete method', + value=>$svc_acct->cgp_deletemode ) %> + + <% include('/view/elements/tr.html', label=>'On logout remove trash', + value=>$svc_acct->cgp_emptytrash ) %> + + <% include('/view/elements/tr.html', label=>'Language', + value=>$svc_acct->cgp_language || 'default (English)' ) %> + <% include('/view/elements/tr.html', label=>'Time zone', + value=>$svc_acct->cgp_timezone || 'default (HostOS)' ) %> + <% include('/view/elements/tr.html', label=>'Layout', + value=>$svc_acct->cgp_skinname || 'default (***)' ) %> + + <% include('/view/elements/tr.html', label=>'Pronto style', + value=>$svc_acct->cgp_prontoskinname ) %> + + <% include('/view/elements/tr.html', label=>'Send read receipts', + value=>$svc_acct->cgp_sendmdnmode ) %> + +%#XXX vacation message, redirect all mail + +%# mail rules + + <% include('/view/elements/tr.html', label=>'Mail rules', + value=>$rule_link, + ) + %> + +<%init> + +my %opt = @_; + +#my $conf = new FS::Conf; + +my $svc_acct = $opt{'svc_acct'}; +#my $part_svc = $opt{'part_svc'}; + +my $rule_link = qq(<A HREF="${p}browse/cgp_rule.html?svcnum=). + $svc_acct->svcnum. '">View/edit mail rules</A>'; + +</%init> diff --git a/httemplate/view/svc_domain/basics.html b/httemplate/view/svc_domain/basics.html index c9841f49c..1915719a0 100644 --- a/httemplate/view/svc_domain/basics.html +++ b/httemplate/view/svc_domain/basics.html @@ -79,10 +79,12 @@ Service #<B><% $svcnum %></B> </TD> </TR> -<TR> - <TD ALIGN="right">Enabled services</TD> - <TD BGCOLOR="#ffffff"><% $svc_domain->cgp_accessmodes %></TD> -</TR> +% if ( $svc_domain->cgp_accessmodes ) { + <TR> + <TD ALIGN="right">Enabled services</TD> + <TD BGCOLOR="#ffffff"><% $svc_domain->cgp_accessmodes %></TD> + </TR> +% } % if ( $svc_domain->trailer ) { <TR> @@ -91,6 +93,14 @@ Service #<B><% $svcnum %></B> </TR> % } +% if ( $communigate ) { +% my $rule_url = $p. 'browse/cgp_rule.html?svcnum='. $svc_domain->svcnum; + <TR> + <TD ALIGN="right">Doimain mail rules</TD> + <TD BGCOLOR="#ffffff"><A HREF="<% $rule_url %>">View/Edit domain mail rules</A></TD> + </TR> +% } + </TABLE></TD></TR></TABLE> <%init> |