[LON-CAPA-cvs] cvs: loncom /interface loncreatecourse.pm

raeburn raeburn@source.lon-capa.org
Tue, 30 Mar 2010 16:06:21 -0000


This is a MIME encoded message

--raeburn1269965181
Content-Type: text/plain

raeburn		Tue Mar 30 16:06:21 2010 EDT

  Modified files:              
    /loncom/interface	loncreatecourse.pm 
  Log:
  - Eliminate &course_types() subroutine - use equivalent routine in loncommon.pm instead.
  - Additional link in DC's Course Creation Menu:
   - Display official course requests
     (use to display requests for official courses queued pending validation
      of requestor as instructor of record; can also attempt to validate,
      and if unvalidated manually approve/reject requests.
  
  
--raeburn1269965181
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20100330160621.txt"

Index: loncom/interface/loncreatecourse.pm
diff -u loncom/interface/loncreatecourse.pm:1.135 loncom/interface/loncreatecourse.pm:1.136
--- loncom/interface/loncreatecourse.pm:1.135	Mon Mar 15 17:27:40 2010
+++ loncom/interface/loncreatecourse.pm	Tue Mar 30 16:06:21 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Create a course
 #
-# $Id: loncreatecourse.pm,v 1.135 2010/03/15 17:27:40 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.136 2010/03/30 16:06:21 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -61,8 +61,6 @@
 
 =item creation_display_filter()
 
-=item course_types()
-
 =item context_names()
 
 =item instcode_srchstr()
@@ -722,12 +720,17 @@
                      name => &mt('Approve or reject requests'),
                      short_description =>
     &mt('Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'),
-                   },
+                 },
+                   { internal_name => 'pendingdisplay',
+                     name => &mt('Display official course requests'),
+                     short_description =>
+    &mt('Display official course requests submitted by authorized users, held pending validation of instructor status.'),
+                 },
                    { internal_name => 'creationlog',
                      name => &mt('View creation log'),
                      short_description =>
     &mt('Display information about when, how and by whom courses and communities were created in this domain.'),
-                   },
+                 },
     );
     my $options;
     foreach my $choice (@choices) {
@@ -814,15 +817,16 @@
 <script type="text/javascript">
 // <![CDATA[
 var steditbrowser;
-function opencoursereqdisplay(cdom,cnum) {
+function opencoursereqdisplay(cdom,cnum,queue) {
     var url = '/adm/requestcourse?action=display';
-    url += '&showdom='+cdom+'&cnum='+cnum;
+    url += '&showdom='+cdom+'&cnum='+cnum+'&queue='+queue;
     var title = 'Course_Request_Browser';
     var options = 'scrollbars=1,resizable=1,menubar=0';
     options += ',width=700,height=600';
     var stdeditbrowser = open(url,title,options,'1');
     stdeditbrowser.focus();
 }
+
 // ]]>
 </script>
 ENDREQBRW
@@ -850,8 +854,6 @@
     foreach my $item ('show','page','type','context') {
         $curr{$item} = $env{'form.'.$item};
     }
-    my $createdafter = &Apache::lonhtmlcommon::get_date_from_form('created_after_date');
-    my $createdbefore = &Apache::lonhtmlcommon::get_date_from_form('created_before_date');
     $curr{'created_after_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_after_date');
     $curr{'created_before_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_before_date');
     foreach my $key (keys(%defaults)) {
@@ -925,6 +927,12 @@
                                       undef,undef,undef,$curr{'created_before_date'},
                                       $curr{'created_after_date'},$creationcontext);
     foreach my $cid (sort { $courses{$b}{'created'}<=>$courses{$a}{'created'} } (keys(%courses))) {
+        if ($curr{'show'} ne &mt('all')) {
+            if ($count >= $curr{'page'} * $curr{'show'}) {
+                $more_records = 1;
+                last;
+            }
+        }
         $count ++;
         next if ($count < $minshown);
         if (!$showntablehdr) {
@@ -1060,14 +1068,14 @@
         &Apache::lonhtmlcommon::date_setter($formname,'created_before_date',
                                             $curr->{'created_before_date'},undef,
                                             undef,undef,undef,undef,undef,undef,$nolink);
-    $output .= '<td valign="top"><b>'.&mt('Window during which course was created:').'</b><br />'.
+    $output .= '<td valign="top"><b>'.&mt('Window during which course/community was created:').'</b><br />'.
                '<table><tr><td>'.&mt('After:').
                '</td><td>'.$startform.'</td></tr>'.
                '<tr><td>'.&mt('Before:').'</td>'.
                '<td>'.$endform.'</td></tr></table>'.
                '</td>'.
                '<td>&nbsp;&nbsp;</td>';
-    my ($types,$typenames) = &course_types();
+    my ($types,$typenames) = &Apache::loncommon::course_types();
     if (ref($types) eq 'ARRAY') {
         if (@{$types} > 1) {
             $output .= '<td valign="top"><b>'.
@@ -1119,16 +1127,6 @@
     return $output;
 }
 
-sub course_types {
-    my @types = qw(official unofficial community);
-    my %typename = (
-                         official   => 'Official course',
-                         unofficial => 'Unofficial course',
-                         community  => 'Community',
-                   );
-    return (\@types,\%typename);
-}
-
 sub context_names {
     my @contexts = qw(auto web dc_create requestcourses);
     my %contextnames = 
@@ -1253,19 +1251,51 @@
                          'domain',$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());
        } elsif ($env{'form.phase'} eq 'requestchange') {
+           if ($env{'form.queue'} eq 'pending') {
+               &Apache::lonhtmlcommon::add_breadcrumb
+                   ({href=>"/adm/createcourse?phase=pendingdisplay",
+                     text=>&mt('Display Pending Queue',),
+                     faq=>9,bug=>'Dom Coord Interface',});
+           } else {
+               &Apache::lonhtmlcommon::add_breadcrumb
+                     ({href=>"/adm/createcourse?phase=requestdisplay",
+                       text=>&mt('[_1] Display Request Queue',),
+                       faq=>9,bug=>'Dom Coord Interface',});
+           }
            &Apache::lonhtmlcommon::add_breadcrumb
-                 ({href=>"/adm/createcourse?phase=requestdisplay",
-                   text=>&mt('[_1] Display Request Queue',),
-                   faq=>9,bug=>'Dom Coord Interface',},
-                 {href=>"/adm/createcourse?phase=requestchange",
-                   text=>&mt('[_1] Requests Updated',),
-                   faq=>9,bug=>'Dom Coord Interface',},);
+               ({href=>"/adm/createcourse?phase=requestchange",
+                 text=>&mt('[_1] Requests Updated',),
+                 faq=>9,bug=>'Dom Coord Interface',},);
            my $start_page=&Apache::loncommon::start_page('Update Requests Result');
            my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Requests Updated','Course_Request',undef,'Course_Request');
            $r->print($start_page.$crumbs."\n".'<div>'.
                      &Apache::loncoursequeueadmin::update_request_queue(
                      'domain',$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());
+       } elsif ($env{'form.phase'} eq 'pendingdisplay') {
+           &Apache::lonhtmlcommon::add_breadcrumb
+                 ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
+                   text=>&mt('Display Pending Queue',),
+                   faq=>9,bug=>'Dom Coord Interface',});
+           my $js = &courserequestbrowser_javascript();
+           my $start_page=&Apache::loncommon::start_page('Display Pending Queue',$js);
+           my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Request',undef,'Course_Request');
+           $r->print($start_page.$crumbs."\n".'<div>'.
+                     &Apache::loncoursequeueadmin::display_queued_requests(
+                         'pending',$env{'request.role.domain'}).'</div>'.
+                     &Apache::loncommon::end_page());
+       } elsif ($env{'form.phase'} eq 'requestvalidation') {
+           my $js = &courserequestbrowser_javascript();
+           &Apache::lonhtmlcommon::add_breadcrumb
+                 ({href=>"/adm/createcourse?phase=pendingdisplay",
+                   text=>&mt('Display Pending Queue'),},
+                 {href=>"/adm/createcourse?phase=requestvalidation",
+                   text=>&mt('Validation Attempted'),},);
+           my $start_page=&Apache::loncommon::start_page('Requests Validation Result',$js);
+           my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Validation Attempted','Course_Request',undef,'Course_Request');
+           $r->print($start_page.$crumbs."\n".'<div>'.
+                     &Apache::loncoursequeueadmin::process_official_reqs('domain',$env{'request.role.domain'}).'</div>'.
+                     &Apache::loncommon::end_page());
        } elsif ($env{'form.phase'} eq 'creationlog') {
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=creationlog",

--raeburn1269965181--