def test_edit_extension(self): ext = self._make_ext(self.assignment, self.user1) self.login(self.staff1.email) expires = (dt.datetime.utcnow() + dt.timedelta(days=3)).strftime( constants.ISO_DATETIME_FMT) custom_submission_time = dt.datetime.utcnow().strftime( constants.ISO_DATETIME_FMT) message = 'Sickness' data = { 'assignment_id': self.assignment.id, 'email': self.user1.email, 'expires': expires, 'reason': message, 'submission_time': 'other', 'custom_submission_time': custom_submission_time } self.assert200( self.client.post('/admin/course/{}/extensions/{}'.format( self.course.id, utils.encode_id(ext.id)), data=data, follow_redirects=True)) extension = Extension.get_extension(self.user1, self.assignment, time=dt.datetime.utcnow()) self.assertEqual(extension.staff_id, self.staff1.id) self.assertEqual(extension.assignment_id, self.assignment.id) self.assertEqual(extension.message, message) self.assertEqual( utils.local_time_obj(extension.expires, self.course).replace(tzinfo=None), dt.datetime.strptime(expires, '%Y-%m-%d %H:%M:%S')) self.assertEqual( utils.local_time_obj(extension.custom_submission_time, self.course).replace(tzinfo=None), dt.datetime.strptime(custom_submission_time, '%Y-%m-%d %H:%M:%S'))
def __init__(self, course, obj=None, **kwargs): self.course = course self.obj = obj super(AssignmentForm, self).__init__(obj=obj, **kwargs) if obj: if obj.due_date == self.due_date.data: self.due_date.data = utils.local_time_obj(obj.due_date, course) if obj.lock_date == self.lock_date.data: self.lock_date.data = utils.local_time_obj(obj.lock_date, course)
def __init__(self, course, obj=None, **kwargs): self.course = course self.obj = obj super(AssignmentForm, self).__init__(obj=obj, **kwargs) if obj: if obj.due_date == self.due_date.data: self.due_date.data = utils.local_time_obj(obj.due_date, course) if obj.lock_date == self.lock_date.data: self.lock_date.data = utils.local_time_obj( obj.lock_date, course)
def set_submission_time(self, backup): assignment = backup.assignment time = backup.custom_submission_time if time is None: self.submission_time.data = "none" elif time == assignment.due_date - dt.timedelta(seconds=1): self.submission_time.data = "deadline" elif time == assignment.due_date - dt.timedelta(days=1, seconds=1): self.submission_time.data = "early" else: self.submission_time.data = "other" self.custom_submission_time.data = utils.local_time_obj(time, assignment.course)
def test_edit_extension(self): ext = self._make_ext(self.assignment, self.user1) self.login(self.staff1.email) expires = (dt.datetime.utcnow() + dt.timedelta(days=3)).strftime(constants.ISO_DATETIME_FMT) custom_submission_time = dt.datetime.utcnow().strftime(constants.ISO_DATETIME_FMT) message = 'Sickness' data = { 'assignment_id': self.assignment.id, 'email': self.user1.email, 'expires': expires, 'reason': message, 'submission_time': 'other', 'custom_submission_time': custom_submission_time } self.assert200(self.client.post('/admin/course/{}/extensions/{}'.format(self.course.id, utils.encode_id(ext.id)), data=data, follow_redirects=True)) extension = Extension.get_extension(self.user1, self.assignment, time=dt.datetime.utcnow()) self.assertEqual(extension.staff_id, self.staff1.id) self.assertEqual(extension.assignment_id, self.assignment.id) self.assertEqual(extension.message, message) self.assertEqual(utils.local_time_obj(extension.expires, self.course).replace(tzinfo=None), dt.datetime.strptime(expires, '%Y-%m-%d %H:%M:%S')) self.assertEqual(utils.local_time_obj(extension.custom_submission_time, self.course).replace(tzinfo=None), dt.datetime.strptime(custom_submission_time, '%Y-%m-%d %H:%M:%S'))
def set_submission_time(self, backup): assignment = backup.assignment time = backup.custom_submission_time if time is None: self.submission_time.data = 'none' elif time == assignment.due_date - dt.timedelta(seconds=1): self.submission_time.data = 'deadline' elif time == assignment.due_date - dt.timedelta(days=1, seconds=1): self.submission_time.data = 'early' else: self.submission_time.data = 'other' self.custom_submission_time.data = utils.local_time_obj( time, assignment.course)