[system] / branches / rel-2-1-a1 / webwork-modperl / lib / WeBWorK / ContentGenerator / ProblemSet.pm Repository:
ViewVC logotype

Diff of /branches/rel-2-1-a1/webwork-modperl/lib/WeBWorK/ContentGenerator/ProblemSet.pm

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

Revision 737 Revision 738
20use WeBWorK::ContentGenerator; 20use WeBWorK::ContentGenerator;
21use WeBWorK::DB::WW; 21use WeBWorK::DB::WW;
22use WeBWorK::DB::Classlist; 22use WeBWorK::DB::Classlist;
23 23
24sub initialize { 24sub initialize {
25 my $self = shift; 25 my ($self, $setName) = @_;
26 my $courseEnvironment = $self->{courseEnvironment}; 26 my $courseEnvironment = $self->{courseEnvironment};
27 my $r = $self->{r};
28 my $userName = $r->param("user");
29 my $effectiveUserName = $r->param("effectiveUser");
27 30
28 # Open a database connection that we can use for the rest of 31 ##### database setup #####
29 # the content generation.
30 32
31 $self->{wwdb} = WeBWorK::DB::WW->new($courseEnvironment);
32 $self->{cldb} = WeBWorK::DB::Classlist->new($courseEnvironment); 33 my $cldb = WeBWorK::DB::Classlist->new($courseEnvironment);
34 my $wwdb = WeBWorK::DB::WW->new($courseEnvironment);
35 my $authdb = WeBWorK::DB::Auth->new($courseEnvironment);
36
37 my $user = $cldb->getUser($userName);
38 my $effectiveUser = $cldb->getUser($effectiveUserName);
39 my $set = $wwdb->getSet($effectiveUserName, $setName);
40 my $permissionLevel = $authdb->getPermissions($userName);
41
42 $self->{cldb} = $cldb;
43 $self->{wwdb} = $wwdb;
44 $self->{authdb} = $authdb;
45
46 $self->{userName} = $userName;
47 $self->{user} = $user;
48 $self->{effectiveUser} = $effectiveUser;
49 $self->{set} = $set;
50 $self->{permissionLevel} = $permissionLevel;
51
52 ##### permissions #####
53
54 $self->{isOpen} = time >= $set->open_date || $permissionLevel > 0;
33} 55}
34 56
35sub path { 57sub path {
36 my ($self, $setName, $args) = @_; 58 my ($self, $setName, $args) = @_;
37 59
77sub info { 99sub info {
78 my ($self, $setName) = @_; 100 my ($self, $setName) = @_;
79 101
80 my $r = $self->{r}; 102 my $r = $self->{r};
81 my $ce = $self->{courseEnvironment}; 103 my $ce = $self->{courseEnvironment};
104
105 return "" unless $self->{isOpen};
82 106
83 my $wwdb = $self->{wwdb}; 107 my $wwdb = $self->{wwdb};
84 my $cldb = $self->{cldb}; 108 my $cldb = $self->{cldb};
85 my $effectiveUser = $cldb->getUser($r->param("effectiveUser")); 109 my $effectiveUser = $cldb->getUser($r->param("effectiveUser"));
86 my $set = $wwdb->getSet($effectiveUser->id, $setName); 110 my $set = $wwdb->getSet($effectiveUser->id, $setName);
129 my $r = $self->{r}; 153 my $r = $self->{r};
130 my $courseEnvironment = $self->{courseEnvironment}; 154 my $courseEnvironment = $self->{courseEnvironment};
131 my $effectiveUser = $r->param('effectiveUser'); 155 my $effectiveUser = $r->param('effectiveUser');
132 my $wwdb = $self->{wwdb}; 156 my $wwdb = $self->{wwdb};
133 157
158 return CGI::p(CGI::font({-color=>"red"}, "This problem set is not available because it is not yet open."))
159 unless ($self->{isOpen});
160
134 my $hardcopyURL = 161 my $hardcopyURL =
135 $courseEnvironment->{webworkURLs}->{root} . "/" 162 $courseEnvironment->{webworkURLs}->{root} . "/"
136 . $courseEnvironment->{courseName} . "/" 163 . $courseEnvironment->{courseName} . "/"
137 . "hardcopy/$setName/?" . $self->url_authen_args; 164 . "hardcopy/$setName/?" . $self->url_authen_args;
138 print CGI::p(CGI::a({-href=>$hardcopyURL}, "Download a hardcopy"), 165 print CGI::p(CGI::a({-href=>$hardcopyURL}, "Download a hardcopy"),

Legend:
Removed from v.737  
changed lines
  Added in v.738

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9