summaryrefslogtreecommitdiff
path: root/FS/FS/access_user.pm
diff options
context:
space:
mode:
authorivan <ivan>2010-03-29 00:23:07 +0000
committerivan <ivan>2010-03-29 00:23:07 +0000
commitb516a7cb6c072871568bb0f217cc2bab6ebddd4a (patch)
tree28565d474bfbee6aa80d13e4964e8b335fd57ded /FS/FS/access_user.pm
parentcc9855d8e52fe35a362f7bda01616d53f04a7aab (diff)
move from otaker to proper usernum FK
Diffstat (limited to 'FS/FS/access_user.pm')
-rw-r--r--FS/FS/access_user.pm17
1 files changed, 17 insertions, 0 deletions
diff --git a/FS/FS/access_user.pm b/FS/FS/access_user.pm
index 8cc8b64..1bf6e93 100644
--- a/FS/FS/access_user.pm
+++ b/FS/FS/access_user.pm
@@ -10,6 +10,7 @@ use FS::option_Common;
use FS::access_user_pref;
use FS::access_usergroup;
use FS::agent;
+use FS::cust_main;
@ISA = qw( FS::m2m_Common FS::option_Common FS::Record );
#@ISA = qw( FS::m2m_Common FS::option_Common );
@@ -220,6 +221,9 @@ sub replace {
$dbh->rollback or die $dbh->errstr if $oldAutoCommit;
return $error;
}
+ } elsif ( $old->disabled && !$new->disabled
+ && $new->_password =~ /changeme/i ) {
+ return "Must change password when enabling this account";
}
my $error = $new->SUPER::replace($old, @_);
@@ -254,6 +258,7 @@ sub check {
|| $self->ut_text('_password')
|| $self->ut_text('last')
|| $self->ut_text('first')
+ || $self->ut_foreign_keyn('user_custnum', 'cust_main', 'custnum')
|| $self->ut_enum('disabled', [ '', 'Y' ] )
;
return $error if $error;
@@ -272,6 +277,18 @@ sub name {
$self->get('last'). ', '. $self->first;
}
+=item user_cust_main
+
+Returns the FS::cust_main object (see L<FS::cust_main>), if any, for this
+user.
+
+=cut
+
+sub user_cust_main {
+ my $self = shift;
+ qsearchs( 'cust_main', { 'custnum' => $self->user_custnum } );
+}
+
=item access_usergroup
Returns links to the the groups this user is a part of, as FS::access_usergroup