1. Kevin Veroneau
  2. indie-community

Source

indie-community / gamedb / views.py

Kevin Veroneau 75f5299 
Kevin Veroneau 00cb7a5 
Kevin Veroneau 7c21c72 

Kevin Veroneau 75f5299 


Kevin Veroneau 7c21c72 

















Kevin Veroneau 00cb7a5 







from django.views.generic.detail import DetailView
from gamedb.models import Game, Writer, Artist, Composer
from django.views.generic.list import ListView
from gamedb.forms import FilterForm

class ViewGame(DetailView):
    model = Game

class GameList(ListView):
    model = Game
    def get_context_data(self, **kwargs):
        ctx = super(GameList, self).get_context_data(**kwargs)
        ctx.update({'filter_form':self.filter_form})
        return ctx
    def get_queryset(self):
        qs = super(GameList, self).get_queryset()
        self.filter_form = FilterForm(self.request.GET)
        if self.filter_form.is_valid():
            if 'game_type' in self.request.GET:
                qs=qs.filter(game_type=self.filter_form.cleaned_data['game_type'])
            if 'genre' in self.request.GET:
                qs=qs.filter(genre=self.filter_form.cleaned_data['genre'])
            if 'style' in self.request.GET:
                qs=qs.filter(style=self.filter_form.cleaned_data['style'])
        return qs

class ViewWriter(DetailView):
    model = Writer

class ViewArtist(DetailView):
    model = Artist

class ViewComposer(DetailView):
    model = Composer