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

raeburn raeburn at source.lon-capa.org
Sun May 8 22:25:34 EDT 2016


raeburn		Mon May  9 02:25:34 2016 EDT

  Modified files:              
    /loncom/interface	londocs.pm 
  Log:
  - Display warning if removing resource(s) uploaded directly to a course
    (includes "blank web page") in a pop-up used to confirm removal.
  
  
Index: loncom/interface/londocs.pm
diff -u loncom/interface/londocs.pm:1.602 loncom/interface/londocs.pm:1.603
--- loncom/interface/londocs.pm:1.602	Sun May  8 18:39:27 2016
+++ loncom/interface/londocs.pm	Mon May  9 02:25:33 2016
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.602 2016/05/08 18:39:27 raeburn Exp $
+# $Id: londocs.pm,v 1.603 2016/05/09 02:25:33 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -3705,6 +3705,7 @@
                                           $currgroups);
         my ($copylink,$cutlink,$removelink);
 	my $skip_confirm = 0;
+        my $confirm_removal = 0;
 	if ( $folder =~ /^supplemental/
 	     || ($url =~ m{( /smppg$
 			    |/syllabus$
@@ -3716,6 +3717,10 @@
              || $isexternal) {
 	    $skip_confirm = 1;
 	}
+        if (($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) &&
+            ($url!~/$LONCAPA::assess_page_seq_re/)) {
+            $confirm_removal = 1;
+        }
 
 	if ($denied{'copy'}) {
             $copylink=(<<ENDCOPY)
@@ -3758,11 +3763,12 @@
 ENDREM
         } else {
             my $formname = 'edit_remove_'.$orderidx;
-            my $js = "javascript:checkForSubmit(document.forms.renameform,'remove','actions','$orderidx','$esc_path','$index','$renametitle',$skip_confirm);";
+            my $js = "javascript:checkForSubmit(document.forms.renameform,'remove','actions','$orderidx','$esc_path','$index','$renametitle',$skip_confirm,'$container','$folder',$confirm_removal);";
             $removelink=(<<ENDREM);
 <form name="$formname" method="post" action="/adm/coursedocs">
 $form_common
 <input type="hidden" name="skip_$orderidx" id="skip_remove_$orderidx" value="$skip_confirm" />
+<input type="hidden" name="confirm_rem_$orderidx" id="confirm_removal_$orderidx" value="$confirm_removal" />
 <input type="checkbox" name="remove" id="remove_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','remove');" class="LC_hidden" /><a href="$js" class="LC_docs_remove">$lt{'rm'}</a>
 $form_end
 ENDREM
@@ -6110,16 +6116,18 @@
                                           p_mab_alrt2 => 'Please enter both user and domain in the format user:domain',
                                           p_chn => 'New Title',
                                           p_rmr1 => 'WARNING: Removing a resource makes associated grades and scores inaccessible!',
-                                          p_rmr2a => 'Remove[_99]',
-                                          p_rmr2b => '?[_99]',
-                                          p_rmr3a => 'Remove those [_2]',
-                                          p_rmr3b => 'items?[_2]',
+                                          p_rmr2a => 'Remove',
+                                          p_rmr2b => '?',
+                                          p_rmr3a => 'Remove those',
+                                          p_rmr3b => 'items?',
+                                          p_rmr4  => 'WARNING: Removing a resource uploaded to a course cannot be undone via "Undo Delete".',
+                                          p_rmr5  => 'Push "Cancel" and then use "Cut" instead if you might need to undo this change.',
                                           p_ctr1a => 'WARNING: Cutting a resource makes associated grades and scores inaccessible!',
                                           p_ctr1b => 'Grades remain inaccessible if resource is pasted into another folder.',
-                                          p_ctr2a => 'Cut[_98]',
-                                          p_ctr2b => '?[_98]',
-                                          p_ctr3a => 'Cut those[_2]',
-                                          p_ctr3b => 'items?[_2]',
+                                          p_ctr2a => 'Cut',
+                                          p_ctr2b => '?',
+                                          p_ctr3a => 'Cut those',
+                                          p_ctr3b => 'items?',
                                           rpck    => 'Enter number to pick (e.g., 3)',
                                           imsfile => 'You must choose an IMS package for import',
                                           imscms  => 'You must select which Course Management System was the source of the IMS package',
@@ -6508,7 +6516,7 @@
     return;
 }
 
-function checkForSubmit(targetform,param,context,idx,folderpath,index,oldtitle,skip_confirm,container,folder) {
+function checkForSubmit(targetform,param,context,idx,folderpath,index,oldtitle,skip_confirm,container,folder,confirm_removal) {
     var dosettings;
     var doaction;
     var control = document.togglemultsettings;
@@ -6546,7 +6554,21 @@
             targetform.markcopy.value=idx+':'+param;
             targetform.copyfolder.value=folder+'.'+container;
             if (param == 'remove') {
-                if (skip_confirm || confirm('$js_lt{"p_rmr1"}\\n\\n$js_lt{"p_rmr2a"} "'+oldtitle+'" $js_lt{"p_rmr2b"}')) {
+                var doremove = 0;
+                if (skip_confirm) {
+                    if (confirm_removal) {
+                        if (confirm('$js_lt{"p_rmr4"}\\n$js_lt{"p_rmr5"}\\n\\n$js_lt{"p_rmr2a"} "'+oldtitle+'"$js_lt{"p_rmr2b"}')) {
+                            doremove = 1;
+                        }
+                    } else {
+                        doremove = 1;
+                    }
+                } else {
+                    if (confirm('$js_lt{"p_rmr1"}\\n\\n$js_lt{"p_rmr2a"} "'+oldtitle+'" $js_lt{"p_rmr2b"}')) {
+                        doremove = 1;
+                    }
+                }
+                if (doremove) {
                     targetform.markcopy.value='';
                     targetform.copyfolder.value='';
                     targetform.submit();
@@ -6803,6 +6825,7 @@
     var doactions = multiActions();
     var cutwarnings = 0;
     var remwarnings = 0;
+    var removalinfo = 0;
     if (doactions == 1) {
         var remidxlist = document.cumulativeactions.allremoveidx.value;
         if ((remidxlist != '') && (remidxlist != null)) {
@@ -6817,6 +6840,11 @@
                                 remwarnings ++;
                             }
                         }
+                        if (document.getElementById('confirm_removal_'+remidxs[i])) {
+                            if (document.getElementById('confirm_removal_'+remidxs[i]).value == 1) {
+                                removalinfo ++;
+                            }
+                        }
                     }
                 }
             }
@@ -6915,12 +6943,17 @@
     }
     if (doactions == 1) {
         if (numchanges > 0) {
-            if ((cutwarnings > 0) || (remwarnings > 0)) {
+            if ((cutwarnings > 0) || (remwarnings > 0) || (removalinfo > 0)) {
                 if (remwarnings > 0) {
                     if (!confirm('$js_lt{"p_rmr1"}\\n\\n$js_lt{"p_rmr3a"} '+remwarnings+' $js_lt{"p_rmr3b"}')) {
                         return false;
                     }
                 }
+                if (removalinfo > 0) {
+                    if (!confirm('$js_lt{"p_rmr4"}\\n$js_lt{"p_rmr5"}\\n\\n$js_lt{"p_rmr3a"} '+removalinfo+' $js_lt{"p_rmr3b"}')) {
+                        return false;
+                    }
+                }
                 if (cutwarnings > 0) {
                     if (!confirm('$js_lt{"p_ctr1a"}\\n$js_lt{"p_ctr1b"}\\n\\n$js_lt{"p_ctr3a"} '+cutwarnings+' $js_lt{"p_ctr3b"}')) {
                         return false;




More information about the LON-CAPA-cvs mailing list