[LON-CAPA-cvs] cvs: loncom /html/adm/helper course.initialization.helper parameter.helper
bowersj2
lon-capa-cvs@mail.lon-capa.org
Fri, 16 May 2003 17:21:33 -0000
bowersj2 Fri May 16 13:21:33 2003 EDT
Modified files:
/loncom/html/adm/helper parameter.helper
course.initialization.helper
Log:
Require the users of the parameter helper and course initialization helper
to have the 'opa' priviledge of setting parameters.
Index: loncom/html/adm/helper/parameter.helper
diff -u loncom/html/adm/helper/parameter.helper:1.1 loncom/html/adm/helper/parameter.helper:1.2
--- loncom/html/adm/helper/parameter.helper:1.1 Fri Apr 18 13:32:26 2003
+++ loncom/html/adm/helper/parameter.helper Fri May 16 13:21:33 2003
@@ -1,4 +1,4 @@
-<helper title="Course Parameter Helper">
+<helper title="Course Parameter Helper" requiredpriv='opa'>
<exec>
my %dateTypeHash = ('open_date' => "opening date",
@@ -39,7 +39,6 @@
<state name="CHOOSE_LEVEL" title="Which Problem or Problems?">
<message>Which problems do you wish to change a date for?</message>
-
<choices variable="GRANULARITY">
<choice computer="whole_course" nextstate="CHOOSE_ACTION">
<b>Every problem</b> in the course
Index: loncom/html/adm/helper/course.initialization.helper
diff -u loncom/html/adm/helper/course.initialization.helper:1.1 loncom/html/adm/helper/course.initialization.helper:1.2
--- loncom/html/adm/helper/course.initialization.helper:1.1 Thu May 8 15:53:11 2003
+++ loncom/html/adm/helper/course.initialization.helper Fri May 16 13:21:33 2003
@@ -1,56 +1,120 @@
-<helper title="Course Initialization Helper">
+<helper title="Course Initialization Helper" requiredpriv='opa'>
+
+ <exec>
+ $helper->{DATA}->{DOM} = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
+ $helper->{DATA}->{CRS} = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
+
+ $helper->{DATA}->{GETVAL} = sub {
+ my @resultlist = &Apache::lonnet::get('environment', [shift()],
+ $helper->{DATA}->{DOM},
+ $helper->{DATA}->{CRS});
+ return $resultlist[1]; };
+ $helper->{DATA}->{SETVAL} = sub {
+ my $name = shift;
+ my $val = shift;
+ if (&{$helper->{DATA}->{GETVAL}}($name) ne $val) {
+ &Apache::lonnet::put('environment', {$name=>$val},
+ $helper->{DATA}->{DOM},
+ $helper->{DATA}->{CRS});
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ </exec>
<state name="START" title="Welcome to Your New LON-CAPA Course">
<message nextstate="FORBID_DISCUSSION">
- <p>This helper will help you set up your new LON-CAPA course and choose
+ This Helper will help you set up your new LON-CAPA course and choose
which LON-CAPA features will be active in your course. You can
- re-visit it later to change settings in your course.</p>
+ re-visit it later to change settings in your course.
<p><b>FIXME:</b> Figure out some way to detect whether this has been
run, and change that paragraph appropriatly.</p>
<p>If you have previous experience with coordinating LON-CAPA courses and
- prefer to use the in-course interface to change these settings,
- <a href="/adm/navmaps">click here</a> to leave this helper.</p>
+ prefer not to use the Helper,
+ <a href="/adm/navmaps">click here</a> to leave this Helper.</p>
- <p>All settings you can change with this helper can also be changed while the
+ <p>All settings which you can change with this Helper can also be changed while the
course is running by going to the PARM screen and clicking on the "Set
course environment" button.</p>
<p>If you do not have experience coordinating LON-CAPA courses, or if you
- prefer the helper interface, please click <b>Next -></b>.</p>
+ prefer the Helper interface, please click <nobr><b>Next -></b></nobr>.</p>
</message>
</state>
<state name="FORBID_DISCUSSION" title="Discussion Participation">
<message nextstate="DISCUSSION_HTML">
- <p>LON-CAPA hosts discussions on all resources in a course. By default,
- all users are allowed to participate in these discussions.</p>
+ LON-CAPA hosts discussions on all resources in a course. By default,
+ all users are allowed to participate in these discussions.
<p>For more information about discussion and the abilities available
to you as a course coordinator, such as banning abusive users or
hiding discussion postings, please see <b>link</b>.</p>
<p>If you do not wish certain classes of users to be able to use the
- discussion features, select those classes below.</p>
+ discussion features, select those classes below. Note your class
+ may not have all of these roles; you may safely ignore roles you
+ do not intend to use. (For instance, "Exam Proctor" is
+ generally useful only for large courses.)</p>
<p><b>Question: Does inability to use discussion mean they simply can't
post, or that they can't see the discussion at all?</b></p>
</message>
- <choices variable="BANNED_DISCUSSION_ROLES" multichoice="1">
+ <choices variable="BANNED_DISCUSSION_ROLES" multichoice="1" allowempty='1'>
<choice computer="st"><b>Students</b> - students will not be able to participate in discussions</choice>
<choice computer="ta"><b>Teaching Assistants</b> - teaching assistants will not be able to participate in discussions</choice>
<choice computer="in"><b>Instructor</b> - instructors will not be able to participate in discussions</choice>
+ <choice computer="ep"><b>Exam Proctor</b> - exam proctors will not be able to participate in discussions</choice>
+ <defaultvalue>
+ my $denied = &{$helper->{DATA}->{GETVAL}}('pch.roles.denied');
+ $denied =~ s/,/\|\|\|/g;
+ return $denied;
+ </defaultvalue>
+ <finalcode>
+ my $denied = $element->getValue();
+ $denied =~ s/\|\|\|/,/g;
+ if (&{$helper->{DATA}->{SETVAL}}('pch.roles.denied', $denied)) {
+ $denied =~ s/st/ students/;
+ $denied =~ s/in/ instructors/;
+ $denied =~ s/ta/ teaching assistants/;
+ $denied =~ s/ep/ exam proctors/;
+ if ($denied =~ /^[^,]*,[^,]*$/) { # only one comma
+ $denied =~ s/,/ and/g;
+ } else { # add "and" to last comma
+ $denied =~ s/,([^,]*)$/, and\1/;
+ }
+ if ($denied) {
+ $denied = substr($denied, 1) . ' not allowed to participate in discussion.';
+ $denied = ucfirst($denied);
+ } else {
+ $denied = 'Everyone can participate in discussion.';
+ }
+ return $denied;
+ } else {
+ return '';
+ }
+ </finalcode>
</choices>
</state>
<state name="DISCUSSION_HTML" title="HTML in Discussions">
- <message nextstate="FEEDBACK_ADDRESSES">
+ <message nextstate="FINAL">
<p>If you like, limited HTML can be allowed in the course discussions.</p>
</message>
<choices variable="HTML_ALLOWED">
<choice computer=""><b>HTML banned</b>: HTML will not be allowed in discussion postings.</choice>
<choice computer="yes"><b>HTML allowed</b>: Discussion participants can use limited HTML in their postings.</choice>
+ <finalcode>return 'Choices finalcode.';</finalcode>
</choices>
+ </state>
+
+
+
+ <state name="FINAL" title="Completed">
+ <message>Your course is now set up.</message>
+ <final />
</state>
</helper>