[system] / trunk / webwork2 / lib / WeBWorK / ContentGenerator / Hardcopy.pm Repository:
ViewVC logotype

Diff of /trunk/webwork2/lib/WeBWorK/ContentGenerator/Hardcopy.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1541 Revision 1542
244 -label => "Solutions", 244 -label => "Solutions",
245 ), 245 ),
246 ); 246 );
247 print CGI::start_table({-width=>"100%"}), CGI::start_Tr({-valign=>"top"}); 247 print CGI::start_table({-width=>"100%"}), CGI::start_Tr({-valign=>"top"});
248 248
249 my $multiSet = $self->{permissionLevel} > 0; 249 my $multiSet = $self->{permissionLevel} > 0;
250 my $multiUser = $self->{permissionLevel} > 0; 250 my $multiUser = $self->{permissionLevel} > 0;
251 my $preOpenSets = $self->{permissionLevel} > 0; 251 my $preOpenSets = $self->{permissionLevel} > 0;
252 my $effectiveUserName = $self->{effectiveUser}->user_id;
253 my @setNames = $db->listUserSets($effectiveUserName);
254 my @sets = $db->getMergedSets( map { [$effectiveUserName, $_] } @setNames );
255 @sets = sort { $a->set_id cmp $b->set_id } @sets;
256 @setNames = map( {$_->set_id } @sets ); # get sorted version of setNames
257 my %setLabels = map( {($_->set_id, "set ".$_->set_id )} @sets );
258 my (@users, @userNames,%userLabels);
252 259
260 if ($multiUser) {
261 @userNames = $self->{db}->listUsers();
262 @users = $self->{db}->getUsers(@userNames);
263 @users = sort { $a->last_name cmp $b->last_name } @users;
264 @userNames = map( {$_->user_id} @users ); # get sorted version of user names
265 %userLabels = map( {($_->user_id , $_->last_name .", ". $_->first_name ." --- ". $_->user_id ) } @users );
266 }
253 # set selection menu 267 # set selection menu
254 { 268 {
255 print CGI::start_td(); 269 print CGI::start_td();
256 print CGI::h3("Sets"); 270 print CGI::h3("Sets");
257 print CGI::start_table(); 271# print CGI::start_table();
258 my @sets;
259 push @sets, $db->getMergedSet($self->{effectiveUser}->user_id, $_)
260 foreach ($db->listUserSets($self->{effectiveUser}->user_id));
261 @sets = sort { $a->set_id cmp $b->set_id } @sets;
262 foreach my $set (@sets) { 272# foreach my $set (@sets) {
263 my $checked = grep { $_ eq $set->set_id } @{$self->{sets}}; 273# my $checked = grep { $_ eq $set->set_id } @{$self->{sets}};
264 my $control; 274# my $control;
265 if (time < $set->open_date and not $preOpenSets) { 275# if (time < $set->open_date and not $preOpenSets) {
266 $control = ""; 276# $control = "";
267 } else { 277# } else {
268 if ($multiSet) { 278# if ($multiSet) {
269 $control = CGI::checkbox( 279# $control = CGI::checkbox(
270 -name=>"hcSet", 280# -name=>"hcSet",
271 -value=>$set->set_id, 281# -value=>$set->set_id,
272 -label=>"", 282# -label=>"",
273 -checked=>$checked 283# -checked=>$checked
274 ); 284# );
275 } else { 285# } else {
276 $control = CGI::radio_group( 286# $control = CGI::radio_group(
277 -name=>"hcSet", 287# -name=>"hcSet",
278 -values=>[$set->set_id], 288# -values=>[$set->set_id],
279 -default=>($checked ? $set->set_id : "-"), 289# -default=>($checked ? $set->set_id : "-"),
280 -labels=>{$set->set_id => ""} 290# -labels=>{$set->set_id => ""}
281 ); 291# );
282 } 292# }
283 } 293# }
284 print CGI::Tr(CGI::td([ 294# print CGI::Tr(CGI::td([
285 $control, 295# $control,
286 $set->set_id, 296# $set->set_id,
287 ])); 297# ]));
288 } 298# }
289 print CGI::end_table(); 299# print CGI::end_table();
300 print CGI::scrolling_list(-name=>'hcSet',
301 -values=>\@setNames,
302 -labels=>\%setLabels,
303 -size => 10,
304 -multiple => $multiSet,
305 -defaults => $self->{sets},
306 );
290 print CGI::end_td(); 307 print CGI::end_td();
291 } 308 }
292 309
293 # user selection menu 310 # user selection menu
294 if ($multiUser) { 311 if ($multiUser) {
295 print CGI::start_td(); 312 print CGI::start_td();
296 print CGI::h3("Users"); 313 print CGI::h3("Users");
297 print CGI::start_table(); 314 #print CGI::start_table();
298 #print CGI::Tr( 315 #print CGI::Tr(
299 # CGI::td(CGI::checkbox(-name=>"hcAllUsers", -value=>"1", -label=>"")), 316 # CGI::td(CGI::checkbox(-name=>"hcAllUsers", -value=>"1", -label=>"")),
300 # CGI::td({-colspan=>"2"}, "All Users"), 317 # CGI::td({-colspan=>"2"}, "All Users"),
301 #); 318 #);
302 #print CGI::Tr(CGI::td({-colspan=>"3"}, "&nbsp;")); 319 #print CGI::Tr(CGI::td({-colspan=>"3"}, "&nbsp;"));
303 320
304 my @users; 321
305 push @users, $self->{db}->getUser($_)
306 foreach ($self->{db}->listUsers());
307 @users = sort { $a->last_name cmp $b->last_name } @users;
308 foreach my $user (@users) { 322 # foreach my $user (@users) {
309 my $checked = grep { $_ eq $user->user_id } @{$self->{users}}; 323# my $checked = grep { $_ eq $user->user_id } @{$self->{users}};
310 print CGI::Tr(CGI::td([ 324# print CGI::Tr(CGI::td([
311 CGI::checkbox(-name=>"hcUser", -value=>$user->user_id, -label=>"", -checked=>$checked), 325# CGI::checkbox(-name=>"hcUser", -value=>$user->user_id, -label=>"", -checked=>$checked),
312 $user->user_id, 326# $user->user_id,
313 $user->last_name.", ".$user->first_name, 327# $user->last_name.", ".$user->first_name,
314 ])); 328# ]));
315 } 329# }
316 330#
317 print CGI::end_table(); 331# print CGI::end_table();
332 print CGI::scrolling_list(-name=>'hcUser',
333 -values=>\@userNames,
334 -labels=>\%userLabels,
335 -size => 10,
336 -multiple => 'true',
337 -defaults => $self->{users},
338 );
318 print CGI::end_td(); 339 print CGI::end_td();
319 } 340 }
320 341
321 print CGI::end_Tr(), CGI::end_table(); 342 print CGI::end_Tr(), CGI::end_table();
322 if ($download_texQ) { # provide choice of pdf or tex output 343 if ($download_texQ) { # provide choice of pdf or tex output

Legend:
Removed from v.1541  
changed lines
  Added in v.1542

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9