Versiunea funcțională EUMI
This commit is contained in:
@@ -0,0 +1,292 @@
|
||||
from django import forms
|
||||
from django.urls import reverse_lazy
|
||||
from .models import (
|
||||
Computer,
|
||||
Monitor,
|
||||
Peripheral,
|
||||
MaintenanceRecord,
|
||||
HandoverProtocol,
|
||||
DecommissionRecord,
|
||||
DigitalCertificate,
|
||||
)
|
||||
|
||||
|
||||
class ComputerForm(forms.ModelForm):
|
||||
entry_date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Computer
|
||||
fields = [
|
||||
"equipment_code",
|
||||
"status",
|
||||
"assigned_to",
|
||||
"entry_date",
|
||||
"oem_name",
|
||||
"motherboard",
|
||||
"cpu",
|
||||
"ram",
|
||||
"storage",
|
||||
"optical_drive",
|
||||
"gpu",
|
||||
"mac_address",
|
||||
"os_license",
|
||||
"additional_licenses",
|
||||
"observations",
|
||||
]
|
||||
widgets = {
|
||||
"equipment_code": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"status": forms.Select(attrs={"class": "form-select"}),
|
||||
"assigned_to": forms.Select(attrs={"class": "form-select"}),
|
||||
"oem_name": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"motherboard": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"cpu": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"ram": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"storage": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"optical_drive": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"gpu": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"mac_address": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"os_license": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"additional_licenses": forms.Textarea(
|
||||
attrs={"class": "form-control", "rows": 2}
|
||||
),
|
||||
"observations": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance and self.instance.pk:
|
||||
self.fields["assigned_to"].disabled = True
|
||||
self.fields["assigned_to"].help_text = (
|
||||
"Transferul se face doar generând un Proces Verbal nou."
|
||||
)
|
||||
|
||||
|
||||
class MonitorForm(forms.ModelForm):
|
||||
entry_date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Monitor
|
||||
fields = [
|
||||
"equipment_code",
|
||||
"status",
|
||||
"assigned_to",
|
||||
"entry_date",
|
||||
"name",
|
||||
"serial_number",
|
||||
"screen_diagonal",
|
||||
"observations",
|
||||
]
|
||||
widgets = {
|
||||
"equipment_code": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"status": forms.Select(attrs={"class": "form-select"}),
|
||||
"assigned_to": forms.Select(attrs={"class": "form-select"}),
|
||||
"name": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"serial_number": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"screen_diagonal": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"observations": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance and self.instance.pk:
|
||||
self.fields["assigned_to"].disabled = True
|
||||
self.fields["assigned_to"].help_text = (
|
||||
"Transferul se face doar generând un Proces Verbal nou."
|
||||
)
|
||||
|
||||
|
||||
class PeripheralForm(forms.ModelForm):
|
||||
entry_date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Peripheral
|
||||
fields = [
|
||||
"equipment_code",
|
||||
"status",
|
||||
"assigned_to",
|
||||
"entry_date",
|
||||
"peripheral_type",
|
||||
"name",
|
||||
"serial_number",
|
||||
"observations",
|
||||
]
|
||||
widgets = {
|
||||
"equipment_code": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"status": forms.Select(attrs={"class": "form-select"}),
|
||||
"assigned_to": forms.Select(attrs={"class": "form-select"}),
|
||||
"peripheral_type": forms.Select(attrs={"class": "form-select"}),
|
||||
"name": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"serial_number": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"observations": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance and self.instance.pk:
|
||||
self.fields["assigned_to"].disabled = True
|
||||
self.fields["assigned_to"].help_text = (
|
||||
"Transferul se face doar generând un Proces Verbal nou."
|
||||
)
|
||||
|
||||
|
||||
class MaintenanceRecordForm(forms.ModelForm):
|
||||
date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = MaintenanceRecord
|
||||
fields = ["date", "operation_type", "description", "performed_by"]
|
||||
widgets = {
|
||||
"operation_type": forms.TextInput(
|
||||
attrs={
|
||||
"class": "form-control",
|
||||
"placeholder": "ex: Curățare praf, Upgrade RAM...",
|
||||
}
|
||||
),
|
||||
"description": forms.Textarea(attrs={"class": "form-control", "rows": 3}),
|
||||
"performed_by": forms.TextInput(attrs={"class": "form-control"}),
|
||||
}
|
||||
|
||||
|
||||
class HandoverProtocolForm(forms.ModelForm):
|
||||
date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = HandoverProtocol
|
||||
fields = [
|
||||
"date",
|
||||
"previous_holder",
|
||||
"new_holder",
|
||||
"computers",
|
||||
"monitors",
|
||||
"peripherals",
|
||||
"notes",
|
||||
"scanned_document",
|
||||
]
|
||||
widgets = {
|
||||
"previous_holder": forms.Select(
|
||||
attrs={
|
||||
"class": "form-select",
|
||||
"hx-get": reverse_lazy("equipment:load_user_equipment"),
|
||||
"hx-target": "#equipment-lists",
|
||||
"hx-trigger": "change",
|
||||
}
|
||||
),
|
||||
"new_holder": forms.Select(attrs={"class": "form-select"}),
|
||||
"computers": forms.SelectMultiple(
|
||||
attrs={"class": "form-select", "size": 5}
|
||||
),
|
||||
"monitors": forms.SelectMultiple(attrs={"class": "form-select", "size": 5}),
|
||||
"peripherals": forms.SelectMultiple(
|
||||
attrs={"class": "form-select", "size": 5}
|
||||
),
|
||||
"notes": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
"scanned_document": forms.FileInput(attrs={"class": "form-control"}),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if not self.is_bound and not self.instance.pk:
|
||||
self.fields["computers"].queryset = Computer.objects.none()
|
||||
self.fields["monitors"].queryset = Monitor.objects.none()
|
||||
self.fields["peripherals"].queryset = Peripheral.objects.none()
|
||||
|
||||
|
||||
class DecommissionRecordForm(forms.ModelForm):
|
||||
date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = DecommissionRecord
|
||||
fields = [
|
||||
"document_number",
|
||||
"date",
|
||||
"committee_members",
|
||||
"reason",
|
||||
"computers",
|
||||
"monitors",
|
||||
"peripherals",
|
||||
]
|
||||
widgets = {
|
||||
"document_number": forms.TextInput(attrs={"class": "form-control"}),
|
||||
"committee_members": forms.Textarea(
|
||||
attrs={"class": "form-control", "rows": 2}
|
||||
),
|
||||
"reason": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
"computers": forms.SelectMultiple(
|
||||
attrs={"class": "form-select", "size": 5}
|
||||
),
|
||||
"monitors": forms.SelectMultiple(attrs={"class": "form-select", "size": 5}),
|
||||
"peripherals": forms.SelectMultiple(
|
||||
attrs={"class": "form-select", "size": 5}
|
||||
),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if not self.is_bound and not self.instance.pk:
|
||||
self.fields["computers"].queryset = Computer.objects.filter(status="activ")
|
||||
self.fields["monitors"].queryset = Monitor.objects.filter(status="activ")
|
||||
self.fields["peripherals"].queryset = Peripheral.objects.filter(
|
||||
status="activ"
|
||||
)
|
||||
|
||||
|
||||
class DigitalCertificateForm(forms.ModelForm):
|
||||
issue_date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
expiration_date = forms.DateField(
|
||||
input_formats=["%d.%m.%Y", "%Y-%m-%d"],
|
||||
widget=forms.TextInput(
|
||||
attrs={"class": "form-control flatpickr-date", "placeholder": "ZZ.LL.AAAA"}
|
||||
),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = DigitalCertificate
|
||||
fields = [
|
||||
"certificate_type",
|
||||
"assigned_to",
|
||||
"issue_date",
|
||||
"expiration_date",
|
||||
"observations",
|
||||
"is_canceled",
|
||||
]
|
||||
widgets = {
|
||||
"certificate_type": forms.Select(attrs={"class": "form-select"}),
|
||||
"assigned_to": forms.Select(attrs={"class": "form-select"}),
|
||||
"observations": forms.Textarea(attrs={"class": "form-control", "rows": 2}),
|
||||
"is_canceled": forms.CheckboxInput(attrs={"class": "form-check-input"}),
|
||||
}
|
||||
Reference in New Issue
Block a user