From 9e9825cb8877fab7a3b0e1ad584d4d833859f6d6 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 11 Oct 2012 13:18:01 -0400 Subject: [PATCH 1/3] Enable the edge virtual university landing page in the lms --- lms/djangoapps/courseware/views.py | 2 +- lms/envs/aws.py | 1 + lms/envs/cms/dev.py | 7 ++++++- lms/envs/dev.py | 4 ++++ lms/templates/university_profile/edge.html | 1 - 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index d5b7ae0893..b8c8f5e912 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -420,7 +420,7 @@ def university_profile(request, org_id): Return the profile for the particular org_id. 404 if it's not valid. """ all_courses = modulestore().get_courses() - valid_org_ids = set(c.org for c in all_courses) + valid_org_ids = set(c.org for c in all_courses).union(settings.VIRTUAL_UNIVERSITIES) if org_id not in valid_org_ids: raise Http404("University Profile not found for {0}".format(org_id)) diff --git a/lms/envs/aws.py b/lms/envs/aws.py index 8794cb0581..eb8533395e 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -58,6 +58,7 @@ LOGGING = get_logger_config(LOG_DIR, COURSE_LISTINGS = ENV_TOKENS.get('COURSE_LISTINGS', {}) SUBDOMAIN_BRANDING = ENV_TOKENS.get('SUBDOMAIN_BRANDING', {}) +VIRTUAL_UNIVERSITIES = ENV_TOKENS.get('VIRTUAL_UNIVERSITIES', []) COMMENTS_SERVICE_URL = ENV_TOKENS.get("COMMENTS_SERVICE_URL",'') COMMENTS_SERVICE_KEY = ENV_TOKENS.get("COMMENTS_SERVICE_KEY",'') diff --git a/lms/envs/cms/dev.py b/lms/envs/cms/dev.py index ded3471ea2..7adaacd4d6 100644 --- a/lms/envs/cms/dev.py +++ b/lms/envs/cms/dev.py @@ -4,6 +4,11 @@ Settings for the LMS that runs alongside the CMS on AWS from ..dev import * +MITX_FEATURES['AUTH_USE_MIT_CERTIFICATES'] = False + +SUBDOMAIN_BRANDING['edge'] = 'edge' +VIRTUAL_UNIVERSITIES = ['edge'] + modulestore_options = { 'default_class': 'xmodule.raw_module.RawDescriptor', 'host': 'localhost', @@ -24,6 +29,6 @@ CONTENTSTORE = { 'ENGINE': 'xmodule.contentstore.mongo.MongoContentStore', 'OPTIONS': { 'host': 'localhost', - 'db' : 'xcontent', + 'db': 'xcontent', } } diff --git a/lms/envs/dev.py b/lms/envs/dev.py index b89b0246f3..1cc9ee4b88 100644 --- a/lms/envs/dev.py +++ b/lms/envs/dev.py @@ -101,6 +101,10 @@ SUBDOMAIN_BRANDING = { 'harvard': 'HarvardX', } +# List of `university` landing pages to display, even though they may not +# have an actual course with that org set +VIRTUAL_UNIVERSITIES = [] + COMMENTS_SERVICE_KEY = "PUT_YOUR_API_KEY_HERE" diff --git a/lms/templates/university_profile/edge.html b/lms/templates/university_profile/edge.html index c8f0b69242..f665ad31d0 100644 --- a/lms/templates/university_profile/edge.html +++ b/lms/templates/university_profile/edge.html @@ -1,5 +1,4 @@ <%inherit file="base.html" /> -<%! from django.core.urlresolvers import reverse %> <%block name="title">edX edge <%block name="bodyclass">no-header edge-landing From 096d6853eb6226a0617a41478b0f344b8fccb15f Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 11 Oct 2012 13:18:27 -0400 Subject: [PATCH 2/3] Allow for branding subdomains that are longer than a single . --- lms/djangoapps/branding/__init__.py | 13 +++++++------ lms/envs/cms/dev.py | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/branding/__init__.py b/lms/djangoapps/branding/__init__.py index 3a4acd2964..b2ac874020 100644 --- a/lms/djangoapps/branding/__init__.py +++ b/lms/djangoapps/branding/__init__.py @@ -4,8 +4,11 @@ from xmodule.course_module import CourseDescriptor from django.conf import settings -def get_subdomain(domain): - return domain.split(".")[0] +def pick_subdomain(domain, options, default='default'): + for option in options: + if domain.startswith(option): + return option + return default def get_visible_courses(domain=None): @@ -17,9 +20,7 @@ def get_visible_courses(domain=None): courses = sorted(courses, key=lambda course: course.number) if domain and settings.MITX_FEATURES.get('SUBDOMAIN_COURSE_LISTINGS'): - subdomain = get_subdomain(domain) - if subdomain not in settings.COURSE_LISTINGS: - subdomain = 'default' + subdomain = pick_subdomain(domain, settings.COURSE_LISTINGS.keys()) visible_ids = frozenset(settings.COURSE_LISTINGS[subdomain]) return [course for course in courses if course.id in visible_ids] else: @@ -34,7 +35,7 @@ def get_university(domain=None): if not settings.MITX_FEATURES['SUBDOMAIN_BRANDING'] or domain is None: return None - subdomain = get_subdomain(domain) + subdomain = pick_subdomain(domain, settings.SUBDOMAIN_BRANDING.keys()) return settings.SUBDOMAIN_BRANDING.get(subdomain) diff --git a/lms/envs/cms/dev.py b/lms/envs/cms/dev.py index 7adaacd4d6..3d2c0c3c3b 100644 --- a/lms/envs/cms/dev.py +++ b/lms/envs/cms/dev.py @@ -7,6 +7,7 @@ from ..dev import * MITX_FEATURES['AUTH_USE_MIT_CERTIFICATES'] = False SUBDOMAIN_BRANDING['edge'] = 'edge' +SUBDOMAIN_BRANDING['preview.edge'] = 'edge' VIRTUAL_UNIVERSITIES = ['edge'] modulestore_options = { From 51a19b3d7e2bf33011faa54d2b0b805c4b7f05f0 Mon Sep 17 00:00:00 2001 From: Tom Giannattasio Date: Thu, 11 Oct 2012 14:02:13 -0400 Subject: [PATCH 3/3] transferred edge styles from cms to lms --- cms/static/sass/_edge.scss | 86 ---------- lms/static/images/edge-logo-large.png | Bin 0 -> 7465 bytes lms/static/sass/application.scss | 1 + lms/static/sass/multicourse/_edge.scss | 177 +++++++++++++++++++++ lms/templates/stripped-main.html | 34 ++++ lms/templates/university_profile/edge.html | 6 +- 6 files changed, 215 insertions(+), 89 deletions(-) delete mode 100644 cms/static/sass/_edge.scss create mode 100644 lms/static/images/edge-logo-large.png create mode 100644 lms/static/sass/multicourse/_edge.scss create mode 100644 lms/templates/stripped-main.html diff --git a/cms/static/sass/_edge.scss b/cms/static/sass/_edge.scss deleted file mode 100644 index 9d8562b62a..0000000000 --- a/cms/static/sass/_edge.scss +++ /dev/null @@ -1,86 +0,0 @@ -.edge-landing { - border-top: 5px solid $blue; - - header { - @include clearfix; - background: $extraDarkGrey; - border-bottom: 3px solid $blue; - } - - .main-wrapper { - width: 942px; - margin: auto; - - .content { - @extend .window; - padding: 24px 60px 36px; - border-radius: 3px; - @include clearfix; - } - - .log-in-form { - float: left; - width: 470px; - margin-right: 50px; - padding-right: 49px; - border-right: 1px solid $lightGrey; - - .row { - margin-bottom: 20px; - border-bottom: none; - } - - label { - font-weight: 700; - } - - input { - width: 100%; - font-size: 21px; - font-weight: 300; - } - - .log-in-submit-button { - @include blue-button; - width: 130px; - padding: 8px 20px 10px; - font-size: 16px; - } - - .forgot-button { - font-size: 12px; - margin-left: 10px; - } - } - - .sign-up { - float: left; - width: 250px; - - .register-button { - @include grey-button; - margin-top: 20px; - } - } - - h2 { - margin-bottom: 30px; - font-size: 24px; - font-weight: 300; - } - - h3 { - margin-bottom: 30px; - font-size: 24px; - font-weight: 300; - } - } - - .edx-edge-logo-large { - display: block; - width: 263px; - height: 72px; - margin: 150px auto 50px; - background: url(../img/edge-logo-large.png) no-repeat; - } -} \ No newline at end of file diff --git a/lms/static/images/edge-logo-large.png b/lms/static/images/edge-logo-large.png new file mode 100644 index 0000000000000000000000000000000000000000..2933ec53493222881fd85a317c1e5f1e81f035e0 GIT binary patch literal 7465 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 SRqUUimpU5y>MvC7BK`+2E0-Do literal 0 HcmV?d00001 diff --git a/lms/static/sass/application.scss b/lms/static/sass/application.scss index 944d3b2884..ba485a4633 100644 --- a/lms/static/sass/application.scss +++ b/lms/static/sass/application.scss @@ -27,6 +27,7 @@ @import 'multicourse/password_reset'; @import 'multicourse/error-pages'; @import 'multicourse/help'; +@import 'multicourse/edge'; @import 'discussion'; @import 'news'; diff --git a/lms/static/sass/multicourse/_edge.scss b/lms/static/sass/multicourse/_edge.scss new file mode 100644 index 0000000000..32580b964b --- /dev/null +++ b/lms/static/sass/multicourse/_edge.scss @@ -0,0 +1,177 @@ +$blue: #5597dd; +$lightGrey: #edf1f5; +$mediumGrey: #ced2db; +$darkGrey: #8891a1; +$extraDarkGrey: #3d4043; +$paleYellow: #fffcf1; + +@mixin button { + display: inline-block; + padding: 4px 20px 6px; + font-family: $sans-serif; + font-size: 14px; + font-weight: 700; + text-transform: none; + letter-spacing: 0; + @include box-shadow(0 1px 0 rgba(255, 255, 255, .3) inset, 0 0 0 rgba(0, 0, 0, 0)); + @include transition(background-color .15s, box-shadow .15s); + + &.disabled { + border: 1px solid $lightGrey !important; + border-radius: 3px !important; + background: $lightGrey !important; + color: $darkGrey !important; + pointer-events: none; + cursor: none; + &:hover { + box-shadow: 0 0 0 0 !important; + } + } + + &:hover { + @include box-shadow(0 1px 0 rgba(255, 255, 255, .3) inset, 0 1px 1px rgba(0, 0, 0, .15)); + text-decoration: none; + } +} + +@mixin blue-button { + @include button; + border: 1px solid #437fbf; + border-radius: 3px; + @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0)); + background-color: $blue; + color: #fff; + + &:hover { + background-color: #62aaf5; + color: #fff; + } +} + +@mixin grey-button { + @include button; + border: 1px solid $darkGrey; + border-radius: 3px; + @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0)); + background-color: #d1dae3; + @include box-shadow(0 1px 0 rgba(255, 255, 255, .3) inset); + color: #6d788b; + + &:hover { + background-color: #d9e3ee; + color: #6d788b; + } +} + +.edge-landing { + border-top: 5px solid $blue; + + header { + @include clearfix; + background: $extraDarkGrey; + border-bottom: 3px solid $blue; + } + + a:hover { + text-decoration: none; + } + + .main-wrapper { + width: 942px; + margin: auto; + + .content { + padding: 40px 60px 36px; + background: #fff; + border: 1px solid $darkGrey; + border-radius: 3px; + @include box-shadow(0 1px 2px rgba(0, 0, 0, .1)); + @include clearfix; + } + + .log-in-form { + float: left; + width: 470px; + margin-right: 50px; + padding-right: 49px; + border-right: 1px solid $lightGrey; + + .row { + margin-bottom: 20px; + border-bottom: none; + } + + label { + font-family: $sans-serif; + font-size: 13px; + font-weight: 700; + font-style: normal; + } + + input { + width: 100%; + height: 43px; + font-family: $sans-serif; + font-size: 21px; + font-style: normal; + font-weight: 300; + } + + .log-in-submit-button { + @include blue-button; + width: 130px; + padding: 8px 20px 10px; + font-size: 16px; + } + + .forgot-button { + font-size: 12px; + line-height: 41px; + margin-left: 10px; + } + } + + .sign-up { + float: left; + width: 250px; + + .register-button { + @include grey-button; + padding: 10px 20px 12px; + margin-top: 20px; + } + } + + h2 { + margin-bottom: 30px; + font-family: $sans-serif; + font-size: 24px; + font-weight: 300; + text-transform: none; + letter-spacing: 0; + color: #3c3c3c; + } + + h3 { + margin-bottom: 30px; + font-family: $sans-serif; + font-size: 24px; + font-weight: 300; + color: #3c3c3c; + } + + p { + font-family: $sans-serif; + } + } + + .edx-edge-logo-large { + display: block; + width: 263px; + height: 72px; + margin: 150px auto 50px; + background: url(../images/edge-logo-large.png) no-repeat; + text-indent: -9999px; + overflow: hidden; + } +} \ No newline at end of file diff --git a/lms/templates/stripped-main.html b/lms/templates/stripped-main.html new file mode 100644 index 0000000000..1c1a28fec1 --- /dev/null +++ b/lms/templates/stripped-main.html @@ -0,0 +1,34 @@ +<%namespace name='static' file='static_content.html'/> + + + + <%block name="title">edX + + + + <%static:css group='application'/> + + <%static:js group='main_vendor'/> + <%block name="headextra"/> + + + + + + + + + + ${self.body()} + <%block name="bodyextra"/> + + <%static:js group='application'/> + <%static:js group='module-js'/> + + <%block name="js_extra"/> + + diff --git a/lms/templates/university_profile/edge.html b/lms/templates/university_profile/edge.html index f665ad31d0..e102555975 100644 --- a/lms/templates/university_profile/edge.html +++ b/lms/templates/university_profile/edge.html @@ -1,11 +1,11 @@ -<%inherit file="base.html" /> -<%block name="title">edX edge +<%inherit file="../stripped-main.html" /> +<%block name="title">edX edge <%block name="bodyclass">no-header edge-landing <%block name="content">
-
+
edX edge