From 0d50a12fd2b101cd92e45483a0934127c8cbd5f5 Mon Sep 17 00:00:00 2001 From: Conrad Date: Mon, 13 Jan 2020 14:48:05 +0100 Subject: [PATCH] Implemented most views --- src/core/urls.py | 8 +++-- src/core/views.py | 75 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 79 insertions(+), 4 deletions(-) diff --git a/src/core/urls.py b/src/core/urls.py index b36a5ee..c5852e3 100644 --- a/src/core/urls.py +++ b/src/core/urls.py @@ -9,7 +9,11 @@ urlpatterns = [ path('offers//refresh', views.offer_refresh, name='offer_refresh'), path('offers/', views.offer_delete, name='offer_delete'), path('offers/create', views.offer_create, name='offer_create'), + path('search/', views.search, name='search'), path('profile/', views.profile, name='profile'), - path('profile//settings', views.profile_settings, name='profile_settings'), - path('search/', views.search, name='search') + path('profile/me', views.me, name='me'), + path('profile/settings', views.me_settings, name='me_settings'), + + path('help', views.help, name='help'), + path('imprint', views.imprint, name='imprint') ] diff --git a/src/core/views.py b/src/core/views.py index 91ea44a..6f6b29b 100644 --- a/src/core/views.py +++ b/src/core/views.py @@ -1,3 +1,74 @@ -from django.shortcuts import render +from .models import Offer, Gamer +from django.shortcuts import render, get_object_or_404, redirect +from django.http import HttpResponseForbidden +from django.contrib.auth.decorators import login_required -# Create your views here. +# STATIC PAGES + + +def help(request): + return render(request, 'core/help.html') + + +def imprint(request): + return render(request, 'core/imprint.html') + + +# PUBLIC AREA +def dashboard(request): + return render(request, 'core/dashboard.html') + + +def offer_overview(request): + return render(request, 'core/offer_overview.html', {'offers': Offer.objects.all()}) + + +def offer(request, offerID): + offer = get_object_or_404(Offer, id=offerID) + return render(request, 'code/offer.html', {'offer': offer}) + + +def search(request, filter): + # TODO: Implement + return render(request, 'core/filter.html') + + +# USER AREA +@login_required +def offer_refresh(request, offerID): + offer = get_object_or_404(Offer, id=offerID) + return redirect(offer, offerID=offerID) + + +@login_required +def offer_delete(request, offerID): + offer = get_object_or_404(Offer, id=offerID) + if request.user == offer.offeror.system_user: + offer.delete() + return redirect(dashboard) + else: + return HttpResponseForbidden() + + +@login_required +def offer_create(request): + # TODO: Implement + return render(request, 'core/offer_create.html') + + +@login_required +def profile(request, steamID): + dude = get_object_or_404(Gamer, steamid=steamID) + return render(request, 'core/profile.html', {'gamer': dude}) + + +# PRIVATE AREA +@login_required +def me(request): + return render(request, 'core/profile.html', {'gamer': Gamer.object.get(system_user=request.User)}) + + +@login_required +def me_settings(request): + dude = get_object_or_404(Gamer, system_user=request.User) + return render(request, 'core/settings.html', {'gamer': dude})