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

www lon-capa-cvs-allow@mail.lon-capa.org
Thu, 24 Jan 2008 23:23:56 -0000


www		Thu Jan 24 18:23:56 2008 EDT

  Modified files:              
    /loncom/interface	lonparmset.pm 
  Log:
  Saving my work
  
  
Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.389 loncom/interface/lonparmset.pm:1.390
--- loncom/interface/lonparmset.pm:1.389	Tue Jan 22 17:37:18 2008
+++ loncom/interface/lonparmset.pm	Thu Jan 24 18:23:55 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set parameters for assessments
 #
-# $Id: lonparmset.pm,v 1.389 2008/01/22 22:37:18 www Exp $
+# $Id: lonparmset.pm,v 1.390 2008/01/24 23:23:55 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2729,6 +2729,8 @@
 						      $$resourcedata{$thiskey},
 							      '',1,'','').
 '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'.
+(($$resourcedata{$thiskey}!=0)?'<a href="/adm/parmset?&action=dateshift1&timebase='.$$resourcedata{$thiskey}.'">'.
+&mt('Shift all dates based on this date').'</a>':'').
 &date_sanity_info($$resourcedata{$thiskey})
 			  );
 	    } elsif ($thistype eq 'date_interval') {
@@ -3128,6 +3130,53 @@
 	      &Apache::loncommon::end_page());
 }
 
+sub date_shift_one {
+    my ($r) = @_;
+    my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+    my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+
+    my $start_page=&Apache::loncommon::start_page('Shift Dates');
+    my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
+    $r->print(<<ENDOVER);
+$start_page
+$breadcrumbs
+ENDOVER
+    $r->print('<form name="shiftform" method="post">'.
+              '<table><tr><td>'.&mt('Currently set date:').'</td><td>'.
+              &Apache::lonlocal::locallocaltime($env{'form.timebase'}).'</td></tr>'.
+              '<tr><td>'.&mt('Shifted date:').'</td><td>'.
+                    &Apache::lonhtmlcommon::date_setter('shiftform',
+                                                        'timeshifted',
+                                                        $env{'form.timebase'},,
+                                                        '').
+              '</td></tr></table>'.
+              '<input type="hidden" name="action" value="dateshift2" />'.
+              '<input type="hidden" name="timebase" value="'.$env{'form.timebase'}.'" />'.
+              '<input type="submit" value="'.&mt('Shift all dates accordingly').'" /></form>');
+    $r->print(&Apache::loncommon::end_page());
+}
+
+sub date_shift_two {
+    my ($r) = @_;
+    my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+    my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+    my $start_page=&Apache::loncommon::start_page('Shift Dates');
+    my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
+    $r->print(<<ENDOVER);
+$start_page
+$breadcrumbs
+ENDOVER
+    my $start_page=&Apache::loncommon::start_page('Shift Dates');
+    my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
+    my $timeshifted=&Apache::lonhtmlcommon::get_date_from_form('timeshifted');
+    $r->print(&mt('Shifting all dates such that [_1] becomes [_2]',
+              &Apache::lonlocal::locallocaltime($env{'form.timebase'}),
+              &Apache::lonlocal::locallocaltime($timeshifted)));
+    my $delta=$timeshifted-$env{'form.timebase'};
+    &dateshift($delta);
+    $r->print(&Apache::loncommon::end_page());
+}
+
 sub parse_key {
     my ($key) = @_;
     my %data;
@@ -4153,7 +4202,7 @@
                                              'pres_marker',
                                              'pres_value',
                                              'pres_type',
-                                             'udom','uname','symb','serial']);
+                                             'udom','uname','symb','serial','timebase']);
 
 
     &Apache::lonhtmlcommon::clear_breadcrumbs();
@@ -4233,6 +4282,14 @@
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=cleanparameters',
 						    text=>"Clean Parameters"});
 	    &clean_parameters($r);
+        } elsif ($env{'form.action'} eq 'dateshift1' && $parm_permission) {
+            &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
+                                                    text=>"Shifting Grades"});
+            &date_shift_one($r);
+        } elsif ($env{'form.action'} eq 'dateshift2' && $parm_permission) {
+            &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
+                                                    text=>"Shifting Grades"});
+            &date_shift_two($r);
 	}       
     } else {
 # ----------------------------- Not in a course, or not allowed to modify parms