summaryrefslogtreecommitdiff
path: root/LedgerSMB/DBObject/Admin.pm
diff options
context:
space:
mode:
authoraurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46>2007-11-15 23:10:31 +0000
committeraurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46>2007-11-15 23:10:31 +0000
commitd340ccd5ecbb731c273a07876ad0dfc0a9b33379 (patch)
tree15acb5cc66a14c787ef49a6bab8910cdca0f82c9 /LedgerSMB/DBObject/Admin.pm
parentc366b783a65dfdd7dadb105962ae0807cddaa6b9 (diff)
Significant work on the Entity and Administrative code. It's buggy, so please test, etc. thoroughly.
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1869 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB/DBObject/Admin.pm')
-rw-r--r--LedgerSMB/DBObject/Admin.pm24
1 files changed, 16 insertions, 8 deletions
diff --git a/LedgerSMB/DBObject/Admin.pm b/LedgerSMB/DBObject/Admin.pm
index 51620c47..6b54a7d4 100644
--- a/LedgerSMB/DBObject/Admin.pm
+++ b/LedgerSMB/DBObject/Admin.pm
@@ -5,6 +5,7 @@ use base LedgerSMB::DBObject;
use LedgerSMB::Location;
use LedgerSMB::DBObject::Employee;
use LedgerSMB::Contact;
+use LedgerSMB::Entity;
#[18:00:31] <aurynn> I'd like to split them employee/user and roles/prefs
#[18:00:44] <aurynn> edit/create employee and add user features if needed.
@@ -18,19 +19,27 @@ sub save_employee {
my $self = shift @_;
- my $entity_id = shift @{ $self->exec_method( procname => "save_user" ) };
- $self->merge($entity_id);
+ my $entity = LedgerSMB::DBObject::Entity->new(base=>$self, copy=>'none');
- my $person = LedgerSMB::DBObject::Person->new(base=>$self, copy=>'list',
+ $entity->set(name=>$self->{first_name}." ".$self->{last_name});
+ $entity->save();
+
+ $self->{entity_id} = $entity->{id};
+
+
+ my $user_id = shift @{ $self->exec_method( procname => "admin_save_user" ) };
+ $self->merge($user_id);
+
+ my $person = LedgerSMB::DBObject::Person->new( base=>$self, copy=>'list',
merge=>[
'salutation',
'first_name',
'last_name',
]
);
- my $employee = LedgerSMB::DBObject::Employee->new(base=>$self, copy=>'list',
+ my $employee = LedgerSMB::DBObject::Employee->new( base=>$self, copy=>'list',
merge=>[
- '',
+ 'salutation',
'first_name',
'last_name',
'employeenumber',
@@ -76,16 +85,15 @@ sub save_employee {
'is_a_user'
]
);
-
$user->get();
$user->save();
}
-sub save_roles {
+sub save_roles_preferences {
my $self = shift @_;
- my $user = LedgerSMB::DBObject::User->new(base=>$self, copy=>'all');
+ my $user = LedgerSMB::DBObject::User->new( base=>$self, copy=>'all' );
my $roles = $self->exec_method( procname => "admin_all_roles" );
my $user_roles = $self->exec_method(procname => "admin_get_user_roles", args=>[ $self->{ username } ] );