Permalink
Browse files

MDL-31405 Assignment: Fixed date in reset to be called once

  • Loading branch information...
Rajesh Taneja
Rajesh Taneja committed Oct 7, 2013
1 parent 090e0ad commit c7f9332f11672de7bf711a1ad7f492c595a75e4b
Showing with 40 additions and 30 deletions.
  1. +12 −12 mod/assign/lib.php
  2. +0 −10 mod/assign/locallib.php
  3. +12 −1 mod/assign/tests/locallib_test.php
  4. +16 −7 mod/assignment/lib.php
View
@@ -82,18 +82,18 @@ function assign_reset_userdata($data) {
$status = array_merge($status, $assignment->reset_userdata($data));
}
}
// Updating dates - shift may be negative too.
$componentstr = get_string('modulenameplural', 'assign');
if ($data->timeshift) {
shift_course_mod_dates('assign',
array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'),
$data->timeshift,
$data->courseid);
$status[] = array('component' => $componentstr,
'item' => get_string('datechanged'),
'error' => false);
}
// Updating dates - shift may be negative too.
$componentstr = get_string('modulenameplural', 'assign');
if ($data->timeshift) {
shift_course_mod_dates('assign',
array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'),
$data->timeshift,
$data->courseid);
$status[] = array('component' => $componentstr,
'item' => get_string('datechanged'),
'error' => false);
}
return $status;
}
View
@@ -706,16 +706,6 @@ public function reset_userdata($data) {
assign_reset_gradebook($data->courseid);
}
}
// Updating dates - shift may be negative too.
if ($data->timeshift) {
shift_course_mod_dates('assign',
array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'),
$data->timeshift,
$data->courseid);
$status[] = array('component'=>$componentstr,
'item'=>get_string('datechanged'),
'error'=>false);
}
return $status;
}
@@ -239,12 +239,23 @@ public function test_reset_userdata() {
$data->courseid = $this->course->id;
$data->timeshift = 24*60*60;
$this->setUser($this->editingteachers[0]);
$assign->reset_userdata($data);
assign_reset_userdata($data);
$this->assertEquals(false, $assign->has_submissions_or_grades());
// Reload the instance data.
$instance = $DB->get_record('assign', array('id'=>$assign->get_instance()->id));
$this->assertEquals($now + 24*60*60, $instance->duedate);
// Create another assignment and make sure both get reset.
$assignduedate = $instance->duedate;
$assign2 = $this->create_instance(array('assignsubmission_onlinetext_enabled' => 1,
'duedate' => $now));
$data->timeshift = 4*24*60*60;
assign_reset_userdata($data);
$instance = $DB->get_record('assign', array('id' => $assign->get_instance()->id));
$this->assertEquals($assignduedate + 4*24*60*60, $instance->duedate);
$instance2 = $DB->get_record('assign', array('id' => $assign2->get_instance()->id));
$this->assertEquals($now + 4*24*60*60, $instance2->duedate);
}
public function test_plugin_settings() {
View
@@ -2369,13 +2369,6 @@ function reset_userdata($data) {
assignment_reset_gradebook($data->courseid, $this->type);
}
}
/// updating dates - shift may be negative too
if ($data->timeshift) {
shift_course_mod_dates('assignment', array('timedue', 'timeavailable'), $data->timeshift, $data->courseid);
$status[] = array('component'=>$componentstr, 'item'=>get_string('datechanged').': '.$typestr, 'error'=>false);
}
return $status;
}
@@ -3888,6 +3881,22 @@ function assignment_reset_userdata($data) {
$status = array_merge($status, $ass->reset_userdata($data));
}
// Updating dates - shift may be negative too.
if ($data->timeshift) {
$plugintypestrkey = 'type'.$this->type;
if (get_string_manager()->string_exists($plugintypestrkey, 'assignment')) {
$typestr = get_string_manager()->get_string($plugintypestrkey, 'assignment');
} else {
$typestr = get_string_manager()->get_string($plugintypestrkey, 'assignment_'.$this->type);
}
shift_course_mod_dates('assignment',
array('timedue', 'timeavailable'),
$data->timeshift,
$data->courseid);
$status[] = array('component' => get_string('modulenameplural', 'assignment'),
'item' => get_string('datechanged').': '.$typestr,
'error' => false);
}
return $status;
}

0 comments on commit c7f9332

Please sign in to comment.