first commit

This commit is contained in:
2025-11-01 18:10:39 -03:00
parent 6e7348359f
commit 63cf724aaf
220 changed files with 4040 additions and 62 deletions

View File

@@ -0,0 +1,60 @@
from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView
from django.contrib.auth.mixins import LoginRequiredMixin , PermissionRequiredMixin
from Movement.Forms import FormsStock
from Movement import models
from django.urls import reverse_lazy
from django.contrib import messages
from django.utils import timezone
class StockListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
model = models.Stock
template_name = 'Stock/List.html'
context_object_name = 'Stocks'
paginate_by = 10
permission_required = 'Base.view_professional'
def get_queryset(self):
queryset = super().get_queryset()
date = self.request.GET.get('date')
if date:
queryset = queryset.filter(date__icontains=date)
else:
queryset = queryset.filter(date__icontains=timezone.localdate())
return queryset
class StockCreateView(LoginRequiredMixin,PermissionRequiredMixin, CreateView):
model = models.Stock
template_name = 'Stock/Create.html'
form_class = FormsStock.FormsStock
success_url = reverse_lazy('MovStockListView')
permission_required = 'Base.add_professional'
def form_valid(self, form):
gross_value = form.instance.gross_value
quantity = form.instance.quantity
form.instance.unit_value = gross_value / quantity
form.instance.created_by = self.request.user
messages.success(self.request, 'Registro realizado com sucesso!')
return super().form_valid(form)
def form_invalid(self, form):
errors = form.errors.as_text()
messages.error(self.request, f'Verifique os dados: {errors}')
return super().form_invalid(form)
class StockDetailView(LoginRequiredMixin,PermissionRequiredMixin, DetailView):
model = models.Stock
template_name = 'Stock/Detail.html'
permission_required = 'Base.view_professional'
class StockUpdateView(LoginRequiredMixin,PermissionRequiredMixin, UpdateView):
model = models.Stock
template_name = 'Stock/Update.html'
form_class = FormsStock.FormsStock
success_url = reverse_lazy('MovStockListView')
permission_required = 'Base.change_professional'
class StockDeleteView(LoginRequiredMixin,PermissionRequiredMixin, DeleteView):
model = models.Stock
template_name = 'Stock/Delete.html'
success_url = reverse_lazy('MovStockListView')
permission_required = 'Base.delete_professional'