Skip to content

Commit d3eb550

Browse files
authored
Merge branch 'master' into ttqureshi/enable-html
2 parents 132574d + c2fad03 commit d3eb550

File tree

16 files changed

+135
-71
lines changed

16 files changed

+135
-71
lines changed

cms/envs/help_tokens.ini

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,39 @@
22
# NOTE: If any of these page settings change, their corresponding test must be updated
33
# in edx-platform/common/test/acceptance/tests/studio/test_studio.help.py
44
[pages]
5-
default = course_author:index.html
6-
home = course_author:getting_started/CA_get_started_Studio.html
7-
develop_course = course_author:developing_course/index.html
8-
outline = course_author:developing_course/course_outline.html
9-
unit = course_author:developing_course/course_units.html
10-
visibility = course_author:developing_course/controlling_content_visibility.html
11-
updates = course_author:course_assets/handouts_updates.html
12-
pages = course_author:course_assets/pages.html
13-
files = course_author:course_assets/course_files.html
14-
textbooks = course_author:course_assets/textbooks.html
15-
schedule = course_author:set_up_course/studio_add_course_information/index.html
16-
grading = course_author:grading/index.html
17-
team_course = course_author:set_up_course/studio_add_course_information/studio_course_staffing.html
18-
team_library = course_author:course_components/libraries.html#give-other-users-access-to-your-library
19-
advanced = course_author:index.html
20-
checklist = course_author:set_up_course/index.html
21-
import_library = course_author:course_components/libraries.html#import-a-library
22-
import_course = course_author:releasing_course/export_import_course.html#import-a-course
23-
export_library = course_author:course_components/libraries.html#export-a-library
24-
export_course = course_author:releasing_course/export_import_course.html#export-a-course
25-
welcome = course_author:getting_started/index.html
26-
login = course_author:getting_started/index.html
27-
register = course_author:getting_started/index.html
28-
content_libraries = course_author:course_components/libraries.html
29-
content_groups = course_author:course_features/cohorts/cohorted_courseware.html
30-
enrollment_tracks = course_author:course_features/diff_content/enroll_track_courseware.html
31-
group_configurations = course_author:course_features/content_experiments/content_experiments_configure.html#set-up-group-configurations-in-edx-studio
32-
container = course_author:developing_course/course_components.html#components-that-contain-other-components
33-
video = course_author:video/index.html
34-
certificates = course_author:set_up_course/studio_add_course_information/studio_creating_certificates.html
35-
content_highlights = course_author:developing_course/course_sections.html#set-course-section-highlights
36-
image_accessibility = course_author:accessibility/best_practices_course_content_dev.html#use-best-practices-for-describing-images
37-
social_sharing = course_author:developing_course/social_sharing.html
5+
default = course_author:quickstarts/build_a_course.html
6+
home = course_author:concepts/open_edx_platform/what_is_studio.html
7+
develop_course = course_author:how-tos/set_up_course/create_new_course.html
8+
outline = course_author:concepts/open_edx_platform/about_course_outline.html
9+
unit = course_author:concepts/open_edx_platform/about_course_units.html
10+
visibility = course_author:references/controlling_content_visibility.html
11+
updates = course_author:concepts/communication/about_course_updates_handouts.html
12+
pages = course_author:how-tos/course_development/manage_custom_page.html
13+
files = course_author:references/course_development/files_page.html
14+
textbooks = course_author:how-tos/course_development/manage_textbooks.html
15+
schedule = course_author:how-tos/set_up_course/set_course_schedule.html
16+
grading = course_author:how-tos/grading/set_grade_range.html
17+
team_course = course_author:references/course_development/course_team_roles.html
18+
team_library = course_author:how-tos/course_development/add_users_to_libraries.html
19+
advanced = course_author:quickstarts/build_a_course.html
20+
checklist = course_author:concepts/releasing-course/course_launch_checklist.html
21+
import_library = course_author:how-tos/course_development/export_import_library.html#import-a-legacy-library
22+
import_course = course_author:how-tos/releasing-course/import_course.html
23+
export_library = course_author:how-tos/course_development/export_import_library.html#export-a-legacy-library
24+
export_course = course_author:how-tos/releasing-course/export_course.html
25+
welcome = course_author:index.html
26+
login = course_author:index.html
27+
register = course_author:index.html
28+
content_libraries = course_author:concepts/instructional_design/libraries.html
29+
content_groups = course_author:concepts/advanced_features/about_content_groups.html
30+
enrollment_tracks = course_author:how-tos/student_management/manage_course_enrollments.html
31+
group_configurations = course_author:concepts/advanced_features/about_content_groups.html
32+
container = course_author:references/course_development/parent_child_components.html
33+
video = course_author:references/course_development/guide_to_video.html
34+
certificates = course_author:concepts/open_edx_platform/about_certificates.html
35+
content_highlights = course_author:how-tos/course_development/manage_course_highlight_emails.html
36+
image_accessibility = course_author:references/accessibility/accessibility_best_practices_checklist.html#use-best-practices-for-describing-images
37+
social_sharing = course_author:how-tos/course_development/social_sharing.html
3838

3939
# below are the language directory names for the different locales
4040
[locales]

cms/envs/mock.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,8 @@ GRADES_DOWNLOAD:
481481
querystring_expire: 300
482482
STORAGE_TYPE: ''
483483
HELP_TOKENS_BOOKS:
484-
course_author: https://edx.readthedocs.io/projects/edx-partner-course-staff
485-
learner: https://edx.readthedocs.io/projects/edx-guide-for-students
484+
course_author: https://docs.openedx.org/en/latest/educators
485+
learner: https://docs.openedx.org/en/latest/learners
486486
HOTJAR_ID: 7890
487487
ICP_LICENSE: icp_license
488488
ICP_LICENSE_INFO:
-254 KB
Binary file not shown.

lms/djangoapps/course_home_api/progress/serializers.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,27 @@ class GradingPolicySerializer(ReadOnlySerializer):
9696
"""
9797
Serializer for grading policy
9898
"""
99+
100+
# This implementation of the color coding feature is temporary and for testing purposes only.
101+
# All CSS should be handled by design tokens, this is not implemented yet in Paragon.
102+
# The backend should only work with labels, and the final design includes dynamic Label assignment per course
103+
# (not CSS codes but color Labels), platform-level configuration, etc.
104+
# See discussions in the associated PR for further details: https://github.com/openedx/edx-platform/pull/37438
105+
ASSIGNMENT_COLORS = [
106+
"#D24242", # Crimson Red
107+
"#7B9645", # Olive Green
108+
"#5A5AD8", # Periwinkle Blue
109+
"#B0842C", # Amber Gold
110+
"#2E90C2", # Ocean Blue
111+
"#D13F88", # Magenta Pink
112+
"#36A17D", # Jade Green
113+
"#AE5AD8", # Lavender Purple
114+
"#3BA03B", # Forest Green
115+
]
116+
99117
assignment_policies = serializers.SerializerMethodField()
100118
grade_range = serializers.DictField(source='GRADE_CUTOFFS')
119+
assignment_colors = serializers.SerializerMethodField()
101120

102121
def get_assignment_policies(self, grading_policy):
103122
return [{
@@ -108,6 +127,9 @@ def get_assignment_policies(self, grading_policy):
108127
'weight': assignment_policy['weight'],
109128
} for assignment_policy in grading_policy['GRADER']]
110129

130+
def get_assignment_colors(self, obj):
131+
return self.ASSIGNMENT_COLORS
132+
111133

112134
class CertificateDataSerializer(ReadOnlySerializer):
113135
"""

lms/djangoapps/discussion/rest_api/discussions_notifications.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ def send_new_response_notification(self):
122122
if not self.parent_id and self.creator.id != int(self.thread.user_id):
123123
context = {
124124
'email_content': clean_thread_html_body(self.comment.body),
125+
'group_by_id': str(self.thread.id),
125126
}
126127
self._populate_context_with_ids_for_mobile(context, notification_type)
127128
self._send_notification([self.thread.user_id], notification_type, extra_context=context)
@@ -229,6 +230,7 @@ def send_response_on_followed_post_notification(self):
229230
if not self.parent_id:
230231
context = {
231232
"email_content": clean_thread_html_body(self.comment.body),
233+
"group_by_id": str(self.thread.id),
232234
}
233235
notification_type = "response_on_followed_post"
234236
self._populate_context_with_ids_for_mobile(context, notification_type)

lms/djangoapps/discussion/rest_api/tests/test_tasks_v2.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ def test_send_notification_to_thread_creator(self):
148148
'topic_id': None,
149149
'thread_id': 1,
150150
'comment_id': None,
151+
'group_by_id': '1',
151152
}
152153
self.assertDictEqual(args.context, expected_context)
153154
self.assertEqual(
@@ -214,6 +215,8 @@ def test_send_notification_to_followers(self, parent_id, notification_type):
214215
'thread_id': 1,
215216
'comment_id': 4 if not notification_type == 'response_on_followed_post' else None,
216217
}
218+
if notification_type == 'response_on_followed_post':
219+
expected_context['group_by_id'] = '1'
217220
if parent_id:
218221
expected_context['author_name'] = 'dummy\'s'
219222
expected_context['author_pronoun'] = 'dummy\'s'

lms/envs/common.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2858,10 +2858,10 @@
28582858
'url_stub': 'facebook.com/',
28592859
'example': 'https://www.facebook.com/username'
28602860
},
2861-
'twitter': {
2862-
'display_name': 'Twitter',
2863-
'url_stub': 'twitter.com/',
2864-
'example': 'https://www.twitter.com/username'
2861+
'x': {
2862+
'display_name': 'X',
2863+
'url_stub': 'x.com/',
2864+
'example': 'https://www.x.com/username'
28652865
},
28662866
'linkedin': {
28672867
'display_name': 'LinkedIn',

lms/envs/help_tokens.ini

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
# in edx-platform/common/test/acceptance/tests/lms/test_lms_help.py
44
[pages]
55
default = learner:index.html
6-
instructor = course_author:CA_instructor_dash_help.html
6+
instructor = course_author:index.html
77
course = learner:index.html
8-
profile = learner:SFD_dashboard_profile_SectionHead.html#adding-profile-information
9-
dashboard = learner:SFD_dashboard_profile_SectionHead.html
8+
profile = learner:concepts/open_edx_platform/what_is_profile_page.html
9+
dashboard = learner:concepts/open_edx_platform/what_is_course_dashboard.html
1010
courseinfo = learner:SFD_start_course.html
1111
progress = learner:SFD_check_progress.html
12-
learneraccountsettings = learner:SFD_update_acct_settings.html
13-
learnerdashboard = learner:SFD_dashboard_profile_SectionHead.html
14-
programs = learner:SFD_enrolling.html
12+
learneraccountsettings = learner:how-tos/update_course_specific_settings.html
13+
learnerdashboard = learner:concepts/open_edx_platform/what_is_course_dashboard.html
14+
programs = learner:OpenSFD_enrolling.html
1515
bookmarks = learner:SFD_bookmarks.html
1616
notes = learner:SFD_notes.html
1717
wiki = learner:SFD_wiki.html
1818
discussions = learner:sfd_discussions/index.html
1919

20-
cohortmanual = course_author:course_features/cohorts/cohort_config.html#assign-learners-to-cohorts-manually
21-
cohortautomatic = course_author:course_features/cohorts/cohorts_overview.html#all-automated-assignment
20+
cohortmanual = course_author:references/advanced_features/managing_cohort_assignment.html#implementing-a-manual-assignment-strategy
21+
cohortautomatic = course_author:references/advanced_features/managing_cohort_assignment.html#implementing-an-automated-assignment-strategy
2222

2323
# below are the language directory names for the different locales
2424
[locales]

lms/envs/mock.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -686,8 +686,8 @@ GRADES_DOWNLOAD:
686686
querystring_expire: 300
687687
STORAGE_TYPE: ''
688688
HELP_TOKENS_BOOKS:
689-
course_author: http://edx.readthedocs.io/projects/open-edx-building-and-running-a-course
690-
learner: http://edx.readthedocs.io/projects/open-edx-learner-guide
689+
course_author: https://docs.openedx.org/en/latest/educators
690+
learner: https://docs.openedx.org/en/latest/learners
691691
HIBP_LOGIN_BLOCK_PASSWORD_FREQUENCY_THRESHOLD: 5
692692
HOME_MICROFRONTEND_URL: hello
693693
HOTJAR_SITE_ID: 12345

openedx/core/djangoapps/notifications/base_notification.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ class NotificationType(TypedDict):
9595
'is_core': True,
9696
'content_template': _('<{p}><{strong}>{replier_name}</{strong}> responded to your '
9797
'post <{strong}>{post_title}</{strong}></{p}>'),
98+
'grouped_content_template': _('<{p}><{strong}>{replier_name}</{strong}> and others have responded to your post '
99+
'<{strong}>{post_title}</{strong}></{p}>'),
98100
'content_context': {
99101
'post_title': 'Post title',
100102
'replier_name': 'replier name',
@@ -148,6 +150,8 @@ class NotificationType(TypedDict):
148150
'non_editable': [],
149151
'content_template': _('<{p}><{strong}>{replier_name}</{strong}> responded to a post you’re following: '
150152
'<{strong}>{post_title}</{strong}></{p}>'),
153+
'grouped_content_template': _('<{p}><{strong}>{replier_name}</{strong}> and others responded to a post you’re '
154+
'following: <{strong}>{post_title}</{strong}></{p}>'),
151155
'content_context': {
152156
'post_title': 'Post title',
153157
'replier_name': 'replier name',

0 commit comments

Comments
 (0)