From 5824b2ebe21b9053cc4d19a7790f083f775b9fd0 Mon Sep 17 00:00:00 2001 From: Matthew Mongeau Date: Wed, 18 Jul 2012 10:53:22 -0400 Subject: [PATCH 1/3] Display registered when already registered for a course. --- lms/static/sass/_course_about.scss | 14 ++++++++++++++ lms/templates/portal/course_about.html | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lms/static/sass/_course_about.scss b/lms/static/sass/_course_about.scss index e44989c2e0..f074ba795d 100644 --- a/lms/static/sass/_course_about.scss +++ b/lms/static/sass/_course_about.scss @@ -97,6 +97,20 @@ color: rgb(255,255,255); } } + + span.register { + @include button(shiny, lighten(grayscale($blue), 50%)); + @include box-sizing(border-box); + @include border-radius(3px); + color: #888; + display: block; + font: normal 1.2rem/1.6rem $sans-serif; + letter-spacing: 1px; + padding: 10px 0px; + text-transform: uppercase; + text-align: center; + width: flex-grid(12); + } } } diff --git a/lms/templates/portal/course_about.html b/lms/templates/portal/course_about.html index 51e769a3a4..ce9f0f0ac3 100644 --- a/lms/templates/portal/course_about.html +++ b/lms/templates/portal/course_about.html @@ -1,4 +1,5 @@ <%! from django.core.urlresolvers import reverse %> +<%! from student.models import CourseEnrollment %> <%namespace name='static' file='../static_content.html'/> <%block name="js_extra"> @@ -16,7 +17,11 @@
%if user.is_authenticated(): - Register + %if not CourseEnrollment.objects.filter(user=user, course_id=course.id).exists(): + Register + %else: + Registered + %endif %else: Register %endif From 44e8d7474c0c440566f824d3ad88439747ca05b6 Mon Sep 17 00:00:00 2001 From: Matthew Mongeau Date: Wed, 18 Jul 2012 11:47:56 -0400 Subject: [PATCH 2/3] Move logic into view.py for whether user is enrolled. --- lms/djangoapps/courseware/views.py | 11 ++++++++--- lms/templates/portal/course_about.html | 7 +++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index 1d31600d55..badb7b1c17 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -250,12 +250,17 @@ def course_info(request, course_id): course = check_course(course_id) return render_to_response('info.html', {'course': course}) - + @ensure_csrf_cookie def course_about(request, course_id): + def registered_for_course(course, user): + if user.is_authenticated(): + return CourseEnrollment.objects.filter(user = user, course_id=course.id).exists() + else: + return False course = check_course(course_id, course_must_be_open=False) - - return render_to_response('portal/course_about.html', {'course': course}) + registered = registered_for_course(course, request.user) + return render_to_response('portal/course_about.html', {'course': course, 'registered': registered}) @login_required diff --git a/lms/templates/portal/course_about.html b/lms/templates/portal/course_about.html index ce9f0f0ac3..930c770b91 100644 --- a/lms/templates/portal/course_about.html +++ b/lms/templates/portal/course_about.html @@ -1,5 +1,4 @@ <%! from django.core.urlresolvers import reverse %> -<%! from student.models import CourseEnrollment %> <%namespace name='static' file='../static_content.html'/> <%block name="js_extra"> @@ -17,10 +16,10 @@
%if user.is_authenticated(): - %if not CourseEnrollment.objects.filter(user=user, course_id=course.id).exists(): - Register - %else: + %if registered: Registered + %else: + Register %endif %else: Register From 588f115b33ba90028a78ad53188c12e654df80a1 Mon Sep 17 00:00:00 2001 From: David Ormsbee Date: Wed, 18 Jul 2012 13:14:39 -0400 Subject: [PATCH 3/3] Add support for optional end_date, effort, and prerequisites info on course_about --- common/lib/xmodule/xmodule/course_module.py | 3 ++- lms/templates/portal/course_about.html | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/common/lib/xmodule/xmodule/course_module.py b/common/lib/xmodule/xmodule/course_module.py index e00e62a7c0..0d5fbcf55b 100644 --- a/common/lib/xmodule/xmodule/course_module.py +++ b/common/lib/xmodule/xmodule/course_module.py @@ -85,7 +85,8 @@ class CourseDescriptor(SequenceDescriptor): # TODO: Remove number, instructors from this list if section_key in ['short_description', 'description', 'key_dates', 'video', 'course_staff_short', 'course_staff_extended', - 'requirements', 'syllabus', 'textbook', 'faq', 'more_info', 'number', 'instructors', 'overview']: + 'requirements', 'syllabus', 'textbook', 'faq', 'more_info', 'number', 'instructors', 'overview', + 'effort', 'end_date', 'prerequisites']: try: with self.system.resources_fs.open(path("about") / section_key + ".html") as htmlFile: return htmlFile.read().decode('utf-8') diff --git a/lms/templates/portal/course_about.html b/lms/templates/portal/course_about.html index 930c770b91..cc9b60caba 100644 --- a/lms/templates/portal/course_about.html +++ b/lms/templates/portal/course_about.html @@ -72,10 +72,23 @@
    -
  1. Classes Start

    ${course.start_date_text}
  2. - ##
  3. Final Exam

    12/09/12
  4. - ##
  5. Course Length

    15 weeks
  6. Course Number

    ${course.number}
  7. +
  8. Classes Start

    ${course.start_date_text}
  9. + + ## End date should come from course.xml, but this is a quick hack + % if course.get_about_section("end_date"): +
  10. Classes End

    ${course.get_about_section("end_date")}
  11. + % endif + + % if course.get_about_section("effort"): +
  12. Estimated Effort

    ${course.get_about_section("effort")}
  13. + % endif + + % if course.get_about_section("prerequisites"): +
  14. Prerequisites

    ${course.get_about_section("prerequisites")}
  15. + % endif + + ##
  16. Course Length

    15 weeks