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,
|