diff options
author | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2008-07-11 20:10:36 +0000 |
---|---|---|
committer | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2008-07-11 20:10:36 +0000 |
commit | ca5f7b9b2eb6e42d92ca08272aae315b578046ad (patch) | |
tree | 23bf1250ddb068cb9fdc8028544adca8e81ef8a4 /LedgerSMB/Admin.pm | |
parent | 26a243484e218eac4b5ddef5ac190af72a411af5 (diff) |
Additions and fixes to the Reconciliation code.
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2212 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB/Admin.pm')
-rw-r--r-- | LedgerSMB/Admin.pm | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/LedgerSMB/Admin.pm b/LedgerSMB/Admin.pm deleted file mode 100644 index 8e6c5dfd..00000000 --- a/LedgerSMB/Admin.pm +++ /dev/null @@ -1,179 +0,0 @@ -package LedgerSMB::DBObject::Admin; - -use base LedgerSMB::DBObject; - -use LedgerSMB::DBObject::Location; -use LedgerSMB::DBObject::Employee; -use LedgerSMB::DBObject::Contact; - -sub save_user { - - my $self = shift @_; - - my $entity_id = shift @{ $self->exec_method( procname => "save_user" ) }; - $self->merge($entity_id); - - my $employee = LedgerSMB::DBObject::Employee->new(base=>$self, copy=>'list', - merge=>[ - 'salutation', - 'first_name', - 'last_name', - 'employeenumber', - ] - ); - - $employee->{entity_id} = $entity_id->{id}; - $employee->save_employee(); - - my $loc = LedgerSMB::DBObject::Location->new(base=>$self, copy=>'list', - merge=>[ - 'address1', - 'address2', - 'city', - 'state', - 'zipcode', - 'country', - 'companyname', - ] - ); - $loc->save_location(); - $loc->join_to_person(person=>$employee); - - - my $contact = LedgerSMB::DBObject::Contact->new(base=>$self, copy=>'list', - merge=>[ - 'workphone', - 'homephone', - 'email', - ] - ); - - $contact->save_homephone(person=>$employee); - $contact->save_workphone(person=>$employee); - $contact->save_email(person=>$employee); - - my $roles = $self->exec_method( procname => "all_roles" ); - my $user_roles = $self->exec_method(procname => "get_user_roles", args=>[ $self->{ modifying_user } ] ); - - my %active_roles; - for my $role (@{$user_roles}) { - - # These are our user's roles. - - $active_roles{$role} = 1; - } - - my $status; - - for my $role ( @{ $roles } ) { - - # These roles are were ALL checked on the page, so they're the active ones. - - if ($active_roles{$role} && $self->{incoming_roles}->{$role}) { - - # do nothing. - } - elsif ($active_roles{$role} && !($self->{incoming_roles}->{$role} )) { - - # do remove function - $status = $self->exec_method(procname => "remove_user_from_role", - args=>[ $self->{ modifying_user }, $role ] - } - elsif ($self->{incoming_roles}->{$role} and !($active_roles{$role} )) { - - # do add function - $status = $self->exec_method(procname => "add_user_to_role", - args=>[ $self->{ modifying_user }, $role ] - ); - } - } -} - -sub save_group { - - my $self = shift @_; - - my $existant = shift @{ $self->exec_method (procname=> "is_group", args=>[$self->{modifying_group}]) }; - - my $group = shift @{ $self->exec_method (procname=> "save_group") }; - - # first we grab all roles - - my $roles = $self->exec_method( procname => "all_roles" ); - my $user_roles = $self->exec_method(procname => "get_user_roles", - args=>[ $self->{ group_name } ] - ); - - my %active_roles; - for my $role (@{$user_roles}) { - - # These are our user's roles. - - $active_roles{$role} = 1; - } - - my $status; - - for my $role ( @{ $roles } ) { - - # These roles are were ALL checked on the page, so they're the active ones. - - if ($active_roles{$role} && $self->{incoming_roles}->{$role}) { - - # we don't need to do anything. - } - elsif ($active_roles{$role} && !($self->{incoming_roles}->{$role} )) { - - # do remove function - $status = $self->exec_method( - procname => "remove_group_from_role", - args=>[ $self->{ modifying_user }, $role ] - ); - } - elsif ($self->{incoming_roles}->{$role} and !($active_roles{$role} )) { - - # do add function - $status = $self->exec_method( - procname => "add_group_to_role", - args=>[ $self->{ modifying_user }, $role ] - ); - } - } -} - - -sub delete_user { - - my $self = shift @_; - - my $status = shift @{ $self->exec_method(procname=>'delete_user', args=>[$self->{modifying_user}]) }; - - if ($status) { - - return 1; - } else { - - my $error = LedgerSMB::Error->new("Delete user failed."); - $error->set_status($status); - return $error; - } -} - -sub delete_group { - - my $self = shift @_; - - my $status = shift @{ $self->exec_method(procname=>'delete_group', args=>[$self->{groupname}])}; - - if ($status) { - - return 1; - } else { - - my $error = LedgerSMB::Error->new("Delete group failed."); - $error->set_status($status); - return $error; - } -} - -1;
\ No newline at end of file |