Commit 7b05eeda by Asad Azam Committed by AsadAzam

Minimum effort and maximum effort field validations

parent 35c63876
...@@ -302,6 +302,15 @@ class CustomCourseRunForm(CourseRunForm): ...@@ -302,6 +302,15 @@ class CustomCourseRunForm(CourseRunForm):
return None return None
def clean(self):
cleaned_data = self.cleaned_data
min_effort = cleaned_data.get("min_effort")
max_effort = cleaned_data.get("max_effort")
if min_effort and max_effort and min_effort > max_effort:
raise ValidationError({'min_effort': "Minimum effort cannot be greater than Maximum effort"})
return cleaned_data
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.is_project_coordinator = kwargs.pop('is_project_coordinator', None) self.is_project_coordinator = kwargs.pop('is_project_coordinator', None)
super(CustomCourseRunForm, self).__init__(*args, **kwargs) super(CustomCourseRunForm, self).__init__(*args, **kwargs)
......
...@@ -77,3 +77,22 @@ class PublisherUserCreationFormTests(TestCase): ...@@ -77,3 +77,22 @@ class PublisherUserCreationFormTests(TestCase):
user_form.cleaned_data['groups'] = ['test_group'] user_form.cleaned_data['groups'] = ['test_group']
self.assertEqual(user_form.clean(), user_form.cleaned_data) self.assertEqual(user_form.clean(), user_form.cleaned_data)
class PublisherCourseRunEditFormTests(TestCase):
"""
Tests for the publisher 'CustomCourseRunForm'.
"""
def test_minimum_effort(self):
"""
Verify that 'clean' raises 'ValidationError' error if Minimum effort is greater
than Maximum effort.
"""
run_form = CustomCourseRunForm()
run_form.cleaned_data = {'min_effort': 4, 'max_effort': 2}
with self.assertRaises(ValidationError):
run_form.clean()
run_form.cleaned_data['min_effort'] = 1
self.assertEqual(run_form.clean(), run_form.cleaned_data)
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-08 16:26+0500\n" "POT-Creation-Date: 2017-05-09 15:18+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: apps/api/filters.py #: apps/api/filters.py
#, python-brace-format #, python-brace-format
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-08 16:26+0500\n" "POT-Creation-Date: 2017-05-09 15:18+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: static/js/catalogs-change-form.js #: static/js/catalogs-change-form.js
msgid "Preview" msgid "Preview"
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-08 16:26+0500\n" "POT-Creation-Date: 2017-05-09 15:18+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps/api/filters.py #: apps/api/filters.py
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-08 16:26+0500\n" "POT-Creation-Date: 2017-05-09 15:18+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/js/catalogs-change-form.js #: static/js/catalogs-change-form.js
......
...@@ -200,6 +200,9 @@ ...@@ -200,6 +200,9 @@
<div class="col col-6"> <div class="col col-6">
<label class="field-label ">{% trans "Min Effort" %}</label> <label class="field-label ">{% trans "Min Effort" %}</label>
{{ run_form.min_effort }} {{ run_form.min_effort }}
{% if run_form.min_effort.errors %}
{{ run_form.min_effort.errors|escape }}
{% endif %}
</div> </div>
<div class="col col-6"> <div class="col col-6">
<label class="field-label ">{% trans "Max Effort" %}</label> <label class="field-label ">{% trans "Max Effort" %}</label>
......
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