Commit bdbb7a9314e9b6fc525151fd7c156c4c703424ae
Committed by
Luciano Prestes
1 parent
6f10e8f3
Exists in
master
and in
31 other branches
Removing badger from colab
Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Lucas Moura <lucas.moura128@gmail.com> Signed-off-by: Gust <darksshades@hotmail.com>
Showing
17 changed files
with
8 additions
and
522 deletions
Show diff stats
colab/accounts/search_indexes.py
| 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | from haystack import indexes | 3 | from haystack import indexes |
| 4 | -# from django.db.models import Count | ||
| 5 | - | ||
| 6 | -from colab.badger.utils import get_users_counters | ||
| 7 | from .models import User | 4 | from .models import User |
| 8 | 5 | ||
| 9 | 6 | ||
| @@ -26,30 +23,13 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): | @@ -26,30 +23,13 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): | ||
| 26 | stored=False) | 23 | stored=False) |
| 27 | webpage = indexes.CharField(model_attr='webpage', null=True, stored=False) | 24 | webpage = indexes.CharField(model_attr='webpage', null=True, stored=False) |
| 28 | message_count = indexes.IntegerField(stored=False) | 25 | message_count = indexes.IntegerField(stored=False) |
| 29 | - # changeset_count = indexes.IntegerField(stored=False) | ||
| 30 | - # ticket_count = indexes.IntegerField(stored=False) | ||
| 31 | - # wiki_count = indexes.IntegerField(stored=False) | ||
| 32 | - contribution_count = indexes.IntegerField(stored=False) | ||
| 33 | 26 | ||
| 34 | def get_model(self): | 27 | def get_model(self): |
| 35 | return User | 28 | return User |
| 36 | 29 | ||
| 37 | - @property | ||
| 38 | - def badge_counters(self): | ||
| 39 | - if not hasattr(self, '_badge_counters'): | ||
| 40 | - self._badge_counters = get_users_counters() | ||
| 41 | - return self._badge_counters | ||
| 42 | - | ||
| 43 | def prepare(self, obj): | 30 | def prepare(self, obj): |
| 44 | prepared_data = super(UserIndex, self).prepare(obj) | 31 | prepared_data = super(UserIndex, self).prepare(obj) |
| 45 | 32 | ||
| 46 | - prepared_data['contribution_count'] = sum(( | ||
| 47 | - self.prepared_data['message_count'], | ||
| 48 | - # self.prepared_data['changeset_count'], | ||
| 49 | - # self.prepared_data['ticket_count'], | ||
| 50 | - # self.prepared_data['wiki_count'] | ||
| 51 | - )) | ||
| 52 | - | ||
| 53 | return prepared_data | 33 | return prepared_data |
| 54 | 34 | ||
| 55 | def prepare_description(self, obj): | 35 | def prepare_description(self, obj): |
| @@ -63,17 +43,5 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): | @@ -63,17 +43,5 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): | ||
| 63 | def prepare_type(self, obj): | 43 | def prepare_type(self, obj): |
| 64 | return u'user' | 44 | return u'user' |
| 65 | 45 | ||
| 66 | - def prepare_message_count(self, obj): | ||
| 67 | - return self.badge_counters[obj.username]['messages'] | ||
| 68 | - | ||
| 69 | - # def prepare_changeset_count(self, obj): | ||
| 70 | - # return self.badge_counters[obj.username]['revisions'] | ||
| 71 | - | ||
| 72 | - # def prepare_ticket_count(self, obj): | ||
| 73 | - # return self.badge_counters[obj.username]['tickets'] | ||
| 74 | - | ||
| 75 | - # def prepare_wiki_count(self, obj): | ||
| 76 | - # return self.badge_counters[obj.username]['wikis'] | ||
| 77 | - | ||
| 78 | def index_queryset(self, using=None): | 46 | def index_queryset(self, using=None): |
| 79 | return self.get_model().objects.filter(is_active=True) | 47 | return self.get_model().objects.filter(is_active=True) |
colab/badger/__init__.py
colab/badger/admin.py
| @@ -1,20 +0,0 @@ | @@ -1,20 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django.contrib import admin | ||
| 4 | - | ||
| 5 | -from .forms import BadgeForm | ||
| 6 | -from .models import Badge, BadgeI18N | ||
| 7 | - | ||
| 8 | - | ||
| 9 | -class BadgeI18NInline(admin.TabularInline): | ||
| 10 | - model = BadgeI18N | ||
| 11 | - | ||
| 12 | - | ||
| 13 | -class BadgeAdmin(admin.ModelAdmin): | ||
| 14 | - form = BadgeForm | ||
| 15 | - inlines = [BadgeI18NInline, ] | ||
| 16 | - list_display = ['title', 'description', 'order'] | ||
| 17 | - list_editable = ['order', ] | ||
| 18 | - | ||
| 19 | - | ||
| 20 | -admin.site.register(Badge, BadgeAdmin) |
colab/badger/forms.py
| @@ -1,46 +0,0 @@ | @@ -1,46 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django import forms | ||
| 4 | -from django.utils.translation import ugettext_lazy as _ | ||
| 5 | - | ||
| 6 | -from PIL import Image | ||
| 7 | - | ||
| 8 | -from .models import Badge | ||
| 9 | - | ||
| 10 | -try: | ||
| 11 | - from cStringIO import StringIO | ||
| 12 | -except ImportError: | ||
| 13 | - from StringIO import StringIO | ||
| 14 | - | ||
| 15 | - | ||
| 16 | -class BadgeForm(forms.ModelForm): | ||
| 17 | - image = forms.ImageField(label=_(u'Image'), required=False) | ||
| 18 | - | ||
| 19 | - class Meta: | ||
| 20 | - model = Badge | ||
| 21 | - fields = ( | ||
| 22 | - 'title', 'description', 'image', 'user_attr', 'comparison', | ||
| 23 | - 'value', 'awardees' | ||
| 24 | - ) | ||
| 25 | - | ||
| 26 | - def clean_image(self): | ||
| 27 | - if not self.instance.pk and not self.cleaned_data['image']: | ||
| 28 | - raise forms.ValidationError(_(u'You must add an Image')) | ||
| 29 | - return self.cleaned_data['image'] | ||
| 30 | - | ||
| 31 | - def save(self, commit=True): | ||
| 32 | - | ||
| 33 | - instance = super(BadgeForm, self).save(commit=False) | ||
| 34 | - | ||
| 35 | - if self.cleaned_data['image']: | ||
| 36 | - img = Image.open(self.cleaned_data['image']) | ||
| 37 | - img = img.resize((50, 50), Image.ANTIALIAS) | ||
| 38 | - f = StringIO() | ||
| 39 | - img.save(f, 'png') | ||
| 40 | - instance.image_base64 = f.getvalue().encode('base64') | ||
| 41 | - f.close() | ||
| 42 | - | ||
| 43 | - if commit: | ||
| 44 | - instance.save() | ||
| 45 | - | ||
| 46 | - return instance |
colab/badger/management/__init__.py
colab/badger/management/commands/__init__.py
colab/badger/management/commands/rebuild_badges.py
| @@ -1,44 +0,0 @@ | @@ -1,44 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django.core.management.base import BaseCommand | ||
| 4 | -from haystack.query import SearchQuerySet | ||
| 5 | - | ||
| 6 | -from colab.accounts.models import User | ||
| 7 | -from colab.badger.models import Badge | ||
| 8 | - | ||
| 9 | - | ||
| 10 | -class Command(BaseCommand): | ||
| 11 | - help = "Rebuild the user's badges." | ||
| 12 | - | ||
| 13 | - def handle(self, *args, **kwargs): | ||
| 14 | - for badge in Badge.objects.filter(type='auto'): | ||
| 15 | - if not badge.comparison: | ||
| 16 | - continue | ||
| 17 | - elif badge.comparison == 'biggest': | ||
| 18 | - order = u'-{}'.format(Badge.USER_ATTR_OPTS[badge.user_attr]) | ||
| 19 | - sqs = SearchQuerySet().filter(type='user') | ||
| 20 | - user = sqs.order_by(order)[0] | ||
| 21 | - badge.awardees.remove(*list(badge.awardees.all())) | ||
| 22 | - badge.awardees.add(User.objects.get(pk=user.pk)) | ||
| 23 | - continue | ||
| 24 | - | ||
| 25 | - comparison = u'__{}'.format(badge.comparison) if badge.comparison \ | ||
| 26 | - is not 'equal' else u'' | ||
| 27 | - | ||
| 28 | - key = u'{}{}'.format( | ||
| 29 | - Badge.USER_ATTR_OPTS[badge.user_attr], | ||
| 30 | - comparison | ||
| 31 | - ) | ||
| 32 | - opts = {key: badge.value} | ||
| 33 | - | ||
| 34 | - sqs = SearchQuerySet().filter( | ||
| 35 | - type='user', | ||
| 36 | - **opts | ||
| 37 | - ) | ||
| 38 | - | ||
| 39 | - # Remove all awardees to make sure that all of then | ||
| 40 | - # still accomplish the necessary to keep the badge | ||
| 41 | - badge.awardees.remove(*list(badge.awardees.all())) | ||
| 42 | - | ||
| 43 | - for user in sqs: | ||
| 44 | - badge.awardees.add(User.objects.get(pk=user.pk)) |
colab/badger/management/commands/update_badges.py
| @@ -1,45 +0,0 @@ | @@ -1,45 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django.core.management.base import BaseCommand | ||
| 4 | -from haystack.query import SearchQuerySet | ||
| 5 | - | ||
| 6 | -from colab.accounts.models import User | ||
| 7 | -from colab.badger.models import Badge | ||
| 8 | - | ||
| 9 | -import logging | ||
| 10 | - | ||
| 11 | - | ||
| 12 | -class Command(BaseCommand): | ||
| 13 | - help = "Update the user's badges" | ||
| 14 | - | ||
| 15 | - def update_badges(self): | ||
| 16 | - for badge in Badge.objects.filter(type='auto'): | ||
| 17 | - if not badge.comparison: | ||
| 18 | - continue | ||
| 19 | - elif badge.comparison == 'biggest': | ||
| 20 | - order = u'-{}'.format(Badge.USER_ATTR_OPTS[badge.user_attr]) | ||
| 21 | - sqs = SearchQuerySet().filter(type='user') | ||
| 22 | - user = sqs.order_by(order)[0] | ||
| 23 | - badge.awardees.add(User.objects.get(pk=user.pk)) | ||
| 24 | - continue | ||
| 25 | - | ||
| 26 | - comparison = u'__{}'.format(badge.comparison) if badge.comparison \ | ||
| 27 | - is not 'equal' else u'' | ||
| 28 | - | ||
| 29 | - key = u'{}{}'.format( | ||
| 30 | - Badge.USER_ATTR_OPTS[badge.user_attr], | ||
| 31 | - comparison | ||
| 32 | - ) | ||
| 33 | - opts = {key: badge.value} | ||
| 34 | - | ||
| 35 | - sqs = SearchQuerySet().filter(type='user', **opts) | ||
| 36 | - | ||
| 37 | - for user in sqs: | ||
| 38 | - badge.awardees.add(User.objects.get(pk=user.pk)) | ||
| 39 | - | ||
| 40 | - def handle(self, *args, **kwargs): | ||
| 41 | - try: | ||
| 42 | - self.update_badges() | ||
| 43 | - except Exception as e: | ||
| 44 | - logging.exception(e) | ||
| 45 | - raise |
colab/badger/migrations/0001_initial.py
| @@ -1,53 +0,0 @@ | @@ -1,53 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | -from __future__ import unicode_literals | ||
| 3 | - | ||
| 4 | -from django.db import models, migrations | ||
| 5 | -from django.conf import settings | ||
| 6 | - | ||
| 7 | - | ||
| 8 | -class Migration(migrations.Migration): | ||
| 9 | - | ||
| 10 | - dependencies = [ | ||
| 11 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||
| 12 | - ] | ||
| 13 | - | ||
| 14 | - operations = [ | ||
| 15 | - migrations.CreateModel( | ||
| 16 | - name='Badge', | ||
| 17 | - fields=[ | ||
| 18 | - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||
| 19 | - ('title', models.CharField(max_length=200, null=True, verbose_name='Title', blank=True)), | ||
| 20 | - ('description', models.CharField(max_length=200, null=True, verbose_name='Description', blank=True)), | ||
| 21 | - ('image_base64', models.TextField(verbose_name='Image')), | ||
| 22 | - ('type', models.CharField(max_length=200, verbose_name='Type', choices=[('auto', 'Automatically'), ('manual', 'Manual')])), | ||
| 23 | - ('user_attr', models.CharField(blank=True, max_length=100, null=True, verbose_name='User attribute', choices=[('messages', 'Messages'), ('contributions', 'Contributions'), ('wikis', 'Wikis'), ('revisions', 'Revisions'), ('tickets', 'Ticket')])), | ||
| 24 | - ('comparison', models.CharField(blank=True, max_length=10, null=True, verbose_name='Comparison', choices=[('gte', 'Greater than or equal'), ('lte', 'less than or equal'), ('equal', 'Equal'), ('biggest', 'Biggest')])), | ||
| 25 | - ('value', models.PositiveSmallIntegerField(null=True, verbose_name='Value', blank=True)), | ||
| 26 | - ('order', models.PositiveSmallIntegerField(default=100, verbose_name='Order')), | ||
| 27 | - ('awardees', models.ManyToManyField(to=settings.AUTH_USER_MODEL, null=True, verbose_name='Awardees', blank=True)), | ||
| 28 | - ], | ||
| 29 | - options={ | ||
| 30 | - 'ordering': ['order'], | ||
| 31 | - 'verbose_name': 'Badge', | ||
| 32 | - 'verbose_name_plural': 'Badges', | ||
| 33 | - }, | ||
| 34 | - bases=(models.Model,), | ||
| 35 | - ), | ||
| 36 | - migrations.CreateModel( | ||
| 37 | - name='BadgeI18N', | ||
| 38 | - fields=[ | ||
| 39 | - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||
| 40 | - ('i18n_language', models.CharField(max_length=10, verbose_name='language', choices=[(b'pt-br', 'Portuguese'), (b'es', 'Spanish')])), | ||
| 41 | - ('title', models.CharField(max_length=200, null=True, verbose_name='Title', blank=True)), | ||
| 42 | - ('description', models.CharField(max_length=200, null=True, verbose_name='Description', blank=True)), | ||
| 43 | - ('i18n_source', models.ForeignKey(related_name=b'translations', editable=False, to='badger.Badge', verbose_name='source')), | ||
| 44 | - ], | ||
| 45 | - options={ | ||
| 46 | - }, | ||
| 47 | - bases=(models.Model,), | ||
| 48 | - ), | ||
| 49 | - migrations.AlterUniqueTogether( | ||
| 50 | - name='badgei18n', | ||
| 51 | - unique_together=set([('i18n_source', 'i18n_language')]), | ||
| 52 | - ), | ||
| 53 | - ] |
colab/badger/migrations/__init__.py
colab/badger/models.py
| @@ -1,83 +0,0 @@ | @@ -1,83 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django.conf import settings | ||
| 4 | -from django.db import models | ||
| 5 | -from django.utils.translation import ugettext_lazy as _ | ||
| 6 | -from i18n_model.models import I18nModel | ||
| 7 | - | ||
| 8 | - | ||
| 9 | -class Badge(models.Model): | ||
| 10 | - COMPARISON_CHOICES = ( | ||
| 11 | - (u'gte', _(u'Greater than or equal')), | ||
| 12 | - (u'lte', _(u'less than or equal')), | ||
| 13 | - (u'equal', _(u'Equal')), | ||
| 14 | - (u'biggest', _(u'Biggest')), | ||
| 15 | - ) | ||
| 16 | - TYPE_CHOICES = ( | ||
| 17 | - (u'auto', _(u'Automatically')), | ||
| 18 | - (u'manual', _(u'Manual')), | ||
| 19 | - ) | ||
| 20 | - USER_ATTR_CHOICES = ( | ||
| 21 | - (u'messages', _(u'Messages')), | ||
| 22 | - (u'contributions', _(u'Contributions')), | ||
| 23 | - (u'wikis', _(u'Wikis')), | ||
| 24 | - (u'revisions', _(u'Revisions')), | ||
| 25 | - (u'tickets', _(u'Ticket')), | ||
| 26 | - ) | ||
| 27 | - USER_ATTR_OPTS = { | ||
| 28 | - u'messages': u'message_count', | ||
| 29 | - u'revisions': u'changeset_count', | ||
| 30 | - u'tickets': u'ticket_count', | ||
| 31 | - u'wikis': u'wiki_count', | ||
| 32 | - u'contributions': u'contribution_count', | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - title = models.CharField(_(u'Title'), max_length=200, blank=True, | ||
| 36 | - null=True) | ||
| 37 | - description = models.CharField(_(u'Description'), max_length=200, | ||
| 38 | - blank=True, null=True) | ||
| 39 | - image_base64 = models.TextField(_(u'Image')) | ||
| 40 | - type = models.CharField(_(u'Type'), max_length=200, choices=TYPE_CHOICES) | ||
| 41 | - user_attr = models.CharField( | ||
| 42 | - _(u'User attribute'), max_length=100, | ||
| 43 | - choices=USER_ATTR_CHOICES, | ||
| 44 | - blank=True, | ||
| 45 | - null=True, | ||
| 46 | - ) | ||
| 47 | - comparison = models.CharField( | ||
| 48 | - _(u'Comparison'), | ||
| 49 | - max_length=10, | ||
| 50 | - choices=COMPARISON_CHOICES, | ||
| 51 | - blank=True, | ||
| 52 | - null=True | ||
| 53 | - ) | ||
| 54 | - value = models.PositiveSmallIntegerField( | ||
| 55 | - _(u'Value'), | ||
| 56 | - blank=True, | ||
| 57 | - null=True | ||
| 58 | - ) | ||
| 59 | - awardees = models.ManyToManyField( | ||
| 60 | - settings.AUTH_USER_MODEL, | ||
| 61 | - verbose_name=_(u'Awardees'), | ||
| 62 | - blank=True, | ||
| 63 | - null=True | ||
| 64 | - ) | ||
| 65 | - order = models.PositiveSmallIntegerField(_(u'Order'), default=100) | ||
| 66 | - | ||
| 67 | - class Meta: | ||
| 68 | - verbose_name = _(u'Badge') | ||
| 69 | - verbose_name_plural = _(u'Badges') | ||
| 70 | - ordering = ['order', ] | ||
| 71 | - | ||
| 72 | - def __unicode__(self): | ||
| 73 | - return u'{} ({}, {})'.format( | ||
| 74 | - self.title, | ||
| 75 | - self.get_user_attr_display(), | ||
| 76 | - self.get_type_display(), | ||
| 77 | - ) | ||
| 78 | - | ||
| 79 | - | ||
| 80 | -class BadgeI18N(I18nModel): | ||
| 81 | - class Meta: | ||
| 82 | - source_model = Badge | ||
| 83 | - translation_fields = ('title', 'description') |
colab/badger/tests.py
colab/badger/utils.py
| @@ -1,41 +0,0 @@ | @@ -1,41 +0,0 @@ | ||
| 1 | -# -*- coding: utf-8 -*- | ||
| 2 | - | ||
| 3 | -from django.db.models import Count | ||
| 4 | - | ||
| 5 | -# from proxy.trac.models import (Ticket, Wiki) | ||
| 6 | -# from proxy.trac.models import (Revision, WikiCollabCount, TicketCollabCount) | ||
| 7 | -from colab.accounts.models import User | ||
| 8 | - | ||
| 9 | - | ||
| 10 | -# def get_wiki_counters(): | ||
| 11 | -# return {author: count for author, count in | ||
| 12 | -# WikiCollabCount.objects.values_list()} | ||
| 13 | - | ||
| 14 | - | ||
| 15 | -# def get_revision_counters(): | ||
| 16 | -# return { | ||
| 17 | -# author: count for author, count in Revision.objects.values_list( | ||
| 18 | -# 'author' | ||
| 19 | -# ).annotate(count=Count('author')) | ||
| 20 | -# } | ||
| 21 | - | ||
| 22 | - | ||
| 23 | -# def get_ticket_counters(): | ||
| 24 | -# return {author: count for author, count in | ||
| 25 | -# TicketCollabCount.objects.values_list()} | ||
| 26 | - | ||
| 27 | - | ||
| 28 | -def get_users_counters(): | ||
| 29 | - # wiki_counters = get_wiki_counters() | ||
| 30 | - # revision_counters = get_revision_counters() | ||
| 31 | - # ticket_counters = get_ticket_counters() | ||
| 32 | - | ||
| 33 | - users_counters = {} | ||
| 34 | - for user in User.objects.annotate(message_count=Count('emails__message')): | ||
| 35 | - users_counters[user.username] = { | ||
| 36 | - 'messages': user.message_count, | ||
| 37 | - # 'wikis': wiki_counters.get(user.username, 0), | ||
| 38 | - # 'revisions': revision_counters.get(user.username, 0), | ||
| 39 | - # 'tickets': ticket_counters.get(user.username, 0), | ||
| 40 | - } | ||
| 41 | - return users_counters |
colab/badger/views.py
colab/locale/en/LC_MESSAGES/django.po
| @@ -126,12 +126,11 @@ msgstr "" | @@ -126,12 +126,11 @@ msgstr "" | ||
| 126 | msgid "Register" | 126 | msgid "Register" |
| 127 | msgstr "" | 127 | msgstr "" |
| 128 | 128 | ||
| 129 | -#: accounts/templates/accounts/user_detail.html:8 badger/models.py:21 | 129 | +#: accounts/templates/accounts/user_detail.html:8 |
| 130 | msgid "Messages" | 130 | msgid "Messages" |
| 131 | msgstr "" | 131 | msgstr "" |
| 132 | 132 | ||
| 133 | -#: accounts/templates/accounts/user_detail.html:9 badger/models.py:22 | ||
| 134 | -#: templates/home.html:7 | 133 | +#: accounts/templates/accounts/user_detail.html:9 |
| 135 | msgid "Contributions" | 134 | msgid "Contributions" |
| 136 | msgstr "" | 135 | msgstr "" |
| 137 | 136 | ||
| @@ -175,7 +174,7 @@ msgstr "" | @@ -175,7 +174,7 @@ msgstr "" | ||
| 175 | msgid "Participation by Group" | 174 | msgid "Participation by Group" |
| 176 | msgstr "" | 175 | msgstr "" |
| 177 | 176 | ||
| 178 | -#: accounts/templates/accounts/user_detail.html:132 badger/models.py:69 | 177 | +#: accounts/templates/accounts/user_detail.html:132 |
| 179 | msgid "Badges" | 178 | msgid "Badges" |
| 180 | msgstr "" | 179 | msgstr "" |
| 181 | 180 | ||
| @@ -291,87 +290,18 @@ msgstr "" | @@ -291,87 +290,18 @@ msgstr "" | ||
| 291 | msgid "You've changed your password successfully!" | 290 | msgid "You've changed your password successfully!" |
| 292 | msgstr "" | 291 | msgstr "" |
| 293 | 292 | ||
| 294 | -#: badger/forms.py:19 badger/models.py:39 settings.py:160 | 293 | +#: settings.py:160 |
| 295 | msgid "Image" | 294 | msgid "Image" |
| 296 | msgstr "" | 295 | msgstr "" |
| 297 | 296 | ||
| 298 | -#: badger/forms.py:30 | ||
| 299 | -msgid "You must add an Image" | ||
| 300 | -msgstr "" | ||
| 301 | - | ||
| 302 | -#: badger/models.py:11 | ||
| 303 | -msgid "Greater than or equal" | ||
| 304 | -msgstr "" | ||
| 305 | - | ||
| 306 | -#: badger/models.py:12 | ||
| 307 | -msgid "less than or equal" | ||
| 308 | -msgstr "" | ||
| 309 | - | ||
| 310 | -#: badger/models.py:13 | ||
| 311 | -msgid "Equal" | ||
| 312 | -msgstr "" | ||
| 313 | - | ||
| 314 | -#: badger/models.py:14 | ||
| 315 | -msgid "Biggest" | ||
| 316 | -msgstr "" | ||
| 317 | - | ||
| 318 | -#: badger/models.py:17 | ||
| 319 | -msgid "Automatically" | ||
| 320 | -msgstr "" | ||
| 321 | - | ||
| 322 | -#: badger/models.py:18 | ||
| 323 | -msgid "Manual" | ||
| 324 | -msgstr "" | ||
| 325 | - | ||
| 326 | -#: badger/models.py:23 | ||
| 327 | -msgid "Wikis" | ||
| 328 | -msgstr "" | ||
| 329 | - | ||
| 330 | -#: badger/models.py:24 | ||
| 331 | -msgid "Revisions" | ||
| 332 | -msgstr "" | ||
| 333 | - | ||
| 334 | -#: badger/models.py:25 | ||
| 335 | #: search/templates/search/includes/search_filters.html:122 | 297 | #: search/templates/search/includes/search_filters.html:122 |
| 336 | msgid "Ticket" | 298 | msgid "Ticket" |
| 337 | msgstr "" | 299 | msgstr "" |
| 338 | 300 | ||
| 339 | -#: badger/models.py:35 | ||
| 340 | -msgid "Title" | ||
| 341 | -msgstr "" | ||
| 342 | - | ||
| 343 | -#: badger/models.py:37 | ||
| 344 | -msgid "Description" | ||
| 345 | -msgstr "" | ||
| 346 | - | ||
| 347 | -#: badger/models.py:40 search/forms.py:18 | 301 | +#: search/forms.py:18 |
| 348 | msgid "Type" | 302 | msgid "Type" |
| 349 | msgstr "" | 303 | msgstr "" |
| 350 | 304 | ||
| 351 | -#: badger/models.py:42 | ||
| 352 | -msgid "User attribute" | ||
| 353 | -msgstr "" | ||
| 354 | - | ||
| 355 | -#: badger/models.py:48 | ||
| 356 | -msgid "Comparison" | ||
| 357 | -msgstr "" | ||
| 358 | - | ||
| 359 | -#: badger/models.py:55 | ||
| 360 | -msgid "Value" | ||
| 361 | -msgstr "" | ||
| 362 | - | ||
| 363 | -#: badger/models.py:61 | ||
| 364 | -msgid "Awardees" | ||
| 365 | -msgstr "" | ||
| 366 | - | ||
| 367 | -#: badger/models.py:65 | ||
| 368 | -msgid "Order" | ||
| 369 | -msgstr "" | ||
| 370 | - | ||
| 371 | -#: badger/models.py:68 | ||
| 372 | -msgid "Badge" | ||
| 373 | -msgstr "" | ||
| 374 | - | ||
| 375 | #: home/context_processors.py:15 | 305 | #: home/context_processors.py:15 |
| 376 | msgid "Fork me!" | 306 | msgid "Fork me!" |
| 377 | msgstr "" | 307 | msgstr "" |
colab/locale/pt_BR/LC_MESSAGES/django.po
| @@ -149,12 +149,11 @@ msgid "Register" | @@ -149,12 +149,11 @@ msgid "Register" | ||
| 149 | msgstr "Cadastre-se" | 149 | msgstr "Cadastre-se" |
| 150 | 150 | ||
| 151 | #: colab/accounts/templates/accounts/user_detail.html:8 | 151 | #: colab/accounts/templates/accounts/user_detail.html:8 |
| 152 | -#: colab/badger/models.py:21 | ||
| 153 | msgid "Messages" | 152 | msgid "Messages" |
| 154 | msgstr "Mensagens" | 153 | msgstr "Mensagens" |
| 155 | 154 | ||
| 156 | #: colab/accounts/templates/accounts/user_detail.html:9 | 155 | #: colab/accounts/templates/accounts/user_detail.html:9 |
| 157 | -#: colab/badger/models.py:22 colab/templates/home.html:7 | 156 | +#: colab/templates/home.html:7 |
| 158 | msgid "Contributions" | 157 | msgid "Contributions" |
| 159 | msgstr "Contribuições" | 158 | msgstr "Contribuições" |
| 160 | 159 | ||
| @@ -199,7 +198,6 @@ msgid "Participation by Group" | @@ -199,7 +198,6 @@ msgid "Participation by Group" | ||
| 199 | msgstr "Participação por grupo" | 198 | msgstr "Participação por grupo" |
| 200 | 199 | ||
| 201 | #: colab/accounts/templates/accounts/user_detail.html:132 | 200 | #: colab/accounts/templates/accounts/user_detail.html:132 |
| 202 | -#: colab/badger/models.py:69 | ||
| 203 | msgid "Badges" | 201 | msgid "Badges" |
| 204 | msgstr "Medalhas" | 202 | msgstr "Medalhas" |
| 205 | 203 | ||
| @@ -365,87 +363,18 @@ msgstr "Nos enviamos o email com as intruções para mudança de senha. Em breve | @@ -365,87 +363,18 @@ msgstr "Nos enviamos o email com as intruções para mudança de senha. Em breve | ||
| 365 | msgid "Your password has been set. You may go ahead and log in now." | 363 | msgid "Your password has been set. You may go ahead and log in now." |
| 366 | msgstr "Sua senha foi redefinida. Você pode prosseguir e autenticar agora." | 364 | msgstr "Sua senha foi redefinida. Você pode prosseguir e autenticar agora." |
| 367 | 365 | ||
| 368 | -#: colab/badger/forms.py:19 colab/badger/models.py:39 colab/settings.py:160 | 366 | +#: colab/settings.py:160 |
| 369 | msgid "Image" | 367 | msgid "Image" |
| 370 | msgstr "Imagem" | 368 | msgstr "Imagem" |
| 371 | 369 | ||
| 372 | -#: colab/badger/forms.py:30 | ||
| 373 | -msgid "You must add an Image" | ||
| 374 | -msgstr "Você deve adicionar uma imagem" | ||
| 375 | - | ||
| 376 | -#: colab/badger/models.py:11 | ||
| 377 | -msgid "Greater than or equal" | ||
| 378 | -msgstr "Maior que ou igual" | ||
| 379 | - | ||
| 380 | -#: colab/badger/models.py:12 | ||
| 381 | -msgid "less than or equal" | ||
| 382 | -msgstr "menor que ou igual" | ||
| 383 | - | ||
| 384 | -#: colab/badger/models.py:13 | ||
| 385 | -msgid "Equal" | ||
| 386 | -msgstr "Igual" | ||
| 387 | - | ||
| 388 | -#: colab/badger/models.py:14 | ||
| 389 | -msgid "Biggest" | ||
| 390 | -msgstr "Maior" | ||
| 391 | - | ||
| 392 | -#: colab/badger/models.py:17 | ||
| 393 | -msgid "Automatically" | ||
| 394 | -msgstr "Automaticamente" | ||
| 395 | - | ||
| 396 | -#: colab/badger/models.py:18 | ||
| 397 | -msgid "Manual" | ||
| 398 | -msgstr "Manual" | ||
| 399 | - | ||
| 400 | -#: colab/badger/models.py:23 | ||
| 401 | -msgid "Wikis" | ||
| 402 | -msgstr "Wikis" | ||
| 403 | - | ||
| 404 | -#: colab/badger/models.py:24 | ||
| 405 | -msgid "Revisions" | ||
| 406 | -msgstr "Conjunto de mudanças" | ||
| 407 | - | ||
| 408 | -#: colab/badger/models.py:25 | ||
| 409 | #: colab/search/templates/search/includes/search_filters.html:122 | 370 | #: colab/search/templates/search/includes/search_filters.html:122 |
| 410 | msgid "Ticket" | 371 | msgid "Ticket" |
| 411 | msgstr "Tíquetes" | 372 | msgstr "Tíquetes" |
| 412 | 373 | ||
| 413 | -#: colab/badger/models.py:35 | ||
| 414 | -msgid "Title" | ||
| 415 | -msgstr "Título" | ||
| 416 | - | ||
| 417 | -#: colab/badger/models.py:37 | ||
| 418 | -msgid "Description" | ||
| 419 | -msgstr "Descrição" | ||
| 420 | - | ||
| 421 | -#: colab/badger/models.py:40 colab/search/forms.py:18 | 374 | +#: colab/search/forms.py:18 |
| 422 | msgid "Type" | 375 | msgid "Type" |
| 423 | msgstr "Tipo" | 376 | msgstr "Tipo" |
| 424 | 377 | ||
| 425 | -#: colab/badger/models.py:42 | ||
| 426 | -msgid "User attribute" | ||
| 427 | -msgstr "Atributo do usuário" | ||
| 428 | - | ||
| 429 | -#: colab/badger/models.py:48 | ||
| 430 | -msgid "Comparison" | ||
| 431 | -msgstr "Comparação" | ||
| 432 | - | ||
| 433 | -#: colab/badger/models.py:55 | ||
| 434 | -msgid "Value" | ||
| 435 | -msgstr "Valor" | ||
| 436 | - | ||
| 437 | -#: colab/badger/models.py:61 | ||
| 438 | -msgid "Awardees" | ||
| 439 | -msgstr "Premiados" | ||
| 440 | - | ||
| 441 | -#: colab/badger/models.py:65 | ||
| 442 | -msgid "Order" | ||
| 443 | -msgstr "Ordem" | ||
| 444 | - | ||
| 445 | -#: colab/badger/models.py:68 | ||
| 446 | -msgid "Badge" | ||
| 447 | -msgstr "Medalha" | ||
| 448 | - | ||
| 449 | #: colab/home/context_processors.py:20 | 378 | #: colab/home/context_processors.py:20 |
| 450 | msgid "Fork me!" | 379 | msgid "Fork me!" |
| 451 | msgstr "Fork me!" | 380 | msgstr "Fork me!" |