From ee1cb77aba63688ea43219a6c01365acb2ce5370 Mon Sep 17 00:00:00 2001 From: Michael Blatherwick Date: Mon, 10 Jun 2013 12:33:30 +0100 Subject: [PATCH 01/14] Fix signup form cleaning when not using activation Checking whether a username / email address is in use by an active or unconfirmed account (for purposes of showing a helpful error message) should take into account the value of USERENA_ACTIVATION_REQUIRED: if this is False then any conflicting attempt will incorrectly receive the 'This username is already taken...' message as there will not be any associated UserenaSignup objects. --- userena/forms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/userena/forms.py b/userena/forms.py index 23324ad3..16e2e8d6 100644 --- a/userena/forms.py +++ b/userena/forms.py @@ -52,7 +52,7 @@ def clean_username(self): except get_user_model().DoesNotExist: pass else: - if UserenaSignup.objects.filter(user__username__iexact=self.cleaned_data['username']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): + if userena_settings.USERENA_ACTIVATION_REQUIRED and UserenaSignup.objects.filter(user__username__iexact=self.cleaned_data['username']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): raise forms.ValidationError(_('This username is already taken but not confirmed. Please check you email for verification steps.')) raise forms.ValidationError(_('This username is already taken.')) if self.cleaned_data['username'].lower() in userena_settings.USERENA_FORBIDDEN_USERNAMES: @@ -62,7 +62,7 @@ def clean_username(self): def clean_email(self): """ Validate that the e-mail address is unique. """ if get_user_model().objects.filter(email__iexact=self.cleaned_data['email']): - if UserenaSignup.objects.filter(user__email__iexact=self.cleaned_data['email']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): + if userena_settings.USERENA_ACTIVATION_REQUIRED and UserenaSignup.objects.filter(user__email__iexact=self.cleaned_data['email']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): raise forms.ValidationError(_('This email is already in use but not confirmed. Please check you email for verification steps.')) raise forms.ValidationError(_('This email is already in use. Please supply a different email.')) return self.cleaned_data['email'] From 5413bbd1705929e45b2d01c19f5274f75904b24a Mon Sep 17 00:00:00 2001 From: Michael Blatherwick Date: Tue, 11 Jun 2013 17:49:23 +0200 Subject: [PATCH 02/14] Bump version --- userena/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/userena/__init__.py b/userena/__init__.py index 0136f324..d8261e62 100644 --- a/userena/__init__.py +++ b/userena/__init__.py @@ -2,7 +2,7 @@ Django accounts management made easy. """ -VERSION = (1, 2, 1) +VERSION = (1, 2, 2) __version__ = '.'.join((str(each) for each in VERSION[:4])) From 90c1eebc405d2b55cd313540c7f379004cf0a414 Mon Sep 17 00:00:00 2001 From: Leonardo Gentile Date: Sat, 20 Jul 2013 20:16:11 +0200 Subject: [PATCH 03/14] Changed the relationship name - Changed "from_user" in "um_from_user" - Changed "to_user" in "um_to_user" --- .../contrib/umessages/fixtures/messages.json | 48 +++++++++---------- userena/contrib/umessages/forms.py | 4 +- userena/contrib/umessages/managers.py | 42 ++++++++-------- .../umessages/migrations/0001_initial.py | 22 ++++----- userena/contrib/umessages/models.py | 34 ++++++------- .../templates/umessages/message_list.html | 10 ++-- .../umessages/templatetags/umessages_tags.py | 20 ++++---- userena/contrib/umessages/tests/managers.py | 2 +- 8 files changed, 91 insertions(+), 91 deletions(-) diff --git a/userena/contrib/umessages/fixtures/messages.json b/userena/contrib/umessages/fixtures/messages.json index 2b235ca9..0e820218 100644 --- a/userena/contrib/umessages/fixtures/messages.json +++ b/userena/contrib/umessages/fixtures/messages.json @@ -1,41 +1,41 @@ [ { - "pk": 1, - "model": "umessages.message", + "pk": 1, + "model": "umessages.message", "fields": { - "body": "Hello from your friend", - "sender_deleted_at": null, - "sent_at": "2010-01-01T12:00:00.019Z", + "body": "Hello from your friend", + "sender_deleted_at": null, + "sent_at": "2010-01-01T12:00:00.019Z", "sender": 1 } - }, + }, { - "pk": 2, - "model": "umessages.message", + "pk": 2, + "model": "umessages.message", "fields": { - "body": "Hello from your mother", - "sender_deleted_at": "2010-01-01T12:00:00.019Z", - "sent_at": "2010-01-01T12:00:00.019Z", + "body": "Hello from your mother", + "sender_deleted_at": "2010-01-01T12:00:00.019Z", + "sent_at": "2010-01-01T12:00:00.019Z", "sender": 2 } - }, + }, { - "pk": 1, - "model": "umessages.messagerecipient", + "pk": 1, + "model": "umessages.messagerecipient", "fields": { - "message": 1, - "read_at": null, - "deleted_at": null, + "message": 1, + "read_at": null, + "deleted_at": null, "user": 2 } }, { - "pk": 2, - "model": "umessages.messagerecipient", + "pk": 2, + "model": "umessages.messagerecipient", "fields": { - "message": 2, - "read_at": "2010-01-01T12:00:00.019Z", - "deleted_at": null, + "message": 2, + "read_at": "2010-01-01T12:00:00.019Z", + "deleted_at": null, "user": 1 } }, @@ -43,8 +43,8 @@ "pk": 1, "model": "umessages.messagecontact", "fields": { - "from_user": 1, - "to_user": 2, + "um_from_user": 1, + "um_to_user": 2, "latest_message": 2 } } diff --git a/userena/contrib/umessages/forms.py b/userena/contrib/umessages/forms.py index 8ffb7e0e..e1a963f2 100644 --- a/userena/contrib/umessages/forms.py +++ b/userena/contrib/umessages/forms.py @@ -25,11 +25,11 @@ def save(self, sender): :return: The saved :class:`Message`. """ - to_user_list = self.cleaned_data['to'] + um_to_user_list = self.cleaned_data['to'] body = self.cleaned_data['body'] msg = Message.objects.send_message(sender, - to_user_list, + um_to_user_list, body) return msg diff --git a/userena/contrib/umessages/managers.py b/userena/contrib/umessages/managers.py index fb957f69..6dcaaca5 100644 --- a/userena/contrib/umessages/managers.py +++ b/userena/contrib/umessages/managers.py @@ -8,7 +8,7 @@ class MessageContactManager(models.Manager): """ Manager for the :class:`MessageContact` model """ - def get_or_create(self, from_user, to_user, message): + def get_or_create(self, um_from_user, um_to_user, message): """ Get or create a Contact @@ -18,21 +18,21 @@ def get_or_create(self, from_user, to_user, message): """ created = False try: - contact = self.get(Q(from_user=from_user, to_user=to_user) | - Q(from_user=to_user, to_user=from_user)) + contact = self.get(Q(um_from_user=um_from_user, um_to_user=um_to_user) | + Q(um_from_user=um_to_user, um_to_user=um_from_user)) except self.model.DoesNotExist: created = True - contact = self.create(from_user=from_user, - to_user=to_user, + contact = self.create(um_from_user=um_from_user, + um_to_user=um_to_user, latest_message=message) return (contact, created) - def update_contact(self, from_user, to_user, message): + def update_contact(self, um_from_user, um_to_user, message): """ Get or update a contacts information """ - contact, created = self.get_or_create(from_user, - to_user, + contact, created = self.get_or_create(um_from_user, + um_to_user, message) # If the contact already existed, update the message @@ -52,20 +52,20 @@ def get_contacts_for(self, user): The :class:`User` which to get the contacts for. """ - contacts = self.filter(Q(from_user=user) | Q(to_user=user)) + contacts = self.filter(Q(um_from_user=user) | Q(um_to_user=user)) return contacts class MessageManager(models.Manager): """ Manager for the :class:`Message` model. """ - def send_message(self, sender, to_user_list, body): + def send_message(self, sender, um_to_user_list, body): """ Send a message from a user, to a user. :param sender: The :class:`User` which sends the message. - :param to_user_list: + :param um_to_user_list: A list which elements are :class:`User` to whom the message is for. :param message: @@ -77,17 +77,17 @@ def send_message(self, sender, to_user_list, body): msg.save() # Save the recipients - msg.save_recipients(to_user_list) - msg.update_contacts(to_user_list) + msg.save_recipients(um_to_user_list) + msg.update_contacts(um_to_user_list) signals.email_sent.send(sender=None,msg=msg) return msg - def get_conversation_between(self, from_user, to_user): + def get_conversation_between(self, um_from_user, um_to_user): """ Returns a conversation between two users """ - messages = self.filter(Q(sender=from_user, recipients=to_user, + messages = self.filter(Q(sender=um_from_user, recipients=um_to_user, sender_deleted_at__isnull=True) | - Q(sender=to_user, recipients=from_user, + Q(sender=um_to_user, recipients=um_from_user, messagerecipient__deleted_at__isnull=True)) return messages @@ -111,22 +111,22 @@ def count_unread_messages_for(self, user): return unread_total - def count_unread_messages_between(self, to_user, from_user): + def count_unread_messages_between(self, um_to_user, um_from_user): """ Returns the amount of unread messages between two users - :param to_user: + :param um_to_user: A Django :class:`User` for who the messages are for. - :param from_user: + :param um_from_user: A Django :class:`User` from whom the messages originate from. :return: An integer with the amount of unread messages. """ - unread_total = self.filter(message__sender=from_user, - user=to_user, + unread_total = self.filter(message__sender=um_from_user, + user=um_to_user, read_at__isnull=True, deleted_at__isnull=True).count() diff --git a/userena/contrib/umessages/migrations/0001_initial.py b/userena/contrib/umessages/migrations/0001_initial.py index 79045055..bf9ea1fc 100644 --- a/userena/contrib/umessages/migrations/0001_initial.py +++ b/userena/contrib/umessages/migrations/0001_initial.py @@ -7,18 +7,18 @@ class Migration(SchemaMigration): def forwards(self, orm): - + # Adding model 'MessageContact' db.create_table('umessages_messagecontact', ( ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('from_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='from_users', to=orm['auth.User'])), - ('to_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='to_users', to=orm['auth.User'])), + ('um_from_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='um_from_users', to=orm['auth.User'])), + ('um_to_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='um_to_users', to=orm['auth.User'])), ('latest_message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['umessages.Message'])), )) db.send_create_signal('umessages', ['MessageContact']) - # Adding unique constraint on 'MessageContact', fields ['from_user', 'to_user'] - db.create_unique('umessages_messagecontact', ['from_user_id', 'to_user_id']) + # Adding unique constraint on 'MessageContact', fields ['um_from_user', 'um_to_user'] + db.create_unique('umessages_messagecontact', ['um_from_user_id', 'um_to_user_id']) # Adding model 'MessageRecipient' db.create_table('umessages_messagerecipient', ( @@ -42,9 +42,9 @@ def forwards(self, orm): def backwards(self, orm): - - # Removing unique constraint on 'MessageContact', fields ['from_user', 'to_user'] - db.delete_unique('umessages_messagecontact', ['from_user_id', 'to_user_id']) + + # Removing unique constraint on 'MessageContact', fields ['um_from_user', 'um_to_user'] + db.delete_unique('umessages_messagecontact', ['um_from_user_id', 'um_to_user_id']) # Deleting model 'MessageContact' db.delete_table('umessages_messagecontact') @@ -103,11 +103,11 @@ def backwards(self, orm): 'sent_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}) }, 'umessages.messagecontact': { - 'Meta': {'ordering': "['latest_message']", 'unique_together': "(('from_user', 'to_user'),)", 'object_name': 'MessageContact'}, - 'from_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'from_users'", 'to': "orm['auth.User']"}), + 'Meta': {'ordering': "['latest_message']", 'unique_together': "(('um_from_user', 'um_to_user'),)", 'object_name': 'MessageContact'}, + 'um_from_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'um_from_users'", 'to': "orm['auth.User']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'latest_message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['umessages.Message']"}), - 'to_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'to_users'", 'to': "orm['auth.User']"}) + 'um_to_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'um_to_users'", 'to': "orm['auth.User']"}) }, 'umessages.messagerecipient': { 'Meta': {'object_name': 'MessageRecipient'}, diff --git a/userena/contrib/umessages/models.py b/userena/contrib/umessages/models.py index f9d43849..5d854916 100644 --- a/userena/contrib/umessages/models.py +++ b/userena/contrib/umessages/models.py @@ -14,11 +14,11 @@ class MessageContact(models.Model): received a message from. """ - from_user = models.ForeignKey(user_model_label, verbose_name=_("from user"), - related_name=('from_users')) + um_from_user = models.ForeignKey(user_model_label, verbose_name=_("from user"), + related_name=('um_from_users')) - to_user = models.ForeignKey(user_model_label, verbose_name=_("to user"), - related_name=('to_users')) + um_to_user = models.ForeignKey(user_model_label, verbose_name=_("to user"), + related_name=('um_to_users')) latest_message = models.ForeignKey('Message', verbose_name=_("latest message")) @@ -26,15 +26,15 @@ class MessageContact(models.Model): objects = MessageContactManager() class Meta: - unique_together = ('from_user', 'to_user') + unique_together = ('um_from_user', 'um_to_user') ordering = ['latest_message'] verbose_name = _("contact") verbose_name_plural = _("contacts") def __unicode__(self): - return (_("%(from_user)s and %(to_user)s") - % {'from_user': self.from_user.username, - 'to_user': self.to_user.username}) + return (_("%(um_from_user)s and %(um_to_user)s") + % {'um_from_user': self.um_from_user.username, + 'um_to_user': self.um_to_user.username}) def opposite_user(self, user): """ @@ -47,9 +47,9 @@ def opposite_user(self, user): A Django :class:`User`. """ - if self.from_user == user: - return self.to_user - else: return self.from_user + if self.um_from_user == user: + return self.um_to_user + else: return self.um_from_user class MessageRecipient(models.Model): """ @@ -117,11 +117,11 @@ def __unicode__(self): truncated_body = truncate_words(self.body, 10) return "%(truncated_body)s" % {'truncated_body': truncated_body} - def save_recipients(self, to_user_list): + def save_recipients(self, um_to_user_list): """ Save the recipients for this message - :param to_user_list: + :param um_to_user_list: A list which elements are :class:`User` to whom the message is for. :return: @@ -129,17 +129,17 @@ def save_recipients(self, to_user_list): """ created = False - for user in to_user_list: + for user in um_to_user_list: MessageRecipient.objects.create(user=user, message=self) created = True return created - def update_contacts(self, to_user_list): + def update_contacts(self, um_to_user_list): """ Updates the contacts that are used for this message. - :param to_user_list: + :param um_to_user_list: List of Django :class:`User`. :return: @@ -147,7 +147,7 @@ def update_contacts(self, to_user_list): """ updated = False - for user in to_user_list: + for user in um_to_user_list: MessageContact.objects.update_contact(self.sender, user, self) diff --git a/userena/contrib/umessages/templates/umessages/message_list.html b/userena/contrib/umessages/templates/umessages/message_list.html index 97fced9e..ba87d962 100644 --- a/userena/contrib/umessages/templates/umessages/message_list.html +++ b/userena/contrib/umessages/templates/umessages/message_list.html @@ -11,12 +11,12 @@
    {% for message in message_list %}
  • - {% if message.from_user == user %} - {{ message.to_user }} - {% get_unread_message_count_between user and message.to_user as unread_between_count %} + {% if message.um_from_user == user %} + {{ message.um_to_user }} + {% get_unread_message_count_between user and message.um_to_user as unread_between_count %} {% else %} - {{ message.from_user }} - {% get_unread_message_count_between user and message.from_user as unread_between_count %} + {{ message.um_from_user }} + {% get_unread_message_count_between user and message.um_from_user as unread_between_count %} {% endif %} {% blocktrans with message.latest_message as latest_message %}{{ latest_message }} ({{ unread_between_count }} new){% endblocktrans %}
  • diff --git a/userena/contrib/umessages/templatetags/umessages_tags.py b/userena/contrib/umessages/templatetags/umessages_tags.py index a1409409..67b154e0 100644 --- a/userena/contrib/umessages/templatetags/umessages_tags.py +++ b/userena/contrib/umessages/templatetags/umessages_tags.py @@ -7,12 +7,12 @@ register = template.Library() class MessageCount(template.Node): - def __init__(self, from_user, var_name, to_user=None): - self.user = template.Variable(from_user) + def __init__(self, um_from_user, var_name, um_to_user=None): + self.user = template.Variable(um_from_user) self.var_name = var_name - if to_user: - self.to_user = template.Variable(to_user) - else: self.to_user = to_user + if um_to_user: + self.um_to_user = template.Variable(um_to_user) + else: self.um_to_user = um_to_user def render(self, context): try: @@ -20,17 +20,17 @@ def render(self, context): except template.VariableDoesNotExist: return '' - if not self.to_user: + if not self.um_to_user: message_count = MessageRecipient.objects.count_unread_messages_for(user) else: try: - to_user = self.to_user.resolve(context) + um_to_user = self.um_to_user.resolve(context) except template.VariableDoesNotExist: return '' message_count = MessageRecipient.objects.count_unread_messages_between(user, - to_user) + um_to_user) context[self.var_name] = message_count @@ -81,5 +81,5 @@ def get_unread_message_count_between(parser, token): m = re.search(r'(.*?) and (.*?) as (\w+)', arg) if not m: raise template.TemplateSyntaxError, "%s tag had invalid arguments" % tag_name - from_user, to_user, var_name = m.groups() - return MessageCount(from_user, var_name, to_user) + um_from_user, um_to_user, var_name = m.groups() + return MessageCount(um_from_user, var_name, um_to_user) diff --git a/userena/contrib/umessages/tests/managers.py b/userena/contrib/umessages/tests/managers.py index 13d27c75..b6048f98 100644 --- a/userena/contrib/umessages/tests/managers.py +++ b/userena/contrib/umessages/tests/managers.py @@ -51,6 +51,6 @@ def test_get_contacts_for(self): self.failUnlessEqual(len(contacts), 1) jane = User.objects.get(pk=2) - self.failUnlessEqual(contacts[0].to_user, + self.failUnlessEqual(contacts[0].um_to_user, jane) From bcce02831aeb99e8056ebf0225b192108e95de05 Mon Sep 17 00:00:00 2001 From: Leonardo Gentile Date: Sat, 20 Jul 2013 20:16:50 +0200 Subject: [PATCH 04/14] Changed the Translations - Changed "to_user" in "um_to_user" - Changed "from_user" in "um_from_user" --- userena/locale/bg/LC_MESSAGES/django.po | 6 +++--- userena/locale/de/LC_MESSAGES/django.po | 4 ++-- userena/locale/de_du/LC_MESSAGES/django.po | 4 ++-- userena/locale/el/LC_MESSAGES/django.po | 4 ++-- userena/locale/es/LC_MESSAGES/django.po | 4 ++-- userena/locale/fr/LC_MESSAGES/django.po | 6 +++--- userena/locale/it/LC_MESSAGES/django.po | 4 ++-- userena/locale/nl/LC_MESSAGES/django.po | 4 ++-- userena/locale/pl/LC_MESSAGES/django.po | 4 ++-- userena/locale/pt/LC_MESSAGES/django.po | 2 +- userena/locale/pt_BR/LC_MESSAGES/django.po | 4 ++-- userena/locale/ru/LC_MESSAGES/django.po | 4 ++-- userena/locale/tr/LC_MESSAGES/django.po | 4 ++-- userena/locale/zh_CN/LC_MESSAGES/django.po | 4 ++-- userena/locale/zh_TW/LC_MESSAGES/django.po | 4 ++-- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/userena/locale/bg/LC_MESSAGES/django.po b/userena/locale/bg/LC_MESSAGES/django.po index 2e0902a4..21055a62 100644 --- a/userena/locale/bg/LC_MESSAGES/django.po +++ b/userena/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -283,8 +283,8 @@ msgstr "контакти" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s и %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s и %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/de/LC_MESSAGES/django.po b/userena/locale/de/LC_MESSAGES/django.po index 286e762e..2df38726 100644 --- a/userena/locale/de/LC_MESSAGES/django.po +++ b/userena/locale/de/LC_MESSAGES/django.po @@ -274,8 +274,8 @@ msgstr "Kontakte" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s und %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s und %(um_to_user)s" #: contrib/umessages/models.py:61 #: contrib/umessages/models.py:77 diff --git a/userena/locale/de_du/LC_MESSAGES/django.po b/userena/locale/de_du/LC_MESSAGES/django.po index e93cfb53..1878ed4b 100644 --- a/userena/locale/de_du/LC_MESSAGES/django.po +++ b/userena/locale/de_du/LC_MESSAGES/django.po @@ -288,8 +288,8 @@ msgstr "Kontakte" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s und %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s und %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/el/LC_MESSAGES/django.po b/userena/locale/el/LC_MESSAGES/django.po index 710c2dc8..a3bcd2b4 100644 --- a/userena/locale/el/LC_MESSAGES/django.po +++ b/userena/locale/el/LC_MESSAGES/django.po @@ -268,8 +268,8 @@ msgstr "επαφές" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s και %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s και %(um_to_user)s" #: contrib/umessages/models.py:61 #: contrib/umessages/models.py:77 diff --git a/userena/locale/es/LC_MESSAGES/django.po b/userena/locale/es/LC_MESSAGES/django.po index 54b36ac8..72960c23 100644 --- a/userena/locale/es/LC_MESSAGES/django.po +++ b/userena/locale/es/LC_MESSAGES/django.po @@ -272,8 +272,8 @@ msgstr "contactos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s y %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s y %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/fr/LC_MESSAGES/django.po b/userena/locale/fr/LC_MESSAGES/django.po index b9a04971..d7889114 100644 --- a/userena/locale/fr/LC_MESSAGES/django.po +++ b/userena/locale/fr/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -269,8 +269,8 @@ msgstr "contacts" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s et %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s et %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/it/LC_MESSAGES/django.po b/userena/locale/it/LC_MESSAGES/django.po index e2994de0..1e62baea 100644 --- a/userena/locale/it/LC_MESSAGES/django.po +++ b/userena/locale/it/LC_MESSAGES/django.po @@ -289,8 +289,8 @@ msgstr "contatti" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s e %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s e %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/nl/LC_MESSAGES/django.po b/userena/locale/nl/LC_MESSAGES/django.po index 0b1f0ed3..34ccf132 100644 --- a/userena/locale/nl/LC_MESSAGES/django.po +++ b/userena/locale/nl/LC_MESSAGES/django.po @@ -271,8 +271,8 @@ msgstr "contacten" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s en %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s en %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/pl/LC_MESSAGES/django.po b/userena/locale/pl/LC_MESSAGES/django.po index b5f66f0d..528e087f 100644 --- a/userena/locale/pl/LC_MESSAGES/django.po +++ b/userena/locale/pl/LC_MESSAGES/django.po @@ -272,8 +272,8 @@ msgstr "kontakty" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s i %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s i %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/pt/LC_MESSAGES/django.po b/userena/locale/pt/LC_MESSAGES/django.po index 26fb8cb0..aef4c9f9 100644 --- a/userena/locale/pt/LC_MESSAGES/django.po +++ b/userena/locale/pt/LC_MESSAGES/django.po @@ -265,7 +265,7 @@ msgstr "contactos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" msgstr "" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 diff --git a/userena/locale/pt_BR/LC_MESSAGES/django.po b/userena/locale/pt_BR/LC_MESSAGES/django.po index 316b40f0..a8098eeb 100644 --- a/userena/locale/pt_BR/LC_MESSAGES/django.po +++ b/userena/locale/pt_BR/LC_MESSAGES/django.po @@ -284,8 +284,8 @@ msgstr "contatos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s e %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s e %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/ru/LC_MESSAGES/django.po b/userena/locale/ru/LC_MESSAGES/django.po index 2a08534a..7d81fd90 100644 --- a/userena/locale/ru/LC_MESSAGES/django.po +++ b/userena/locale/ru/LC_MESSAGES/django.po @@ -273,8 +273,8 @@ msgstr "контакты" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s и %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s и %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/tr/LC_MESSAGES/django.po b/userena/locale/tr/LC_MESSAGES/django.po index c1625078..d29922cd 100644 --- a/userena/locale/tr/LC_MESSAGES/django.po +++ b/userena/locale/tr/LC_MESSAGES/django.po @@ -275,8 +275,8 @@ msgstr "bağlantılar" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s ve %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s ve %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/zh_CN/LC_MESSAGES/django.po b/userena/locale/zh_CN/LC_MESSAGES/django.po index db12c6e7..b1636d84 100644 --- a/userena/locale/zh_CN/LC_MESSAGES/django.po +++ b/userena/locale/zh_CN/LC_MESSAGES/django.po @@ -271,8 +271,8 @@ msgstr "联系人" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s 和 %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s 和 %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/zh_TW/LC_MESSAGES/django.po b/userena/locale/zh_TW/LC_MESSAGES/django.po index a88ad19b..1bf4fa3e 100644 --- a/userena/locale/zh_TW/LC_MESSAGES/django.po +++ b/userena/locale/zh_TW/LC_MESSAGES/django.po @@ -266,8 +266,8 @@ msgstr "聯絡" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s 及 %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s 及 %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" From eac1b4e2d9e75d1fd93d938db27f2571e8791014 Mon Sep 17 00:00:00 2001 From: Leonardo Gentile Date: Sat, 20 Jul 2013 20:29:45 +0200 Subject: [PATCH 05/14] Updated the relationships name in umessages - Updated "to_user" in "um_user_to" - Updated "from_user" in "um_from_user" --- .../contrib/umessages/fixtures/messages.json | 48 +++++++++---------- userena/contrib/umessages/forms.py | 4 +- userena/contrib/umessages/managers.py | 42 ++++++++-------- .../umessages/migrations/0001_initial.py | 22 ++++----- userena/contrib/umessages/models.py | 34 ++++++------- .../templates/umessages/message_list.html | 10 ++-- .../umessages/templatetags/umessages_tags.py | 20 ++++---- userena/contrib/umessages/tests/managers.py | 2 +- 8 files changed, 91 insertions(+), 91 deletions(-) diff --git a/userena/contrib/umessages/fixtures/messages.json b/userena/contrib/umessages/fixtures/messages.json index 2b235ca9..0e820218 100644 --- a/userena/contrib/umessages/fixtures/messages.json +++ b/userena/contrib/umessages/fixtures/messages.json @@ -1,41 +1,41 @@ [ { - "pk": 1, - "model": "umessages.message", + "pk": 1, + "model": "umessages.message", "fields": { - "body": "Hello from your friend", - "sender_deleted_at": null, - "sent_at": "2010-01-01T12:00:00.019Z", + "body": "Hello from your friend", + "sender_deleted_at": null, + "sent_at": "2010-01-01T12:00:00.019Z", "sender": 1 } - }, + }, { - "pk": 2, - "model": "umessages.message", + "pk": 2, + "model": "umessages.message", "fields": { - "body": "Hello from your mother", - "sender_deleted_at": "2010-01-01T12:00:00.019Z", - "sent_at": "2010-01-01T12:00:00.019Z", + "body": "Hello from your mother", + "sender_deleted_at": "2010-01-01T12:00:00.019Z", + "sent_at": "2010-01-01T12:00:00.019Z", "sender": 2 } - }, + }, { - "pk": 1, - "model": "umessages.messagerecipient", + "pk": 1, + "model": "umessages.messagerecipient", "fields": { - "message": 1, - "read_at": null, - "deleted_at": null, + "message": 1, + "read_at": null, + "deleted_at": null, "user": 2 } }, { - "pk": 2, - "model": "umessages.messagerecipient", + "pk": 2, + "model": "umessages.messagerecipient", "fields": { - "message": 2, - "read_at": "2010-01-01T12:00:00.019Z", - "deleted_at": null, + "message": 2, + "read_at": "2010-01-01T12:00:00.019Z", + "deleted_at": null, "user": 1 } }, @@ -43,8 +43,8 @@ "pk": 1, "model": "umessages.messagecontact", "fields": { - "from_user": 1, - "to_user": 2, + "um_from_user": 1, + "um_to_user": 2, "latest_message": 2 } } diff --git a/userena/contrib/umessages/forms.py b/userena/contrib/umessages/forms.py index 8ffb7e0e..e1a963f2 100644 --- a/userena/contrib/umessages/forms.py +++ b/userena/contrib/umessages/forms.py @@ -25,11 +25,11 @@ def save(self, sender): :return: The saved :class:`Message`. """ - to_user_list = self.cleaned_data['to'] + um_to_user_list = self.cleaned_data['to'] body = self.cleaned_data['body'] msg = Message.objects.send_message(sender, - to_user_list, + um_to_user_list, body) return msg diff --git a/userena/contrib/umessages/managers.py b/userena/contrib/umessages/managers.py index fb957f69..6dcaaca5 100644 --- a/userena/contrib/umessages/managers.py +++ b/userena/contrib/umessages/managers.py @@ -8,7 +8,7 @@ class MessageContactManager(models.Manager): """ Manager for the :class:`MessageContact` model """ - def get_or_create(self, from_user, to_user, message): + def get_or_create(self, um_from_user, um_to_user, message): """ Get or create a Contact @@ -18,21 +18,21 @@ def get_or_create(self, from_user, to_user, message): """ created = False try: - contact = self.get(Q(from_user=from_user, to_user=to_user) | - Q(from_user=to_user, to_user=from_user)) + contact = self.get(Q(um_from_user=um_from_user, um_to_user=um_to_user) | + Q(um_from_user=um_to_user, um_to_user=um_from_user)) except self.model.DoesNotExist: created = True - contact = self.create(from_user=from_user, - to_user=to_user, + contact = self.create(um_from_user=um_from_user, + um_to_user=um_to_user, latest_message=message) return (contact, created) - def update_contact(self, from_user, to_user, message): + def update_contact(self, um_from_user, um_to_user, message): """ Get or update a contacts information """ - contact, created = self.get_or_create(from_user, - to_user, + contact, created = self.get_or_create(um_from_user, + um_to_user, message) # If the contact already existed, update the message @@ -52,20 +52,20 @@ def get_contacts_for(self, user): The :class:`User` which to get the contacts for. """ - contacts = self.filter(Q(from_user=user) | Q(to_user=user)) + contacts = self.filter(Q(um_from_user=user) | Q(um_to_user=user)) return contacts class MessageManager(models.Manager): """ Manager for the :class:`Message` model. """ - def send_message(self, sender, to_user_list, body): + def send_message(self, sender, um_to_user_list, body): """ Send a message from a user, to a user. :param sender: The :class:`User` which sends the message. - :param to_user_list: + :param um_to_user_list: A list which elements are :class:`User` to whom the message is for. :param message: @@ -77,17 +77,17 @@ def send_message(self, sender, to_user_list, body): msg.save() # Save the recipients - msg.save_recipients(to_user_list) - msg.update_contacts(to_user_list) + msg.save_recipients(um_to_user_list) + msg.update_contacts(um_to_user_list) signals.email_sent.send(sender=None,msg=msg) return msg - def get_conversation_between(self, from_user, to_user): + def get_conversation_between(self, um_from_user, um_to_user): """ Returns a conversation between two users """ - messages = self.filter(Q(sender=from_user, recipients=to_user, + messages = self.filter(Q(sender=um_from_user, recipients=um_to_user, sender_deleted_at__isnull=True) | - Q(sender=to_user, recipients=from_user, + Q(sender=um_to_user, recipients=um_from_user, messagerecipient__deleted_at__isnull=True)) return messages @@ -111,22 +111,22 @@ def count_unread_messages_for(self, user): return unread_total - def count_unread_messages_between(self, to_user, from_user): + def count_unread_messages_between(self, um_to_user, um_from_user): """ Returns the amount of unread messages between two users - :param to_user: + :param um_to_user: A Django :class:`User` for who the messages are for. - :param from_user: + :param um_from_user: A Django :class:`User` from whom the messages originate from. :return: An integer with the amount of unread messages. """ - unread_total = self.filter(message__sender=from_user, - user=to_user, + unread_total = self.filter(message__sender=um_from_user, + user=um_to_user, read_at__isnull=True, deleted_at__isnull=True).count() diff --git a/userena/contrib/umessages/migrations/0001_initial.py b/userena/contrib/umessages/migrations/0001_initial.py index 79045055..bf9ea1fc 100644 --- a/userena/contrib/umessages/migrations/0001_initial.py +++ b/userena/contrib/umessages/migrations/0001_initial.py @@ -7,18 +7,18 @@ class Migration(SchemaMigration): def forwards(self, orm): - + # Adding model 'MessageContact' db.create_table('umessages_messagecontact', ( ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('from_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='from_users', to=orm['auth.User'])), - ('to_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='to_users', to=orm['auth.User'])), + ('um_from_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='um_from_users', to=orm['auth.User'])), + ('um_to_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='um_to_users', to=orm['auth.User'])), ('latest_message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['umessages.Message'])), )) db.send_create_signal('umessages', ['MessageContact']) - # Adding unique constraint on 'MessageContact', fields ['from_user', 'to_user'] - db.create_unique('umessages_messagecontact', ['from_user_id', 'to_user_id']) + # Adding unique constraint on 'MessageContact', fields ['um_from_user', 'um_to_user'] + db.create_unique('umessages_messagecontact', ['um_from_user_id', 'um_to_user_id']) # Adding model 'MessageRecipient' db.create_table('umessages_messagerecipient', ( @@ -42,9 +42,9 @@ def forwards(self, orm): def backwards(self, orm): - - # Removing unique constraint on 'MessageContact', fields ['from_user', 'to_user'] - db.delete_unique('umessages_messagecontact', ['from_user_id', 'to_user_id']) + + # Removing unique constraint on 'MessageContact', fields ['um_from_user', 'um_to_user'] + db.delete_unique('umessages_messagecontact', ['um_from_user_id', 'um_to_user_id']) # Deleting model 'MessageContact' db.delete_table('umessages_messagecontact') @@ -103,11 +103,11 @@ def backwards(self, orm): 'sent_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}) }, 'umessages.messagecontact': { - 'Meta': {'ordering': "['latest_message']", 'unique_together': "(('from_user', 'to_user'),)", 'object_name': 'MessageContact'}, - 'from_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'from_users'", 'to': "orm['auth.User']"}), + 'Meta': {'ordering': "['latest_message']", 'unique_together': "(('um_from_user', 'um_to_user'),)", 'object_name': 'MessageContact'}, + 'um_from_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'um_from_users'", 'to': "orm['auth.User']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'latest_message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['umessages.Message']"}), - 'to_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'to_users'", 'to': "orm['auth.User']"}) + 'um_to_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'um_to_users'", 'to': "orm['auth.User']"}) }, 'umessages.messagerecipient': { 'Meta': {'object_name': 'MessageRecipient'}, diff --git a/userena/contrib/umessages/models.py b/userena/contrib/umessages/models.py index f9d43849..5d854916 100644 --- a/userena/contrib/umessages/models.py +++ b/userena/contrib/umessages/models.py @@ -14,11 +14,11 @@ class MessageContact(models.Model): received a message from. """ - from_user = models.ForeignKey(user_model_label, verbose_name=_("from user"), - related_name=('from_users')) + um_from_user = models.ForeignKey(user_model_label, verbose_name=_("from user"), + related_name=('um_from_users')) - to_user = models.ForeignKey(user_model_label, verbose_name=_("to user"), - related_name=('to_users')) + um_to_user = models.ForeignKey(user_model_label, verbose_name=_("to user"), + related_name=('um_to_users')) latest_message = models.ForeignKey('Message', verbose_name=_("latest message")) @@ -26,15 +26,15 @@ class MessageContact(models.Model): objects = MessageContactManager() class Meta: - unique_together = ('from_user', 'to_user') + unique_together = ('um_from_user', 'um_to_user') ordering = ['latest_message'] verbose_name = _("contact") verbose_name_plural = _("contacts") def __unicode__(self): - return (_("%(from_user)s and %(to_user)s") - % {'from_user': self.from_user.username, - 'to_user': self.to_user.username}) + return (_("%(um_from_user)s and %(um_to_user)s") + % {'um_from_user': self.um_from_user.username, + 'um_to_user': self.um_to_user.username}) def opposite_user(self, user): """ @@ -47,9 +47,9 @@ def opposite_user(self, user): A Django :class:`User`. """ - if self.from_user == user: - return self.to_user - else: return self.from_user + if self.um_from_user == user: + return self.um_to_user + else: return self.um_from_user class MessageRecipient(models.Model): """ @@ -117,11 +117,11 @@ def __unicode__(self): truncated_body = truncate_words(self.body, 10) return "%(truncated_body)s" % {'truncated_body': truncated_body} - def save_recipients(self, to_user_list): + def save_recipients(self, um_to_user_list): """ Save the recipients for this message - :param to_user_list: + :param um_to_user_list: A list which elements are :class:`User` to whom the message is for. :return: @@ -129,17 +129,17 @@ def save_recipients(self, to_user_list): """ created = False - for user in to_user_list: + for user in um_to_user_list: MessageRecipient.objects.create(user=user, message=self) created = True return created - def update_contacts(self, to_user_list): + def update_contacts(self, um_to_user_list): """ Updates the contacts that are used for this message. - :param to_user_list: + :param um_to_user_list: List of Django :class:`User`. :return: @@ -147,7 +147,7 @@ def update_contacts(self, to_user_list): """ updated = False - for user in to_user_list: + for user in um_to_user_list: MessageContact.objects.update_contact(self.sender, user, self) diff --git a/userena/contrib/umessages/templates/umessages/message_list.html b/userena/contrib/umessages/templates/umessages/message_list.html index 97fced9e..ba87d962 100644 --- a/userena/contrib/umessages/templates/umessages/message_list.html +++ b/userena/contrib/umessages/templates/umessages/message_list.html @@ -11,12 +11,12 @@
      {% for message in message_list %}
    • - {% if message.from_user == user %} - {{ message.to_user }} - {% get_unread_message_count_between user and message.to_user as unread_between_count %} + {% if message.um_from_user == user %} + {{ message.um_to_user }} + {% get_unread_message_count_between user and message.um_to_user as unread_between_count %} {% else %} - {{ message.from_user }} - {% get_unread_message_count_between user and message.from_user as unread_between_count %} + {{ message.um_from_user }} + {% get_unread_message_count_between user and message.um_from_user as unread_between_count %} {% endif %} {% blocktrans with message.latest_message as latest_message %}{{ latest_message }} ({{ unread_between_count }} new){% endblocktrans %}
    • diff --git a/userena/contrib/umessages/templatetags/umessages_tags.py b/userena/contrib/umessages/templatetags/umessages_tags.py index a1409409..67b154e0 100644 --- a/userena/contrib/umessages/templatetags/umessages_tags.py +++ b/userena/contrib/umessages/templatetags/umessages_tags.py @@ -7,12 +7,12 @@ register = template.Library() class MessageCount(template.Node): - def __init__(self, from_user, var_name, to_user=None): - self.user = template.Variable(from_user) + def __init__(self, um_from_user, var_name, um_to_user=None): + self.user = template.Variable(um_from_user) self.var_name = var_name - if to_user: - self.to_user = template.Variable(to_user) - else: self.to_user = to_user + if um_to_user: + self.um_to_user = template.Variable(um_to_user) + else: self.um_to_user = um_to_user def render(self, context): try: @@ -20,17 +20,17 @@ def render(self, context): except template.VariableDoesNotExist: return '' - if not self.to_user: + if not self.um_to_user: message_count = MessageRecipient.objects.count_unread_messages_for(user) else: try: - to_user = self.to_user.resolve(context) + um_to_user = self.um_to_user.resolve(context) except template.VariableDoesNotExist: return '' message_count = MessageRecipient.objects.count_unread_messages_between(user, - to_user) + um_to_user) context[self.var_name] = message_count @@ -81,5 +81,5 @@ def get_unread_message_count_between(parser, token): m = re.search(r'(.*?) and (.*?) as (\w+)', arg) if not m: raise template.TemplateSyntaxError, "%s tag had invalid arguments" % tag_name - from_user, to_user, var_name = m.groups() - return MessageCount(from_user, var_name, to_user) + um_from_user, um_to_user, var_name = m.groups() + return MessageCount(um_from_user, var_name, um_to_user) diff --git a/userena/contrib/umessages/tests/managers.py b/userena/contrib/umessages/tests/managers.py index 13d27c75..b6048f98 100644 --- a/userena/contrib/umessages/tests/managers.py +++ b/userena/contrib/umessages/tests/managers.py @@ -51,6 +51,6 @@ def test_get_contacts_for(self): self.failUnlessEqual(len(contacts), 1) jane = User.objects.get(pk=2) - self.failUnlessEqual(contacts[0].to_user, + self.failUnlessEqual(contacts[0].um_to_user, jane) From 5190a721a6f2f8b439cdebf1ee5da3a281e9a25c Mon Sep 17 00:00:00 2001 From: Leonardo Gentile Date: Sat, 20 Jul 2013 20:32:22 +0200 Subject: [PATCH 06/14] Updated the translation files - Updated "to_user" in "um_user_to" - Updated "from_user" in "um_from_user" --- userena/locale/bg/LC_MESSAGES/django.po | 6 +++--- userena/locale/de/LC_MESSAGES/django.po | 4 ++-- userena/locale/de_du/LC_MESSAGES/django.po | 4 ++-- userena/locale/el/LC_MESSAGES/django.po | 4 ++-- userena/locale/es/LC_MESSAGES/django.po | 4 ++-- userena/locale/fr/LC_MESSAGES/django.po | 6 +++--- userena/locale/it/LC_MESSAGES/django.po | 4 ++-- userena/locale/nl/LC_MESSAGES/django.po | 4 ++-- userena/locale/pl/LC_MESSAGES/django.po | 4 ++-- userena/locale/pt/LC_MESSAGES/django.po | 2 +- userena/locale/pt_BR/LC_MESSAGES/django.po | 4 ++-- userena/locale/ru/LC_MESSAGES/django.po | 4 ++-- userena/locale/tr/LC_MESSAGES/django.po | 4 ++-- userena/locale/zh_CN/LC_MESSAGES/django.po | 4 ++-- userena/locale/zh_TW/LC_MESSAGES/django.po | 4 ++-- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/userena/locale/bg/LC_MESSAGES/django.po b/userena/locale/bg/LC_MESSAGES/django.po index 2e0902a4..21055a62 100644 --- a/userena/locale/bg/LC_MESSAGES/django.po +++ b/userena/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -283,8 +283,8 @@ msgstr "контакти" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s и %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s и %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/de/LC_MESSAGES/django.po b/userena/locale/de/LC_MESSAGES/django.po index 286e762e..2df38726 100644 --- a/userena/locale/de/LC_MESSAGES/django.po +++ b/userena/locale/de/LC_MESSAGES/django.po @@ -274,8 +274,8 @@ msgstr "Kontakte" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s und %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s und %(um_to_user)s" #: contrib/umessages/models.py:61 #: contrib/umessages/models.py:77 diff --git a/userena/locale/de_du/LC_MESSAGES/django.po b/userena/locale/de_du/LC_MESSAGES/django.po index e93cfb53..1878ed4b 100644 --- a/userena/locale/de_du/LC_MESSAGES/django.po +++ b/userena/locale/de_du/LC_MESSAGES/django.po @@ -288,8 +288,8 @@ msgstr "Kontakte" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s und %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s und %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/el/LC_MESSAGES/django.po b/userena/locale/el/LC_MESSAGES/django.po index 710c2dc8..a3bcd2b4 100644 --- a/userena/locale/el/LC_MESSAGES/django.po +++ b/userena/locale/el/LC_MESSAGES/django.po @@ -268,8 +268,8 @@ msgstr "επαφές" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s και %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s και %(um_to_user)s" #: contrib/umessages/models.py:61 #: contrib/umessages/models.py:77 diff --git a/userena/locale/es/LC_MESSAGES/django.po b/userena/locale/es/LC_MESSAGES/django.po index 54b36ac8..72960c23 100644 --- a/userena/locale/es/LC_MESSAGES/django.po +++ b/userena/locale/es/LC_MESSAGES/django.po @@ -272,8 +272,8 @@ msgstr "contactos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s y %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s y %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/fr/LC_MESSAGES/django.po b/userena/locale/fr/LC_MESSAGES/django.po index b9a04971..d7889114 100644 --- a/userena/locale/fr/LC_MESSAGES/django.po +++ b/userena/locale/fr/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -269,8 +269,8 @@ msgstr "contacts" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s et %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s et %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/it/LC_MESSAGES/django.po b/userena/locale/it/LC_MESSAGES/django.po index e2994de0..1e62baea 100644 --- a/userena/locale/it/LC_MESSAGES/django.po +++ b/userena/locale/it/LC_MESSAGES/django.po @@ -289,8 +289,8 @@ msgstr "contatti" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s e %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s e %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/nl/LC_MESSAGES/django.po b/userena/locale/nl/LC_MESSAGES/django.po index 0b1f0ed3..34ccf132 100644 --- a/userena/locale/nl/LC_MESSAGES/django.po +++ b/userena/locale/nl/LC_MESSAGES/django.po @@ -271,8 +271,8 @@ msgstr "contacten" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s en %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s en %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/pl/LC_MESSAGES/django.po b/userena/locale/pl/LC_MESSAGES/django.po index b5f66f0d..528e087f 100644 --- a/userena/locale/pl/LC_MESSAGES/django.po +++ b/userena/locale/pl/LC_MESSAGES/django.po @@ -272,8 +272,8 @@ msgstr "kontakty" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s i %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s i %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/pt/LC_MESSAGES/django.po b/userena/locale/pt/LC_MESSAGES/django.po index 26fb8cb0..aef4c9f9 100644 --- a/userena/locale/pt/LC_MESSAGES/django.po +++ b/userena/locale/pt/LC_MESSAGES/django.po @@ -265,7 +265,7 @@ msgstr "contactos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" msgstr "" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 diff --git a/userena/locale/pt_BR/LC_MESSAGES/django.po b/userena/locale/pt_BR/LC_MESSAGES/django.po index 316b40f0..a8098eeb 100644 --- a/userena/locale/pt_BR/LC_MESSAGES/django.po +++ b/userena/locale/pt_BR/LC_MESSAGES/django.po @@ -284,8 +284,8 @@ msgstr "contatos" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s e %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s e %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/ru/LC_MESSAGES/django.po b/userena/locale/ru/LC_MESSAGES/django.po index 2a08534a..7d81fd90 100644 --- a/userena/locale/ru/LC_MESSAGES/django.po +++ b/userena/locale/ru/LC_MESSAGES/django.po @@ -273,8 +273,8 @@ msgstr "контакты" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s и %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s и %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/tr/LC_MESSAGES/django.po b/userena/locale/tr/LC_MESSAGES/django.po index c1625078..d29922cd 100644 --- a/userena/locale/tr/LC_MESSAGES/django.po +++ b/userena/locale/tr/LC_MESSAGES/django.po @@ -275,8 +275,8 @@ msgstr "bağlantılar" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s ve %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s ve %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/zh_CN/LC_MESSAGES/django.po b/userena/locale/zh_CN/LC_MESSAGES/django.po index db12c6e7..b1636d84 100644 --- a/userena/locale/zh_CN/LC_MESSAGES/django.po +++ b/userena/locale/zh_CN/LC_MESSAGES/django.po @@ -271,8 +271,8 @@ msgstr "联系人" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s 和 %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s 和 %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" diff --git a/userena/locale/zh_TW/LC_MESSAGES/django.po b/userena/locale/zh_TW/LC_MESSAGES/django.po index a88ad19b..1bf4fa3e 100644 --- a/userena/locale/zh_TW/LC_MESSAGES/django.po +++ b/userena/locale/zh_TW/LC_MESSAGES/django.po @@ -266,8 +266,8 @@ msgstr "聯絡" #: contrib/umessages/models.py:35 #, python-format -msgid "%(from_user)s and %(to_user)s" -msgstr "%(from_user)s 及 %(to_user)s" +msgid "%(um_from_user)s and %(um_to_user)s" +msgstr "%(um_from_user)s 及 %(um_to_user)s" #: contrib/umessages/models.py:61 contrib/umessages/models.py:77 msgid "recipient" From 15f608e66536e8417c3cb0897ecc53569f954488 Mon Sep 17 00:00:00 2001 From: Basil Shubin Date: Mon, 29 Jul 2013 11:29:35 +0700 Subject: [PATCH 07/14] update ru translation --- userena/locale/ru/LC_MESSAGES/django.mo | Bin 17710 -> 18106 bytes userena/locale/ru/LC_MESSAGES/django.po | 316 ++++++++++++++---------- 2 files changed, 179 insertions(+), 137 deletions(-) diff --git a/userena/locale/ru/LC_MESSAGES/django.mo b/userena/locale/ru/LC_MESSAGES/django.mo index b417d905abcae2a0400e72bf34dd152e28dc78d4..d96a211cab38f104fbc56d0820f1e515e03bde31 100644 GIT binary patch delta 3950 zcmYk;dr(x@0mtzJ_y7bHK>>kq@ex2|T^>R}M0_MZLVVx@GzM8=0~=v6ED+MDo0v2; zF1b@G)9-KhI@3G+_H)j? zckey-Jnr)5vk_1VkY)s zAr9g=ypDI`2&Q1_cw_R>iF0uiMjPWd{Se#ILq7C?{b=DJj^Y01j}+9~mvIt)iN*LmhAy0B zOe^&U%*BhS2LBW3LURj8VHDkOv!^CyJzXX_$!Bn2(Lvh86e+`*<|{Ttj^->N*{$InaxG(EXT-FHNTZHI{F&LpQi! z`zfl6uc2D{57eCa7IlG0uBI`Lw@pSm!K9-eXg1Era?}t$ih97qs391_Li}?I{hvc2 zf#&GMQk;jIunG@h7Ji1B<=rqB(QI0YZVI@FVXgbVR^s0T>kZW}QjH8efA1b1RF ze(a}EPT>~L#*%bn?!{*0Ugm`DZ;@-7Yp6N#J?7#}mX2J5y3TggvOA4x*k4dLTuSRV z;C|Hczhfo(6YnsFKeK|5>DZ3b@F405PUC7kkNlZQbO+ZoC8+vpR71C+p70q|PaHrE z=^@k*9=DIbX&*n0Ia>c8P|%otg&NZl`-GdQ7fFN_zEC{s!WpO=&9LhQcD)pJqbk(0 zTZB4)9qRlB+Xqqi^J22re=h}1s=cTN^rJ3t81==Iwr4Pn`VdaV%cvXv7g-=CiW$ZN zFsZ2TIq<^><`h;?zrmN9u!!ze1D?kW?r)B$famZo{1fWQlctAXxmn0?nL1p7-M9%a zpjJgTGuMf;aS=A61COGH;8SeDYxo^5X96&N%;FsSUoCH>kcHi-1AVA3o5IkK~s`I#CU6Kn-0xs-a!D6Z_GPDO}_{?!c9}fG_KN2MXwab^Q^0$2sJ! zYkrS3-dw>m810}}@FUdmde*9LxE0l7omhhVP!~Rrad^o-eg%2wnEzlECNW-}SnH>7 zmBO#_5j@6gsT8w{So^phb-}T`E!5D-$grDYRL|9;hHe+?2CvzkMGe&@RD*A#&KpN7 zV=>>>UrK?us#$<@upTvw_u)f$6qn<84&H+sZ3l2I^{-LK=h13S-raaF4xx_6mxX`t zw_rW>S1}rIV29SfzV$IXwxL>BR?f|_4psjWkK-8Dkh=5)ZpU-z!iu^4#Nx}i0w+}R zQ;VCC;WyWDJSNTyn~mz3Ld@6w>nOCa<4IhM-(W2|8K_@sKfa8`^TP&l1NHW5e);es z@@GmGgnx9pk+zt(QSXrvd=aA-hKKAG+l!dP{mlpk2d1%jH8x8z9@n5ImkZTpJ5Y1s zX`Fz4NL$Stn2BGYCS@c~q4Q&qm1-uUp11-tun{#UcA#H{{S@?t*X;v8M}6S~OvdY| zIdaQBo_Ke7|8&%O<#v5D>bx%0jrZ952QiiUZ;<(It|HHDlJ24ZbznU+>kjO&-G>_M zUtk1AlGjKzIZXDFY@%&Rn9yoCMEM6~713PKHi|q#^dOHBZF>kSo8F@TJ1M+Q)(}mU zC&&>pmfYT^QuwJ|*ym#4?o z<>~NRZ65Dd%j2`$z1uvU0dHn*pfdA9nyb0F)9v$Ftu7y5a(k_&R+qQM-Rv0rHuFs6 zSgz6O_PPS^Sq^`3fwQcjsN5kF2+z3$HNRabSmn>}4tp<|AtBv3Q; zZ-Ie?yusFKd1-@BRNjajyj-<1BKctO#PDuwcyI9C;M>8o!@Gtb556BLtV~L=f+vUf Y1mCrSzY4w+e2;_Y6vtq0^_bEB1Mv^v(*OVf delta 3778 zcmYM%3vg7`0mku@knl``5CSB`uz5&$ZOnrTgn+vwn-H?uNPw6CDhsXw8Uh9oD(E5t zii(0O0`gE$7#sxARRKkmq0(swR79AuOzE^REzICp5vyW-{J*^?_Ke^D&N=t)eVoSz z-(4HG|B1Npg`No;3}qL|Bo&Fq{2g1m@+@haXQ|DN09HBf1+;q zja4VBos4eGKnBr_LtfehkWzeK(9HPi#&z;f)y@W?vU`4J533tOq^LOU=U_oDhwp-%h^ zb)oa9H@b@H_#=8Sji;TC4Oof?QOB>LACnkwU8f1P24u7)KcS{7iQ&@m9;oB# zn2$NAsTq$bl|_JFZRrL_IoyRPg9J1*EHDnGSq{; zgxYRL(S@Jk9{dLH#I3AQE$-_$2nX^Z>#fTMG5%VOyXnvm%tdtJbsUOmgPrzR)T*Cp zU5|Ru53nPCjC#=n&Wr@>u@I*)%UKUrXtSG_^Ts}tMe;s+{nWk4<5$Z zxB+tuoa2X4H#~_Nu`@UfzrqyEWAADgm7tD$ke?JY4aeX@Y{Mx20|$hez{ONL^DA^4 zF2@6S5Ou*>#mqg|q(u8+X z`5l$RsMY)x&cQ@pYdp@!N_@{6&&iW$SEG(^M=jnfSc5sdg^su4C_Ijh_zQN%#^L-0 z#2}u~{y$AcPq>MzJdKA??W&Q+yo$}JA??AQT83E|#4Wf0f5HIX&)rtxhsboBN)}dk zY(tI63RM3dY{t*ALi@jLG%J#hNAPtWz^%BF32Vaa+ZjGwiXOa-db2?^^t%zl&A1pf zH9fqJqmYeYLRf%nQB!aPlkrd3kNcamR5UbSqvreuYBzKl>--VQKy9~1)Z%*pb^b%B z8>~jX;eO1-&rx&#wKahs2c6#s)$hXC8o_WcI-02T##Vd6Dpda_)QS6S`wZ&5%cvXw zV*B$eoWBWW$htL?k$aoRZ2w=7KMUrfHQwh;X||8?kK;f*d5Q4iW*d2u?HX^q4srG|%5TSX#7MYF6W(Li1xcM*Q_ zVnu6NrHzEhEb=VT%sxu)B?Cz|X(sE4_KV6B?!qE>afz#FSZU#iA%(?} zXR_16O+IhEySC0<;dPCxE3K^_GNmry>*^0KSm>VA7HnP65?na1t<+UH+3$A+ytO`8 znXlGc?e};qD(Za`CywFN*5*aQ=8$_*C^)y&<@W}vChN{+e!r(>cEP;1=Kr5l>grls zUF&l, YEAR. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: userena\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-23 14:08+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2013-07-29 11:22+0700\n" +"PO-Revision-Date: 2013-07-29 11:27+0700\n" +"Last-Translator: Basil Shubin \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 1.5.4\n" -#: forms.py:29 +#: forms.py:31 msgid "Username" msgstr "Имя пользователя" -#: forms.py:30 +#: forms.py:32 tests/forms.py:26 msgid "Username must contain only letters, numbers, dots and underscores." msgstr "" -"Имя пользователя должно содержать только буквы, цифры, точки и " -"подчёркивания." +"Имя пользователя должно содержать только буквы, цифры, точки и подчёркивания." -#: forms.py:33 forms.py:153 templates/userena/profile_detail.html:27 +#: forms.py:35 forms.py:162 templates/userena/profile_detail.html:35 msgid "Email" msgstr "Адрес email" -#: forms.py:36 +#: forms.py:38 msgid "Create password" msgstr "Выберите пароль" -#: forms.py:39 +#: forms.py:41 msgid "Repeat password" msgstr "Повторите пароль" -#: forms.py:53 +#: forms.py:56 +msgid "" +"This username is already taken but not confirmed. Please check you email for " +"verification steps." +msgstr "" + +#: forms.py:57 tests/forms.py:41 msgid "This username is already taken." msgstr "Это имя пользователя уже занято." -#: forms.py:55 +#: forms.py:59 tests/forms.py:49 msgid "This username is not allowed." msgstr "Это имя пользователя не разрешено использовать." -#: forms.py:61 forms.py:195 +#: forms.py:66 +msgid "" +"This email is already in use but not confirmed. Please check you email for " +"verification steps." +msgstr "" + +#: forms.py:67 forms.py:204 tests/forms.py:57 msgid "This email is already in use. Please supply a different email." msgstr "Этот email уже занят. Пожалуйста, введите другой." -#: forms.py:73 +#: forms.py:79 tests/forms.py:33 msgid "The two password fields didn't match." msgstr "Введённые пароли не совпадают." -#: forms.py:117 +#: forms.py:123 msgid "I have read and agree to the Terms of Service" msgstr "Я прочитал и согласен c условиями предоставления услуг." -#: forms.py:118 +#: forms.py:124 msgid "You must agree to the terms to register." msgstr "Вы должны согласиться с условиями предоставления услуг." -#: forms.py:131 -#, python-format -msgid "%(label)s" -msgstr "%(label)s" - -#: forms.py:134 +#: forms.py:140 #, python-format msgid "%(error)s" msgstr "%(error)s" -#: forms.py:141 +#: forms.py:147 msgid "Email or username" msgstr "Email или имя пользователя" -#: forms.py:142 +#: forms.py:148 msgid "Either supply us with your email or username." msgstr "Введите email или имя пользователя." -#: forms.py:143 +#: forms.py:149 msgid "Password" msgstr "Пароль" -#: forms.py:147 +#: forms.py:153 forms.py:160 #, python-format msgid "Remember me for %(days)s" msgstr "Запомнить меня на %(days)s" -#: forms.py:154 +#: forms.py:163 msgid "Please supply your email." msgstr "Пожалуйста, введите адрес email." -#: forms.py:169 +#: forms.py:178 msgid "" "Please enter a correct username or email and password. Note that both fields " "are case-sensitive." msgstr "" -"Пожалуйста, введите правильное имя пользователя или email и пароль. " -"Обратите внимание, что оба поля чувствительны к регистру." +"Пожалуйста, введите правильное имя пользователя или email и пароль. Обратите " +"внимание, что оба поля чувствительны к регистру." -#: forms.py:175 templates/userena/email_confirm_complete.html:6 +#: forms.py:184 templates/userena/email_confirm_complete.html:6 msgid "New email" msgstr "Новый адрес email" -#: forms.py:193 +#: forms.py:202 msgid "You're already known under this email." msgstr "Вы уже зарегистрированы под этим адресом email." -#: forms.py:209 +#: forms.py:218 msgid "First name" msgstr "Имя" -#: forms.py:212 +#: forms.py:221 msgid "Last name" msgstr "Фамилия" -#: managers.py:228 +#: managers.py:272 #, python-format msgid "No profile found for %(username)s" msgstr "Не найден профиль для %(username)s" -#: models.py:46 tests/profiles/models.py:18 tests/profiles/models.py:32 +#: models.py:48 tests/profiles/models.py:18 tests/profiles/models.py:32 msgid "user" msgstr "пользователь" -#: models.py:49 +#: models.py:51 msgid "last active" msgstr "последняя активность" -#: models.py:52 +#: models.py:54 msgid "The last date that the user was active." msgstr "Дата последней активности пользователя." -#: models.py:54 +#: models.py:56 msgid "activation key" msgstr "ключ активации" -#: models.py:58 +#: models.py:60 msgid "notification send" msgstr "уведомление послано" -#: models.py:60 +#: models.py:62 msgid "" "Designates whether this user has already got a notification about activating " "their account." @@ -153,84 +158,92 @@ msgstr "" "Указывает было ли этим пользователем уже получено уведомление об активации " "учётной записи." -#: models.py:62 +#: models.py:64 msgid "unconfirmed email address" msgstr "неподтверждённый адрес email" -#: models.py:64 +#: models.py:66 msgid "Temporary email address when the user requests an email change." msgstr "Временный адрес email, используемый при запросе на смену email." -#: models.py:66 +#: models.py:68 msgid "unconfirmed email verification key" msgstr "неподтверждённый email-ключ активации" -#: models.py:70 +#: models.py:72 msgid "creation date of email confirmation key" msgstr "дата создания email-ключа активации" -#: models.py:78 +#: models.py:79 msgid "userena registration" msgstr "регистрация userena" -#: models.py:79 +#: models.py:80 msgid "userena registrations" msgstr "регистрации userena" -#: models.py:201 +#: models.py:204 msgid "Open" msgstr "Открыта" -#: models.py:202 +#: models.py:205 msgid "Registered" msgstr "Зарегистрированные" -#: models.py:203 +#: models.py:206 msgid "Closed" msgstr "Закрыта" -#: models.py:210 +#: models.py:213 msgid "mugshot" msgstr "фото" -#: models.py:214 +#: models.py:217 msgid "A personal image displayed in your profile." msgstr "Личная фотография, отображаемая в профиле." -#: models.py:216 +#: models.py:219 msgid "privacy" msgstr "приватность" -#: models.py:220 +#: models.py:223 msgid "Designates who can view your profile." msgstr "Опредеяет, кто может просматривать ваш профиль." -#: models.py:299 +#: models.py:302 #, python-format msgid "%(first_name)s %(last_name)s" msgstr "%(last_name)s %(first_name)s" -#: models.py:361 +#: models.py:367 msgid "language" msgstr "язык" -#: settings.py:39 +#: settings.py:47 msgid "a month" msgstr "месяц" -#: views.py:136 +#: views.py:199 msgid "Your account has been activated and you have been signed in." msgstr "Ваша учётная запись активирована и вы теперь авторизованы." -#: views.py:296 +#: views.py:299 +msgid "Your email address has been changed." +msgstr "Ваш электронный адрес был изменен." + +#: views.py:410 msgid "You have been signed in." msgstr "Вы теперь авторизованы." -#: views.py:514 +#: views.py:446 +msgid "You have been signed out." +msgstr "Вы вышли" + +#: views.py:644 msgid "Your profile has been updated." msgstr "Ваш профиль обновлён." -#: views.py:554 +#: views.py:689 msgid "You don't have permission to view this profile." msgstr "У вас нет прав для просмотра этого профиля." @@ -238,7 +251,7 @@ msgstr "У вас нет прав для просмотра этого проф msgid "Date/time" msgstr "Дата/время" -#: contrib/umessages/fields.py:56 +#: contrib/umessages/fields.py:57 #, python-format msgid "The following usernames are incorrect: %(users)s." msgstr "Следующие имена пользователей не верны: %(users)s." @@ -321,18 +334,18 @@ msgstr "удалено отправителем" msgid "messages" msgstr "сообщения" -#: contrib/umessages/views.py:178 +#: contrib/umessages/views.py:124 msgid "Message is sent." msgstr "Сообщение отправлено." -#: contrib/umessages/views.py:262 +#: contrib/umessages/views.py:206 msgid "Message is succesfully restored." msgid_plural "Messages are succesfully restored." msgstr[0] "Сообщение успешно восстановлено." msgstr[1] "Сообщения успешно восстановлены." msgstr[2] "Сообщений успешно восстановлены." -#: contrib/umessages/views.py:266 +#: contrib/umessages/views.py:210 msgid "Message is successfully removed." msgid_plural "Messages are successfully removed." msgstr[0] "Сообщение успешно удалено." @@ -350,7 +363,7 @@ msgid "Received on %(sent_at)s" msgstr "Получено %(sent_at)s" #: contrib/umessages/templates/umessages/message_form.html:4 -#: contrib/umessages/templates/umessages/message_list.html:9 +#: contrib/umessages/templates/umessages/message_list.html:10 msgid "Compose" msgstr "Написать" @@ -362,25 +375,27 @@ msgstr "Написать сообщение" msgid "Send" msgstr "Отправить" -#: contrib/umessages/templates/umessages/message_list.html:4 +#: contrib/umessages/templates/umessages/message_list.html:5 msgid "Messages" msgstr "Сообщения" -#: contrib/umessages/templates/umessages/message_list.html:8 +#: contrib/umessages/templates/umessages/message_list.html:9 #, python-format msgid "%(unread_message_count)s new messages." msgstr "%(unread_message_count)s новых сообщений." -#: contrib/umessages/templates/umessages/message_list.html:20 +#: contrib/umessages/templates/umessages/message_list.html:21 #, python-format msgid "%(latest_message)s (%(unread_between_count)s new)" msgstr "%(latest_message)s (%(unread_between_count)s новых)" #: templates/userena/activate_fail.html:4 +#: templates/userena/activate_retry.html:6 msgid "Account activation failed." msgstr "Активация учётной записи не удалась." #: templates/userena/activate_fail.html:5 +#: templates/userena/activate_retry.html:7 msgid "Your account could not be activated..." msgstr "Ваша учётная запись не может быть активирована..." @@ -389,8 +404,8 @@ msgid "" "Your account could not be activated. This could be because your activation " "link has aged." msgstr "" -"Ваша учётная запись не может быть активирована. Возможно, ваш ключ " -"активации устарел." +"Ваша учётная запись не может быть активирована. Возможно, ваш ключ активации " +"устарел." #: templates/userena/activate_fail.html:9 msgid "" @@ -399,6 +414,45 @@ msgstr "" "Пожалуйста, попробуйте войти снова или свяжитесь с нами, если вы думаете, " "что что-то пошло не так." +#: templates/userena/activate_retry.html:10 +msgid "Your account could not be activated because activation link is expired." +msgstr "" +"Ваша учётная запись не может быть активирована. Возможно, ваш ключ активации " +"устарел." + +#: templates/userena/activate_retry.html:11 +msgid "Request a new activation link." +msgstr "" + +#: templates/userena/activate_retry_success.html:6 +msgid "Account re-activation succeded." +msgstr "" + +#: templates/userena/activate_retry_success.html:7 +msgid "Account re-activation" +msgstr "" + +#: templates/userena/activate_retry_success.html:10 +msgid "You requested a new activation of your account.." +msgstr "" + +#: templates/userena/activate_retry_success.html:11 +#: templates/userena/signup_complete.html:12 +msgid "" +"You have been sent an e-mail with an activation link to the supplied email." +msgstr "" +"Email сообщение с инструкциями об активации отправлено на указанный адрес." + +#: templates/userena/activate_retry_success.html:12 +#: templates/userena/signup_complete.html:13 +#, python-format +msgid "" +"We will store your signup information for %(userena_activation_days)s days " +"on our server. " +msgstr "" +"Мы будем хранить регистрационную информация на нашем сервере в течение " +"%(userena_activation_days)s дней." + #: templates/userena/disabled.html:4 msgid "Disabled account" msgstr "Отключённая учётная запись." @@ -467,40 +521,41 @@ msgstr "Невозможно подтвердить ваш email..." msgid "You could try changing it again in your account settings." msgstr "Вы можете попробовать сменить его в настройках учётной записи." -#: templates/userena/email_form.html:4 templates/userena/password_form.html:6 -#: templates/userena/profile_form.html:6 +#: templates/userena/email_form.html:5 templates/userena/password_form.html:7 +#: templates/userena/profile_form.html:7 #, python-format msgid "Account » %(username)s" msgstr "Учётная запись » %(username)s" -#: templates/userena/email_form.html:9 templates/userena/password_form.html:11 -#: templates/userena/profile_detail.html:14 -#: templates/userena/profile_form.html:12 -msgid "View profile" -msgstr "Смотреть профиль" - #: templates/userena/email_form.html:10 #: templates/userena/password_form.html:12 +#: templates/userena/profile_detail.html:16 #: templates/userena/profile_form.html:13 -msgid "Edit profile" -msgstr "Редактировать профиль" +msgid "View profile" +msgstr "Смотреть профиль" -#: templates/userena/email_form.html:11 templates/userena/password_form.html:4 +#: templates/userena/email_form.html:11 #: templates/userena/password_form.html:13 -#: templates/userena/password_form.html:21 -#: templates/userena/profile_detail.html:16 #: templates/userena/profile_form.html:14 -msgid "Change password" -msgstr "Сменить пароль" +msgid "Edit profile" +msgstr "Редактировать профиль" -#: templates/userena/email_form.html:12 templates/userena/email_form.html:19 +#: templates/userena/email_form.html:12 templates/userena/password_form.html:5 #: templates/userena/password_form.html:14 -#: templates/userena/profile_detail.html:17 +#: templates/userena/password_form.html:22 +#: templates/userena/profile_detail.html:18 #: templates/userena/profile_form.html:15 +msgid "Change password" +msgstr "Сменить пароль" + +#: templates/userena/email_form.html:13 templates/userena/email_form.html:20 +#: templates/userena/password_form.html:15 +#: templates/userena/profile_detail.html:19 +#: templates/userena/profile_form.html:16 msgid "Change email" msgstr "Сменить email" -#: templates/userena/email_form.html:16 +#: templates/userena/email_form.html:17 msgid "Change email address" msgstr "Сменить email адрес" @@ -516,19 +571,19 @@ msgstr "Ваш пароль был изменён" msgid "From now on you can use your new password to signin" msgstr "С этого момента вы можете использовать свой новый пароль чтобы войти" -#: templates/userena/password_form.html:17 +#: templates/userena/password_form.html:18 msgid "Change Password" msgstr "Сменить пароль" -#: templates/userena/password_reset_complete.html:4 +#: templates/userena/password_reset_complete.html:5 msgid "Password reset" msgstr "Сброс пароля" -#: templates/userena/password_reset_complete.html:5 +#: templates/userena/password_reset_complete.html:6 msgid "Your password has been reset" msgstr "Ваш пароль был сброшен" -#: templates/userena/password_reset_complete.html:7 +#: templates/userena/password_reset_complete.html:9 #, python-format msgid "" "You can now signin with your new password." @@ -555,67 +610,66 @@ msgstr "Письмо о сбросе пароля отправлено" #: templates/userena/password_reset_done.html:8 msgid "" "An e-mail has been sent to you which explains how to reset your password." -msgstr "" -"Email сообщение с инструкциями о сбросе пароля отправлено." +msgstr "Email сообщение с инструкциями о сбросе пароля отправлено." #: templates/userena/password_reset_form.html:13 msgid "Send password" msgstr "Отправить пароль" -#: templates/userena/profile_detail.html:4 +#: templates/userena/profile_detail.html:5 #, python-format msgid "%(username)s's profile." msgstr "%(username)s: профиль." -#: templates/userena/profile_detail.html:15 +#: templates/userena/profile_detail.html:17 msgid "Edit details" msgstr "Редактировать профиль" -#: templates/userena/profile_detail.html:22 +#: templates/userena/profile_detail.html:27 msgid "Your mugshot" msgstr "Ваше фото" -#: templates/userena/profile_detail.html:24 +#: templates/userena/profile_detail.html:31 msgid "Name" msgstr "Имя" -#: templates/userena/profile_detail.html:30 +#: templates/userena/profile_detail.html:39 msgid "Age" msgstr "Возраст" -#: templates/userena/profile_detail.html:33 +#: templates/userena/profile_detail.html:43 msgid "Website" msgstr "Web-сайт" -#: templates/userena/profile_detail.html:36 +#: templates/userena/profile_detail.html:47 msgid "Location" msgstr "Местоположение" -#: templates/userena/profile_detail.html:39 +#: templates/userena/profile_detail.html:51 msgid "About me" msgstr "Обо мне" -#: templates/userena/profile_form.html:4 +#: templates/userena/profile_form.html:5 msgid "Account setup" msgstr "Настройки учетной записи" -#: templates/userena/profile_form.html:19 +#: templates/userena/profile_form.html:20 msgid "Edit Profile" msgstr "Редактировать профиль" -#: templates/userena/profile_form.html:22 +#: templates/userena/profile_form.html:23 msgid "Save changes" msgstr "Сохранить изменения" -#: templates/userena/profile_list.html:4 +#: templates/userena/profile_list.html:5 msgid "Profiles" msgstr "Профили" -#: templates/userena/profile_list.html:21 +#: templates/userena/profile_list.html:22 msgid "previous" msgstr "предыдущий" -#: templates/userena/profile_list.html:25 +#: templates/userena/profile_list.html:26 #, python-format msgid "" "\n" @@ -626,16 +680,16 @@ msgstr "" " Страница %(page)s из %(num_pages)s\n" " " -#: templates/userena/profile_list.html:31 +#: templates/userena/profile_list.html:32 msgid "next" msgstr "следующая" -#: templates/userena/signin_form.html:4 templates/userena/signin_form.html:10 -#: templates/userena/signin_form.html:28 +#: templates/userena/signin_form.html:5 templates/userena/signin_form.html:11 +#: templates/userena/signin_form.html:29 msgid "Signin" msgstr "Войти" -#: templates/userena/signin_form.html:29 +#: templates/userena/signin_form.html:30 msgid "Forgot your password?" msgstr "Забыли свой пароль?" @@ -657,7 +711,7 @@ msgstr "Регистрация почти завершена!" #: templates/userena/signup_complete.html:6 #: templates/userena/signup_form.html:4 templates/userena/signup_form.html:10 -#: templates/userena/signup_form.html:27 +#: templates/userena/signup_form.html:28 msgid "Signup" msgstr "Регистрация" @@ -665,21 +719,6 @@ msgstr "Регистрация" msgid "Thank you for signing up with us!" msgstr "Спасибо, что зарегистрировались у нас!" -#: templates/userena/signup_complete.html:12 -msgid "" -"You have been sent an e-mail with an activation link to the supplied email." -msgstr "" -"Email сообщение с инструкциями об активации отправлено на указанный адрес." - -#: templates/userena/signup_complete.html:13 -#, python-format -msgid "" -"We will store your signup information for %(userena_activation_days)s days " -"on our server. " -msgstr "" -"Мы будем хранить регистрационную информация на нашем сервере в течение " -"%(userena_activation_days)s дней." - #: templates/userena/signup_complete.html:15 msgid "You can now use the supplied credentials to signin." msgstr "Вы можете использовать указанные данные чтобы войти." @@ -701,14 +740,14 @@ msgid "To activate your account you should click on the link below:" msgstr "Для активации вашей учётной записи перейдите по ссылке ниже:" #: templates/userena/emails/activation_email_message.txt:10 -#: templates/userena/emails/confirmation_email_message_new.txt:11 +#: templates/userena/emails/confirmation_email_message_new.txt:12 #: templates/userena/emails/confirmation_email_message_old.txt:8 #: templates/userena/emails/password_reset_message.txt:14 msgid "Thanks for using our site!" msgstr "Спасибо, что пользуетесь нашим сайтом!" #: templates/userena/emails/activation_email_message.txt:12 -#: templates/userena/emails/confirmation_email_message_new.txt:13 +#: templates/userena/emails/confirmation_email_message_new.txt:14 #: templates/userena/emails/confirmation_email_message_old.txt:10 #: templates/userena/emails/password_reset_message.txt:16 msgid "Sincerely" @@ -797,3 +836,6 @@ msgstr "местоположение" #: tests/profile.py:15 tests/profiles/models.py:27 msgid "about me" msgstr "обо мне" + +#~ msgid "%(label)s" +#~ msgstr "%(label)s" From 773cf4ef3de44e4b2ca4fa6318226c18b21dbd59 Mon Sep 17 00:00:00 2001 From: pfeyz Date: Mon, 29 Jul 2013 10:14:57 -0400 Subject: [PATCH 08/14] fix typo in SignupForm --- userena/forms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/userena/forms.py b/userena/forms.py index 23324ad3..83ed143e 100644 --- a/userena/forms.py +++ b/userena/forms.py @@ -53,7 +53,7 @@ def clean_username(self): pass else: if UserenaSignup.objects.filter(user__username__iexact=self.cleaned_data['username']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): - raise forms.ValidationError(_('This username is already taken but not confirmed. Please check you email for verification steps.')) + raise forms.ValidationError(_('This username is already taken but not confirmed. Please check your email for verification steps.')) raise forms.ValidationError(_('This username is already taken.')) if self.cleaned_data['username'].lower() in userena_settings.USERENA_FORBIDDEN_USERNAMES: raise forms.ValidationError(_('This username is not allowed.')) @@ -63,7 +63,7 @@ def clean_email(self): """ Validate that the e-mail address is unique. """ if get_user_model().objects.filter(email__iexact=self.cleaned_data['email']): if UserenaSignup.objects.filter(user__email__iexact=self.cleaned_data['email']).exclude(activation_key=userena_settings.USERENA_ACTIVATED): - raise forms.ValidationError(_('This email is already in use but not confirmed. Please check you email for verification steps.')) + raise forms.ValidationError(_('This email is already in use but not confirmed. Please check your email for verification steps.')) raise forms.ValidationError(_('This email is already in use. Please supply a different email.')) return self.cleaned_data['email'] From fbba277479fa48464f2cd382058835bbbdb24fa4 Mon Sep 17 00:00:00 2001 From: Petar Radosevic Date: Fri, 2 Aug 2013 12:22:41 +0200 Subject: [PATCH 09/14] Version bump to 1.2.2. --- UPDATES | 5 +++++ userena/__init__.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/UPDATES b/UPDATES index 793a8690..85357b38 100644 --- a/UPDATES +++ b/UPDATES @@ -1,5 +1,10 @@ This file contains all the backwards-incompatible changes. +Version 1.2.2 + +- Changed backwards relationships names for Umessages contrib application from + `to_user` to `um_to_user` and `from_user` to `um_from_user`. + Version 1.2.0 - This version updates Userena to be able to use the new `User` model found in diff --git a/userena/__init__.py b/userena/__init__.py index 0136f324..d8261e62 100644 --- a/userena/__init__.py +++ b/userena/__init__.py @@ -2,7 +2,7 @@ Django accounts management made easy. """ -VERSION = (1, 2, 1) +VERSION = (1, 2, 2) __version__ = '.'.join((str(each) for each in VERSION[:4])) From 973c00784b6173b8f4d7e802edfeb17f81bd61fe Mon Sep 17 00:00:00 2001 From: tepez Date: Thu, 15 Aug 2013 17:01:19 +0300 Subject: [PATCH 10/14] add USERENA_REGISTER_PROFILE and USERENA_REGISTER_USER settings --- userena/settings.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/userena/settings.py b/userena/settings.py index da6e394c..9c042f1b 100644 --- a/userena/settings.py +++ b/userena/settings.py @@ -106,3 +106,7 @@ settings, 'USERENA_PROFILE_LIST_TEMPLATE', 'userena/profile_list.html') USERENA_HIDE_EMAIL = getattr(settings, 'USERENA_HIDE_EMAIL', False) + +USERENA_REGISTER_PROFILE = getattr(settings, 'USERENA_REGISTER_PROFILE', True) + +USERENA_REGISTER_USER = getattr(settings, 'USERENA_REGISTER_USER', True) From 82101b15660960a005c75a887ba5e1af32ba1f4d Mon Sep 17 00:00:00 2001 From: tepez Date: Thu, 15 Aug 2013 17:02:45 +0300 Subject: [PATCH 11/14] conditionally register user and profile --- userena/admin.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/userena/admin.py b/userena/admin.py index 912bb30d..efd7248a 100644 --- a/userena/admin.py +++ b/userena/admin.py @@ -16,10 +16,14 @@ class UserenaAdmin(UserAdmin, GuardedModelAdmin): 'is_staff', 'is_active', 'date_joined') list_filter = ('is_staff', 'is_superuser', 'is_active') -try: - admin.site.unregister(get_user_model()) -except admin.sites.NotRegistered: - pass -admin.site.register(get_user_model(), UserenaAdmin) -admin.site.register(get_profile_model()) +if settings.USERENA_REGISTER_USER: + try: + admin.site.unregister(get_user_model()) + except admin.sites.NotRegistered: + pass + + admin.site.register(get_user_model(), UserenaAdmin) + +if settings.USERENA_REGISTER_PROFILE: + admin.site.register(get_profile_model()) From 6cf316d036c46638a9c2151c6f642af8398481f6 Mon Sep 17 00:00:00 2001 From: Iacopo Spalletti Date: Sun, 18 Aug 2013 13:45:56 +0200 Subject: [PATCH 12/14] Fix for password reset --- userena/urls.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/userena/urls.py b/userena/urls.py index c7d7a2c6..992b4a42 100644 --- a/userena/urls.py +++ b/userena/urls.py @@ -22,7 +22,9 @@ url(r'^password/reset/$', auth_views.password_reset, {'template_name': 'userena/password_reset_form.html', - 'email_template_name': 'userena/emails/password_reset_message.txt'}, + 'email_template_name': 'userena/emails/password_reset_message.txt', + 'extra_context': {'without_username': userena_settings.USERENA_WITHOUT_USERNAMES} + }, name='userena_password_reset'), url(r'^password/reset/done/$', auth_views.password_reset_done, From 4d8e163156a86793b86d7da75cad8fed460b7142 Mon Sep 17 00:00:00 2001 From: art-zhitnik Date: Mon, 19 Aug 2013 09:28:46 +1000 Subject: [PATCH 13/14] More clear message saying to use latin letters only (not cyrillic) --- userena/locale/ru/LC_MESSAGES/django.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/userena/locale/ru/LC_MESSAGES/django.po b/userena/locale/ru/LC_MESSAGES/django.po index 4c6f1d87..a28196d5 100644 --- a/userena/locale/ru/LC_MESSAGES/django.po +++ b/userena/locale/ru/LC_MESSAGES/django.po @@ -25,7 +25,7 @@ msgstr "Имя пользователя" #: forms.py:32 tests/forms.py:26 msgid "Username must contain only letters, numbers, dots and underscores." msgstr "" -"Имя пользователя должно содержать только буквы, цифры, точки и подчёркивания." +"Имя пользователя должно содержать только латинские буквы, цифры, точки и подчёркивания." #: forms.py:35 forms.py:162 templates/userena/profile_detail.html:35 msgid "Email" From 285549ed22d11b129b7b73cbc2ebf482a566d95f Mon Sep 17 00:00:00 2001 From: Petar Radosevic Date: Mon, 19 Aug 2013 08:36:51 +0200 Subject: [PATCH 14/14] Fix `run_tests` command with `django_coverage`. --- demo/demo/settings.py | 2 +- demo/requirements.txt | 3 +++ run_tests | 12 +++--------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/demo/demo/settings.py b/demo/demo/settings.py index f88afb83..403947cf 100644 --- a/demo/demo/settings.py +++ b/demo/demo/settings.py @@ -152,4 +152,4 @@ ANONYMOUS_USER_ID = -1 # Test runner -TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner' +TEST_RUNNER = 'django_coverage.coverage_runner.CoverageRunner' diff --git a/demo/requirements.txt b/demo/requirements.txt index 7f1ca00c..233ee9ac 100644 --- a/demo/requirements.txt +++ b/demo/requirements.txt @@ -15,3 +15,6 @@ South # Userena django-userena + +# Coverage for testing +django_coverage diff --git a/run_tests b/run_tests index ab67147e..12b1aa62 100755 --- a/run_tests +++ b/run_tests @@ -1,20 +1,14 @@ #!/usr/bin/env bash -# TODO: How to tell setup.py to only run some tests. - case $1 in userena ) echo -e "\033[1mRunning tests for userena.\033[0m" - cmd="coverage run demo/manage.py test userena" - report_cmd="coverage report -m userena/*.py userena/management/commands/*.py" + cmd="demo/manage.py test userena" ;; umessages ) echo -e "\033[1mRunning tests for umessages.\033[0m" - cmd="coverage run demo/manage.py test umessages" - report_cmd="coverage report -m userena/contrib/umessages/*.py" + cmd="demo/manage.py test umessages" ;; * ) echo -e "\033[1mRunning all tests.\033[0m" - cmd="coverage run demo/manage.py test userena umessages" - report_cmd="coverage report -m userena/*.py userena/management/commands/*py userena/contrib/umessages/*.py" + cmd="demo/manage.py test userena umessages" esac $cmd -$report_cmd