Commit 2409cbdd by Waheed Ahmed

Added new role Partner Manager (PM) and its group.

ECOM-6545
parent 4e80415d
...@@ -32,11 +32,8 @@ class CourseRoleAssignmentViewTests(TestCase): ...@@ -32,11 +32,8 @@ class CourseRoleAssignmentViewTests(TestCase):
self.internal_user_group = Group.objects.get(name=INTERNAL_USER_GROUP_NAME) self.internal_user_group = Group.objects.get(name=INTERNAL_USER_GROUP_NAME)
self.internal_user_group.user_set.add(self.internal_user) self.internal_user_group.user_set.add(self.internal_user)
self.other_internal_users = [] self.other_internal_users = UserFactory.create_batch(4)
for __ in range(3): self.internal_user_group.user_set.add(*self.other_internal_users)
user = UserFactory()
self.other_internal_users.append(user)
self.internal_user_group.user_set.add(user)
self.organization_extension = factories.OrganizationExtensionFactory() self.organization_extension = factories.OrganizationExtensionFactory()
self.course.organizations.add(self.organization_extension.organization) self.course.organizations.add(self.organization_extension.organization)
...@@ -130,6 +127,7 @@ class CourseRoleAssignmentViewTests(TestCase): ...@@ -130,6 +127,7 @@ class CourseRoleAssignmentViewTests(TestCase):
return self.course.course_user_roles.all() return self.course.course_user_roles.all()
@ddt.data( @ddt.data(
PublisherUserRole.PartnerManager,
PublisherUserRole.PartnerCoordinator, PublisherUserRole.PartnerCoordinator,
PublisherUserRole.MarketingReviewer, PublisherUserRole.MarketingReviewer,
PublisherUserRole.Publisher PublisherUserRole.Publisher
......
...@@ -3,6 +3,7 @@ from djchoices import DjangoChoices, ChoiceItem ...@@ -3,6 +3,7 @@ from djchoices import DjangoChoices, ChoiceItem
class PublisherUserRole(DjangoChoices): class PublisherUserRole(DjangoChoices):
PartnerManager = ChoiceItem('partner_manager', _('Partner Manager'))
PartnerCoordinator = ChoiceItem('partner_coordinator', _('Partner Coordinator')) PartnerCoordinator = ChoiceItem('partner_coordinator', _('Partner Coordinator'))
MarketingReviewer = ChoiceItem('marketing_reviewer', _('Marketing Reviewer')) MarketingReviewer = ChoiceItem('marketing_reviewer', _('Marketing Reviewer'))
Publisher = ChoiceItem('publisher', _('Publisher')) Publisher = ChoiceItem('publisher', _('Publisher'))
......
# Name of the administrative group for the Publisher app # Name of the administrative group for the Publisher app
ADMIN_GROUP_NAME = 'Publisher Admins' ADMIN_GROUP_NAME = 'Publisher Admins'
INTERNAL_USER_GROUP_NAME = 'Internal Users' INTERNAL_USER_GROUP_NAME = 'Internal Users'
PARTNER_MANAGER_GROUP_NAME = 'Partner Managers'
PARTNER_COORDINATOR_GROUP_NAME = 'Partner Coordinators' PARTNER_COORDINATOR_GROUP_NAME = 'Partner Coordinators'
REVIEWER_GROUP_NAME = 'Marketing Reviewers' REVIEWER_GROUP_NAME = 'Marketing Reviewers'
PUBLISHER_GROUP_NAME = 'Publishers' PUBLISHER_GROUP_NAME = 'Publishers'
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
from course_discovery.apps.publisher.constants import PARTNER_MANAGER_GROUP_NAME
def create_partner_manager_group(apps, schema_editor):
Group = apps.get_model('auth', 'Group')
Group.objects.get_or_create(name=PARTNER_MANAGER_GROUP_NAME)
def remove_partner_manager_group(apps, schema_editor):
Group = apps.get_model('auth', 'Group')
Group.objects.filter(name=PARTNER_MANAGER_GROUP_NAME).delete()
class Migration(migrations.Migration):
dependencies = [
('publisher', '0027_remove_old_permissions'),
('auth', '0006_require_contenttypes_0002'),
]
operations = [
migrations.RunPython(create_partner_manager_group, remove_partner_manager_group)
]
# -*- coding: utf-8 -*-
# Generated by Django 1.9.11 on 2017-01-19 09:34
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('publisher', '0028_create_partner_manager_group'),
]
operations = [
migrations.AlterField(
model_name='courseuserrole',
name='role',
field=models.CharField(choices=[('partner_manager', 'Partner Manager'), ('partner_coordinator', 'Partner Coordinator'), ('marketing_reviewer', 'Marketing Reviewer'), ('publisher', 'Publisher'), ('course_team', 'Course Team')], max_length=63, verbose_name='Course Role'),
),
migrations.AlterField(
model_name='historicalcourseuserrole',
name='role',
field=models.CharField(choices=[('partner_manager', 'Partner Manager'), ('partner_coordinator', 'Partner Coordinator'), ('marketing_reviewer', 'Marketing Reviewer'), ('publisher', 'Publisher'), ('course_team', 'Course Team')], max_length=63, verbose_name='Course Role'),
),
migrations.AlterField(
model_name='historicalorganizationuserrole',
name='role',
field=models.CharField(choices=[('partner_manager', 'Partner Manager'), ('partner_coordinator', 'Partner Coordinator'), ('marketing_reviewer', 'Marketing Reviewer'), ('publisher', 'Publisher'), ('course_team', 'Course Team')], max_length=63, verbose_name='Organization Role'),
),
migrations.AlterField(
model_name='organizationuserrole',
name='role',
field=models.CharField(choices=[('partner_manager', 'Partner Manager'), ('partner_coordinator', 'Partner Coordinator'), ('marketing_reviewer', 'Marketing Reviewer'), ('publisher', 'Publisher'), ('course_team', 'Course Team')], max_length=63, verbose_name='Organization Role'),
),
]
...@@ -39,6 +39,7 @@ logger = logging.getLogger(__name__) ...@@ -39,6 +39,7 @@ logger = logging.getLogger(__name__)
SEATS_HIDDEN_FIELDS = ['price', 'currency', 'upgrade_deadline', 'credit_provider', 'credit_hours'] SEATS_HIDDEN_FIELDS = ['price', 'currency', 'upgrade_deadline', 'credit_provider', 'credit_hours']
ROLE_WIDGET_HEADINGS = { ROLE_WIDGET_HEADINGS = {
PublisherUserRole.PartnerManager: _('PARTNER MANAGER'),
PublisherUserRole.PartnerCoordinator: _('PARTNER COORDINATOR'), PublisherUserRole.PartnerCoordinator: _('PARTNER COORDINATOR'),
PublisherUserRole.MarketingReviewer: _('MARKETING'), PublisherUserRole.MarketingReviewer: _('MARKETING'),
PublisherUserRole.Publisher: _('PUBLISHER'), PublisherUserRole.Publisher: _('PUBLISHER'),
......
...@@ -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-01-18 11:20-0500\n" "POT-Creation-Date: 2017-01-20 11:48+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
...@@ -422,6 +422,10 @@ msgstr "" ...@@ -422,6 +422,10 @@ msgstr ""
msgid "Invalid course key \"{lms_course_id}\"" msgid "Invalid course key \"{lms_course_id}\""
msgstr "" msgstr ""
#: apps/publisher/choices.py
msgid "Partner Manager"
msgstr ""
#: apps/publisher/choices.py templates/publisher/courses.html #: apps/publisher/choices.py templates/publisher/courses.html
msgid "Partner Coordinator" msgid "Partner Coordinator"
msgstr "" msgstr ""
...@@ -660,6 +664,10 @@ msgstr "" ...@@ -660,6 +664,10 @@ msgstr ""
msgid "Course Role" msgid "Course Role"
msgstr "" msgstr ""
#: apps/publisher/views.py templates/publisher/add_course_form.html
msgid "PARTNER MANAGER"
msgstr ""
#: apps/publisher/views.py #: apps/publisher/views.py
msgid "PARTNER COORDINATOR" msgid "PARTNER COORDINATOR"
msgstr "" msgstr ""
...@@ -879,10 +887,6 @@ msgid "" ...@@ -879,10 +887,6 @@ msgid ""
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
msgid "PARTNER MANAGER"
msgstr ""
#: templates/publisher/add_course_form.html
msgid "" msgid ""
"EdX recommends that you contact a partner manager before you begin to plan a" "EdX recommends that you contact a partner manager before you begin to plan a"
" new course. " " new course. "
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ 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-01-18 12:59+0500\n" "POT-Creation-Date: 2017-01-20 11:48+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"
......
...@@ -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-01-18 11:20-0500\n" "POT-Creation-Date: 2017-01-20 11:48+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
...@@ -530,6 +530,10 @@ msgstr "" ...@@ -530,6 +530,10 @@ msgstr ""
msgid "Invalid course key \"{lms_course_id}\"" msgid "Invalid course key \"{lms_course_id}\""
msgstr "Ìnvälïd çöürsé kéý \"{lms_course_id}\" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" msgstr "Ìnvälïd çöürsé kéý \"{lms_course_id}\" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#"
#: apps/publisher/choices.py
msgid "Partner Manager"
msgstr "Pärtnér Mänägér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: apps/publisher/choices.py templates/publisher/courses.html #: apps/publisher/choices.py templates/publisher/courses.html
msgid "Partner Coordinator" msgid "Partner Coordinator"
msgstr "Pärtnér Çöördïnätör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" msgstr "Pärtnér Çöördïnätör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#"
...@@ -786,6 +790,10 @@ msgstr "Örgänïzätïön Rölé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α ...@@ -786,6 +790,10 @@ msgstr "Örgänïzätïön Rölé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α
msgid "Course Role" msgid "Course Role"
msgstr "Çöürsé Rölé Ⱡ'σяєм ιρѕυм ∂σłσя #" msgstr "Çöürsé Rölé Ⱡ'σяєм ιρѕυм ∂σłσя #"
#: apps/publisher/views.py templates/publisher/add_course_form.html
msgid "PARTNER MANAGER"
msgstr "PÀRTNÉR MÀNÀGÉR Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: apps/publisher/views.py #: apps/publisher/views.py
msgid "PARTNER COORDINATOR" msgid "PARTNER COORDINATOR"
msgstr "PÀRTNÉR ÇÖÖRDÌNÀTÖR Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" msgstr "PÀRTNÉR ÇÖÖRDÌNÀTÖR Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#"
...@@ -1041,10 +1049,6 @@ msgstr "" ...@@ -1041,10 +1049,6 @@ msgstr ""
"çöürsé rün. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" "çöürsé rün. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
msgid "PARTNER MANAGER"
msgstr "PÀRTNÉR MÀNÀGÉR Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: templates/publisher/add_course_form.html
msgid "" msgid ""
"EdX recommends that you contact a partner manager before you begin to plan a" "EdX recommends that you contact a partner manager before you begin to plan a"
" new course. " " new course. "
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ 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-01-18 12:59+0500\n" "POT-Creation-Date: 2017-01-20 11:48+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"
......
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