Got time change hooked up but gained a spurious call to change on date
change.
This commit is contained in:
@@ -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">
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
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):
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
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):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user