[system] / branches / gage_dev / webwork2 / lib / WeBWorK / ContentGenerator / Instructor / ProblemSetDetail.pm Repository:
ViewVC logotype

Diff of /branches/gage_dev/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm

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

Revision 2840 Revision 2841
81 open_date => { 81 open_date => {
82 name => "Opens", 82 name => "Opens",
83 type => "edit", 83 type => "edit",
84 size => "24", 84 size => "24",
85 override => "any", 85 override => "any",
86 labels => {
87 0 => "None Specified",
88 "" => "None Specified",
89 },
86 }, 90 },
87 due_date => { 91 due_date => {
88 name => "Answers Due", 92 name => "Answers Due",
89 type => "edit", 93 type => "edit",
90 size => "24", 94 size => "24",
91 override => "any", 95 override => "any",
96 labels => {
97 0 => "None Specified",
98 "" => "None Specified",
99 },
92 }, 100 },
93 answer_date => { 101 answer_date => {
94 name => "Answers Available", 102 name => "Answers Available",
95 type => "edit", 103 type => "edit",
96 size => "24", 104 size => "24",
97 override => "any", 105 override => "any",
106 labels => {
107 0 => "None Specified",
108 "" => "None Specified",
109 },
98 }, 110 },
99 published => { 111 published => {
100 name => "Visible to Students", 112 name => "Visible to Students",
101 type => "choose", 113 type => "choose",
102 override => "all", 114 override => "all",
504 516
505 my $override = $r->param("set.$setID.$field.override"); 517 my $override = $r->param("set.$setID.$field.override");
506 if (defined $override && $override eq $field) { 518 if (defined $override && $override eq $field) {
507 519
508 my $param = $r->param("set.$setID.$field"); 520 my $param = $r->param("set.$setID.$field");
509 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 521 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
510 $param = $undoLabels{$field}->{$param} || $param; 522 $param = $undoLabels{$field}->{$param} || $param;
511 if ($field =~ /_date/) { 523 if ($field =~ /_date/) {
512 $param = $self->parseDateTime($param); 524 $param = $self->parseDateTime($param);
513 } 525 }
514 $record->$field($param); 526 $record->$field($param);
522 534
523 foreach my $field ( @{ SET_FIELDS() } ) { 535 foreach my $field ( @{ SET_FIELDS() } ) {
524 next unless canChange($forUsers, $field); 536 next unless canChange($forUsers, $field);
525 537
526 my $param = $r->param("set.$setID.$field"); 538 my $param = $r->param("set.$setID.$field");
527 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 539 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
528 $param = $undoLabels{$field}->{$param} || $param; 540 $param = $undoLabels{$field}->{$param} || $param;
529 if ($field =~ /_date/) { 541 if ($field =~ /_date/) {
530 $param = $self->parseDateTime($param); 542 $param = $self->parseDateTime($param);
531 } 543 }
532 $setRecord->$field($param); 544 $setRecord->$field($param);
562 574
563 my $override = $r->param("problem.$problemID.$field.override"); 575 my $override = $r->param("problem.$problemID.$field.override");
564 if (defined $override && $override eq $field) { 576 if (defined $override && $override eq $field) {
565 577
566 my $param = $r->param("problem.$problemID.$field"); 578 my $param = $r->param("problem.$problemID.$field");
567 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 579 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
568 $param = $undoLabels{$field}->{$param} || $param; 580 $param = $undoLabels{$field}->{$param} || $param;
569 $changed ||= changed($record->$field, $param); 581 $changed ||= changed($record->$field, $param);
570 $record->$field($param); 582 $record->$field($param);
571 } else { 583 } else {
572 $changed ||= changed($record->$field, undef); 584 $changed ||= changed($record->$field, undef);
577 589
578 foreach my $field ( @{ USER_PROBLEM_FIELDS() } ) { 590 foreach my $field ( @{ USER_PROBLEM_FIELDS() } ) {
579 next unless canChange($forUsers, $field); 591 next unless canChange($forUsers, $field);
580 592
581 my $param = $r->param("problem.$problemID.$field"); 593 my $param = $r->param("problem.$problemID.$field");
582 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 594 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
583 $param = $undoLabels{$field}->{$param} || $param; 595 $param = $undoLabels{$field}->{$param} || $param;
584 $changed ||= changed($record->$field, $param); 596 $changed ||= changed($record->$field, $param);
585 $record->$field($param); 597 $record->$field($param);
586 } 598 }
587 $db->putUserProblem($record) if $changed; 599 $db->putUserProblem($record) if $changed;
596 my $changed = 0; # keep track of any changes, if none are made, avoid unnecessary db accesses 608 my $changed = 0; # keep track of any changes, if none are made, avoid unnecessary db accesses
597 foreach my $field ( @{ PROBLEM_FIELDS() } ) { 609 foreach my $field ( @{ PROBLEM_FIELDS() } ) {
598 next unless canChange($forUsers, $field); 610 next unless canChange($forUsers, $field);
599 611
600 my $param = $r->param("problem.$problemID.$field"); 612 my $param = $r->param("problem.$problemID.$field");
601 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 613 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
602 $param = $undoLabels{$field}->{$param} || $param; 614 $param = $undoLabels{$field}->{$param} || $param;
603 $changed ||= changed($problemRecord->$field, $param); 615 $changed ||= changed($problemRecord->$field, $param);
604 $problemRecord->$field($param); 616 $problemRecord->$field($param);
605 } 617 }
606 $db->putGlobalProblem($problemRecord) if $changed; 618 $db->putGlobalProblem($problemRecord) if $changed;
630 foreach my $field ( @{ USER_PROBLEM_FIELDS() } ) { 642 foreach my $field ( @{ USER_PROBLEM_FIELDS() } ) {
631 next unless canChange($forUsers, $field); 643 next unless canChange($forUsers, $field);
632 next unless $useful{$field}; 644 next unless $useful{$field};
633 645
634 my $param = $r->param("problem.$problemID.$field"); 646 my $param = $r->param("problem.$problemID.$field");
635 $param = $properties{$field}->{default} unless defined $param && $param ne ""; 647 $param = $properties{$field}->{default} || "" unless defined $param && $param ne "";
636 $param = $undoLabels{$field}->{$param} || $param; 648 $param = $undoLabels{$field}->{$param} || $param;
637 $changed ||= changed($record->$field, $param); 649 $changed ||= changed($record->$field, $param);
638 $record->$field($param); 650 $record->$field($param);
639 } 651 }
640 $db->putUserProblem($record) if $changed; 652 $db->putUserProblem($record) if $changed;
1012 1024
1013 my $editProblemPage = $urlpath->new(type => 'instructor_problem_editor_withset_withproblem', args => { courseID => $courseID, setID => $setID, problemID => $problemID }); 1025 my $editProblemPage = $urlpath->new(type => 'instructor_problem_editor_withset_withproblem', args => { courseID => $courseID, setID => $setID, problemID => $problemID });
1014 my $editProblemLink = $self->systemLink($editProblemPage, params => { make_local_copy => 0 }); 1026 my $editProblemLink = $self->systemLink($editProblemPage, params => { make_local_copy => 0 });
1015 1027
1016 # FIXME: should we have an "act as" type link here when editing for multiple users? 1028 # FIXME: should we have an "act as" type link here when editing for multiple users?
1017 my $viewProblemPage = $urlpath->new(type => 'problem_detail', args => { courseID => $courseID, setID => $setID }); 1029 my $viewProblemPage = $urlpath->new(type => 'problem_detail', args => { courseID => $courseID, setID => $setID, problemID => $problemID });
1018 my $viewProblemLink = $self->systemLink($viewProblemPage, params => { effectiveUser => ($forOneUser ? $editForUser[0] : $userID)}); 1030 my $viewProblemLink = $self->systemLink($viewProblemPage, params => { effectiveUser => ($forOneUser ? $editForUser[0] : $userID)});
1019 1031
1020 my @fields = @{ PROBLEM_FIELDS() }; 1032 my @fields = @{ PROBLEM_FIELDS() };
1021 push @fields, @{ USER_PROBLEM_FIELDS() } if $forOneUser; 1033 push @fields, @{ USER_PROBLEM_FIELDS() } if $forOneUser;
1022 1034

Legend:
Removed from v.2840  
changed lines
  Added in v.2841

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9