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 @@ ...@@ -51,6 +51,7 @@
} }
.components { .components {
> li { > li {
position: relative; position: relative;
z-index: 10; z-index: 10;
...@@ -118,6 +119,24 @@ ...@@ -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-type,
.new-component-template { .new-component-template {
@include clearfix; @include clearfix;
...@@ -177,7 +196,11 @@ ...@@ -177,7 +196,11 @@
position: relative; position: relative;
top: 3px; top: 3px;
font-size: 12px; font-size: 12px;
opacity: 0.1; opacity: 0.3;
}
.ss-icon, .editor-indicator {
display: none;
} }
&:hover { &:hover {
...@@ -214,16 +237,6 @@ ...@@ -214,16 +237,6 @@
} }
} }
.new-component-templates {
display: none;
padding: 20px;
@include clearfix;
.cancel-button {
@include white-button;
}
}
} }
} }
} }
......
...@@ -12,6 +12,9 @@ class @HTMLEditingDescriptor ...@@ -12,6 +12,9 @@ class @HTMLEditingDescriptor
$(@advanced_editor.getWrapperElement()).addClass(HTMLEditingDescriptor.isInactiveClass) $(@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({ @tiny_mce_textarea = $(".tiny-mce", @element).tinymce({
script_url : '/static/js/vendor/tiny_mce/tiny_mce.js', script_url : '/static/js/vendor/tiny_mce/tiny_mce.js',
theme : "advanced", theme : "advanced",
......
--- ---
metadata: metadata:
display_name: Discussion Tag display_name: Discussion Tag
for: Topic-Level Student-Visible Label
id: 6002x_group_discussion_by_this
discussion_category: Week 1
data: | data: |
<discussion for="Topic-Level Student-Visible Label" id="6002x_group_discussion_by_this" discussion_category="Week 1" /> <discussion for="Topic-Level Student-Visible Label" id="6002x_group_discussion_by_this" discussion_category="Week 1" />
children: [] children: []
...@@ -27,7 +27,6 @@ git submodule foreach 'git reset --hard HEAD' ...@@ -27,7 +27,6 @@ git submodule foreach 'git reset --hard HEAD'
export PYTHONIOENCODING=UTF-8 export PYTHONIOENCODING=UTF-8
GIT_BRANCH=${GIT_BRANCH/HEAD/master} GIT_BRANCH=${GIT_BRANCH/HEAD/master}
if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then
mkdir -p /mnt/virtualenvs/"$JOB_NAME" mkdir -p /mnt/virtualenvs/"$JOB_NAME"
virtualenv /mnt/virtualenvs/"$JOB_NAME" virtualenv /mnt/virtualenvs/"$JOB_NAME"
......
...@@ -2,6 +2,7 @@ from collections import defaultdict ...@@ -2,6 +2,7 @@ from collections import defaultdict
import logging import logging
import time import time
import urllib import urllib
from datetime import datetime
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
...@@ -63,22 +64,19 @@ def get_discussion_id_map(course): ...@@ -63,22 +64,19 @@ def get_discussion_id_map(course):
return a dict of the form {category: modules} return a dict of the form {category: modules}
""" """
global _DISCUSSIONINFO global _DISCUSSIONINFO
if not _DISCUSSIONINFO[course.id]: initialize_discussion_info(course)
initialize_discussion_info(course)
return _DISCUSSIONINFO[course.id]['id_map'] return _DISCUSSIONINFO[course.id]['id_map']
def get_discussion_title(course, discussion_id): def get_discussion_title(course, discussion_id):
global _DISCUSSIONINFO 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)') title = _DISCUSSIONINFO[course.id]['id_map'].get(discussion_id, {}).get('title', '(no title)')
return title return title
def get_discussion_category_map(course): def get_discussion_category_map(course):
global _DISCUSSIONINFO global _DISCUSSIONINFO
if not _DISCUSSIONINFO[course.id]: initialize_discussion_info(course)
initialize_discussion_info(course)
return filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map']) return filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map'])
def filter_unstarted_categories(category_map): def filter_unstarted_categories(category_map):
...@@ -131,8 +129,18 @@ def sort_map_entries(category_map): ...@@ -131,8 +129,18 @@ def sort_map_entries(category_map):
def initialize_discussion_info(course): def initialize_discussion_info(course):
global _DISCUSSIONINFO 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]: 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 course_id = course.id
...@@ -209,6 +217,7 @@ def initialize_discussion_info(course): ...@@ -209,6 +217,7 @@ def initialize_discussion_info(course):
_DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map _DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map
_DISCUSSIONINFO[course.id]['category_map'] = category_map _DISCUSSIONINFO[course.id]['category_map'] = category_map
_DISCUSSIONINFO[course.id]['timestamp'] = datetime.now()
class JsonResponse(HttpResponse): class JsonResponse(HttpResponse):
def __init__(self, data=None): 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