projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix a problem running "letter" events more than once in a process, #32603
[freeside.git]
/
FS
/
FS
/
access_user.pm
diff --git
a/FS/FS/access_user.pm
b/FS/FS/access_user.pm
index
7c25acb
..
44d3bee
100644
(file)
--- a/
FS/FS/access_user.pm
+++ b/
FS/FS/access_user.pm
@@
-1,16
+1,15
@@
package FS::access_user;
package FS::access_user;
+use base qw( FS::m2m_Common FS::option_Common );
use strict;
use strict;
-use base qw( FS::m2m_Common FS::option_Common );
-use vars qw( $DEBUG $me $conf );
+use vars qw( $DEBUG $me );
use FS::UID;
use FS::Auth;
use FS::Conf;
use FS::Record qw( qsearch qsearchs dbh );
use FS::UID;
use FS::Auth;
use FS::Conf;
use FS::Record qw( qsearch qsearchs dbh );
-use FS::access_user_pref;
-use FS::access_usergroup;
use FS::agent;
use FS::cust_main;
use FS::agent;
use FS::cust_main;
+use FS::sales;
$DEBUG = 0;
$me = '[FS::access_user]';
$DEBUG = 0;
$me = '[FS::access_user]';
@@
-41,17
+40,37
@@
inherits from FS::Record. The following fields are currently supported:
=over 4
=over 4
-=item usernum - primary key
+=item usernum
+
+primary key
+
+=item username
+
+=item _password
+
+=item _password_encoding
+
+Empty or bcrypt
+
+=item last
+
+Last name
+
+=item first
-=item username -
+First name
-=item
_password -
+=item
user_custnum
-=item last -
+Master customer for this employee (for commissions)
-=item
first -
+=item
report_salesnum
-=item disabled - empty or 'Y'
+Default sales person for this employee (for reports)
+
+=item disabled
+
+Empty or 'Y'
=back
=back
@@
-213,6
+232,7
@@
sub check {
|| $self->ut_textn('last')
|| $self->ut_textn('first')
|| $self->ut_foreign_keyn('user_custnum', 'cust_main', 'custnum')
|| $self->ut_textn('last')
|| $self->ut_textn('first')
|| $self->ut_foreign_keyn('user_custnum', 'cust_main', 'custnum')
+ || $self->ut_foreign_keyn('report_salesnum', 'sales', 'salesnum')
|| $self->ut_enum('disabled', [ '', 'Y' ] )
;
return $error if $error;
|| $self->ut_enum('disabled', [ '', 'Y' ] )
;
return $error if $error;
@@
-246,33
+266,22
@@
sub user_cust_main {
qsearchs( 'cust_main', { 'custnum' => $self->user_custnum } );
}
qsearchs( 'cust_main', { 'custnum' => $self->user_custnum } );
}
-=item
access_usergroup
+=item
report_sales
-Returns
links to the the groups this user is a part of, as FS::access_usergroup
-
objects (see L<FS::access_usergroup>)
.
+Returns
the FS::sales object (see L<FS::sales>), if any, for this
+
user
.
=cut
=cut
-sub
access_usergroup
{
+sub
report_sales
{
my $self = shift;
my $self = shift;
- qsearch
( 'access_usergroup', { 'usernum' => $self->user
num } );
+ qsearch
s( 'sales', { 'salesnum' => $self->report_sales
num } );
}
}
-#=item access_groups
-#
-#=cut
-#
-#sub access_groups {
-#
-#}
-#
-#=item access_groupnames
-#
-#=cut
-#
-#sub access_groupnames {
-#
-#}
+=item access_usergroup
+
+Returns links to the the groups this user is a part of, as FS::access_usergroup
+objects (see L<FS::access_usergroup>).
=item agentnums
=item agentnums
@@
-387,6
+396,7
@@
sub agents {
'table' => 'agent',
'hashref' => { disabled=>'' },
'extra_sql' => ' AND '. $self->agentnums_sql(@_),
'table' => 'agent',
'hashref' => { disabled=>'' },
'extra_sql' => ' AND '. $self->agentnums_sql(@_),
+ 'order_by' => 'ORDER BY agent',
});
}
});
}
@@
-414,7
+424,7
@@
sub access_right {
unless ( grep !exists($self->{_ACLcache}{$_}), @$rightname ) {
warn "$me ACL cache hit for ". join(', ', @$rightname). "\n"
if $DEBUG;
unless ( grep !exists($self->{_ACLcache}{$_}), @$rightname ) {
warn "$me ACL cache hit for ". join(', ', @$rightname). "\n"
if $DEBUG;
- return
grep $self->{_ACLcache}{$_}, @$rightname
+ return
scalar( grep $self->{_ACLcache}{$_}, @$rightname );
}
warn "$me ACL cache miss for ". join(', ', @$rightname). "\n"
}
warn "$me ACL cache miss for ". join(', ', @$rightname). "\n"
@@
-466,7
+476,7
@@
sub default_customer_view {
my $self = shift;
$self->option('default_customer_view')
my $self = shift;
$self->option('default_customer_view')
- ||
$conf
->config('cust_main-default_view')
+ ||
FS::Conf->new
->config('cust_main-default_view')
|| 'basics'; #s/jumbo/basics/ starting with 3.0
}
|| 'basics'; #s/jumbo/basics/ starting with 3.0
}
@@
-501,7
+511,7
@@
sub spreadsheet_format {
my $f = $override
|| $self->option('spreadsheet_format')
my $f = $override
|| $self->option('spreadsheet_format')
- ||
$conf
->config('spreadsheet_format')
+ ||
FS::Conf->new
->config('spreadsheet_format')
|| 'XLS';
$formats{$f};
|| 'XLS';
$formats{$f};
@@
-523,6
+533,7
@@
sub is_system_user {
fs_signup
fs_bootstrap
fs_selfserv
fs_signup
fs_bootstrap
fs_selfserv
+ fs_api
) );
}
) );
}