Skip to content
This repository was archived by the owner on May 12, 2022. It is now read-only.
Open

Fixes #184

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
508b66d
Translations along with test fixes
hamzamunir7300 Nov 13, 2018
00bcc61
fixing version in setup.py
hamzamunir7300 Nov 15, 2018
c4705b6
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
57c3979
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
f936256
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
7831566
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
e79e9fb
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
38e9ce3
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
b39d1bc
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
7086e12
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
3aadc3e
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
18fa62f
fixing version in setup.py
hamzamunir7300 Nov 28, 2018
e4d88c0
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
c4ab578
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
edde14d
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
3a44be1
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
623e429
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
b5f9848
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
2d7fa4c
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
73bac3f
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
5216034
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
122b08d
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
b11ea96
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
b87de0f
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
2cc58ae
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
7bb330a
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
2872297
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
736cce3
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
f6316cc
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
42f6949
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
71d9469
fixing version in setup.py
hamzamunir7300 Nov 29, 2018
c3e2621
fixing version in setup.py
hamzamunir7300 Dec 4, 2018
18d9582
fixing version in setup.py
hamzamunir7300 Dec 4, 2018
4cd2f7b
fixing version in setup.py
hamzamunir7300 Dec 4, 2018
2e5fd9b
fixing version in setup.py
hamzamunir7300 Dec 4, 2018
5a5664f
fixing version in setup.py
hamzamunir7300 Dec 4, 2018
fee788e
announcement on strings fied
hamzamunir7300 Dec 4, 2018
ef3cb87
small nit
hamzamunir7300 Dec 4, 2018
c7d1b51
small nit
hamzamunir7300 Dec 5, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions edx_notifications/base_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import dateutil.parser
import copy
from datetime import datetime, timedelta
from django.utils.translation import ugettext_lazy
from freezegun.api import FakeDatetime


Expand Down Expand Up @@ -59,6 +60,8 @@ def __init__(self, *args, **kwargs): # pylint: disable=unused-argument
Initializer which takes in the type this field
should be set it is set
"""
# from django.utils.functional import __proxy__
# self._expected_types.append(__proxy__)

if not self._expected_types:
raise TypeError(
Expand Down Expand Up @@ -99,6 +102,7 @@ def __set__(self, data_object, value):
value_type = type(value)

if value and value_type not in self._expected_types:

raise TypeError(
(
"Field expected type of '{expected}' got '{got}'"
Expand Down Expand Up @@ -129,6 +133,14 @@ class StringField(TypedField):
_expected_types = [unicode, str]


class LazyField(TypedField):
"""
Specialized subclass of TypedField(unicode) as a convienence for Translations support
"""

_expected_types = [unicode, str, type(ugettext_lazy())]


class IntegerField(TypedField):
"""
Specialized subclass of TypedField(int) as a convienence
Expand Down
11 changes: 6 additions & 5 deletions edx_notifications/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"""

from django.conf import settings
from django.utils.translation import ugettext_lazy as _

NOTIFICATION_PRIORITY_NONE = 0
NOTIFICATION_PRIORITY_LOW = 1
Expand Down Expand Up @@ -99,27 +100,27 @@
'groups': {
'announcements': {
'name': 'announcements',
'display_name': 'Announcements',
'display_name': _('Announcements'),
'group_order': 1
},
'group_work': {
'name': 'group_work',
'display_name': 'Group Work',
'display_name': _('Group Work'),
'group_order': 2
},
'leaderboards': {
'name': 'leaderboards',
'display_name': 'Leaderboards',
'display_name': _('Leaderboards'),
'group_order': 3
},
'discussions': {
'name': 'discussions',
'display_name': 'Discussion',
'display_name': _('Discussion'),
'group_order': 4
},
'_default': {
'name': '_default',
'display_name': 'Other',
'display_name': _('Other'),
'group_order': 5
},
},
Expand Down
14 changes: 7 additions & 7 deletions edx_notifications/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
RelatedObjectField,
BaseDataObject,
BooleanField,
)
LazyField)


class NotificationChannel(BaseDataObject):
Expand All @@ -42,15 +42,15 @@ class NotificationType(BaseDataObject):
"""

# the name (including namespace) of the notification, e.g. open-edx.lms.forums.reply-to-post
name = StringField()
name = LazyField()

# default delivery channel for this type
# None = no default
default_channel = RelatedObjectField(NotificationChannel)

# renderer class - as a string - that will handle the rendering of
# this type
renderer = StringField()
renderer = LazyField()

# any context information to pass into the renderer
renderer_context = DictField()
Expand Down Expand Up @@ -405,13 +405,13 @@ class NotificationPreference(BaseDataObject):
"""

# the internal name of the channel
name = StringField()
name = LazyField()

# display_name for notification preference
display_name = StringField()
display_name = LazyField()

# display description for notification preference
display_description = StringField()
display_description = LazyField()

# default_value for notification preference
default_value = StringField()
Expand All @@ -428,7 +428,7 @@ class UserNotificationPreferences(BaseDataObject):
# instance of NotificationPreference, None = unloaded
preference = RelatedObjectField(NotificationPreference)

value = StringField()
value = LazyField()

# timestamps
created = DateTimeField()
Expand Down
Binary file added edx_notifications/locale/ar/LC_MESSAGES/django.mo
Binary file not shown.
70 changes: 70 additions & 0 deletions edx_notifications/locale/ar/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-29 17:12+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"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"

#: const.py:103
msgid "Announcements"
msgstr "إعلانات"

#: const.py:108
msgid "Group Work"
msgstr "العمل الجماعي"

#: const.py:113
msgid "Leaderboards"
msgstr "لوحات المتسابقين"

#: const.py:118
msgid "Discussion"
msgstr "النقاش"

#: const.py:123
msgid "Other"
msgstr "أخرى"

#: digests.py:200
msgid "Receive daily email"
msgstr "استلام بريد إلكتروني يوميًا"

#: digests.py:201
msgid ""
"This setting will cause a daily digest of all notifications to be sent to "
"your registered email address"
msgstr ""
"هذا الإعداد سيؤدي لإرسال ملخص يومي بجميع الإشعارات إلى عنوان بريدك "
"الإلكتروني المسجل"

#: digests.py:210
msgid "Receive weekly email"
msgstr "استلام بريد إلكتروني أسبوعيًا"

#: digests.py:211
msgid ""
"This setting will cause a weekly digest of all notifications to be sent to "
"your registered email address"
msgstr ""
"هذا الإعداد سيؤدي لإرسال ملخص أسبوعي بجميع الإشعارات إلى عنوان بريدك "
"الإلكتروني المسجل"

#: stores/sql/models.py:145
#, python-brace-format
#| msgid "Announcement on {annoucement_date}"
msgid "Announcement on {annoucement_date}"
msgstr "{annoucement_date} الإعلان على"
Binary file not shown.
68 changes: 68 additions & 0 deletions edx_notifications/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-29 17:12+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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: const.py:103
msgid "Announcements"
msgstr "Ankündigungen"

#: const.py:108
msgid "Group Work"
msgstr "Gruppenarbeit"

#: const.py:113
msgid "Leaderboards"
msgstr "Ranglisten"

#: const.py:118
msgid "Discussion"
msgstr "Diskussionen"

#: const.py:123
msgid "Other"
msgstr ""

#: digests.py:200
msgid "Receive daily email"
msgstr "Tägliche E-Mail erhalten"

#: digests.py:201
msgid ""
"This setting will cause a daily digest of all notifications to be sent to "
"your registered email address"
msgstr ""
"Bei dieser Einstellung wird eine tägliche Zusammenfassung aller Nachrichten "
"an Ihre eingetragene E-Mail Adresse geschickt."

#: digests.py:210
msgid "Receive weekly email"
msgstr "Wöchentliche E-Mail erhalten"

#: digests.py:211
msgid ""
"This setting will cause a weekly digest of all notifications to be sent to "
"your registered email address"
msgstr ""
"Bei dieser Einstellung wird eine wöchentliche Zusammenfassung "
"allerNachrichten an Ihre eingetragene E-Mail Adresse geschickt."

#: stores/sql/models.py:145
#, python-brace-format
msgid "Announcement on {annoucement_date}"
msgstr "Ankündigung am {annoucement_date}"
Binary file added edx_notifications/locale/en/LC_MESSAGES/django.mo
Binary file not shown.
67 changes: 67 additions & 0 deletions edx_notifications/locale/en/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-29 17:12+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"

#: const.py:103
msgid "Announcements"
msgstr ""

#: const.py:108
msgid "Group Work"
msgstr ""

#: const.py:113
msgid "Leaderboards"
msgstr ""

#: const.py:118
msgid "Discussion"
msgstr ""

#: const.py:123
msgid "Other"
msgstr ""

#: const.py:167
msgid "Announcement"
msgstr ""

#: digests.py:200
msgid "Receive daily email"
msgstr ""

#: digests.py:201
msgid ""
"This setting will cause a daily digest of all notifications to be sent to "
"your registered email address"
msgstr ""

#: digests.py:210
msgid "Receive weekly email"
msgstr ""

#: digests.py:211
msgid ""
"This setting will cause a weekly digest of all notifications to be sent to "
"your registered email address"
msgstr ""

#: stores/sql/models.py:145
#, python-brace-format
msgid "Announcement on {annoucement_date}"
msgstr ""
Binary file added edx_notifications/locale/es/LC_MESSAGES/django.mo
Binary file not shown.
Loading