[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm lonxml.pm

raeburn raeburn at source.lon-capa.org
Sat May 4 20:10:17 EDT 2013


raeburn		Sun May  5 00:10:17 2013 EDT

  Modified files:              
    /loncom/xml	lonxml.pm londefdef.pm 
  Log:
  - Provide "Manage dependencies" button when editing an HTML file uploaded as 
    the syllabus, i.e., user supplied file, instead of the templated syllabus.
  
  
Index: loncom/xml/lonxml.pm
diff -u loncom/xml/lonxml.pm:1.538 loncom/xml/lonxml.pm:1.539
--- loncom/xml/lonxml.pm:1.538	Mon Mar 11 21:37:10 2013
+++ loncom/xml/lonxml.pm	Sun May  5 00:10:16 2013
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.538 2013/03/11 21:37:10 raeburn Exp $
+# $Id: lonxml.pm,v 1.539 2013/05/05 00:10:16 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1536,11 +1536,27 @@
 </script>
 FULLPAGE
       if ($filetype eq 'html') {
-          if ($symb || $folderpath) {
-              $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n";
-              $initialize .= 
-                  &Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle,
-                                                             undef,$folderpath,$uri)."\n";
+          my $context;
+          if ($env{'request.course.id'}) {
+              my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+              my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+              if ($uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E}) {
+                  $context = 'syllabus';
+                  $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n";
+                  $initialize .=
+                      &Apache::lonhtmlcommon::dependencycheck_js(undef,&mt('Syllabus'),
+                                                                 $uri,undef,
+                                                                 "/public/$cdom/$cnum/syllabus").
+                      "\n";
+              }
+          }
+          unless ($context eq 'syllabus') {
+              if ($symb || $folderpath) {
+                  $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n";
+                  $initialize .= 
+                      &Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle,
+                                                                 undef,$folderpath,$uri)."\n";
+              }
           }
           $dragmath_button = '<span id="math_filecont">'.&Apache::lonhtmlcommon::dragmath_button('filecont',1).'</span>';
           $initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup');
@@ -1806,14 +1822,20 @@
                 if ($env{'request.course.id'}) {
                     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
-                    if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/\Esupplemental/}) {
+                    if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/supplemental/\E}) {
                         &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                                                 ['folderpath','title']);
+                    } elsif ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E(.+)$}) {
+                        $displayfile = &mt('Syllabus file: [_1]',$1);
+                        $itemtitle = &mt('Syllabus');
                     }
                 }
-                ($symb,$itemtitle,$displayfile) = 
-                    &get_courseupload_hierarchy($request->uri,
-                                                $env{'form.folderpath'},$env{'form.title'});
+                unless ($itemtitle) {
+                    ($symb,$itemtitle,$displayfile) = 
+                        &get_courseupload_hierarchy($request->uri,
+                                                    $env{'form.folderpath'},
+                                                    $env{'form.title'});
+                }
             } else {
 	        $displayfile=~s/^\/[^\/]*//;
             }
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.442 loncom/xml/londefdef.pm:1.443
--- loncom/xml/londefdef.pm:1.442	Fri Jan  4 05:30:52 2013
+++ loncom/xml/londefdef.pm	Sun May  5 00:10:16 2013
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.442 2013/01/04 05:30:52 raeburn Exp $
+# $Id: londefdef.pm,v 1.443 2013/05/05 00:10:16 raeburn Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -633,25 +633,35 @@
     if (($env{'request.course.id'}) && ($env{'form.forceedit'})) {
         my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'});
         if ($url =~ /\.html?$/i) {
+            my ($cdom,$cnum);
             if ($env{'request.course.id'}) {
+                $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+                $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                 if ($env{'request.filename'} =~ m{/userfiles/supplemental/default|\d+/}) {
                     if (&Apache::lonnet::is_course_upload($env{'request.filename'},
-                        $env{'course.'.$env{'request.course.id'}.'.num'},
-                        $env{'course.'.$env{'request.course.id'}.'.domain'})) {
+                                                          $cnum,$cdom)) {
                         &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                                                 ['folderpath','title']);
                     }
                 }
             }
-            my ($symb,$itemtitle,$displayfile) = 
-                &Apache::lonxml::get_courseupload_hierarchy($url,
-                                                            $env{'form.folderpath'},
-                                                            $env{'form.title'});
-            if (($symb ne '') || ($env{'httpref.'.$url} ne '')) {
+            my ($symb,$itemtitle,$displayfile,$caller);
+            if ($url =~ m{^/uploaded/$cdom/$cnum/portfolio/syllabus/}) {
+                $itemtitle = &mt('Syllabus');
+                $caller = "/public/$cdom/$cnum/syllabus";
+            } else {
+                $caller = $url;
+                ($symb,$itemtitle,$displayfile) =
+                    &Apache::lonxml::get_courseupload_hierarchy($url,
+                                                                $env{'form.folderpath'},
+                                                                $env{'form.title'});
+            }
+            if (($symb ne '') || ($env{'httpref.'.$url} ne '') ||
+                ($url =~ m{^/uploaded/$cdom/$cnum/portfolio/syllabus/})) {
                   $result .= (' ' x 3).
                              &Apache::lonhtmlcommon::dependencies_button()."\n".
                              &Apache::lonhtmlcommon::dependencycheck_js($symb,
-                                 $itemtitle,$url,$env{'form.folderpath'},$url)."\n";
+                                 $itemtitle,$url,$env{'form.folderpath'},$caller)."\n";
             }
         }
     }




More information about the LON-CAPA-cvs mailing list