This commit is contained in:
Marwan Alwali 2024-12-30 16:18:39 +03:00
parent 8962646e2b
commit 7d3d9a6699
6 changed files with 50 additions and 48 deletions

BIN
db.sqlite

Binary file not shown.

View File

@ -40,16 +40,39 @@ class AdditionalServiceForm(forms.ModelForm):
model = AdditionalServices
fields = ['name', 'price','description','taxable', 'uom']
class PaymentForm(forms.ModelForm):
class Meta:
model = Payment
fields = ['amount','payment_method', 'reference_number']
class StaffForm(forms.ModelForm):
email = forms.EmailField(required=True, label="Email")
email = forms.EmailField(
required=True,
label="Email",
widget=forms.EmailInput(attrs={"class": "form-control"})
)
class Meta:
model = Staff
fields = ['name', 'arabic_name', 'phone_number','staff_type']
fields = ['name', 'arabic_name', 'phone_number', 'staff_type']
def __init__(self, *args, **kwargs):
user_instance = kwargs.get('instance')
if user_instance and user_instance.user:
initial = kwargs.setdefault('initial', {})
initial['email'] = user_instance.user.email
super().__init__(*args, **kwargs)
def save(self, commit=True):
staff_instance = super().save(commit=False)
user = staff_instance.user
user.email = self.cleaned_data['email']
if commit:
user.save()
staff_instance.save()
return staff_instance
# Dealer Form
@ -58,6 +81,7 @@ class DealerForm(forms.ModelForm):
model = Dealer
fields = ['name', 'arabic_name', 'crn', 'vrn', 'phone_number', 'address', 'logo']
# Customer Form
class CustomerForm(forms.ModelForm, AddClassMixin):
class Meta:
@ -269,10 +293,6 @@ class CarSelectionTable(tables.Table):
template_name = "django_tables2/bootstrap4.html"
class WizardForm1(forms.Form):
email = forms.EmailField(
@ -354,6 +374,7 @@ class WizardForm2(forms.Form):
}
)
class WizardForm3(forms.Form):
# CRN field with max length of 10
crn = forms.CharField(

View File

@ -1188,16 +1188,10 @@ class UserUpdateView(
permission_required = ("inventory.change_dealer",)
success_message = _("User updated successfully.")
def form_valid(self, form):
user = form.instance.user
for group in user.groups.all():
group.user_set.remove(user)
Group.objects.get(name=form.cleaned_data["staff_type"].lower()).user_set.add(
user
)
form.save()
return super().form_valid(form)
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
kwargs['instance'] = self.get_object() # Pass the Staff instance to the form
return kwargs
def UserDeleteview(request, pk):

View File

@ -1,39 +1,26 @@
{% extends "base.html" %}
{% load i18n %}
{% load crispy_forms_filters %}
{% load i18n static crispy_forms_filters %}
{% block title %}{% trans "users" %}{% endblock title %}
{% block content %}
<div class="container my-5">
<!-- Display Form Errors -->
<div class="card shadow rounded">
<div class="card-header bg-primary text-white">
<p class="mb-0">
{% if staff.created %}
<!--<i class="bi bi-pencil-square"></i>-->
{{ _("Edit User") }}
{% else %}
<!--<i class="bi bi-person-plus"></i> -->
{{ _("Add User") }}
{% endif %}
</p>
</div>
<div class="card-body">
<form method="post" class="form" novalidate>
{% csrf_token %}
<div class="container">
<div class="col-sm-6 col-md-8">
<div class="form row gx-3 gy-4">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-floating">
{{ form|crispy }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex justify-content-end">
<button class="btn btn-sm btn-success me-1" type="submit">
<!--<i class="bi bi-save"></i> -->
{{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-danger">{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="col-auto">
<button type="submit" class="btn btn-primary me-1">{{ _("Save") }}</button>
<a href="{{ request.META.HTTP_REFERER }}" class="btn btn-sm btn-danger">{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% endblock %}