[Jifty-commit] r4064 - in apps/CASPlus/trunk: lib/CASPlus
lib/CASPlus/Action
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Mon Sep 10 12:42:52 EDT 2007
Author: sterling
Date: Mon Sep 10 12:42:50 2007
New Revision: 4064
Modified:
apps/CASPlus/trunk/ (props changed)
apps/CASPlus/trunk/lib/CASPlus/Action/CreateFirstUser.pm
apps/CASPlus/trunk/lib/CASPlus/Dispatcher.pm
Log:
r11174 at riddle: andrew | 2007-09-04 11:54:33 -0500
Fixed the process for creating the initial administrator user.
Modified: apps/CASPlus/trunk/lib/CASPlus/Action/CreateFirstUser.pm
==============================================================================
--- apps/CASPlus/trunk/lib/CASPlus/Action/CreateFirstUser.pm (original)
+++ apps/CASPlus/trunk/lib/CASPlus/Action/CreateFirstUser.pm Mon Sep 10 12:42:50 2007
@@ -41,23 +41,22 @@
sub take_action {
my $self = shift;
- my $user = CASPlus::Model::User->create(
+ my $user = CASPlus::Model::User->new;
+ my $ret = $user->create(
username => $self->argument_value('username'),
password => $self->argument_value('password'),
);
- use Data::Dumper;
- $self->log->error(Dumper($user));
-
unless (defined $user and $user->id) {
my $msg = 'Failed to create the administrator account named "'
- . $self->argument_value('username').'".';
+ . $self->argument_value('username').'": '.$ret->error_message;
$self->result->error($msg);
$self->log->fatal($msg);
return 0;
}
- my $role = CASPlus::Model::Role->create(
+ my $role = CASPlus::Model::Role->new;
+ $ret = $role->create(
name => 'Superuser',
may_manage_profiles => 1,
may_manage_profile_objects => 1,
@@ -66,20 +65,21 @@
);
unless (defined $role and $role->id) {
- my $msg = 'Failed to create the Superuser role';
+ my $msg = 'Failed to create the Superuser role: '.$ret->error_message;
$self->result->error($msg);
$self->log->fatal($msg);
return 0;
}
- my $role_member = CASPlus::Model::RoleMember->create(
+ my $role_member = CASPlus::Model::RoleMember->new;
+ $ret = $role_member->create(
the_role => $role,
the_user => $user,
);
unless (defined $role_member and $role_member->id) {
my $msg = 'Failed to assign the administation account "'
- . $user->username . '" the Superuser role.';
+ . $user->username . '" the Superuser role: '.$ret->error_message;
$self->result->error($msg);
$self->log->fatal($msg);
return 0;
Modified: apps/CASPlus/trunk/lib/CASPlus/Dispatcher.pm
==============================================================================
--- apps/CASPlus/trunk/lib/CASPlus/Dispatcher.pm (original)
+++ apps/CASPlus/trunk/lib/CASPlus/Dispatcher.pm Mon Sep 10 12:42:50 2007
@@ -30,14 +30,22 @@
before '**' => run {
my $users = CASPlus::Model::UserCollection->new;
$users->unlimit;
- unless ($users->count) {
- Jifty->web->current_user->is_superuser(1);
+ if ($users->count) {
+ Jifty->api->deny('CreateFirstUser');
}
else {
- Jifty->api->deny('CreateFirstUser');
+ Jifty->web->current_user->is_superuser(1);
}
};
+on '/' => run {
+ my $users = CASPlus::Model::UserCollection->new;
+ $users->unlimit;
+ unless ($users->count) {
+ redirect '/admin/setup';
+ }
+}
+
=head2 before **
This rule configures the menu items for the Administration page.
More information about the Jifty-commit
mailing list