summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-05-10 12:55:52 -0700
committerIvan Kohler <ivan@freeside.biz>2013-05-10 12:55:52 -0700
commit63973c641c4be00765fa27e55c57cc5b9aa4da19 (patch)
tree68ea71023d7116229e97fd27b38b87b5ac65228a /httemplate/edit
parent7b5a266236857fbb4bbf8d4ac3031c3fec75cac2 (diff)
parent0832972047a36d19ffcf7d1462abc48de7045d3d (diff)
merge NG auth, RT#21563
Diffstat (limited to 'httemplate/edit')
-rw-r--r--httemplate/edit/access_user.html10
-rwxr-xr-xhttemplate/edit/cust_credit.cgi2
-rwxr-xr-xhttemplate/edit/cust_main.cgi1
-rw-r--r--httemplate/edit/elements/ApplicationCommon.html2
-rw-r--r--httemplate/edit/process/access_user.html28
-rw-r--r--httemplate/edit/process/elements/process.html9
-rwxr-xr-xhttemplate/edit/svc_acct.cgi2
-rw-r--r--httemplate/edit/svc_cert.cgi2
-rwxr-xr-xhttemplate/edit/svc_domain.cgi2
9 files changed, 37 insertions, 21 deletions
diff --git a/httemplate/edit/access_user.html b/httemplate/edit/access_user.html
index 86ce25374..b087943c2 100644
--- a/httemplate/edit/access_user.html
+++ b/httemplate/edit/access_user.html
@@ -3,8 +3,7 @@
'table' => 'access_user',
'fields' => [
'username',
- { field=>'_password', type=>'password' },
- { field=>'_password2', type=>'password' },
+ @pw_fields,
'last',
'first',
{ field=>'user_custnum', type=>'search-cust_main', },
@@ -50,6 +49,13 @@
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+my @pw_fields =
+ FS::Auth->auth_class->can('change_password')
+ ? ( { field=>'_password', type=>'password' },
+ { field=>'_password2', type=>'password' },
+ )
+ : ();
+
my $check_user_custnum_search = <<END;
<SCRIPT TYPE="text/javascript">
function check_user_custnum_search(what) {
diff --git a/httemplate/edit/cust_credit.cgi b/httemplate/edit/cust_credit.cgi
index 4dba1e769..09300c629 100755
--- a/httemplate/edit/cust_credit.cgi
+++ b/httemplate/edit/cust_credit.cgi
@@ -8,7 +8,6 @@
<INPUT TYPE="hidden" NAME="paybatch" VALUE="">
<INPUT TYPE="hidden" NAME="_date" VALUE="<% $_date %>">
<INPUT TYPE="hidden" NAME="credited" VALUE="">
-<INPUT TYPE="hidden" NAME="otaker" VALUE="<% $otaker %>">
<% ntable("#cccccc", 2) %>
@@ -74,7 +73,6 @@ die "access denied"
my $custnum = $cgi->param('custnum');
my $amount = $cgi->param('amount');
my $_date = time;
-my $otaker = getotaker;
my $p1 = popurl(1);
</%init>
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 2908848c6..d597d0bc2 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -299,7 +299,6 @@ if ( $cgi->param('error') ) {
$cust_main = new FS::cust_main ( {} );
$cust_main->agentnum( $conf->config('default_agentnum') )
if $conf->exists('default_agentnum');
- $cust_main->otaker( &getotaker );
$cust_main->referral_custnum( $cgi->param('referral_custnum') );
@invoicing_list = ();
push @invoicing_list, 'POST'
diff --git a/httemplate/edit/elements/ApplicationCommon.html b/httemplate/edit/elements/ApplicationCommon.html
index 7b1050ade..acc3368b8 100644
--- a/httemplate/edit/elements/ApplicationCommon.html
+++ b/httemplate/edit/elements/ApplicationCommon.html
@@ -441,8 +441,6 @@ if ( $cgi->param('error') ) {
$dst_pkeyvalue = '';
}
-my $otaker = getotaker;
-
my $p1 = popurl(1);
my $src = qsearchs($src_table, { $src_pkey => $src_pkeyvalue } );
diff --git a/httemplate/edit/process/access_user.html b/httemplate/edit/process/access_user.html
index 8e7e70a06..7fc7c25e1 100644
--- a/httemplate/edit/process/access_user.html
+++ b/httemplate/edit/process/access_user.html
@@ -3,14 +3,15 @@
% print $cgi->redirect(popurl(2) . "access_user.html?" . $cgi->query_string);
% } else {
<% include( 'elements/process.html',
- 'table' => 'access_user',
- 'viewall_dir' => 'browse',
- 'copy_on_empty' => [ '_password' ],
+ 'table' => 'access_user',
+ 'viewall_dir' => 'browse',
+ 'copy_on_empty' => [ '_password', '_password_encoding' ],
'clear_on_error' => [ '_password', '_password2' ],
- 'process_m2m' => { 'link_table' => 'access_usergroup',
- 'target_table' => 'access_group',
- },
- 'precheck_callback'=> \&precheck_callback,
+ 'process_m2m' => { 'link_table' => 'access_usergroup',
+ 'target_table' => 'access_group',
+ },
+ 'precheck_callback' => \&precheck_callback,
+ 'post_new_object_callback' => \&post_new_object_callback,
)
%>
% }
@@ -26,11 +27,24 @@ if ( FS::Conf->new->exists('disable_acl_changes') ) {
sub precheck_callback {
my $cgi = shift;
+
my $o = FS::access_user->new({username => $cgi->param('username')});
if( $o->is_system_user and !$cgi->param('usernum') ) {
$cgi->param('username','');
return "username '".$o->username."' reserved for system account."
}
+
return '';
}
+
+sub post_new_object_callback {
+ my( $cgi, $access_user ) = @_;
+
+ if ( length($cgi->param('_password')) ) {
+ my $password = scalar($cgi->param('_password'));
+ $access_user->change_password_fields($password);
+ }
+
+}
+
</%init>
diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html
index fb1ee7a27..0439d4e9c 100644
--- a/httemplate/edit/process/elements/process.html
+++ b/httemplate/edit/process/elements/process.html
@@ -70,6 +70,9 @@ Example:
#return an error string or empty for no error
'precheck_callback' => sub { my( $cgi ) = @_; },
+ #after the new object is created
+ 'post_new_object_callback' => sub { my( $cgi, $object ) = @_; },
+
#after everything's inserted
'noerror_callback' => sub { my( $cgi, $object ) = @_; },
@@ -201,7 +204,7 @@ my %hash =
my @values = ( 1 );
if ( $bfield ) {
@values = $cgi->param($bfield);
- warn join(',', @values);
+ #warn join(',', @values);
}
my $new;
@@ -226,6 +229,10 @@ foreach my $value ( @values ) {
}
}
+ if ( $opt{'post_new_object_callback'} ) {
+ &{ $opt{'post_new_object_callback'} }( $cgi, $new );
+ }
+
if ( $opt{'agent_virt'} ) {
if ( ! $new->agentnum
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index 627791ba7..574fb51eb 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -482,8 +482,6 @@ my $action = $svcnum ? 'Edit' : 'Add';
my $svc = $part_svc->getfield('svc');
-my $otaker = getotaker;
-
my $username = $svc_acct->username;
my $password = '';
diff --git a/httemplate/edit/svc_cert.cgi b/httemplate/edit/svc_cert.cgi
index 93194228e..dc2cc3200 100644
--- a/httemplate/edit/svc_cert.cgi
+++ b/httemplate/edit/svc_cert.cgi
@@ -185,8 +185,6 @@ my $action = $svcnum ? 'Edit' : 'Add';
my $svc = $part_svc->getfield('svc');
-#my $otaker = getotaker;
-
my $p1 = popurl(1);
my $link_query = "?svcnum=$svcnum;pkgnum=$pkgnum;svcpart=$svcpart";
diff --git a/httemplate/edit/svc_domain.cgi b/httemplate/edit/svc_domain.cgi
index c3307fa8c..417b1b4c5 100755
--- a/httemplate/edit/svc_domain.cgi
+++ b/httemplate/edit/svc_domain.cgi
@@ -148,8 +148,6 @@ my $export = $exports[0];
# If we have a domain registration export, get the registrar object
my $registrar = $export ? $export->registrar : '';
-my $otaker = getotaker;
-
my $domain = $svc_domain->domain;
my $p1 = popurl(1);