Commit b53055ee by tasawernawaz Committed by Tasawer Nawaz

dashboard tabs visible to course team

ECOM-7418
parent 89f04618
......@@ -1186,7 +1186,7 @@ class DashboardTests(TestCase):
self.client.logout()
self.client.login(username=UserFactory(), password=USER_PASSWORD)
response = self.assert_dashboard_response(studio_count=0, published_count=0, progress_count=0, preview_count=0)
self._assert_tabs_without_roles(response)
self._assert_tabs_with_roles(response)
@ddt.data('progress', 'preview', 'studio', 'published')
def test_with_internal_group(self, tab):
......@@ -1205,7 +1205,7 @@ class DashboardTests(TestCase):
self.course_run_1.course.organizations.add(self.organization_extension.organization)
response = self.assert_dashboard_response(studio_count=0, published_count=0, progress_count=0, preview_count=0)
self._assert_tabs_without_roles(response)
self._assert_tabs_with_roles(response)
def test_with_permissions_with_data(self):
""" Verify that user with assigned permission on course can see all tabs
......@@ -1228,7 +1228,7 @@ class DashboardTests(TestCase):
)
response = self.assert_dashboard_response(studio_count=0, published_count=0, progress_count=2, preview_count=1)
self._assert_tabs_without_roles(response)
self._assert_tabs_with_roles(response)
def test_studio_request_course_runs_as_pc(self):
""" Verify that PC user can see only those courses on which he is assigned as PC role. """
......@@ -1338,16 +1338,19 @@ class DashboardTests(TestCase):
return response
def _assert_tabs_without_roles(self, response):
""" Dry method to assert the tabs data."""
self.assertContains(response, '<li role="tab" id="tab-progress" class="tab"')
for tab in ['preview', 'studio', 'published']:
self.assertNotIn(
'<li role="tab" id="tab-{tab}" class="tab"'.format(tab=tab), response.content.decode('UTF-8')
)
def _assert_tabs_with_roles(self, response):
""" Dry method to assert the tabs data."""
for tab in ['progress', 'preview', 'published']:
self.assertContains(response, '<li role="tab" id="tab-{tab}" class="tab"'.format(tab=tab))
def test_tabs_with_pc(self):
"""Verify that only pc use can see studio request tab on dashboard."""
pc_user = UserFactory()
pc_user.groups.add(Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME))
self.client.logout()
self.client.login(username=pc_user.username, password=USER_PASSWORD)
response = self.client.get(self.page_url)
for tab in ['progress', 'preview', 'studio', 'published']:
self.assertContains(response, '<li role="tab" id="tab-{tab}" class="tab"'.format(tab=tab))
......
......@@ -106,9 +106,8 @@ class Dashboard(mixins.LoginRequiredMixin, ListView):
context['in_progress_course_runs'] = [CourseRunWrapper(course_run) for course_run in in_progress_course_runs]
context['preview_course_runs'] = [CourseRunWrapper(course_run) for course_run in preview_course_runs]
# If user is course team member only show in-progress tab.
# shows all tabs to internal-users and publisher admins
context['can_view_all_tabs'] = mixins.check_roles_access(self.request.user)
# shows 'studio request' tab only to project coordinators
context['is_project_coordinator'] = is_project_coordinator_user(self.request.user)
return context
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-13 14:43+0500\n"
"POT-Creation-Date: 2017-03-14 12:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: apps/api/filters.py
#, python-brace-format
......@@ -2333,7 +2333,7 @@ msgid "Course runs"
msgstr ""
#: templates/publisher/dashboard.html
msgid "IN PROGRESS"
msgid "IN DEVELOPMENT"
msgstr ""
#: templates/publisher/dashboard.html
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-13 14:43+0500\n"
"POT-Creation-Date: 2017-03-14 12:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: static/js/catalogs-change-form.js
msgid "Preview"
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-13 14:43+0500\n"
"POT-Creation-Date: 2017-03-14 12:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps/api/filters.py
......@@ -2740,8 +2740,8 @@ msgid "Course runs"
msgstr "Çöürsé rüns Ⱡ'σяєм ιρѕυм ∂σłσя #"
#: templates/publisher/dashboard.html
msgid "IN PROGRESS"
msgstr "ÌN PRÖGRÉSS Ⱡ'σяєм ιρѕυм ∂σłσя #"
msgid "IN DEVELOPMENT"
msgstr "ÌN DÉVÉLÖPMÉNT Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: templates/publisher/dashboard.html
msgid "PREVIEW READY"
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-13 14:43+0500\n"
"POT-Creation-Date: 2017-03-14 12:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/js/catalogs-change-form.js
......
......@@ -13,22 +13,23 @@
<ul role="tablist" class="tabs">
<li role="tab" id="tab-progress" class="tab" aria-selected="true" aria-expanded="false"
aria-controls="progress" tabindex="0">
<span>{{ in_progress_count }}</span>{% trans "IN PROGRESS" %}
<span>{{ in_progress_count }}</span>{% trans "IN DEVELOPMENT" %}
</li>
{% if can_view_all_tabs %}
<li role="tab" id="tab-preview" class="tab" aria-selected="false" aria-expanded="false"
aria-controls="preview" tabindex="-1">
<span>{{ preview_count }}</span>{% trans "PREVIEW READY" %}
</li>
<li role="tab" id="tab-preview" class="tab" aria-selected="false" aria-expanded="false"
aria-controls="preview" tabindex="-1">
<span>{{ preview_count }}</span>{% trans "PREVIEW READY" %}
</li>
{% if is_project_coordinator %}
<li role="tab" id="tab-studio" class="tab" aria-selected="false" aria-expanded="true"
aria-controls="studio" tabindex="-1" data-studio-count="{{ studio_count }}">
<span id="studio-count">{{ studio_count }}</span>{% trans "STUDIO REQUEST" %}
</li>
<li role="tab" id="tab-published" class="tab" aria-selected="false" aria-expanded="false"
aria-controls="published" tabindex="-1">
<span>{{ published_count }}</span>{% trans "PUBLISHED COURSE RUNS" %}
</li>
{% endif %}
<li role="tab" id="tab-published" class="tab" aria-selected="false" aria-expanded="false"
aria-controls="published" tabindex="-1">
<span>{{ published_count }}</span>{% trans "PUBLISHED COURSE RUNS" %}
</li>
</ul>
<div role="tabpanel" id="progress" class="tab-panel" aria-labelledby="tab-progress" aria-hidden="false" tabindex="-1">
......@@ -40,9 +41,12 @@
<p></p>
</div>
<div role="tabpanel" id="studio" class="tab-panel" aria-labelledby="tab-studio" aria-hidden="false" tabindex="0">
{% include "publisher/dashboard/_studio_requests.html" %}
</div>
{% if is_project_coordinator %}
<div role="tabpanel" id="studio" class="tab-panel" aria-labelledby="tab-studio" aria-hidden="false" tabindex="0">
{% include "publisher/dashboard/_studio_requests.html" %}
</div>
{% endif %}
<div role="tabpanel" id="published" class="tab-panel" aria-labelledby="tab-published" aria-hidden="false" tabindex="0">
{% include "publisher/dashboard/_published.html" %}
</div>
......
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