Revert "Merge pull request #13915 from edx/revert-13794-yro_implement-dateutil"
This reverts commitd59ab18b27, reversing changes made to0ebab35e89.
This commit is contained in:
@@ -19,14 +19,31 @@ from django.core.urlresolvers import reverse
|
||||
<span class="course-code">${course.display_number_with_default}</span>
|
||||
<span class="course-title">${course.display_name_with_default}</span>
|
||||
</h2>
|
||||
<div class="course-date" aria-hidden="true">${_("Starts")}: ${course.start_datetime_text()}</div>
|
||||
</div>
|
||||
<%
|
||||
if course.start is not None:
|
||||
course_date_string = course.start.strftime('%Y-%m-%dT%H:%M:%S%z')
|
||||
else:
|
||||
course_date_string = ''
|
||||
%>
|
||||
% if isinstance(course_start_date, str):
|
||||
<div class="course-date" aria-hidden="true">${_("Starts")}: ${course_start_date}</div>
|
||||
% else:
|
||||
<div class="course-date localized_datetime" aria-hidden="true" data-format="shortDate" data-datetime="${course_date_string}" data-string="${_("Starts: {date}")}"></div>
|
||||
% endif
|
||||
</div>
|
||||
<div class="sr">
|
||||
<ul>
|
||||
<li>${course.display_org_with_default}</li>
|
||||
<li>${course.display_number_with_default}</li>
|
||||
<li>${_("Starts")}: <time itemprop="startDate" datetime="${course.start_datetime_text()}">${course.start_datetime_text()}</time></li>
|
||||
</ul>
|
||||
%if isinstance(course_start_date, str):
|
||||
<li>${_("Starts")}: <time itemprop="startDate" datetime="${course_start_date}">${course_start_date}</time></li>
|
||||
%else:
|
||||
<li>${_("Starts")}: <time class="localized_datetime" itemprop="startDate" data-format="shortDate" data-datetime="${course_date_string}"></time></li>
|
||||
%endif
|
||||
</ul>
|
||||
</div>
|
||||
</a>
|
||||
</article>
|
||||
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory">
|
||||
DateUtilFactory.transform(iterationKey=".localized_datetime");
|
||||
</%static:require_module_async>
|
||||
|
||||
@@ -32,21 +32,19 @@ else:
|
||||
span_start=HTML('<span class="sr">'),
|
||||
span_end=HTML('</span>'),
|
||||
) if 'active' in section and section['active'] else ''}</p>
|
||||
<%
|
||||
if section.get('due') is None:
|
||||
due_date = ''
|
||||
else:
|
||||
formatted_string = get_time_display(section['due'], due_date_display_format, coerce_tz=time_zone)
|
||||
due_date = '' if len(formatted_string)==0 else _('due {date}').format(date=formatted_string)
|
||||
%>
|
||||
|
||||
## There is behavior differences between
|
||||
## There are behavior differences between
|
||||
## rendering of sections which have proctoring/timed examinations
|
||||
## and those that do not.
|
||||
##
|
||||
## Proctoring exposes a exam status message field as well as
|
||||
## a status icon
|
||||
|
||||
<%
|
||||
if section.get('due') is None:
|
||||
data_string = ''
|
||||
else:
|
||||
data_string = _('due {date}')
|
||||
%>
|
||||
% if section['format'] or due_date or 'proctoring' in section:
|
||||
<p class="subtitle">
|
||||
% if 'proctoring' in section:
|
||||
@@ -57,12 +55,12 @@ else:
|
||||
## completed proctored exam statuses should not show the due date
|
||||
## since the exam has already been submitted by the user
|
||||
% if not section['proctoring'].get('in_completed_state', False):
|
||||
<span class="subtitle-name">${due_date}</span>
|
||||
<span class="localized-datetime subtitle-name" data-datetime="${section['due']}" data-string="${data_string}" data-timezone="${user_timezone}" data-language="${user_language}"></span>
|
||||
% endif
|
||||
% else:
|
||||
## non-proctored section, we just show the exam format and the due date
|
||||
## this is the standard case in edx-platform
|
||||
<span class="subtitle-name">${section['format']} ${due_date}</span>
|
||||
<span class="localized-datetime subtitle-name" data-datetime="${section['due']}" data-string="${data_string}" data-timezone="${user_timezone}" data-language="${user_language}"></span>
|
||||
|
||||
% if 'graded' in section and section['graded']:
|
||||
<span class="menu-icon icon fa fa-pencil-square-o" aria-hidden="true"></span>
|
||||
@@ -87,4 +85,8 @@ else:
|
||||
<%static:require_module_async module_name="js/courseware/accordion_events" class_name="AccordionEvents">
|
||||
AccordionEvents();
|
||||
</%static:require_module_async>
|
||||
|
||||
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory">
|
||||
DateUtilFactory.transform(iterationKey=".localized-datetime");
|
||||
</%static:require_module_async>
|
||||
% endif
|
||||
|
||||
@@ -223,21 +223,40 @@ from openedx.core.lib.courses import course_image_url
|
||||
<ol class="important-dates">
|
||||
<li class="important-dates-item"><span class="icon fa fa-info-circle" aria-hidden="true"></span><p class="important-dates-item-title">${_("Course Number")}</p><span class="important-dates-item-text course-number">${course.display_number_with_default | h}</span></li>
|
||||
% if not course.start_date_is_still_default:
|
||||
<li class="important-dates-item"><span class="icon fa fa-calendar" aria-hidden="true"></span><p class="important-dates-item-title">${_("Classes Start")}</p><span class="important-dates-item-text start-date">${course.start_datetime_text()}</span></li>
|
||||
<%
|
||||
course_start_date = course.start
|
||||
%>
|
||||
<li class="important-dates-item">
|
||||
<span class="icon fa fa-calendar" aria-hidden="true"></span>
|
||||
<p class="important-dates-item-title">${_("Classes Start")}</p>
|
||||
% if isinstance(course_start_date, str):
|
||||
<span class="important-dates-item-text start-date">${course_start_date}</span>
|
||||
% else:
|
||||
<%
|
||||
course_date_string = course_start_date.strftime('%Y-%m-%dT%H:%M:%S%z')
|
||||
%>
|
||||
<span class="important-dates-item-text start-date localized_datetime" data-format="shortDate" data-datetime="${course_date_string}"></span>
|
||||
% endif
|
||||
</li>
|
||||
% endif
|
||||
## We plan to ditch end_date (which is not stored in course metadata),
|
||||
## but for backwards compatibility, show about/end_date blob if it exists.
|
||||
% if get_course_about_section(request, course, "end_date") or course.end:
|
||||
<%
|
||||
course_end_date = course.end
|
||||
%>
|
||||
|
||||
<li class="important-dates-item">
|
||||
<span class="icon fa fa-calendar" aria-hidden="true"></span>
|
||||
<p class="important-dates-item-title">${_("Classes End")}</p>
|
||||
<span class="important-dates-item-text final-date">
|
||||
% if get_course_about_section(request, course, "end_date"):
|
||||
${get_course_about_section(request, course, "end_date")}
|
||||
% else:
|
||||
${course.end_datetime_text()}
|
||||
% endif
|
||||
</span>
|
||||
% if isinstance(course_end_date, str):
|
||||
<span class="important-dates-item-text final-date">${course_end_date}</span>
|
||||
% else:
|
||||
<%
|
||||
course_date_string = course_end_date.strftime('%Y-%m-%dT%H:%M:%S%z')
|
||||
%>
|
||||
<span class="important-dates-item-text final-date localized_datetime" data-format="shortDate" data-datetime="${course_date_string}"></span>
|
||||
% endif
|
||||
</li>
|
||||
% endif
|
||||
|
||||
@@ -323,3 +342,7 @@ from openedx.core.lib.courses import course_image_url
|
||||
%endif
|
||||
|
||||
<%include file="../video_modal.html" />
|
||||
|
||||
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory">
|
||||
DateUtilFactory.transform(iterationKey=".localized_datetime");
|
||||
</%static:require_module_async>
|
||||
|
||||
@@ -6,7 +6,6 @@ from course_modes.models import CourseMode
|
||||
from certificates.models import CertificateStatuses
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.urlresolvers import reverse
|
||||
from util.date_utils import get_time_display, DEFAULT_SHORT_DATE_FORMAT
|
||||
from django.conf import settings
|
||||
from django.utils.http import urlquote_plus
|
||||
%>
|
||||
@@ -121,7 +120,7 @@ from django.utils.http import urlquote_plus
|
||||
<span>${_("Verification Declined" )}</span>
|
||||
%elif requirement['status'] == 'satisfied':
|
||||
<span class="fa fa-check" aria-hidden="true"></span>
|
||||
<span>${_("Completed by")} ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
|
||||
<span class="localized-datetime" data-datetime="${requirement['status_date']}" data-string="${_('Completed by {date}')}" data-timezone="${user_timezone}" data-language="${user_language}"></span>
|
||||
%endif
|
||||
%else:
|
||||
<span class="not-achieve">${_("Upcoming")}</span>
|
||||
@@ -168,11 +167,7 @@ from django.utils.http import urlquote_plus
|
||||
</h5>
|
||||
%if section.due is not None:
|
||||
<p>
|
||||
<%
|
||||
formatted_string = get_time_display(section.due, course.due_date_display_format, coerce_tz=settings.TIME_ZONE_DISPLAYED_FOR_DEADLINES)
|
||||
due_date = '' if len(formatted_string)==0 else _(u'due {date}').format(date=formatted_string)
|
||||
%>
|
||||
<em>${due_date | h}</em>
|
||||
<em class="localized-datetime" data-datetime="${section.due}" data-string="${_('due {date}')}" data-timezone="${user_timezone}" data-language="${user_language}"></em>
|
||||
</p>
|
||||
%endif
|
||||
%if len(section.scores) > 0:
|
||||
@@ -197,3 +192,6 @@ from django.utils.http import urlquote_plus
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory">
|
||||
DateUtilFactory.transform(iterationKey=".localized-datetime");
|
||||
</%static:require_module_async>
|
||||
|
||||
@@ -10,7 +10,6 @@ from course_modes.models import CourseMode
|
||||
from course_modes.helpers import enrollment_mode_display
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json
|
||||
from openedx.core.djangolib.markup import HTML, Text
|
||||
from openedx.core.lib.time_zone_utils import get_user_time_zone
|
||||
from student.helpers import (
|
||||
VERIFY_STATUS_NEED_TO_VERIFY,
|
||||
VERIFY_STATUS_SUBMITTED,
|
||||
@@ -99,20 +98,37 @@ from student.helpers import (
|
||||
<div class="course-info">
|
||||
<span class="info-university">${course_overview.display_org_with_default} - </span>
|
||||
<span class="info-course-id">${course_overview.display_number_with_default}</span>
|
||||
<span class="info-date-block" data-tooltip="Hi">
|
||||
<% time_zone = get_user_time_zone(user) %>
|
||||
% if course_overview.has_ended():
|
||||
${_("Ended - {end_date}").format(end_date=course_overview.end_datetime_text("SHORT_DATE", time_zone))}
|
||||
% elif course_overview.has_started():
|
||||
${_("Started - {start_date}").format(start_date=course_overview.start_datetime_text("SHORT_DATE", time_zone))}
|
||||
% elif course_overview.start_date_is_still_default: # Course start date TBD
|
||||
${_("Coming Soon")}
|
||||
% elif course_overview.starts_within(days=5): # hasn't started yet
|
||||
${_("Starts - {start_date}").format(start_date=course_overview.start_datetime_text("DAY_AND_TIME", time_zone))}
|
||||
% else: # hasn't started yet
|
||||
${_("Starts - {start_date}").format(start_date=course_overview.start_datetime_text("SHORT_DATE", time_zone))}
|
||||
% endif
|
||||
</span>
|
||||
<%
|
||||
if course_overview.start_date_is_still_default:
|
||||
container_string = _("Coming Soon")
|
||||
course_date = None
|
||||
else:
|
||||
format = 'shortDate'
|
||||
if course_overview.has_ended():
|
||||
container_string = _("Ended - {date}")
|
||||
course_date = course_overview.end
|
||||
elif course_overview.has_started():
|
||||
container_string = _("Started - {date}")
|
||||
course_date = course_overview.start
|
||||
elif course_overview.starts_within(days=5):
|
||||
container_string = _("Starts - {date}")
|
||||
course_date = course_overview.start
|
||||
format = 'defaultFormat'
|
||||
else: ## hasn't started yet
|
||||
container_string = _("Starts - {date}")
|
||||
course_date = course_overview.start
|
||||
endif
|
||||
endif
|
||||
%>
|
||||
|
||||
% if isinstance(course_date, str):
|
||||
<span class="info-date-block" data-tooltip="Hi">${_(container_string).format(date=course_date)}</span>
|
||||
% elif course_date is not None:
|
||||
<%
|
||||
course_date_string = course_date.strftime('%Y-%m-%dT%H:%M:%S%z')
|
||||
%>
|
||||
<span class="info-date-block localized-datetime" data-language="${user_language}" data-tooltip="Hi" data-timezone="${user_timezone}" data-datetime="${course_date_string}" data-format=${format} data-string="${container_string}"></span>
|
||||
% endif
|
||||
</div>
|
||||
<div class="wrapper-course-actions">
|
||||
<div class="course-actions">
|
||||
@@ -439,3 +455,7 @@ from student.helpers import (
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory">
|
||||
DateUtilFactory.transform(iterationKey=".localized-datetime");
|
||||
</%static:require_module_async>
|
||||
|
||||
Reference in New Issue
Block a user