diff options
-rw-r--r-- | USER/USER.xs | 21 | ||||
-rwxr-xr-x | userdrake2 | 19 |
2 files changed, 29 insertions, 11 deletions
diff --git a/USER/USER.xs b/USER/USER.xs index d1ef6c9..e7d9e60 100644 --- a/USER/USER.xs +++ b/USER/USER.xs @@ -250,7 +250,7 @@ lu_homedir_remove(const char *directory, struct lu_error ** error) return 0; } - return TRUE; + return 1; } /* Move a directory from one place to another. */ int @@ -528,18 +528,24 @@ Admin_UserAdd(self, ent, is_system, dont_create_home) } /* Create a mail spool for the user. */ - if (lu_mailspool_create_remove(self, ent, TRUE) != 1) { + if (lu_mailspool_create_remove(self, ent, 1) != 1) { warn(_("Error creating mail spool.\n")); - return 8; + RETVAL = 3; } } OUTPUT: RETVAL -void +int Admin_UserDel(self, ent) USER::ADMIN *self USER::ENT *ent + PPCODE: + USER__ERR *error; + if (lu_user_delete(self, ent, &error) == FALSE) { + croak("User Could Not be deleted: %s.\n", error ? error->string : "Unknown error"); + RETVAL = 0; + } else RETVAL = 1 ; void Admin_UserEdit(self, ent) @@ -641,7 +647,12 @@ void Admin_GroupDel(self, ent) USER::ADMIN *self USER::ENT *ent - + PPCODE: + USER__ERR *error; + if (lu_group_delete(self, ent, &error) == FALSE) { + croak("Group could not be deleted: %s.\n", error ? error->string : "Unknown error"); + RETVAL = 0; + } else RETVAL = 1 ; void Admin_GroupEdit(self, ent) USER::ADMIN *self @@ -118,7 +118,6 @@ foreach (($tbedit, $tbdel, $checkedit, $checkdel)) { $_->set_sensitive(0) }; my $ctx = USER::ADMIN->new; Refresh($sysfilter); $nb->signal_connect('switch-page' => sub { NotebookSwitch() }); -#GetEvent($usertree); GetEvent($grouptree); $us->{wnd}{rwindow}->show_all; Gtk2->main; ugtk2->exit; @@ -344,21 +343,29 @@ sub AddGroup { $w->main; } - sub Delete { my $page = $nb->get_current_page(); if ($page == 0) { - print "page 0"; + my (undef, $iter) = $usertree->get_selection->get_selected; + my $username = $utree_model->get($iter,0); + $iter->free; + my $userEnt = $ctx->LookupUserByName($username); + $ctx->UserDel($userEnt); + my $groups = $ctx->GroupsEnumerateFull(); + Refresh($sysfilter) } elsif ($page == 1) { - print "page 1\n"; + my (undef, $iter) = $grouptree->get_selection->get_selected; + my $groupname = $gtree_model->get($iter,0); + my $groupEnt = $ctx->LookupGroupByName($groupname); + + $iter->free } - } # Gtk Facilities sub CreateTree { my ($tree_model) = @_; my $tree = Gtk2::TreeView->new_with_model($tree_model); - $tree->get_selection->set_mode('single'); + $tree->get_selection->set_mode('browse'); $tree->set_headers_visible(1); $tree->set_rules_hint(1); $tree->get_selection->signal_connect('changed' => sub { foreach (($tbedit, $tbdel, $checkedit, $checkdel)) { $_->set_sensitive(1);} }); |