Diff for /loncom/interface/loncreatecourse.pm between versions 1.158.2.1 and 1.158.2.2

version 1.158.2.1, 2016/08/31 23:41:15 version 1.158.2.2, 2016/10/24 03:05:25
Line 741  sub create_course { Line 741  sub create_course {
 }  }
   
 sub print_intro_page {  sub print_intro_page {
     my ($r,$show_all_choices) = @_;      my ($r,$show_all_choices,$cancreate,$permission) = @_;
     my $start_page =      my $start_page =
         &Apache::loncommon::start_page('Create a New Course or Community');          &Apache::loncommon::start_page('Create a New Course or Community');
     my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses');      my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses');
Line 750  sub print_intro_page { Line 750  sub print_intro_page {
     my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities'));      my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities'));
   
     # Create menu      # Create menu
       my $approve = 'Display requests awaiting approval';
       if ($permission->{'create'}) {
           $approve = 'Approve or reject requests';
       }
     my @menu;      my @menu;
     @menu =      @menu =
        ({ categorytitle => 'Course/Community Creation',         ({ categorytitle => 'Course/Community Creation',
Line 757  sub print_intro_page { Line 761  sub print_intro_page {
           {            {
                linktext => 'Create a single course',                 linktext => 'Create a single course',
                url => '/adm/createcourse?phase=courseone',                 url => '/adm/createcourse?phase=courseone',
                permission => 1,                 permission => $permission->{'create'},
                #help => '',                 #help => '',
                icon => 'crsnew.png',                 icon => 'crsnew.png',
                linktitle => 'Create a new course by completing an online form.'                 linktitle => 'Create a new course by completing an online form.'
Line 765  sub print_intro_page { Line 769  sub print_intro_page {
           {            {
                linktext => 'Create a single community',                 linktext => 'Create a single community',
                url => '/adm/createcourse?phase=groupone',                 url => '/adm/createcourse?phase=groupone',
                permission => $show_all_choices,                 permission => $permission->{'create'} && $cancreate->{'Community'},
                #help => '',                 #help => '',
                icon => 'crsnew.png',                 icon => 'crsnew.png',
                linktitle => 'Create a new collaborative community by completing an online form.'                 linktitle => 'Create a new collaborative community by completing an online form.'
Line 773  sub print_intro_page { Line 777  sub print_intro_page {
           {            {
                linktext => 'Create courses/communities by uploading an attributes file',                 linktext => 'Create courses/communities by uploading an attributes file',
                url => '/adm/createcourse?phase=batchone',                 url => '/adm/createcourse?phase=batchone',
                permission => 1,                 permission => $permission->{'create'},
                help => 'Batch_Creation',                 help => 'Batch_Creation',
                icon => 'uplcrs.png',                 icon => 'uplcrs.png',
                linktitle => 'Upload an attributes file containing specifications for one or more courses or communities in XML format.'                 linktitle => 'Upload an attributes file containing specifications for one or more courses or communities in XML format.'
Line 783  sub print_intro_page { Line 787  sub print_intro_page {
        { categorytitle => 'Course/Community Requests',         { categorytitle => 'Course/Community Requests',
        items => [         items => [
            {             {
                linktext => 'Approve or reject requests',                 linktext => $approve,
                url => '/adm/createcourse?phase=requestdisplay',                 url => '/adm/createcourse?phase=requestdisplay',
                permission => $show_all_choices,                 permission => $show_all_choices,
                #help => '',                 #help => '',
Line 1254  ENDJS Line 1258  ENDJS
   
 }  }
   
   sub get_permission {
       my ($dom) = @_;
       my ($allowed,%permission);
       if (&Apache::lonnet::allowed('ccc',$dom)) {
           $allowed = 1;
           %permission = (
               create => 1,
           );
       } elsif (&Apache::lonnet::allowed('dcc',$dom)) {
           $allowed = 1;
       }
       return ($allowed,\%permission);
   }
   
 # ===================================================================== Handler  # ===================================================================== Handler
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 1264  sub handler { Line 1282  sub handler {
        return OK;         return OK;
     }      }
   
     my $show_all_choices = 0;      my ($allowed,$permission) = &get_permission($env{'request.role.domain'});
     my $primary_rev = &Apache::lonnet::get_server_loncaparev($env{'request.role.domain'});      if ($allowed) {
     if (($primary_rev ne 'refused') && ($primary_rev ne 'error') &&          my $show_all_choices = 0;
         ($primary_rev ne 'unknown_cmd') && ($primary_rev ne 'no_such_host')) {          my $primary_rev = &Apache::lonnet::get_server_loncaparev($env{'request.role.domain'});
         $show_all_choices = 1;          my %cancreate = (
     }                             Community => 0,
                           );
           if (($primary_rev ne 'refused') && ($primary_rev ne 'error') &&
               ($primary_rev ne 'unknown_cmd') && ($primary_rev ne 'no_such_host')) {
               $show_all_choices = 1;
               my ($primary_major,$primary_minor) = split(/\./,$primary_rev);
               foreach my $key (keys(%cancreate)) {
                   my ($needsmajor,$needsminor) =
                       split(/\./,$Apache::lonnet::needsrelease{'course:crstype:'.$key});
                   unless (($needsmajor > $primary_major) ||
                           (($needsmajor == $primary_major) && ($needsminor > $primary_minor))) {
                       $cancreate{$key} = 1;
                   }
               }
           }
   
     if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) {  
        &Apache::loncommon::content_type($r,'text/html');         &Apache::loncommon::content_type($r,'text/html');
        $r->send_http_header;         $r->send_http_header;
   
Line 1282  sub handler { Line 1313  sub handler {
           ({href=>"/adm/createcourse",            ({href=>"/adm/createcourse",
             text=>"Creation Options",              text=>"Creation Options",
             faq=>79,bug=>'Dom Coord Interface',});              faq=>79,bug=>'Dom Coord Interface',});
        if (($env{'form.phase'} eq 'coursetwo') ||         if (($permission->{'create'}) &&
            (($env{'form.phase'} eq 'grouptwo') &&              (($env{'form.phase'} eq 'coursetwo') ||
             ($show_all_choices))) {               (($env{'form.phase'} eq 'grouptwo') &&
               ($cancreate{'Community'})))) {
            &Apache::lonhtmlcommon::add_breadcrumb             &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}",                   ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}",
                    text=>&mt('[_1] Creation Settings',),                     text=>&mt('[_1] Creation Settings',),
Line 1294  sub handler { Line 1326  sub handler {
                    text=>"Creation Outcome",                     text=>"Creation Outcome",
                    faq=>9,bug=>'Dom Coord Interface',});                     faq=>9,bug=>'Dom Coord Interface',});
            &create_course($r);             &create_course($r);
        } elsif (($env{'form.phase'} eq 'courseone') ||          } elsif (($permission->{'create'}) &&
                 (($env{'form.phase'} eq 'groupone') &&                   (($env{'form.phase'} eq 'courseone') ||
                 ($show_all_choices))) {                   (($env{'form.phase'} eq 'groupone') &&
                    ($cancreate{'Community'})))) {
            &Apache::lonhtmlcommon::add_breadcrumb             &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.phase'}",                   ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
                    text=>&mt('[_1] Creation Settings',),                     text=>&mt('[_1] Creation Settings',),
                    faq=>9,bug=>'Dom Coord Interface',});                     faq=>9,bug=>'Dom Coord Interface',});
    &print_course_creation_page($r);     &print_course_creation_page($r);
        } elsif ($env{'form.phase'} eq 'batchone') {         } elsif (($permission->{'create'}) &&
                   ($env{'form.phase'} eq 'batchone')) {
            &Apache::lonhtmlcommon::add_breadcrumb             &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.phase'}",                   ({href=>"/adm/createcourse?phase=$env{'form.phase'}",
                    text=>"Upload Description File",                     text=>"Upload Description File",
                    faq=>9,bug=>'Dom Coord Interface',});                     faq=>9,bug=>'Dom Coord Interface',});
            &upload_batchfile($r);             &upload_batchfile($r);
        } elsif ($env{'form.phase'} eq 'batchtwo') {         } elsif (($permission->{'create'}) &&
                   ($env{'form.phase'} eq 'batchtwo')) {
            &Apache::lonhtmlcommon::add_breadcrumb             &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}",                   ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}",
                    text=>"Upload Description File",                     text=>"Upload Description File",
Line 1326  sub handler { Line 1361  sub handler {
            my $js = &courserequestbrowser_javascript();             my $js = &courserequestbrowser_javascript();
            my $start_page=&Apache::loncommon::start_page('Display Requests',$js);             my $start_page=&Apache::loncommon::start_page('Display Requests',$js);
            my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Requests','Course_Requests',undef,'Course_Requests');             my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Requests','Course_Requests',undef,'Course_Requests');
              my $context = 'domain';
              unless ($permission->{'create'}) {
                  $context = 'helpdesk';
              }
            $r->print($start_page.$crumbs."\n".'<div>'.             $r->print($start_page.$crumbs."\n".'<div>'.
                      &Apache::loncoursequeueadmin::display_queued_requests(                       &Apache::loncoursequeueadmin::display_queued_requests(
                          'domain',$env{'request.role.domain'}).'</div>'.                           $context,$env{'request.role.domain'},undef).'</div>'.
                      &Apache::loncommon::end_page());                       &Apache::loncommon::end_page());
        } elsif (($env{'form.phase'} eq 'requestchange') && ($show_all_choices)) {         } elsif (($permission->{'create'}) &&
                   ($env{'form.phase'} eq 'requestchange') && ($show_all_choices)) { 
            if ($env{'form.queue'} eq 'pending') {             if ($env{'form.queue'} eq 'pending') {
                &Apache::lonhtmlcommon::add_breadcrumb                 &Apache::lonhtmlcommon::add_breadcrumb
                    ({href=>"/adm/createcourse?phase=pendingdisplay",                     ({href=>"/adm/createcourse?phase=pendingdisplay",
Line 1360  sub handler { Line 1400  sub handler {
            my $js = &courserequestbrowser_javascript();             my $js = &courserequestbrowser_javascript();
            my $start_page=&Apache::loncommon::start_page('Display Pending Queue',$js);             my $start_page=&Apache::loncommon::start_page('Display Pending Queue',$js);
            my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Requests',undef,'Course_Requests');             my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Requests',undef,'Course_Requests');
              my $context = 'pending';
              unless ($permission->{'create'}) {
                  $context = 'displaypending';
              }
            $r->print($start_page.$crumbs."\n".'<div>'.             $r->print($start_page.$crumbs."\n".'<div>'.
                      &Apache::loncoursequeueadmin::display_queued_requests(                       &Apache::loncoursequeueadmin::display_queued_requests(
                          'pending',$env{'request.role.domain'}).'</div>'.                           $context,$env{'request.role.domain'}).'</div>'.
                      &Apache::loncommon::end_page());                       &Apache::loncommon::end_page());
        } elsif (($env{'form.phase'} eq 'requestvalidation') && ($show_all_choices)) {         } elsif (($permission->{'create'}) &&
                   ($env{'form.phase'} eq 'requestvalidation') && ($show_all_choices)) { 
            my $js = &courserequestbrowser_javascript();             my $js = &courserequestbrowser_javascript();
            &Apache::lonhtmlcommon::add_breadcrumb             &Apache::lonhtmlcommon::add_breadcrumb
                  ({href=>"/adm/createcourse?phase=pendingdisplay",                   ({href=>"/adm/createcourse?phase=pendingdisplay",
Line 1391  sub handler { Line 1436  sub handler {
            &print_creation_logs($r);             &print_creation_logs($r);
            $r->print('</div>'.&Apache::loncommon::end_page());             $r->print('</div>'.&Apache::loncommon::end_page());
        } else {         } else {
            &print_intro_page($r,$show_all_choices);             &print_intro_page($r,$show_all_choices,\%cancreate,$permission);
        }         }
    } else {     } else {
       $env{'user.error.msg'}=        $env{'user.error.msg'}=

Removed from v.1.158.2.1  
changed lines
  Added in v.1.158.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>