summaryrefslogtreecommitdiff
path: root/LedgerSMB/DBObject/User.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/DBObject/User.pm')
-rw-r--r--LedgerSMB/DBObject/User.pm38
1 files changed, 33 insertions, 5 deletions
diff --git a/LedgerSMB/DBObject/User.pm b/LedgerSMB/DBObject/User.pm
index 62ae4e0b..3486fbd6 100644
--- a/LedgerSMB/DBObject/User.pm
+++ b/LedgerSMB/DBObject/User.pm
@@ -8,13 +8,13 @@ sub save {
my $user = $self->get();
- if ($user->{id} && $self->{is_a_user}) {
+ 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 {
-
+ $self->{id} = shift @{ $self->exec_method(procname=>'admin_save_user',
+ args=>[$user->{id}, $self->{username}, $self->{password}] ) };
+ if (!$self->{id}) {
+
return 0;
}
}
@@ -26,6 +26,12 @@ sub save {
return $self->remove();
}
+ elsif ($self->{is_a_user}) {
+
+ # No user ID, meaning, creating a new one.
+ $self->{id} = shift @{ $self->exec_method(procname=>'admin_save_user',
+ args=>[undef, $self->{username}, $self->{password}] ) };
+ }
return 1;
}
@@ -49,4 +55,26 @@ sub remove {
return $code->[0];
}
+sub save_prefs {
+
+ my $self = shift @_;
+
+ my $pref_id = $self->exec_method(procname=>"admin_save_preferences",
+ args=>[
+ 'language',
+ 'stylesheet',
+ 'printer',
+ 'dateformat',
+ 'numberformat'
+ ]
+ );
+}
+
+sub get_all_users {
+
+ my $self = shift @_;
+
+ $self->{users} = $self->exec_method( procname=>"user_get_all_users" );
+}
+
1; \ No newline at end of file