Commit 52f96132 by Diana Huang

Add an optional description field to course modes.

parent 3d942503
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'CourseMode.description'
db.add_column('course_modes_coursemode', 'description',
self.gf('django.db.models.fields.TextField')(null=True, blank=True),
keep_default=False)
# Changing field 'CourseMode.course_id'
db.alter_column('course_modes_coursemode', 'course_id', self.gf('xmodule_django.models.CourseKeyField')(max_length=255))
def backwards(self, orm):
# Deleting field 'CourseMode.description'
db.delete_column('course_modes_coursemode', 'description')
# Changing field 'CourseMode.course_id'
db.alter_column('course_modes_coursemode', 'course_id', self.gf('django.db.models.fields.CharField')(max_length=255))
models = {
'course_modes.coursemode': {
'Meta': {'unique_together': "(('course_id', 'mode_slug', 'currency'),)", 'object_name': 'CourseMode'},
'course_id': ('xmodule_django.models.CourseKeyField', [], {'max_length': '255', 'db_index': 'True'}),
'currency': ('django.db.models.fields.CharField', [], {'default': "'usd'", 'max_length': '8'}),
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
'expiration_date': ('django.db.models.fields.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
'expiration_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'min_price': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'mode_display_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'mode_slug': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'suggested_prices': ('django.db.models.fields.CommaSeparatedIntegerField', [], {'default': "''", 'max_length': '255', 'blank': 'True'})
}
}
complete_apps = ['course_modes']
\ No newline at end of file
...@@ -11,7 +11,17 @@ from django.db.models import Q ...@@ -11,7 +11,17 @@ from django.db.models import Q
from xmodule_django.models import CourseKeyField from xmodule_django.models import CourseKeyField
Mode = namedtuple('Mode', ['slug', 'name', 'min_price', 'suggested_prices', 'currency', 'expiration_datetime']) Mode = namedtuple('Mode',
[
'slug',
'name',
'min_price',
'suggested_prices',
'currency',
'expiration_datetime',
'description'
])
class CourseMode(models.Model): class CourseMode(models.Model):
""" """
...@@ -42,7 +52,11 @@ class CourseMode(models.Model): ...@@ -42,7 +52,11 @@ class CourseMode(models.Model):
expiration_datetime = models.DateTimeField(default=None, null=True, blank=True) expiration_datetime = models.DateTimeField(default=None, null=True, blank=True)
DEFAULT_MODE = Mode('honor', _('Honor Code Certificate'), 0, '', 'usd', None) # optional description override
# WARNING: will not be localized
description = models.TextField(null=True, blank=True)
DEFAULT_MODE = Mode('honor', _('Honor Code Certificate'), 0, '', 'usd', None, None)
DEFAULT_MODE_SLUG = 'honor' DEFAULT_MODE_SLUG = 'honor'
class Meta: class Meta:
...@@ -66,7 +80,8 @@ class CourseMode(models.Model): ...@@ -66,7 +80,8 @@ class CourseMode(models.Model):
mode.min_price, mode.min_price,
mode.suggested_prices, mode.suggested_prices,
mode.currency, mode.currency,
mode.expiration_datetime mode.expiration_datetime,
mode.description
) for mode in found_course_modes]) ) for mode in found_course_modes])
if not modes: if not modes:
modes = [cls.DEFAULT_MODE] modes = [cls.DEFAULT_MODE]
......
...@@ -71,6 +71,7 @@ class ChooseModeView(View): ...@@ -71,6 +71,7 @@ class ChooseModeView(View):
context["currency"] = modes["verified"].currency.upper() context["currency"] = modes["verified"].currency.upper()
context["min_price"] = modes["verified"].min_price context["min_price"] = modes["verified"].min_price
context["verified_name"] = modes["verified"].name context["verified_name"] = modes["verified"].name
context["verified_description"] = modes["verified"].description
return render_to_response("course_modes/choose.html", context) return render_to_response("course_modes/choose.html", context)
......
...@@ -72,16 +72,21 @@ $(document).ready(function() { ...@@ -72,16 +72,21 @@ $(document).ready(function() {
<h4 class="title">${verified_name}</h4> <h4 class="title">${verified_name}</h4>
%endif %endif
%if verified_name == "Verified Certificate":
%if upgrade: %if upgrade:
<div class="copy"> <div class="copy">
<p>${_("Upgrade and work toward a verified Certificate of Achievement.")}</p> <p>${_("Upgrade and work toward a verified Certificate of Achievement.")}</p>
</div> </div>
%else:
<div class="copy">
<p>${_("Sign up and work toward a verified Certificate of Achievement.")}</p>
</div>
%endif
%else: %else:
<div class="copy"> <div class="copy">
<p>${_("Sign up and work toward a verified Certificate of Achievement.")}</p> <p>${verified_description}</p>
</div> </div>
%endif %endif
</div> </div>
<div class="field field-certificate-contribution"> <div class="field field-certificate-contribution">
......
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