Commit 575ff02f by Chris Dodge

Merge branch 'feature/cale/cms-master' of github.com:MITx/mitx into…

Merge branch 'feature/cale/cms-master' of github.com:MITx/mitx into feature/cdodge/cms-master-merge4

Conflicts:
	jenkins/test.sh
parents 44cfcb88 aeee13ab
......@@ -51,6 +51,7 @@
}
.components {
> li {
position: relative;
z-index: 10;
......@@ -118,6 +119,24 @@
}
}
.new-component-templates {
display: none;
padding: 20px;
@include clearfix;
.cancel-button {
@include white-button;
}
// specific menu types
&.new-component-problem {
.ss-icon, .editor-indicator {
display: inline-block;
}
}
}
.new-component-type,
.new-component-template {
@include clearfix;
......@@ -177,7 +196,11 @@
position: relative;
top: 3px;
font-size: 12px;
opacity: 0.1;
opacity: 0.3;
}
.ss-icon, .editor-indicator {
display: none;
}
&:hover {
......@@ -214,16 +237,6 @@
}
}
.new-component-templates {
display: none;
padding: 20px;
@include clearfix;
.cancel-button {
@include white-button;
}
}
}
}
}
......
......@@ -12,6 +12,9 @@ class @HTMLEditingDescriptor
$(@advanced_editor.getWrapperElement()).addClass(HTMLEditingDescriptor.isInactiveClass)
# This is a workaround for the fact that tinyMCE's baseURL property is not getting correctly set on AWS
# instances (like sandbox). It is not necessary to explicitly set baseURL when running locally.
tinyMCE.baseURL = '/static/js/vendor/tiny_mce'
@tiny_mce_textarea = $(".tiny-mce", @element).tinymce({
script_url : '/static/js/vendor/tiny_mce/tiny_mce.js',
theme : "advanced",
......
---
metadata:
display_name: Discussion Tag
for: Topic-Level Student-Visible Label
id: 6002x_group_discussion_by_this
discussion_category: Week 1
data: |
<discussion for="Topic-Level Student-Visible Label" id="6002x_group_discussion_by_this" discussion_category="Week 1" />
children: []
......@@ -27,7 +27,6 @@ git submodule foreach 'git reset --hard HEAD'
export PYTHONIOENCODING=UTF-8
GIT_BRANCH=${GIT_BRANCH/HEAD/master}
if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then
mkdir -p /mnt/virtualenvs/"$JOB_NAME"
virtualenv /mnt/virtualenvs/"$JOB_NAME"
......
......@@ -2,6 +2,7 @@ from collections import defaultdict
import logging
import time
import urllib
from datetime import datetime
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
......@@ -63,22 +64,19 @@ def get_discussion_id_map(course):
return a dict of the form {category: modules}
"""
global _DISCUSSIONINFO
if not _DISCUSSIONINFO[course.id]:
initialize_discussion_info(course)
initialize_discussion_info(course)
return _DISCUSSIONINFO[course.id]['id_map']
def get_discussion_title(course, discussion_id):
global _DISCUSSIONINFO
if not _DISCUSSIONINFO[course.id]:
initialize_discussion_info(course)
initialize_discussion_info(course)
title = _DISCUSSIONINFO[course.id]['id_map'].get(discussion_id, {}).get('title', '(no title)')
return title
def get_discussion_category_map(course):
global _DISCUSSIONINFO
if not _DISCUSSIONINFO[course.id]:
initialize_discussion_info(course)
initialize_discussion_info(course)
return filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map'])
def filter_unstarted_categories(category_map):
......@@ -131,8 +129,18 @@ def sort_map_entries(category_map):
def initialize_discussion_info(course):
global _DISCUSSIONINFO
# only cache in-memory discussion information for 10 minutes
# this is because we need a short-term hack fix for
# mongo-backed courseware whereby new discussion modules can be added
# without LMS service restart
if _DISCUSSIONINFO[course.id]:
return
timestamp = _DISCUSSIONINFO[course.id].get('timestamp', datetime.now())
age = datetime.now() - timestamp
# expire every 5 minutes
if age.seconds < 300:
return
course_id = course.id
......@@ -209,6 +217,7 @@ def initialize_discussion_info(course):
_DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map
_DISCUSSIONINFO[course.id]['category_map'] = category_map
_DISCUSSIONINFO[course.id]['timestamp'] = datetime.now()
class JsonResponse(HttpResponse):
def __init__(self, data=None):
......
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