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

raeburn raeburn@source.lon-capa.org
Tue, 13 Apr 2010 21:19:15 -0000


This is a MIME encoded message

--raeburn1271193555
Content-Type: text/plain

raeburn		Tue Apr 13 21:19:15 2010 EDT

  Modified files:              
    /loncom/interface	loncreatecourse.pm 
  Log:
  - Only display links to create communities, display pending requests, display course creation logs if primary library server for domain for DC's role is
  running 2.9.0 or later. 
  
  
--raeburn1271193555
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20100413211915.txt"

Index: loncom/interface/loncreatecourse.pm
diff -u loncom/interface/loncreatecourse.pm:1.136 loncom/interface/loncreatecourse.pm:1.137
--- loncom/interface/loncreatecourse.pm:1.136	Tue Mar 30 16:06:21 2010
+++ loncom/interface/loncreatecourse.pm	Tue Apr 13 21:19:15 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Create a course
 #
-# $Id: loncreatecourse.pm,v 1.136 2010/03/30 16:06:21 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.137 2010/04/13 21:19:15 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -692,46 +692,52 @@
 }
 
 sub print_intro_page {
-    my $r = shift;
+    my ($r,$show_all_choices) = @_;
     my $start_page =
         &Apache::loncommon::start_page('Create a New Course or Community');
     my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses');
     my $end_page =
         &Apache::loncommon::end_page();
     my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities'));
-
-    my @choices = ({ internal_name => 'courseone',
-                     name => &mt('Create a single course'),
-                     short_description =>
-    &mt('Create a new course by completing an online form.'),
-                 },
-                   { internal_name => 'groupone',
-                     name => &mt('Create a single community'),
-                     short_description =>
+    my @choices = ({ internal_name     => 'courseone',
+                     name              => &mt('Create a single course'),
+                     short_description => &mt('Create a new course by completing an online form.'),
+                   });
+    if ($show_all_choices) {
+        push(@choices,{ internal_name     => 'groupone',
+                        name              => &mt('Create a single community'),
+                        short_description =>
     &mt('Create a new collaborative community by completing an online form.'),
-                 },
-                   { internal_name => 'batchone',
-                     name => &mt('Create courses/communities by uploading an attributes file'),
-                     short_description =>
+                      },
+                      { internal_name     => 'batchone',
+                        name              => &mt('Create courses/communities by uploading an attributes file'),
+                        short_description =>
     &mt('Upload an attributes file containing specifications for one or more courses or communities in XML format.'),
-                     help => 'Batch_Creation',
-                 },
-                   { internal_name => 'requestdisplay',
-                     name => &mt('Approve or reject requests'),
-                     short_description =>
+                        help => 'Batch_Creation',
+                      },
+                      { internal_name     => 'requestdisplay',
+                        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 =>
+                      },
+                      { 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 =>
+                      },
+                      { 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.'),
-                 },
-    );
+                      });
+    } else {
+        push(@choices,{ internal_name     => 'batchone',
+                        name              => &mt('Create courses by uploading an attributes file'),
+                        short_description =>
+    &mt('Upload an attributes file containing specifications for one or more courses in XML format.'),
+                        help => 'Batch_Creation',
+                      });
+    }
     my $options;
     foreach my $choice (@choices) {
         $options .='    <h3><a href="/adm/createcourse?phase='.
@@ -743,7 +749,6 @@
         $options .= "</h3>\n".'    '.('&nbsp;'x8).$choice->{'short_description'}.
             "\n";
     }
-
     $r->print(<<ENDDOCUMENT);
 $start_page
 $crumbs
@@ -1193,6 +1198,13 @@
        return OK;
     }
 
+    my $show_all_choices = 0;
+    my $primary_rev = &Apache::lonnet::get_server_loncaparev($env{'request.role.domain'});
+    if (($primary_rev ne 'refused') && ($primary_rev ne 'error') &&
+        ($primary_rev ne 'unknown_cmd') && ($primary_rev ne 'no_such_host')) {
+        $show_all_choices = 1;
+    }
+
     if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) {
        &Apache::loncommon::content_type($r,'text/html');
        $r->send_http_header;
@@ -1205,7 +1217,8 @@
             text=>"Creation Options",
             faq=>79,bug=>'Dom Coord Interface',});
        if (($env{'form.phase'} eq 'coursetwo') ||
-           ($env{'form.phase'} eq 'grouptwo')) {
+           (($env{'form.phase'} eq 'grouptwo') && 
+            ($show_all_choices))) { 
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}",
                    text=>&mt('[_1] Creation Settings',),
@@ -1216,7 +1229,8 @@
                    faq=>9,bug=>'Dom Coord Interface',});
            &create_course($r);
        } elsif (($env{'form.phase'} eq 'courseone') || 
-                ($env{'form.phase'} eq 'groupone')) {
+                (($env{'form.phase'} eq 'groupone') && 
+                ($show_all_choices))) {
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
                    text=>&mt('[_1] Creation Settings',),
@@ -1238,7 +1252,7 @@
                    text=>"Creation Outcome",
                    faq=>9,bug=>'Dom Coord Interface',});
            &process_batchfile($r);
-       } elsif ($env{'form.phase'} eq 'requestdisplay') {
+       } elsif (($env{'form.phase'} eq 'requestdisplay') && ($show_all_choices)) {
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
                    text=>&mt('[_1] Display Request Queue',),
@@ -1250,7 +1264,7 @@
                      &Apache::loncoursequeueadmin::display_queued_requests(
                          'domain',$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());
-       } elsif ($env{'form.phase'} eq 'requestchange') {
+       } elsif (($env{'form.phase'} eq 'requestchange') && ($show_all_choices)) {
            if ($env{'form.queue'} eq 'pending') {
                &Apache::lonhtmlcommon::add_breadcrumb
                    ({href=>"/adm/createcourse?phase=pendingdisplay",
@@ -1272,7 +1286,7 @@
                      &Apache::loncoursequeueadmin::update_request_queue(
                      'domain',$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());
-       } elsif ($env{'form.phase'} eq 'pendingdisplay') {
+       } elsif (($env{'form.phase'} eq 'pendingdisplay') && ($show_all_choices)) {
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
                    text=>&mt('Display Pending Queue',),
@@ -1284,7 +1298,7 @@
                      &Apache::loncoursequeueadmin::display_queued_requests(
                          'pending',$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());
-       } elsif ($env{'form.phase'} eq 'requestvalidation') {
+       } elsif (($env{'form.phase'} eq 'requestvalidation') && ($show_all_choices)) {
            my $js = &courserequestbrowser_javascript();
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=pendingdisplay",
@@ -1296,7 +1310,7 @@
            $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') {
+       } elsif (($env{'form.phase'} eq 'creationlog') && ($show_all_choices)) {
            &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=creationlog",
                    text=>&mt('[_1] Display Creation History',),});
@@ -1311,7 +1325,7 @@
            &print_creation_logs($r);
            $r->print('</div>'.&Apache::loncommon::end_page());
        } else {
-           &print_intro_page($r);
+           &print_intro_page($r,$show_all_choices);
        }
    } else {
       $env{'user.error.msg'}=

--raeburn1271193555--