diff options
author | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-10-17 23:16:35 +0000 |
---|---|---|
committer | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-10-17 23:16:35 +0000 |
commit | 9af6ae6be1019ea656a101dfe7b66709f82f68ca (patch) | |
tree | 524b0cb9de85fe3dc7adfdfa5c8c460d08f32731 /LedgerSMB/DBObject/User.pm | |
parent | b31d6b0e52b43fd0a3a1b6bdc8d5579d8cc22b58 (diff) |
Serious updates to the Admin controller;
Creation of a User controller/object - I would like to use this to save/load roles, as well.
Creation of Person stored procs, Entity stored procs. Serious updates to the employee stored procs.
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1778 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB/DBObject/User.pm')
-rw-r--r-- | LedgerSMB/DBObject/User.pm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/LedgerSMB/DBObject/User.pm b/LedgerSMB/DBObject/User.pm new file mode 100644 index 00000000..62ae4e0b --- /dev/null +++ b/LedgerSMB/DBObject/User.pm @@ -0,0 +1,52 @@ +package LedgerSMB::DBObject::User; + +use base qw/LedgerSMB::DBObject/; + +sub save { + + my $self = shift @_; + + my $user = $self->get(); + + if ($user->{id} && $self->{is_a_user}) { + + # doesn't check for the password - that's done in the sproc. + $self->{id} = @{ $self->exec_method(procname=>'admin_save_user', + args=>[$user->{id}, $self->{username}, $self->{password}] ) }[0]; + else { + + return 0; + } + } + elsif ($user && !$self->{is_a_user}) { + + # there WAS a user, and we've decided we want that user to go away now. + + $self->{id} = $user->{id}; + return $self->remove(); + + } + return 1; +} + +sub get { + + my $self = shift @_; + + my ($user_id, $username) = @{ $self->exec_method(procname=>'admin_get_user', + args=>[$self->{id}])}; + + return {id=>$user_id, username=>$username}; +} + +sub remove { + + my $self = shift; + + my $code = $self->exec_method(procname=>"admin_delete_user", args=>[$self->{id}, $self->{username}]); + $self->{id} = undef; # never existed.. + + return $code->[0]; +} + +1;
\ No newline at end of file |