Some changes have been made

This commit is contained in:
Abdulaziz Axmadaliyev
2026-02-18 17:28:30 +05:00
parent 3691e2d068
commit 243d879243
41 changed files with 566 additions and 884 deletions

View File

@@ -1,35 +1,18 @@
from django import forms
from ..models import Income, Device, Warehouse
from ..models import Income, Warehouse
class IncomeForm(forms.ModelForm):
class Meta:
model = Income
fields = ["device", "amount", "warehouse"]
fields = ["warehouse", "toys_count", "price_per_toy"]
def __init__(self, *args, **kwargs):
self.user = kwargs.pop("user", None)
super().__init__(*args, **kwargs)
if self.user is not None:
# Filter devices
if self.user.role == "businessman":
self.fields["warehouse"].queryset = Warehouse.objects.all()
elif self.user.role == "manager":
self.fields["warehouse"].queryset = Warehouse.objects.filter(region=self.user.region)
elif self.user.role == "employee":
self.fields["device"].queryset = Device.objects.filter(district__region=self.user.region)
# Remove amount for employees
if self.user.role == "employee":
self.fields.pop("amount", None)
def save(self, commit=True):
instance = super().save(commit=False)
if self.user:
instance.created_by = self.user
if getattr(self.user, "role", None) == "employee":
instance.amount = None
if commit:
instance.save()
return instance
# Filter warehouse by manager region
if self.user and self.user.role == "manager":
self.fields["warehouse"].queryset = Warehouse.objects.filter(
region=self.user.region
)