from django.shortcuts import render from django.views.generic import View from GeoffreyApp.models import * from django.views import generic from django.db.models import Q # Create your views here. class Home(View): def get(self, request): stats = [] stats.append(("Players", Player.objects.count())) stats.append(("Bases", Base.objects.count())) stats.append(("Shops", Shop.objects.count())) stats.append(("Items for Sale", Player.objects.count())) context = { "stat_list": stats, "current_page": "Home", } return render(request, 'GeoffreyApp/home.html', context=context) class SearchList(View): def get(self, request): context = {} query = request.GET.get('search') context["search"] = query context["player_list"] = Player.objects.filter(Q(name__icontains=query)).all() context["loc_list"] = Location.objects.filter(Q(name__icontains=query) | Q(owner__name__icontains=query)).all() return render(request, 'GeoffreyApp/search.html', context=context) class PlayerList(generic.ListView): model = Player def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['current_page'] = "Players" return context class ShopList(generic.ListView): model = Shop def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['current_page'] = "Shops" return context def get_queryset(self): qs = Shop.objects.all() search = self.request.GET.get('q') if search: qs = qs.filter(Q(name__icontains=search) | Q(owner__name__icontains=search)) return qs class BaseList(generic.ListView): model = Base def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['current_page'] = "Bases" return context class ItemListingList(generic.ListView): model = ItemListing def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['current_page'] = "Item Listings" return context