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

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

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

Revision 809 Revision 818
2# WeBWorK mod_perl (c) 2000-2002 WeBWorK Project 2# WeBWorK mod_perl (c) 2000-2002 WeBWorK Project
3# $Id$ 3# $Id$
4################################################################################ 4################################################################################
5 5
6package WeBWorK::ContentGenerator::ProblemSets; 6package WeBWorK::ContentGenerator::ProblemSets;
7use base qw(WeBWorK::ContentGenerator);
7 8
8=head1 NAME 9=head1 NAME
9 10
10WeBWorK::ContentGenerator::ProblemSets - Display a list of built problem sets. 11WeBWorK::ContentGenerator::ProblemSets - Display a list of built problem sets.
11 12
12=cut 13=cut
13 14
14use strict; 15use strict;
15use warnings; 16use warnings;
16use base qw(WeBWorK::ContentGenerator);
17use Apache::Constants qw(:common);
18use CGI qw(); 17use CGI qw();
19use WeBWorK::ContentGenerator;
20use WeBWorK::DB::WW;
21use WeBWorK::DB::Auth;
22use WeBWorK::Utils qw(readFile formatDateTime); 18use WeBWorK::Utils qw(readFile formatDateTime);
23
24sub initialize {
25 my $self = shift;
26 my $courseEnvironment = $self->{ce};
27
28 # Open a database connection that we can use for the rest of
29 # the content generation.
30
31 $self->{wwdb} = new WeBWorK::DB::WW $courseEnvironment;
32 $self->{authdb} = new WeBWorK::DB::Auth $courseEnvironment;
33}
34 19
35sub path { 20sub path {
36 my ($self, $args) = @_; 21 my ($self, $args) = @_;
37 22
38 my $ce = $self->{ce}; 23 my $ce = $self->{ce};
44 ); 29 );
45} 30}
46 31
47sub title { 32sub title {
48 my $self = shift; 33 my $self = shift;
49 my $courseEnvironment = $self->{ce}; 34 return $self->{ce}->{courseName};
50
51 return $courseEnvironment->{courseName};
52} 35}
53 36
54sub body { 37sub body {
55 my $self = shift; 38 my $self = shift;
56 my $r = $self->{r}; 39 my $r = $self->{r};
57 my $courseEnvironment = $self->{ce}; 40 my $courseEnvironment = $self->{ce};
41 my $db = $self->{db};
58 my $user = $r->param("user"); 42 my $user = $r->param("user");
59 my $effectiveUser = $r->param("effectiveUser"); 43 my $effectiveUser = $r->param("effectiveUser");
60 my $sort = $r->param("sort") || "status"; 44 my $sort = $r->param("sort") || "status";
61 my $wwdb = $self->{wwdb};
62 my $authdb = $self->{authdb};
63 my $permissionLevel = $authdb->getPermissions($user); 45 my $permissionLevel = $db->getPermissionLevel($user)->permission();
64 46
65 if (defined $courseEnvironment->{courseFiles}->{motd} 47 if (defined $courseEnvironment->{courseFiles}->{motd}
66 and $courseEnvironment->{courseFiles}->{motd}) { 48 and $courseEnvironment->{courseFiles}->{motd}) {
67 my $motd = eval { readFile($courseEnvironment->{courseFiles}->{motd}) }; 49 my $motd = eval { readFile($courseEnvironment->{courseFiles}->{motd}) };
68 $@ or print $motd; 50 $@ or print $motd;
82 CGI::th($statusHeader), 64 CGI::th($statusHeader),
83 #CGI::th("Hardcopy"), 65 #CGI::th("Hardcopy"),
84 ); 66 );
85 67
86 my @sets; 68 my @sets;
87 push @sets, $wwdb->getSet($effectiveUser, $_) foreach ($wwdb->getSets($effectiveUser)); 69 push @sets, $db->getGlobalUserSet($effectiveUser, $_)
70 foreach ($db->listUserSets($effectiveUser));
88 @sets = sort byname @sets if $sort eq "name"; 71 @sets = sort byname @sets if $sort eq "name";
89 @sets = sort byduedate @sets if $sort eq "status"; 72 @sets = sort byduedate @sets if $sort eq "status";
90 foreach my $set (@sets) { 73 foreach my $set (@sets) {
91 print $self->setListRow($set, ($permissionLevel > 0), 74 print $self->setListRow($set, ($permissionLevel > 0),
92 ($permissionLevel > 0)); 75 ($permissionLevel > 0));
115} 98}
116 99
117sub setListRow($$$) { 100sub setListRow($$$) {
118 my ($self, $set, $multiSet, $preOpenSets) = @_; 101 my ($self, $set, $multiSet, $preOpenSets) = @_;
119 102
120 my $name = $set->id; 103 my $name = $set->set_id;
121 104
122 my $interactiveURL = "$name/?" . $self->url_authen_args; 105 my $interactiveURL = "$name/?" . $self->url_authen_args;
123 #my $hardcopyURL = "hardcopy/$name/?" . $self->url_authen_args; 106 #my $hardcopyURL = "hardcopy/$name/?" . $self->url_authen_args;
124 107
125 my $openDate = formatDateTime($set->open_date); 108 my $openDate = formatDateTime($set->open_date);
126 my $dueDate = formatDateTime($set->due_date); 109 my $dueDate = formatDateTime($set->due_date);
127 my $answerDate = formatDateTime($set->answer_date); 110 my $answerDate = formatDateTime($set->answer_date);
128 111
129 #my $checkbox = CGI::checkbox(-name=>"hcSet", -value=>$set->id, -label=>""); 112 #my $checkbox = CGI::checkbox(-name=>"hcSet", -value=>$set->set_id, -label=>"");
130 113
131 my $control = ""; 114 my $control = "";
132 if ($multiSet) { 115 if ($multiSet) {
133 $control = CGI::checkbox( 116 $control = CGI::checkbox(
134 -name=>"hcSet", 117 -name=>"hcSet",

Legend:
Removed from v.809  
changed lines
  Added in v.818

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9