Doing a sort of catch-up on previous work after returning 2 months later

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-03-21 14:57:14 -04:00
parent 7576242a71
commit 80ad39eb6f
12 changed files with 291 additions and 82 deletions

View File

@@ -1,22 +1,28 @@
from django import forms
from django.contrib.auth import views as auth_views, password_validation
from django.contrib.auth.forms import UsernameField
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.db.models import Q
from django.http import HttpResponseForbidden, HttpResponseRedirect
from django.views.generic import TemplateView
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, UpdateView
from django.views.generic.list import ListView
from django.urls import reverse, reverse_lazy
from django.utils.translation import gettext_lazy as _
from trading.models import User, Commodity, MaxCommodityError
from trading.models import User, Commodity, MaxCommodityError, Tx, TxRequest
class IndexView(LoginRequiredMixin, TemplateView):
template_name = "trading/index.html"
################################################################################
# Commodity views
################################################################################
class CommodityDetailView(DetailView):
template_name = "trading/c/detail.html"
model = Commodity
@@ -43,6 +49,29 @@ class CommodityCreateView(LoginRequiredMixin, CreateView):
return super(CreateView, self).form_valid(form)
################################################################################
# Tx views
################################################################################
class TxRequestDetailView(DetailView):
template_name = "trading/t/detail.html"
model = TxRequest
class TxRequestListView(LoginRequiredMixin, ListView):
template_name = "trading/t/list.html"
model = TxRequest
paginate_by = 100
def get_queryset(self):
user = self.request.user
return TxRequest.objects.filter(Q(source=user) | Q(dest=user)).order_by("-pk")
################################################################################
# User views
################################################################################
class UserProfileView(DetailView):
template_name = "trading/u/profile.html"
model = User
@@ -78,3 +107,4 @@ class UserSettingsView(LoginRequiredMixin, UpdateView):
def get_object(self, queryset=None):
return self.request.user