From: jj v. a. <we...@ma...> - 2005-08-24 02:21:45
|
Log Message: ----------- Removed initialize function which did nothing. Moved the actual assignments/unassignments to pre_header_initialize so they could use the messaging system. Modified Files: -------------- webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor: Assigner.pm Revision Data ------------- Index: Assigner.pm =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/Assigner.pm,v retrieving revision 1.32 retrieving revision 1.33 diff -Llib/WeBWorK/ContentGenerator/Instructor/Assigner.pm -Llib/WeBWorK/ContentGenerator/Instructor/Assigner.pm -u -r1.32 -r1.33 --- lib/WeBWorK/ContentGenerator/Instructor/Assigner.pm +++ lib/WeBWorK/ContentGenerator/Instructor/Assigner.pm @@ -28,16 +28,50 @@ use CGI qw(); use WeBWorK::HTML::ScrollingRecordList qw/scrollingRecordList/; -sub initialize { +sub pre_header_initialize { my ($self) = @_; my $r = $self->r; + my $db = $r->db; my $authz = $r->authz; - + my $ce = $r->ce; my $user = $r->param('user'); - # Check permissions - return unless ($authz->hasPermissions($user, "access_instructor_tools")); - return unless ($authz->hasPermissions($user, "assign_problem_sets")); + # Permissions dealt with in the body + return "" unless $authz->hasPermissions($user, "access_instructor_tools"); + return "" unless $authz->hasPermissions($user, "assign_problem_sets"); + + my @selected_users = $r->param("selected_users"); + my @selected_sets = $r->param("selected_sets"); + + if (defined $r->param("assign") || defined $r->param("unassign")) { + if (@selected_users && @selected_sets) { + my @results; # This is not used? + if(defined $r->param("assign")) { + $self->assignSetsToUsers(\@selected_sets, \@selected_users); + $self->addgoodmessage('All assignments were made successfully.'); + } + if (defined $r->param("unassign")) { + if(defined $r->param('unassignFromAllSafety') and $r->param('unassignFromAllSafety')==1) { + $self->unassignSetsFromUsers(\@selected_sets, \@selected_users) if(defined $r->param("unassign")); + $self->addgoodmessage('All unassignments were made successfully.'); + } else { # asked for unassign, but no safety radio toggle + $self->addbadmessage('Unassignments were not done. You need to both click to "Allow unassign" and click on the Unassign button.'); + } + } + + if (@results) { # Can't get here? + $self->addbadmessage( + "The following error(s) occured while assigning:". + CGI::ul(CGI::li(\@results)) + ); + } + } else { + $self->addbadmessage("You must select one or more users below.") + unless @selected_users; + $self->addbadmessage("You must select one or more sets below.") + unless @selected_sets; + } + } } sub body { @@ -91,39 +125,6 @@ my @globalSetIDs = $db->listGlobalSets; my @GlobalSets = $db->getGlobalSets(@globalSetIDs); - my @selected_users = $r->param("selected_users"); - my @selected_sets = $r->param("selected_sets"); - - if (defined $r->param("assign") || defined $r->param("unassign")) { - if (@selected_users && @selected_sets) { - my @results; # This is not used? - if(defined $r->param("assign")) { - $self->assignSetsToUsers(\@selected_sets, \@selected_users); - print CGI::div({class=>"ResultsWithoutError"},CGI::p('All assignments were made successfully.')); - } - if (defined $r->param("unassign")) { - if(defined $r->param('unassignFromAllSafety') and $r->param('unassignFromAllSafety')==1) { - $self->unassignSetsFromUsers(\@selected_sets, \@selected_users) if(defined $r->param("unassign")); - print CGI::div({class=>"ResultsWithoutError"},CGI::p('All unassignments were made successfully.')); - } else { # asked for unassign, but no safety radio toggle - print CGI::div({class=>"ResultsWithError"},CGI::p('Unassignments were not done. You need to both click to "Allow unassign" and click on the Unassign button.')); - } - } - - if (@results) { # Can't get here? - print CGI::div({class=>"ResultsWithError"}, - CGI::p("The following error(s) occured while assigning:"), - CGI::ul(CGI::li(\@results)), - ); - } - } else { - print CGI::div({class=>"ResultsWithError"}, - @selected_users ? () : CGI::p("You must select one or more users below."), - @selected_sets ? () : CGI::p("You must select one or more sets below."), - ); - } - } - my $scrolling_user_list = scrollingRecordList({ name => "selected_users", request => $r, |