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!" | ... | ... |