X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_acct.cgi;h=52fbd37afeeea714623f66364e86a34e4e858d6f;hb=573139dbd6c37808697bfa72a3a468bb0980d4dd;hp=04c442a3062bdc3c4a02c43d1b42e0f9aed18d0f;hpb=5beabbb6a5dfe410545ceab8b4ed0ddcb96fd9c8;p=freeside.git diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index 04c442a30..52fbd37af 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -1,11 +1,11 @@ -<% include('/elements/header.html', "$action $svc account") %> +<& /elements/header.html, mt("$action [_1] account",$svc) &> -<% include('/elements/error.html') %> +<& /elements/error.html &> % if ( $cust_main ) { - <% include( '/elements/small_custview.html', $cust_main, '', 1, - popurl(2) . "view/cust_main.cgi") %> + <& /elements/small_custview.html, $cust_main, '', 1, + popurl(2) . "view/cust_main.cgi" &> % } @@ -27,28 +27,40 @@ function randomPass() { -Service # <% $svcnum ? "$svcnum" : " (NEW)" %> +% if ( $svcnum ) { +% my $svclabel = emt("Service #[_1]",$svcnum); +% $svclabel =~ s/$svcnum/$svcnum<\/B>/; +<% $svclabel %> +% } else { +<% mt("Service # (NEW)") |h %> +% } + <% ntable("#cccccc",2) %> - Service + <% mt('Service') |h %> <% $part_svc->svc %> - Username - - MAXLENGTH=<% $ulen %>> - + <% mt('Username') |h %> +% if ( $svcnum && $conf->exists('svc_acct-no_edit_username') ) { + <% $svc_acct->username() %> + +% } else { + + MAXLENGTH=<% $ulen %>> + +% } %if ( $part_svc->part_svc_column('_password')->columnflag ne 'F' ) { - Password + <% mt('Password') |h %> MAXLENGTH=<% $pmax %>> - + %}else{ @@ -59,19 +71,16 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> %my $sec_phrase = $svc_acct->sec_phrase; %if ( $conf->exists('security_phrase') % && $part_svc->part_svc_column('sec_phrase')->columnflag ne 'F' ) { -% - - Security phrase + <% mt('Security phrase') |h %> - (for forgotten passwords) + (<% mt('for forgotten passwords') |h %>) % } else { - % } % @@ -80,7 +89,6 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> %if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) { % - % } else { % @@ -89,7 +97,7 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % if ( $domsvc ) { % my $svc_domain = qsearchs('svc_domain', { 'svcnum' => $domsvc, } ); % if ( $svc_domain ) { -% $svc_domain{$svc_domain->svcnum} = $svc_domain; +% $svc_domain{$svc_domain->svcnum} = $svc_domain->domain; % } else { % warn "unknown svc_domain.svcnum for svc_acct.domsvc: $domsvc"; % } @@ -100,11 +108,9 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % 'pkgnum' => $pkgnum, % ) % ); -% - - Domain + <% mt('Domain') |h %> % foreach my $svcnum ( @@ -114,7 +120,6 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % my $svc_domain = $svc_domain{$svcnum}; % - ><% $svc_domain{$svcnum} %> % } @@ -127,7 +132,7 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % if ( $communigate ) { - Aliases + <% mt('Aliases') |h %> @@ -136,25 +141,22 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % } -<% include('/elements/tr-select-svc_pbx.html', +<& /elements/tr-select-svc_pbx.html, 'curr_value' => $svc_acct->pbxsvc, 'part_svc' => $part_svc, 'cust_pkg' => $cust_pkg, - ) -%> +&> %#pop %my $popnum = $svc_acct->popnum || 0; %if ( $part_svc->part_svc_column('popnum')->columnflag eq 'F' ) { % - % } else { - - Access number + <% mt('Access number') |h %> <% FS::svc_acct_pop::popselector($popnum) %> % } @@ -167,7 +169,6 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % % if ( length($svc_acct->$xid()) ) { - <% uc($xid) %> <% $svc_acct->$xid() %> @@ -175,11 +176,9 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % } - % } else { - <% uc($xid) %> @@ -195,13 +194,12 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % && ! $svc_acct->finger ) { % - % } else { - Real Name + <% mt('Real Name') |h %> @@ -219,7 +217,7 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> - Home directory + <% mt('Home directory') |h %> % } @@ -231,13 +229,12 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % ) { % - % } else { - Shell + <% mt('Shell') |h %> % @@ -245,7 +242,6 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % foreach $etc_shell (@shells) { % - ><% $etc_shell %> % } @@ -255,156 +251,17 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % } - -% if ( $communigate -% && $part_svc->part_svc_column('cgp_type')->columnflag ne 'F' ) -% { - -% # settings - - - Mailbox type - - -% foreach my $option (qw( MultiMailbox TextMailbox MailDirMailbox -% AGrade BGrade CGrade )) { - cgp_type() ? 'SELECTED' : '' %> - ><% $option %> -% } - - - - -% } else { - -% } - - -% #false laziness w/svc_domain -% if ( $communigate -% && $part_svc->part_svc_column('cgp_accessmodes')->columnflag ne 'F' ) -% { - - - Enabled services - - <% include( '/elements/communigate_pro-accessmodes.html', - 'curr_value' => $svc_acct->cgp_accessmodes, - ) - %> - - - -% } else { - -% } - - -% if ( $part_svc->part_svc_column('quota')->columnflag eq 'F' ) { - -% } else { -% my $quota_label = $communigate ? 'Mail storage limit' : 'Quota'; - - <% $quota_label %> - - -% } - -% tie my %cgp_label, 'Tie::IxHash', -% 'file_quota' => 'File storage limit', -% 'file_maxnum' => 'Number of files limit', -% 'file_maxsize' => 'File size limit', -% ; -% -% foreach my $key (keys %cgp_label) { -% -% if ( !$communigate || $part_svc->part_svc_column($key)->columnflag eq 'F' ){ - -% } else { - - - <% $cgp_label{$key} %> - - - -% } -% } - -% if ( $communigate ) { - -% #preferences - - <% include('/elements/tr-select.html', - 'label' => 'Allowed mail rules', - 'field' => 'cgp_rulesallowed', - 'options' => [ '', 'No', 'Filter Only', 'All But Exec', 'Any' ], - 'labels' => { - '' => 'default (No)', #No always the default? - }, - 'curr_value' => $svc_acct->cgp_rulesallowed, - ) - %> - - <% include('/elements/tr-checkbox.html', - 'label' => 'RPOP modifications', - 'field' => 'cgp_rpopallowed', - 'curr_value' => $svc_acct->cgp_rpopallowed, - 'value' => 'Y', - ) - %> - - <% include('/elements/tr-checkbox.html', - 'label' => 'Accepts mail to "all"', - 'field' => 'cgp_mailtoall', - 'curr_value' => $svc_acct->cgp_mailtoall, - 'value' => 'Y', - ) - %> - - <% include('/elements/tr-checkbox.html', - 'label' => 'Add trailer to sent mail', - 'field' => 'cgp_addmailtrailer', - 'curr_value' => $svc_acct->cgp_addmailtrailer, - 'value' => 'Y', - ) - %> - -%# false laziness w/svc_domain acct_def - - Message delete method - - -% for ( 'Move To Trash', 'Immediately', 'Mark' ) { - cgp_deletemode ? 'SELECTED' : '' %> - ><% $_ %> -% } - - - - - - On logout remove trash - - - -%#XXX language, time zone, layout, printo style, send read receipts -%#XXX vacation message, redirect all mail, mail rules - -% } else { - - - - -% } - +<& svc_acct/communigate.html, + 'svc_acct' => $svc_acct, + 'part_svc' => $part_svc, + 'communigate' => $communigate, +&> % if ( $part_svc->part_svc_column('slipip')->columnflag =~ /^[FA]$/ ) { % } else { - IP + <% mt('IP') |h %> % } @@ -418,12 +275,12 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % my $tf = $uf . "_threshold"; % if ( $curuser->access_right('Edit usage') ) { - <% $label{$uf} %> remaining - (blank disables) + <% mt("[_1] remaining",$label{$uf}) |h %> + (<% mt('blank disables') |h %>) - <% $label{$uf} %> threshold - (blank disables) + <% mt("[_1] threshold",$label{$uf}) |h %> + (<% mt('blank disables') |h %>) % }else{ @@ -437,11 +294,9 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % % if ( $part_svc->part_svc_column($r)->columnflag =~ /^[FA]$/ ) { - % } else { - <% $FS::raddb::attrib{$a} %> @@ -450,39 +305,49 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %> % } - - RADIUS groups -% if ( $part_svc->part_svc_column('usergroup')->columnflag eq 'F' ) { - - - <% join('', @groups) %> + <% mt('RADIUS groups') |h %> +% if ( $part_svc_usergroup->columnflag eq 'F' ) { + <% join('', @groupnames) %> % } else { - - - <% FS::svc_acct::radius_usergroup_selector( \@groups ) %> +% my $radius_group_selected = ''; +% if ( $svc_acct->svcnum ) { +% $radius_group_selected = join(',',$svc_acct->radius_groups('groupnum')); +% } +% elsif ( !$svc_acct->svcnum && $part_svc_usergroup->columnflag eq 'D' ) { +% $radius_group_selected = $part_svc_usergroup->columnvalue; +% } + <& /elements/select-radius_group.html, + curr_value => $radius_group_selected, + element_name => 'radius_usergroup', + multiple => 1, + &> + % } - % foreach my $field ($svc_acct->virtual_fields) { % # If the flag is X, it won't even show up in $svc_acct->virtual_fields. % if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) { - <% $svc_acct->pvf($field)->widget('HTML', 'edit', $svc_acct->getfield($field)) %> % } % } - +% if ( $captcha_url ) { + +<% mt('Enter the word shown above:') |h %> + +% } + -<% include('/elements/footer.html') %> +<& /elements/footer.html &> <%init> @@ -517,9 +382,11 @@ if ( $cgi->param('error') ) { $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); die "No part_svc entry!" unless $part_svc; - $svc_acct = new FS::svc_acct({svcpart => $svcpart}); + $svc_acct = new FS::svc_acct({svcpart => $svcpart}); + + $svcnum=''; - $svcnum=''; + $svc_acct->password_recover('Y'); #default. hmm. } else { #editing @@ -581,9 +448,15 @@ unless ( $svcnum || $cgi->param('error') ) { #adding } +my $part_svc_usergroup = $part_svc->part_svc_column('usergroup'); #fixed radius groups always override & display -if ( $part_svc->part_svc_column('usergroup')->columnflag eq 'F' ) { - @groups = split(',', $part_svc->part_svc_column('usergroup')->columnvalue); +my @groupnames; # only used for display of Fixed RADIUS groups +if ( $part_svc_usergroup->columnflag eq 'F' ) { + @groups = split(',',$part_svc_usergroup->columnvalue); + @groupnames = map { $_->long_description } + qsearch({ 'table' => 'radius_group', + 'extra_sql' => "where groupnum in (".$part_svc_usergroup->columnvalue.")", + }) if length($part_svc_usergroup->columnvalue); } my $action = $svcnum ? 'Edit' : 'Add'; @@ -621,4 +494,18 @@ sub max { (sort(@_))[-1] } +my $captcha_url; +my ($export_google) = $part_svc->part_export('acct_google'); +if ( $export_google ) { + my $error = $export_google->auth_error; + if ( $error ) { + if ( $error->{'captcha_url'} ) { + $captcha_url = $error->{'captcha_url'}; + } + else { + $cgi->param('error', $error->{'message'}); + } + } #if $error +} + %init>