Commit 5331ae05 by Don Mitchell

Got time change hooked up but gained a spurious call to change on date

change.
parent d165da3f
......@@ -91,10 +91,10 @@ CMS.Views.Settings.Details = Backbone.View.extend({
},
render: function() {
this.setupDatePicker('#course-start-date', 'start_date');
this.setupDatePicker('#course-end-date', 'end_date');
this.setupDatePicker('#course-enrollment-start-date', 'enrollment_start');
this.setupDatePicker('#course-enrollment-end-date', 'enrollment_end');
this.setupDatePicker('#course-start', 'start_date');
this.setupDatePicker('#course-end', 'end_date');
this.setupDatePicker('#enrollment-start', 'enrollment_start');
this.setupDatePicker('#enrollment-end', 'enrollment_end');
if (this.model.has('syllabus')) {
this.$el.find('.current-course-syllabus .doc-filename').html(
......@@ -123,11 +123,20 @@ CMS.Views.Settings.Details = Backbone.View.extend({
setupDatePicker : function(elementName, fieldName) {
var cacheModel = this.model;
var picker = this.$el.find(elementName);
picker.datepicker({ onSelect : function(newVal) {
cacheModel.save(fieldName, new Date(newVal));
}});
picker.datepicker('setDate', this.model.get(fieldName));
var div = this.$el.find(elementName);
var datefield = $(div).find(".date");
var timefield = $(div).find(".time");
var savefield = function(event) {
cacheModel.save(fieldName, new Date(datefield.datepicker('getDate').getTime()
+ timefield.timepicker("getSecondsFromMidnight") * 1000));
};
// FIXME being called 2x on each change. Was trapping datepicker onSelect b4 but change to datepair broke that
datefield.on('change', savefield);
timefield.on('changeTime', savefield);
datefield.datepicker('setDate', this.model.get(fieldName));
timefield.timepicker('setTime', this.model.get(fieldName));
},
updateModel: function(event) {
......
......@@ -220,7 +220,7 @@ from contentstore import utils
<h4 class="label">Course Dates:</h4>
<div class="field datepair">
<div class="input multi multi-inline">
<div class="input multi multi-inline" id="course-start">
<div class="group">
<label for="course-start-date">Start Date</label>
<input type="text" class="start-date date" id="course-start-date" placeholder="MM/DD/YYYY" autocomplete="off">
......@@ -236,7 +236,7 @@ from contentstore import utils
</div>
<div class="field field-additional datepair">
<div class="input multi multi-inline">
<div class="input multi multi-inline" id="course-end">
<div class="group">
<label for="course-end-date">End Date</label>
<input type="text" class="end-date date" id="course-end-date" placeholder="MM/DD/YYYY" autocomplete="off">
......@@ -256,7 +256,7 @@ from contentstore import utils
<h4 class="label">Enrollment Dates:</h4>
<div class="field datepair">
<div class="input multi multi-inline">
<div class="input multi multi-inline" id="enrollment-start">
<div class="group">
<label for="course-enrollment-start-date">Start Date</label>
<input type="text" class="start-date date" id="course-enrollment-start-date" placeholder="MM/DD/YYYY">
......@@ -272,7 +272,7 @@ from contentstore import utils
</div>
<div class="field field-additional datepair">
<div class="input multi multi-inline">
<div class="input multi multi-inline" id="enrollment-end">
<div class="group">
<label for="course-enrollment-end-date">Start Date</label>
<input type="text" class="start-end date" id="course-enrollment-end-date" placeholder="MM/DD/YYYY">
......
from xmodule.modulestore.django import modulestore
from xmodule.course_module import CourseDescriptor
from xmodule.modulestore import Location
from xmodule.modulestore.exceptions import ItemNotFoundError
import json
from json.encoder import JSONEncoder
import time
from util.converters import time_to_date, jsdate_to_time
from util.converters import jsdate_to_time, time_to_date
class CourseDetails:
def __init__(self, location):
......
import time, datetime
import re
import calendar
def time_to_date(time_obj):
"""
Convert a time.time_struct to a true universal time (can pass to js Date constructor)
"""
return time.mktime(time_obj) * 1000
return calendar.timegm(time_obj) * 1000
def jsdate_to_time(field):
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment