</TR>
% } else {
- <INPUT TYPE="text" NAME="cgp_aliases" VALUE="<% $svc_acct->cgp_aliases %>">
+ <INPUT TYPE="hidden" NAME="cgp_aliases" VALUE="<% $svc_acct->cgp_aliases %>">
% }
</TR>
% }
-
-% if ( $communigate
-% && $part_svc->part_svc_column('cgp_type')->columnflag ne 'F' )
-% {
-
- <TR>
- <TD ALIGN="right">Mailbox type</TD>
- <TD>
- <SELECT NAME="cgp_type">
-% foreach my $option (qw( MultiMailbox TextMailbox MailDirMailbox
-% AGrade BGrade CGrade )) {
- <OPTION VALUE="<% $option %>"
- <% $option eq $svc_acct->cgp_type() ? 'SELECTED' : '' %>
- ><% $option %>
-% }
- </SELECT>
- </TD>
- </TR>
-
-% } else {
- <INPUT TYPE="hidden" NAME="cgp_type" VALUE="<% $svc_acct->cgp_type() %>">
-% }
-
-
-% if ( $communigate
-% && $part_svc->part_svc_column('cgp_accessmodes')->columnflag ne 'F' )
-% {
-
- <TR>
- <TD ALIGN="right">Enabled services</TD>
- <TD>
- <% include( '/elements/communigate_pro-accessmodes.html',
- 'curr_value' => $svc_acct->cgp_accessmodes,
- )
- %>
- </TD>
- </TR>
-
-% } else {
- <INPUT TYPE="hidden" NAME="cgp_accessmodes" VALUE="<% $svc_acct->cgp_accessmodes() |h %>">
-% }
-
-
-% if ( $part_svc->part_svc_column('quota')->columnflag eq 'F' ) {
- <INPUT TYPE="hidden" NAME="quota" VALUE="<% $svc_acct->quota %>">
-% } else {
-% my $quota_label = $communigate ? 'Mail storage limit' : 'Quota';
- <TR>
- <TD ALIGN="right"><% $quota_label %></TD>
- <TD><INPUT TYPE="text" NAME="quota" VALUE="<% $svc_acct->quota %>"></TD>
- </TR>
-% }
-
-% 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' ){
- <INPUT TYPE="hidden" NAME="<%$key%>" VALUE="<% $svc_acct->$key() |h %>">
-% } else {
-
- <TR>
- <TD ALIGN="right"><% $cgp_label{$key} %></TD>
- <TD><INPUT TYPE="text" NAME="<% $key %>" VALUE="<% $svc_acct->$key() |h %>"></TD>
- </TR>
-
-% }
-% }
-
-% if ( $communigate ) {
-
- <TR>
- <TD ALIGN="right">Message delete method</TD>
- <TD>
- <SELECT NAME="cgp_deletemode">
-% for ( 'Move To Trash', 'Immediately', 'Mark' ) {
- <OPTION VALUE="<% $_ %>"
- <% $_ eq $svc_acct->cgp_deletemode ? 'SELECTED' : '' %>
- ><% $_ %>
-% }
- </SELECT>
- </TD>
- </TR>
-
- <TR>
- <TD ALIGN="right">On logout remove trash</TD>
- <TD><INPUT TYPE="text" NAME="cgp_emptytrash" VALUE="<% $svc_acct->cgp_emptytrash %>"></TD>
- </TR>
-
-% } else {
-
- <INPUT TYPE="hidden" NAME="cgp_deletemode" VALUE="<% $svc_acct->cgp_deletemode %>">
- <INPUT TYPE="hidden" NAME="cgp_emptytrash" VALUE="<% $svc_acct->cgp_emptytrash %>">
-
-% }
-
+<% include('svc_acct/communigate.html',
+ 'svc_acct' => $svc_acct,
+ 'part_svc' => $part_svc,
+ 'communigate' => $communigate,
+ )
+%>
% if ( $part_svc->part_svc_column('slipip')->columnflag =~ /^[FA]$/ ) {
<INPUT TYPE="hidden" NAME="slipip" VALUE="<% $svc_acct->slipip %>">
</TABLE>
<BR>
+% if ( $captcha_url ) {
+<IMG SRC="<% $captcha_url %>"><BR>
+Enter the word shown above: <INPUT TYPE="text" NAME="captcha_response"><BR>
+<BR>
+% }
+
<INPUT TYPE="submit" VALUE="Submit">
</FORM>
$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
(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>