HCG1 installation
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.contrib.messages.views import SuccessMessageMixin
|
||||
from django.db import transaction
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse_lazy
|
||||
from django.views.generic import TemplateView, CreateView, FormView, DetailView, DeleteView, UpdateView
|
||||
from django_addanother.views import CreatePopupMixin
|
||||
|
||||
from orders_app.forms import OrderForm, StoreForm, OrderLinesFormSet, CollectionTitleFormSet, CollectionForm
|
||||
from orders_app.models import Order, Store, Collection
|
||||
|
||||
|
||||
class DashboardPageView(LoginRequiredMixin, TemplateView):
|
||||
template_name = "diaxeirisi/Dashboard.Default.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context["active_page"] = 'dashboard'
|
||||
return context
|
||||
|
||||
|
||||
#class CreateOrder(LoginRequiredMixin, SuccessMessageMixin, TemplateView):
|
||||
# model = Order
|
||||
# success_url = '/dx'
|
||||
# success_message = 'H Παραγγελία Καταχωρήθηκε.'
|
||||
# template_name = "diaxeirisi/create_order.html"
|
||||
# fields = [
|
||||
# "customer",
|
||||
## "order_date",
|
||||
# "delivery_date",
|
||||
# "store",
|
||||
# "product"
|
||||
# ]
|
||||
|
||||
class OrderDetailView(DetailView):
|
||||
model = Order
|
||||
template_name = 'orders/order_detail.html'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(OrderDetailView, self).get_context_data(**kwargs)
|
||||
return context
|
||||
|
||||
|
||||
class CreateOrder(LoginRequiredMixin, SuccessMessageMixin, CreatePopupMixin, CreateView):
|
||||
form_class = OrderForm
|
||||
#success_url = '/dx'
|
||||
success_url = None
|
||||
success_message = 'H Παραγγελία Καταχωρήθηκε.'
|
||||
template_name = 'orders/order_create.html'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
data = super(CreateOrder, self).get_context_data(**kwargs)
|
||||
if self.request.POST:
|
||||
data['titles'] = OrderLinesFormSet(self.request.POST)
|
||||
else:
|
||||
data['titles'] = OrderLinesFormSet()
|
||||
return data
|
||||
|
||||
def form_valid(self, form):
|
||||
context = self.get_context_data()
|
||||
titles = context['titles']
|
||||
with transaction.atomic():
|
||||
form.instance.created_by = self.request.user
|
||||
self.object = form.save()
|
||||
if titles.is_valid():
|
||||
titles.instance = self.object
|
||||
titles.save()
|
||||
return super(CreateOrder, self).form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('orders:collection_detail', kwargs={'pk': self.object.pk})
|
||||
|
||||
|
||||
class CreateStore(LoginRequiredMixin, SuccessMessageMixin, FormView):
|
||||
success_message = 'Το Κατάστημα Καταχωρήθηκε.'
|
||||
template_name = "diaxeirisi/create_store.html"
|
||||
form_class = StoreForm
|
||||
|
||||
|
||||
|
||||
class CollectionDetailView(DetailView):
|
||||
model = Collection
|
||||
template_name = 'orders/order_detail.html'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(CollectionDetailView, self).get_context_data(**kwargs)
|
||||
return context
|
||||
|
||||
|
||||
class CollectionCreate(CreateView):
|
||||
model = Collection
|
||||
template_name = 'orders/order_create.html'
|
||||
form_class = CollectionForm
|
||||
success_url = None
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
data = super(CollectionCreate, self).get_context_data(**kwargs)
|
||||
if self.request.POST:
|
||||
data['titles'] = CollectionTitleFormSet(self.request.POST)
|
||||
else:
|
||||
data['titles'] = CollectionTitleFormSet()
|
||||
return data
|
||||
|
||||
def form_valid(self, form):
|
||||
context = self.get_context_data()
|
||||
titles = context['titles']
|
||||
with transaction.atomic():
|
||||
form.instance.created_by = self.request.user
|
||||
self.object = form.save()
|
||||
if titles.is_valid():
|
||||
titles.instance = self.object
|
||||
titles.save()
|
||||
return super(CollectionCreate, self).form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('orders:collection_detail', kwargs={'pk': self.object.pk})
|
||||
|
||||
|
||||
# @method_decorator(login_required)
|
||||
# def dispatch(self, *args, **kwargs):
|
||||
# return super(CollectionCreate, self).dispatch(*args, **kwargs)
|
||||
|
||||
|
||||
class CollectionUpdate(UpdateView):
|
||||
model = Collection
|
||||
form_class = CollectionForm
|
||||
template_name = 'orders/order_create.html'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
data = super(CollectionUpdate, self).get_context_data(**kwargs)
|
||||
if self.request.POST:
|
||||
data['titles'] = CollectionTitleFormSet(self.request.POST, instance=self.object)
|
||||
else:
|
||||
data['titles'] = CollectionTitleFormSet(instance=self.object)
|
||||
return data
|
||||
|
||||
def form_valid(self, form):
|
||||
context = self.get_context_data()
|
||||
titles = context['titles']
|
||||
with transaction.atomic():
|
||||
form.instance.created_by = self.request.user
|
||||
self.object = form.save()
|
||||
if titles.is_valid():
|
||||
titles.instance = self.object
|
||||
titles.save()
|
||||
return super(CollectionUpdate, self).form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('orders:collection_detail', kwargs={'pk': self.object.pk})
|
||||
|
||||
# @method_decorator(login_required)
|
||||
# def dispatch(self, *args, **kwargs):
|
||||
# return super(CollectionUpdate, self).dispatch(*args, **kwargs)
|
||||
|
||||
|
||||
class CollectionDelete(DeleteView):
|
||||
model = Collection
|
||||
template_name = 'orders/confirm_delete.html'
|
||||
success_url = reverse_lazy('orders:homepage')
|
||||
Reference in New Issue
Block a user