[system] / trunk / webwork-modperl / lib / WeBWorK / ContentGenerator / Problem.pm Repository:
ViewVC logotype

Diff of /trunk/webwork-modperl/lib/WeBWorK/ContentGenerator/Problem.pm

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

Revision 994 Revision 997
19use File::Temp qw(tempdir); 19use File::Temp qw(tempdir);
20use WeBWorK::Form; 20use WeBWorK::Form;
21use WeBWorK::PG; 21use WeBWorK::PG;
22use WeBWorK::PG::IO; 22use WeBWorK::PG::IO;
23use WeBWorK::Utils qw(writeLog encodeAnswers decodeAnswers ref2string); 23use WeBWorK::Utils qw(writeLog encodeAnswers decodeAnswers ref2string);
24use WeBWorK::DB::Utils qw(global2user user2global findDefaults);
24 25
25############################################################ 26############################################################
26# 27#
27# user 28# user
28# effectiveUser 29# effectiveUser
49 my $courseEnv = $self->{ce}; 50 my $courseEnv = $self->{ce};
50 my $db = $self->{db}; 51 my $db = $self->{db};
51 my $userName = $r->param('user'); 52 my $userName = $r->param('user');
52 my $effectiveUserName = $r->param('effectiveUser'); 53 my $effectiveUserName = $r->param('effectiveUser');
53 54
54 my $user = $db->getUser($userName); 55 my $user = $db->getUser($userName);
55 my $effectiveUser = $db->getUser($effectiveUserName); 56 my $effectiveUser = $db->getUser($effectiveUserName);
56 # obtain the effective user set, or if that is not yet defined obtain global set 57 # obtain the effective user set, or if that is not yet defined obtain global set
57 my $set = $db->getGlobalUserSet($effectiveUserName, $setName); 58 my $set = $db->getGlobalUserSet($effectiveUserName, $setName);
58 #$set = $db->getGlobalSet($setName) unless defined($set); 59 #$set = $db->getGlobalSet($setName) unless defined($set);
59 unless (defined $set) { 60 unless (defined $set) {
60 $userSetClass = $courseEnv->{dbLayout}->{set_user}->{record}; 61 my $userSetClass = $courseEnv->{dbLayout}->{set_user}->{record};
61 $set = global2user($userSetClass, $db->getGlobalSet($setName)) 62 $set = global2user($userSetClass, $db->getGlobalSet($setName));
63 $set->psvn('000');
62 } 64 }
63 # obtain the effective user problem, or if that is not yet defined obtain global problem 65 # obtain the effective user problem, or if that is not yet defined obtain global problem
64 my $problem = $db->getGlobalUserProblem($effectiveUserName, $setName, $problemNumber); 66 my $problem = $db->getGlobalUserProblem($effectiveUserName, $setName, $problemNumber);
67 unless (defined $set) {
68 my $userProblemClass = $courseEnv->{dbLayout}->{problem_user}->{record};
69 $problem = global2user($userProblemClass, $db->getGlobalSet($setName));
70 $problem->max_attempts(-1);
71 }
65 $problem = $db->getGlobalProblem($setName, $problemNumber) unless defined($problem); 72 #$problem = $db->getGlobalProblem($setName, $problemNumber) unless defined($problem);
66 # FIXME 73 # FIXME
67 # a better solution at this point would be to take set and problem, convert them to global_user type 74 # a better solution at this point would be to take set and problem, convert them to global_user type
68 # so that they have the right methods. 75 # so that they have the right methods.
69 # Stuff the local copy of $set and $problem with default data where it won't have been defined 76 # Stuff the local copy of $set and $problem with default data where it won't have been defined
70 # Make sure that nothing bad is stored back in the database. 77 # Make sure that nothing bad is stored back in the database.

Legend:
Removed from v.994  
changed lines
  Added in v.997

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9