| … | |
… | |
| 13 | =cut |
13 | =cut |
| 14 | |
14 | |
| 15 | use strict; |
15 | use strict; |
| 16 | use warnings; |
16 | use warnings; |
| 17 | use CGI qw(); |
17 | use CGI qw(); |
|
|
18 | sub initialize { |
|
|
19 | my ($self) = @_; |
|
|
20 | my $r = $self->{r}; |
|
|
21 | my $db = $self->{db}; |
|
|
22 | my $ce = $self->{ce}; |
|
|
23 | my $authz = $self->{authz}; |
|
|
24 | my $user = $r->param('user'); |
| 18 | |
25 | |
|
|
26 | unless ($authz->hasPermissions($user, "modify_student_data")) { |
|
|
27 | $self->{submitError} = "You are not authorized to modify student data"; |
|
|
28 | return; |
|
|
29 | } |
|
|
30 | |
|
|
31 | if (defined($r->param('addStudent'))) { |
|
|
32 | my $newUser = $db->newUser; |
|
|
33 | my $newPermissionLevel = $db->newPermissionLevel; |
|
|
34 | my $newPassword = $db->newPassword; |
|
|
35 | $newUser->user_id($r->param('new_user_id')); |
|
|
36 | $newPermissionLevel->user_id($r->param('new_user_id')); |
|
|
37 | $newPassword->user_id($r->param('new_user_id')); |
|
|
38 | $newUser->last_name($r->param('last_name')); |
|
|
39 | $newUser->first_name($r->param('first_name')); |
|
|
40 | $newUser->student_id($r->param('student_id')); |
|
|
41 | $newUser->email_address($r->param('email_address')); |
|
|
42 | $newUser->section($r->param('section')); |
|
|
43 | $newUser->recitation($r->param('recitation')); |
|
|
44 | $newUser->comment($r->param('comment')); |
|
|
45 | $newUser->status('C'); |
|
|
46 | $newPermissionLevel->permission(0); |
|
|
47 | #FIXME handle errors if user exists already |
|
|
48 | $db->addUser($newUser); |
|
|
49 | $db->addPermissionLevel($newPermissionLevel); |
|
|
50 | $db->addPassword($newPassword); |
|
|
51 | $self->{studentEntryReport} = join("", |
|
|
52 | "Entered student", CGI::br(), |
|
|
53 | "Name: ", $newUser->last_name, ", ",$newUser->first_name,CGI::br(), |
|
|
54 | " login/studentID: ", $newUser->user_id, "/",$newUser->student_id,CGI::br(), |
|
|
55 | " email: ", $newUser->email_address,CGI::br(), |
|
|
56 | " section: ", $newUser->section,CGI::br(), |
|
|
57 | |
|
|
58 | ); |
|
|
59 | } |
|
|
60 | |
|
|
61 | |
|
|
62 | |
|
|
63 | |
|
|
64 | |
|
|
65 | |
|
|
66 | |
|
|
67 | |
|
|
68 | } |
| 19 | sub path { |
69 | sub path { |
| 20 | my $self = shift; |
70 | my $self = shift; |
| 21 | my $args = $_[-1]; |
71 | my $args = $_[-1]; |
| 22 | |
72 | |
| 23 | my $ce = $self->{ce}; |
73 | my $ce = $self->{ce}; |
| … | |
… | |
| 83 | ]), |
133 | ]), |
| 84 | "\n", |
134 | "\n", |
| 85 | ), |
135 | ), |
| 86 | |
136 | |
| 87 | CGI::end_table(), |
137 | CGI::end_table(), |
|
|
138 | CGI::hr(), |
|
|
139 | CGI::p( defined($self->{studentEntryReport}) ? $self->{studentEntryReport}:'' |
|
|
140 | ), |
|
|
141 | $self->addStudentForm, |
| 88 | ); |
142 | ); |
| 89 | } |
143 | } |
|
|
144 | sub addStudentForm { |
|
|
145 | my $self = shift; |
|
|
146 | my $r = $self->{r}; |
|
|
147 | |
|
|
148 | # Add a student form |
|
|
149 | join( "", |
|
|
150 | CGI::p("Add new students"), |
|
|
151 | CGI::start_form({method=>"post", action=>$r->uri()}), |
|
|
152 | $self->hidden_authen_fields(), |
|
|
153 | CGI::start_table({border=>'1', cellpadding=>'2'}), |
|
|
154 | CGI::Tr({}, |
|
|
155 | CGI::th({}, |
|
|
156 | ['Last Name', 'First Name', 'Student ID', 'Login Name', 'Email Address', 'Section','Recitation', 'Comment'] |
|
|
157 | ) |
|
|
158 | ), |
|
|
159 | CGI::Tr({}, |
|
|
160 | CGI::td({}, |
|
|
161 | [ CGI::input({name=>'last_name'}), |
|
|
162 | CGI::input({name=>'first_name'}), |
|
|
163 | CGI::input({name=>'student_id',size=>'16'}), |
|
|
164 | CGI::input({name=>'new_user_id',size=>'10'}), |
|
|
165 | CGI::input({name=>'email_address'}), |
|
|
166 | CGI::input({name=>'section',size=>'10'}), |
|
|
167 | CGI::input({name=>'recitation',size=>'10'}), |
|
|
168 | CGI::input({name=>'comment'}), |
|
|
169 | |
|
|
170 | |
|
|
171 | ] |
|
|
172 | ) |
|
|
173 | ), |
|
|
174 | CGI::end_table(), |
|
|
175 | CGI::submit({name=>"addStudent", value=>"Add Student"}), |
|
|
176 | CGI::end_form(), |
|
|
177 | ); |
| 90 | |
178 | |
|
|
179 | |
|
|
180 | |
|
|
181 | |
|
|
182 | |
|
|
183 | |
|
|
184 | } |
| 91 | 1; |
185 | 1; |
| 92 | |
186 | |
| 93 | __END__ |
187 | __END__ |
| 94 | |
188 | |
| 95 | =head1 AUTHOR |
189 | =head1 AUTHOR |