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 | 1 | # -*- coding: utf-8 -*- |
| 2 | 2 | |
| 3 | 3 | from haystack import indexes |
| 4 | -# from django.db.models import Count | |
| 5 | - | |
| 6 | -from colab.badger.utils import get_users_counters | |
| 7 | 4 | from .models import User |
| 8 | 5 | |
| 9 | 6 | |
| ... | ... | @@ -26,30 +23,13 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): |
| 26 | 23 | stored=False) |
| 27 | 24 | webpage = indexes.CharField(model_attr='webpage', null=True, stored=False) |
| 28 | 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 | 27 | def get_model(self): |
| 35 | 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 | 30 | def prepare(self, obj): |
| 44 | 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 | 33 | return prepared_data |
| 54 | 34 | |
| 55 | 35 | def prepare_description(self, obj): |
| ... | ... | @@ -63,17 +43,5 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): |
| 63 | 43 | def prepare_type(self, obj): |
| 64 | 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 | 46 | def index_queryset(self, using=None): |
| 79 | 47 | return self.get_model().objects.filter(is_active=True) | ... | ... |
colab/badger/__init__.py
colab/badger/admin.py
| ... | ... | @@ -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 | -# -*- 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 | -# -*- 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 | -# -*- 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 | -# -*- 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 | -# -*- 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 | -# -*- 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 | 126 | msgid "Register" |
| 127 | 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 | 130 | msgid "Messages" |
| 131 | 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 | 134 | msgid "Contributions" |
| 136 | 135 | msgstr "" |
| 137 | 136 | |
| ... | ... | @@ -175,7 +174,7 @@ msgstr "" |
| 175 | 174 | msgid "Participation by Group" |
| 176 | 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 | 178 | msgid "Badges" |
| 180 | 179 | msgstr "" |
| 181 | 180 | |
| ... | ... | @@ -291,87 +290,18 @@ msgstr "" |
| 291 | 290 | msgid "You've changed your password successfully!" |
| 292 | 291 | msgstr "" |
| 293 | 292 | |
| 294 | -#: badger/forms.py:19 badger/models.py:39 settings.py:160 | |
| 293 | +#: settings.py:160 | |
| 295 | 294 | msgid "Image" |
| 296 | 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 | 297 | #: search/templates/search/includes/search_filters.html:122 |
| 336 | 298 | msgid "Ticket" |
| 337 | 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 | 302 | msgid "Type" |
| 349 | 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 | 305 | #: home/context_processors.py:15 |
| 376 | 306 | msgid "Fork me!" |
| 377 | 307 | msgstr "" | ... | ... |
colab/locale/pt_BR/LC_MESSAGES/django.po
| ... | ... | @@ -149,12 +149,11 @@ msgid "Register" |
| 149 | 149 | msgstr "Cadastre-se" |
| 150 | 150 | |
| 151 | 151 | #: colab/accounts/templates/accounts/user_detail.html:8 |
| 152 | -#: colab/badger/models.py:21 | |
| 153 | 152 | msgid "Messages" |
| 154 | 153 | msgstr "Mensagens" |
| 155 | 154 | |
| 156 | 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 | 157 | msgid "Contributions" |
| 159 | 158 | msgstr "Contribuições" |
| 160 | 159 | |
| ... | ... | @@ -199,7 +198,6 @@ msgid "Participation by Group" |
| 199 | 198 | msgstr "Participação por grupo" |
| 200 | 199 | |
| 201 | 200 | #: colab/accounts/templates/accounts/user_detail.html:132 |
| 202 | -#: colab/badger/models.py:69 | |
| 203 | 201 | msgid "Badges" |
| 204 | 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 | 363 | msgid "Your password has been set. You may go ahead and log in now." |
| 366 | 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 | 367 | msgid "Image" |
| 370 | 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 | 370 | #: colab/search/templates/search/includes/search_filters.html:122 |
| 410 | 371 | msgid "Ticket" |
| 411 | 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 | 375 | msgid "Type" |
| 423 | 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 | 378 | #: colab/home/context_processors.py:20 |
| 450 | 379 | msgid "Fork me!" |
| 451 | 380 | msgstr "Fork me!" | ... | ... |