Commit 6ede0f41 by Clinton Blackburn Committed by Clinton Blackburn

Updated state display on Publisher course run list view

- Split handoff date into its own column
- Clarified status text
- Renamed classes and files to properly reflect their purpose
parent aae91ad9
......@@ -72,5 +72,5 @@
{% block extra_js %}
<script src="{% static 'js/publisher/tabs.js' %}"></script>
<script src="{% static 'js/publisher/views/dashboard.js' %}"></script>
<script src="{% static 'js/publisher/views/courserun_list.js' %}"></script>
{% endblock %}
......@@ -36,6 +36,9 @@
{% trans "Course Team" %}
</th>
<th role="button">
{% trans "Last Handoff" %}
</th>
<th role="button">
{{ site_name }}
</th>
</tr>
......@@ -44,28 +47,17 @@
{% for course_run in in_progress_course_runs %}
<tr>
<td>
<a href="{% url 'publisher:publisher_course_run_detail' course_run.id %}">{{ course_run.title }}</a>
</td>
<td>
{{ course_run.number }}
</td>
<td>
{{ course_run.course.organization_name }}
</td>
<td>
{{ course_run.start|date:"Y-m-d" }}
</td>
<td>
{{ course_run.end|date:"Y-m-d" }}
</td>
<td>
{{ course_run.course_team_status.status_text }}<br>
{{ course_run.course_team_status.date|date:'m/d/y' }}
</td>
<td>
{{ course_run.internal_user_status.status_text }}<br>
{{ course_run.internal_user_status.date|date:'m/d/y' }}
<a href="{% url 'publisher:publisher_course_run_detail' course_run.id %}">
{{ course_run.title }}
</a>
</td>
<td>{{ course_run.number }}</td>
<td>{{ course_run.course.organization_name }}</td>
<td>{{ course_run.start|date:"Y-m-d" }}</td>
<td>{{ course_run.end|date:"Y-m-d" }}</td>
<td>{{ course_run.course_team_status }}</td>
<td>{{ course_run.internal_user_status }}</td>
<td>{{ course_run.owner_role_last_modified }}</td>
</tr>
{% endfor %}
</tbody>
......
......@@ -1232,11 +1232,9 @@ class CourseRunDetailTests(SiteMixin, TestCase):
# pylint: disable=attribute-defined-outside-init
@ddt.ddt
class DashboardTests(SiteMixin, TestCase):
""" Tests for the `Dashboard`. """
class CourseRunListViewTests(SiteMixin, TestCase):
def setUp(self):
super(DashboardTests, self).setUp()
super(CourseRunListViewTests, self).setUp()
Site.objects.exclude(id=self.site.id).delete()
self.group_internal = Group.objects.get(name=INTERNAL_USER_GROUP_NAME)
self.group_project_coordinator = Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME)
......
......@@ -214,13 +214,6 @@ class CourseRunWrapperTests(TestCase):
self.assertEqual(self.wrapped_course_run.course_staff, expected)
def _assert_course_run_status(self, actual_status, expected_status_text, expected_date):
"""
Assert course run statuses.
"""
expected_status = {'status_text': expected_status_text, 'date': expected_date}
self.assertEqual(actual_status, expected_status)
def _change_state_and_owner(self, course_run_state):
"""
Change course run state to review and ownership to project coordinator.
......@@ -235,19 +228,13 @@ class CourseRunWrapperTests(TestCase):
course_run_state = factories.CourseRunStateFactory(
course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam
)
self._assert_course_run_status(
self.wrapped_course_run.course_team_status, 'In Draft since', self.wrapped_course_run.owner_role_modified
)
assert self.wrapped_course_run.course_team_status == 'Draft'
self._change_state_and_owner(course_run_state)
self._assert_course_run_status(
self.wrapped_course_run.course_team_status, 'Submitted on', self.wrapped_course_run.owner_role_modified
)
assert self.wrapped_course_run.course_team_status == 'Submitted for Project Coordinator Review'
course_run_state.change_owner_role(PublisherUserRole.CourseTeam)
self._assert_course_run_status(
self.wrapped_course_run.course_team_status, 'In Review since', self.wrapped_course_run.owner_role_modified
)
assert self.wrapped_course_run.course_team_status == 'Awaiting Course Team Review'
def test_internal_user_status(self):
"""
......@@ -256,17 +243,13 @@ class CourseRunWrapperTests(TestCase):
course_run_state = factories.CourseRunStateFactory(
course_run=self.course_run, owner_role=PublisherUserRole.CourseTeam
)
self._assert_course_run_status(self.wrapped_course_run.internal_user_status, 'n/a', '')
assert self.wrapped_course_run.internal_user_status == 'N/A'
self._change_state_and_owner(course_run_state)
self._assert_course_run_status(
self.wrapped_course_run.internal_user_status, 'In Review since', self.wrapped_course_run.owner_role_modified
)
assert self.wrapped_course_run.internal_user_status == 'Awaiting Project Coordinator Review'
course_run_state.change_owner_role(PublisherUserRole.CourseTeam)
self._assert_course_run_status(
self.wrapped_course_run.internal_user_status, 'Reviewed on', self.wrapped_course_run.owner_role_modified
)
assert self.wrapped_course_run.internal_user_status == 'Approved by Project Coordinator'
def test_preview_declined(self):
"""
......
......@@ -3,7 +3,7 @@ from django.conf.urls import include, url
from course_discovery.apps.publisher import views
urlpatterns = [
url(r'^$', views.Dashboard.as_view(), name='publisher_dashboard'),
url(r'^$', views.CourseRunListView.as_view(), name='publisher_dashboard'),
url(r'^admin/importcourses/$', views.AdminImportCourse.as_view(), name='publisher_admin_import_course'),
url(r'^api/', include('course_discovery.apps.publisher.api.urls', namespace='api')),
url(r'^courses/$', views.CourseListView.as_view(), name='publisher_courses'),
......
......@@ -63,9 +63,7 @@ COURSES_DEFAULT_PAGE_SIZE = 25
COURSES_ALLOWED_PAGE_SIZES = (25, 50, 100)
class Dashboard(mixins.LoginRequiredMixin, ListView):
""" Create Course View."""
template_name = 'publisher/dashboard.html'
class CourseRunListView(mixins.LoginRequiredMixin, ListView):
default_published_days = 30
def get_queryset(self):
......@@ -96,7 +94,7 @@ class Dashboard(mixins.LoginRequiredMixin, ListView):
def get_context_data(self, **kwargs):
""" Courses lists are further divided into different categories."""
context = super(Dashboard, self).get_context_data(**kwargs)
context = super(CourseRunListView, self).get_context_data(**kwargs)
course_runs = context.get('object_list')
published_course_runs = course_runs.filter(
course_run_state__name=CourseRunStateChoices.Published,
......
......@@ -222,23 +222,23 @@ class CourseRunWrapper(BaseWrapper):
def course_team_status(self):
course_run_state = self.wrapped_obj.course_run_state
if course_run_state.is_draft and course_run_state.owner_role == PublisherUserRole.CourseTeam:
return {'status_text': _('In Draft since'), 'date': self.owner_role_modified}
return _('Draft')
elif (course_run_state.owner_role == PublisherUserRole.ProjectCoordinator and
(course_run_state.is_in_review or course_run_state.is_draft)):
return {'status_text': _('Submitted on'), 'date': self.owner_role_modified}
return _('Submitted for Project Coordinator Review')
elif course_run_state.is_in_review and course_run_state.owner_role == PublisherUserRole.CourseTeam:
return {'status_text': _('In Review since'), 'date': self.owner_role_modified}
return _('Awaiting Course Team Review')
@property
def internal_user_status(self):
course_run_state = self.wrapped_obj.course_run_state
if course_run_state.is_draft and course_run_state.owner_role == PublisherUserRole.CourseTeam:
return {'status_text': _('n/a'), 'date': ''}
return _('N/A')
elif (course_run_state.owner_role == PublisherUserRole.ProjectCoordinator and
(course_run_state.is_in_review or course_run_state.is_draft)):
return {'status_text': _('In Review since'), 'date': self.owner_role_modified}
return _('Awaiting Project Coordinator Review')
elif course_run_state.is_in_review and course_run_state.owner_role == PublisherUserRole.CourseTeam:
return {'status_text': _('Reviewed on'), 'date': self.owner_role_modified}
return _('Approved by Project Coordinator')
@property
def owner_role_modified(self):
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-28 00:11-0400\n"
"POT-Creation-Date: 2017-09-28 00:13-0400\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"
......@@ -520,6 +520,7 @@ msgid "Course Team"
msgstr ""
#: apps/publisher/choices.py apps/publisher/models.py
#: apps/publisher/wrappers.py
msgid "Draft"
msgstr ""
......@@ -915,11 +916,11 @@ msgstr ""
msgid "Approved by Course Team"
msgstr ""
#: apps/publisher/models.py
#: apps/publisher/models.py apps/publisher/wrappers.py
msgid "Awaiting Course Team Review"
msgstr ""
#: apps/publisher/models.py
#: apps/publisher/models.py apps/publisher/wrappers.py
msgid "N/A"
msgstr ""
......@@ -1439,7 +1440,7 @@ msgid "Import COURSE"
msgstr ""
#: apps/publisher/templates/publisher/base.html
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Dashboard"
msgstr ""
......@@ -1983,6 +1984,7 @@ msgid "%(site_name)s Status"
msgstr ""
#: apps/publisher/templates/publisher/course_list.html
#: apps/publisher/templates/publisher/dashboard/_in_progress.html
msgid "Last Handoff"
msgstr ""
......@@ -2496,48 +2498,48 @@ msgstr ""
msgid "Publication failed."
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Course About Pages"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid ""
"EdX Publisher is used to create course About pages. Users enter, review, and"
" approve content in Publisher. Publisher keeps track of the details and "
"sends email updates when actions are necessary."
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid ""
"EdX Publisher is a companion to edX Studio. Course teams enter About page "
"information in Publisher, and course content in Studio."
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Add a New Course"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Add a Course Run"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Course runs"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "In Development"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "In Preview"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Studio Request"
msgstr ""
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Published About Pages"
msgstr ""
......@@ -3258,23 +3260,15 @@ msgid "Course run updated successfully."
msgstr ""
#: apps/publisher/wrappers.py
msgid "In Draft since"
msgstr ""
#: apps/publisher/wrappers.py
msgid "Submitted on"
msgstr ""
#: apps/publisher/wrappers.py
msgid "In Review since"
msgid "Submitted for Project Coordinator Review"
msgstr ""
#: apps/publisher/wrappers.py
msgid "n/a"
msgid "Awaiting Project Coordinator Review"
msgstr ""
#: apps/publisher/wrappers.py
msgid "Reviewed on"
msgid "Approved by Project Coordinator"
msgstr ""
#: apps/publisher_comments/emails.py
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-27 18:21+0000\n"
"POT-Creation-Date: 2017-09-28 00:13-0400\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"
......@@ -74,20 +74,20 @@ msgstr ""
msgid "Please enter a valid URL."
msgstr ""
#: static/js/publisher/views/courses.js
msgid "No courses have been created."
msgstr ""
#: static/js/publisher/views/dashboard.js
#: static/js/publisher/views/courserun_list.js
msgid ""
"You have successfully created a Studio URL ({studioLinkTag}) for "
"{courseRunDetail} with a start date of {startDate}"
msgstr ""
#: static/js/publisher/views/dashboard.js
#: static/js/publisher/views/courserun_list.js
msgid "There was an error in saving your data."
msgstr ""
#: static/js/publisher/views/courses.js
msgid "No courses have been created."
msgstr ""
#: static/js/publisher/views/navbar.js
msgid "OFF"
msgstr ""
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-28 00:11-0400\n"
"POT-Creation-Date: 2017-09-28 00:13-0400\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"
......@@ -639,6 +639,7 @@ msgid "Course Team"
msgstr "Çöürsé Téäm Ⱡ'σяєм ιρѕυм ∂σłσя #"
#: apps/publisher/choices.py apps/publisher/models.py
#: apps/publisher/wrappers.py
msgid "Draft"
msgstr "Dräft Ⱡ'σяєм ιρѕ#"
......@@ -1072,11 +1073,11 @@ msgstr "Süßmïttéd för Märkétïng Révïéw Ⱡ'σяєм ιρѕυм ∂σ
msgid "Approved by Course Team"
msgstr "Àpprövéd ßý Çöürsé Téäm Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#"
#: apps/publisher/models.py
#: apps/publisher/models.py apps/publisher/wrappers.py
msgid "Awaiting Course Team Review"
msgstr "Àwäïtïng Çöürsé Téäm Révïéw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#"
#: apps/publisher/models.py
#: apps/publisher/models.py apps/publisher/wrappers.py
msgid "N/A"
msgstr "N/À Ⱡ'σяєм#"
......@@ -1679,7 +1680,7 @@ msgid "Import COURSE"
msgstr "Ìmpört ÇÖÛRSÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#"
#: apps/publisher/templates/publisher/base.html
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Dashboard"
msgstr "Däshßöärd Ⱡ'σяєм ιρѕυм ∂σł#"
......@@ -2365,6 +2366,7 @@ msgid "%(site_name)s Status"
msgstr "%(site_name)s Stätüs Ⱡ'σяєм ιρѕυм ∂σłσ#"
#: apps/publisher/templates/publisher/course_list.html
#: apps/publisher/templates/publisher/dashboard/_in_progress.html
msgid "Last Handoff"
msgstr "Läst Händöff Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#"
......@@ -2940,11 +2942,11 @@ msgstr ""
msgid "Publication failed."
msgstr "Püßlïçätïön fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Course About Pages"
msgstr "Çöürsé Àßöüt Pägés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid ""
"EdX Publisher is used to create course About pages. Users enter, review, and"
" approve content in Publisher. Publisher keeps track of the details and "
......@@ -2959,7 +2961,7 @@ msgstr ""
"∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα"
" ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αт#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid ""
"EdX Publisher is a companion to edX Studio. Course teams enter About page "
"information in Publisher, and course content in Studio."
......@@ -2967,31 +2969,31 @@ msgstr ""
"ÉdX Püßlïshér ïs ä çömpänïön tö édX Stüdïö. Çöürsé téäms éntér Àßöüt pägé "
"ïnförmätïön ïn Püßlïshér, änd çöürsé çöntént ïn Stüdïö. Ⱡ'σ#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Add a New Course"
msgstr "Àdd ä Néw Çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Add a Course Run"
msgstr "Àdd ä Çöürsé Rün Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Course runs"
msgstr "Çöürsé rüns Ⱡ'σяєм ιρѕυм ∂σłσя #"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "In Development"
msgstr "Ìn Dévélöpmént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "In Preview"
msgstr "Ìn Prévïéw Ⱡ'σяєм ιρѕυм ∂σłσ#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Studio Request"
msgstr "Stüdïö Réqüést Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: apps/publisher/templates/publisher/dashboard.html
#: apps/publisher/templates/publisher/courserun_list.html
msgid "Published About Pages"
msgstr "Püßlïshéd Àßöüt Pägés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #"
......@@ -3956,24 +3958,19 @@ msgstr ""
"Çöürsé rün üpdätéd süççéssfüllý. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#"
#: apps/publisher/wrappers.py
msgid "In Draft since"
msgstr "Ìn Dräft sïnçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: apps/publisher/wrappers.py
msgid "Submitted on"
msgstr "Süßmïttéd ön Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#"
#: apps/publisher/wrappers.py
msgid "In Review since"
msgstr "Ìn Révïéw sïnçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
msgid "Submitted for Project Coordinator Review"
msgstr ""
"Süßmïttéd för Pröjéçt Çöördïnätör Révïéw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#"
#: apps/publisher/wrappers.py
msgid "n/a"
msgstr "n/ä Ⱡ'σяєм#"
msgid "Awaiting Project Coordinator Review"
msgstr ""
"Àwäïtïng Pröjéçt Çöördïnätör Révïéw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#"
#: apps/publisher/wrappers.py
msgid "Reviewed on"
msgstr "Révïéwéd ön Ⱡ'σяєм ιρѕυм ∂σłσя #"
msgid "Approved by Project Coordinator"
msgstr "Àpprövéd ßý Pröjéçt Çöördïnätör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#"
#: apps/publisher_comments/emails.py
msgid "Comment added:"
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-27 18:21+0000\n"
"POT-Creation-Date: 2017-09-28 00:13-0400\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
......@@ -83,11 +83,7 @@ msgstr "Sävé Ⱡ'σяєм ι#"
msgid "Please enter a valid URL."
msgstr "Pléäsé éntér ä välïd ÛRL. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#"
#: static/js/publisher/views/courses.js
msgid "No courses have been created."
msgstr "Nö çöürsés hävé ßéén çréätéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#"
#: static/js/publisher/views/dashboard.js
#: static/js/publisher/views/courserun_list.js
msgid ""
"You have successfully created a Studio URL ({studioLinkTag}) for "
"{courseRunDetail} with a start date of {startDate}"
......@@ -96,12 +92,16 @@ msgstr ""
"{courseRunDetail} wïth ä stärt däté öf {startDate} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
"αмєт, ¢σηѕє¢тє#"
#: static/js/publisher/views/dashboard.js
#: static/js/publisher/views/courserun_list.js
msgid "There was an error in saving your data."
msgstr ""
"Théré wäs än érrör ïn sävïng ýöür dätä. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#"
#: static/js/publisher/views/courses.js
msgid "No courses have been created."
msgstr "Nö çöürsés hävé ßéén çréätéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#"
#: static/js/publisher/views/navbar.js
msgid "OFF"
msgstr "ÖFF Ⱡ'σяєм#"
......
$(document).ready(function() {
var data_table_studio = $('.data-table-studio').DataTable({
"autoWidth": false
......
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