diff --git a/amiibofindr/apps/amiibo/models.py b/amiibofindr/apps/amiibo/models.py index 2c048d8..fe449af 100644 --- a/amiibofindr/apps/amiibo/models.py +++ b/amiibofindr/apps/amiibo/models.py @@ -50,11 +50,11 @@ class Collection(models.Model): @property def figures(self): - return self.amiibos_qs.filter(type=Amiibo.FIGURE) + return AmiiboFigure.objects.filter(collection_id=self.pk) @property def cards(self): - return self.amiibos_qs.filter(type=Amiibo.CARD) + return AmiiboCard.objects.filter(collection_id=self.pk) @property def name(self): diff --git a/amiibofindr/apps/amiibo/views.py b/amiibofindr/apps/amiibo/views.py index 65d1106..1844fb2 100644 --- a/amiibofindr/apps/amiibo/views.py +++ b/amiibofindr/apps/amiibo/views.py @@ -7,29 +7,34 @@ from django.views.generic.base import View from django.utils.translation import ugettext as _ # amiibo -from amiibofindr.apps.amiibo.models import Collection, Amiibo +from amiibofindr.apps.amiibo.models import ( + Collection, Amiibo, + AmiiboFigure, AmiiboCard +) class HomeModel: def get_absolute_url(self): return reverse('amiibo:collection', args=[_('all')]) + class CollectionView(View): template = 'amiibo/collection.html' type = Amiibo.FIGURE + model = AmiiboFigure def get(self, request, collection='all'): if collection != _('all'): collection = get_object_or_404(Collection, slug=collection) - if self.type == Amiibo.FIGURE: + if self.type == self.model.FIGURE: amiibo_list = collection.figures - elif self.type == Amiibo.CARD: + elif self.type == self.model.CARD: amiibo_list = collection.cards else: amiibo_list = collection.amiibo else: collection = None - amiibo_list = Amiibo.objects.all().order_by('name_eu') + amiibo_list = self.model.objects.all().order_by('name_eu') return render(request, self.template, { 'selected_collection': collection, @@ -40,18 +45,21 @@ class CollectionView(View): class CollectionFigureView(CollectionView): type = Amiibo.FIGURE + model = AmiiboFigure class CollectionCardView(CollectionView): type = Amiibo.CARD + model = AmiiboCard class AmiiboView(View): template = 'amiibo/amiibo.html' type = Amiibo.FIGURE + model = AmiiboFigure def get(self, request, collection=None, amiibo=None): - amiibo_obj = get_object_or_404(Amiibo, + amiibo_obj = get_object_or_404(self.model, slug=amiibo, collection__slug=collection, type=self.type) @@ -64,7 +72,9 @@ class AmiiboView(View): class AmiiboFigureView(AmiiboView): type = Amiibo.FIGURE + model = AmiiboFigure class AmiiboCardView(AmiiboView): type = Amiibo.CARD + model = AmiiboCard diff --git a/amiibofindr/static/less/style.less b/amiibofindr/static/less/style.less index 228a50d..3208bda 100644 --- a/amiibofindr/static/less/style.less +++ b/amiibofindr/static/less/style.less @@ -30,4 +30,8 @@ .navbar { margin-top: 10px !important; +} + +.nowrap { + white-space: nowrap; } \ No newline at end of file diff --git a/amiibofindr/templates/amiibo/widgets/amiibo-card.html b/amiibofindr/templates/amiibo/widgets/amiibo-card.html index fbfc8a5..7224108 100644 --- a/amiibofindr/templates/amiibo/widgets/amiibo-card.html +++ b/amiibofindr/templates/amiibo/widgets/amiibo-card.html @@ -1,32 +1,11 @@ -{% load staticfiles thumbnail %} +{% load staticfiles thumbnail i18n %}