Commit 7c6ab0ce by marjev

Enumerated list of calendar views, status code now indicates malformed syntax,…

Enumerated list of calendar views, status code now indicates malformed syntax, renamed eventing json_handler to a generic name
parent c5e6c708
......@@ -32,7 +32,6 @@ class GoogleCalendarBlock(XBlock):
default="edx.org_lom804qe3ttspplj1bgeu1l3ak@group.calendar.google.com"
)
# 0=Week, 1=Month, 2=Agenda
default_view = Integer(
display_name="Default View",
help="The calendar view that students see by default. A student can change this view.",
......@@ -40,7 +39,7 @@ class GoogleCalendarBlock(XBlock):
default=1
)
views = ["Week", "Month", "Agenda"]
views = [(0, 'Week'), (1, 'Month'), (2, 'Agenda')]
def student_view(self, context={}):
"""
......@@ -49,7 +48,7 @@ class GoogleCalendarBlock(XBlock):
fragment = Fragment()
view = "Week" if self.default_view==0 else "Month" if self.default_view==1 else "Agenda"
view = self.views[self.default_view][1]
iframe = "<iframe src=\"https://www.google.com/calendar/embed?mode={}&amp;src={}&amp;showCalendars=0\"></iframe>".format(view, self.calendar_id)
......@@ -94,9 +93,10 @@ class GoogleCalendarBlock(XBlock):
}
@XBlock.json_handler
def calendar_loaded(self, calendar_data, suffix=''):
def publish_event(self, calendar_data, suffix=''):
self.runtime.publish(self, 'edx.googlecomponent.calendar.displayed', calendar_data)
event_name = calendar_data.pop('event_name')
self.runtime.publish(self, event_name, calendar_data)
return {
'result': 'success',
......
......@@ -86,9 +86,10 @@ class GoogleDocumentBlock(XBlock):
}
@XBlock.json_handler
def document_loaded(self, data, suffix=''):
def publish_event(self, data, suffix=''):
self.runtime.publish(self, "edx.googlecomponent.document.displayed", data)
event_name = data.pop('event_name')
self.runtime.publish(self, event_name, data)
return {
'result': 'success',
......@@ -101,7 +102,7 @@ class GoogleDocumentBlock(XBlock):
r = requests.head(data['url'])
except:
return {
'status_code': 404,
'status_code': 400,
}
return {
......
......@@ -5,8 +5,8 @@ function GoogleCalendarBlock(runtime, element) {
var iframe_url = $(this).attr('src');
$.ajax({
type: "POST",
url: runtime.handlerUrl(element, 'calendar_loaded'),
data: JSON.stringify({url: iframe_url, displayedin: 'iframe'})
url: runtime.handlerUrl(element, 'publish_event'),
data: JSON.stringify({url: iframe_url, displayedin: 'iframe', event_name: 'edx.googlecomponent.calendar.displayed'})
});
});
}
......@@ -40,7 +40,6 @@ function GoogleCalendarEditBlock(runtime, element) {
edit_calendar_id_input.bind('keyup', function(){
ToggleClear(edit_calendar_id_input, defaultID, clear_id_button);
var inputVal = $(this).val();
var calendarIDReg = /[\w-\.]+@+[\w-\.]/;
if(!calendarIDReg.test(inputVal)) {
......@@ -62,6 +61,8 @@ function GoogleCalendarEditBlock(runtime, element) {
runtime.notify('cancel', {});
});
save_button.bind('click', SaveEditing);
function ToggleClear(inputElement, defaultValue, clearButtonElement){
if (inputElement.val() == defaultValue){
if (!clearButtonElement.hasClass('inactive')){
......
......@@ -16,10 +16,11 @@ function GoogleDocumentBlock(runtime, element) {
var document_url = $(ev.target).attr('src');
$.ajax({
type: "POST",
url: runtime.handlerUrl(element, 'document_loaded'),
url: runtime.handlerUrl(element, 'publish_event'),
data: JSON.stringify({
url: document_url,
displayedin: presented_within
displayedin: presented_within,
event_name: 'edx.googlecomponent.document.displayed',
})
});
}
......
......@@ -41,8 +41,8 @@
<label class="label setting-label" for="edit_default_view">{% trans "Default View" %}</label>
<select class="input setting-input edit-label_type" id="edit_label_type" value="{{self.default_view}}">
{% for view in self.views %}
<option value="{{forloop.counter0}}" {% if forloop.counter0 == self.default_view %}selected="selected"{% endif %}>
{{view}}
<option value="{{view.0}}" {% if view.0 == self.default_view %}selected="selected"{% endif %}>
{{view.1}}
</option>
{% endfor %}
</select>
......
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