add requiered field

This commit is contained in:
aminhashemi92 2025-10-04 14:05:33 +03:30
parent c76de99e84
commit 001dc313f6
6 changed files with 42 additions and 35 deletions

View file

@ -64,21 +64,25 @@ class CustomerForm(forms.ModelForm):
'address': forms.Textarea(attrs={
'class': 'form-control',
'placeholder': 'آدرس کامل',
'rows': '3'
'rows': '3',
'required': True
}),
'card_number': forms.TextInput(attrs={
'class': 'form-control',
'placeholder': 'شماره کارت بانکی',
'maxlength': '16'
'maxlength': '16',
'required': True
}),
'account_number': forms.TextInput(attrs={
'class': 'form-control',
'placeholder': 'شماره حساب بانکی',
'maxlength': '20'
'maxlength': '20',
'required': True
}),
'bank_name': forms.Select(attrs={
'class': 'form-control',
'placeholder': 'نام بانک',
'required': True
}),
}
labels = {

View file

@ -27,9 +27,7 @@ class Profile(BaseModel):
)
national_code = models.CharField(
max_length=10,
null=True,
verbose_name="کد ملی",
blank=True,
validators=[
RegexValidator(
regex=r'^\d+$',
@ -39,15 +37,11 @@ class Profile(BaseModel):
]
)
address = models.TextField(
null=True,
verbose_name="آدرس",
blank=True
)
card_number = models.CharField(
max_length=16,
null=True,
verbose_name="شماره کارت",
blank=True,
validators=[
RegexValidator(
regex=r'^\d+$',
@ -58,9 +52,7 @@ class Profile(BaseModel):
)
account_number = models.CharField(
max_length=20,
null=True,
verbose_name="شماره حساب",
blank=True,
validators=[
RegexValidator(
regex=r'^\d+$',
@ -72,9 +64,7 @@ class Profile(BaseModel):
bank_name = models.CharField(
max_length=255,
choices=BANK_CHOICES,
null=True,
verbose_name="نام بانک",
blank=True
)
phone_number_1 = models.CharField(
max_length=11,

Binary file not shown.

View file

@ -34,24 +34,29 @@ class InstallationReportForm(forms.ModelForm):
'required': True
}),
'new_water_meter_serial': forms.TextInput(attrs={
'class': 'form-control'
'class': 'form-control',
'required': True
}),
'seal_number': forms.TextInput(attrs={
'class': 'form-control'
'class': 'form-control',
'required': True
}),
'utm_x': forms.NumberInput(attrs={
'class': 'form-control',
'step': '1'
'step': '1',
'required': True
}),
'utm_y': forms.NumberInput(attrs={
'class': 'form-control',
'step': '1'
'step': '1',
'required': True
}),
'meter_type': forms.Select(attrs={
'class': 'form-select'
'class': 'form-select',
'required': True
}, choices=[
('', 'انتخاب کنید'),
('smart', 'هوشمند (آبی/برق)'),
('smart', 'هوشمند (آب و برق)'),
('volumetric', 'حجمی')
]),
'meter_size': forms.TextInput(attrs={
@ -60,10 +65,12 @@ class InstallationReportForm(forms.ModelForm):
'discharge_pipe_diameter': forms.NumberInput(attrs={
'class': 'form-control',
'min': '0',
'step': '1'
'step': '1',
'required': True
}),
'usage_type': forms.Select(attrs={
'class': 'form-select'
'class': 'form-select',
'required': True
}, choices=[
('', 'انتخاب کنید'),
('domestic', 'شرب و خدمات'),
@ -77,31 +84,37 @@ class InstallationReportForm(forms.ModelForm):
'motor_power': forms.NumberInput(attrs={
'class': 'form-control',
'min': '0',
'step': '1'
'step': '1',
'required': True
}),
'pre_calibration_flow_rate': forms.NumberInput(attrs={
'class': 'form-control',
'min': '0',
'step': '0.01'
'step': '0.01',
'required': True
}),
'post_calibration_flow_rate': forms.NumberInput(attrs={
'class': 'form-control',
'min': '0',
'step': '0.01'
'step': '0.01',
'required': True
}),
'water_meter_manufacturer': forms.Select(attrs={
'class': 'form-select',
'id': 'id_water_meter_manufacturer'
'id': 'id_water_meter_manufacturer',
'required': True
}),
'sim_number': forms.TextInput(attrs={
'class': 'form-control'
'class': 'form-control',
'required': True
}),
'driving_force': forms.TextInput(attrs={
'class': 'form-control'
'class': 'form-control',
'required': True
}),
'is_meter_suspicious': forms.CheckboxInput(attrs={
'class': 'form-check-input',
'id': 'id_is_meter_suspicious'
'id': 'id_is_meter_suspicious',
}),
'description': forms.Textarea(attrs={
'class': 'form-control',

View file

@ -83,12 +83,10 @@ class WellForm(forms.ModelForm):
'utm_x': forms.NumberInput(attrs={
'class': 'form-control',
'placeholder': 'X UTM',
'required': 'required',
}),
'utm_y': forms.NumberInput(attrs={
'class': 'form-control',
'placeholder': 'Y UTM',
'required': 'required',
}),
'utm_zone': forms.NumberInput(attrs={
'class': 'form-control',
@ -97,17 +95,17 @@ class WellForm(forms.ModelForm):
'max': '60'
}),
'utm_hemisphere': forms.Select(attrs={
'class': 'form-select'
'class': 'form-select',
}),
'well_power': forms.NumberInput(attrs={
'class': 'form-control',
'placeholder': 'قدرت چاه',
'min': '0'
'min': '0',
'required': True
}),
'reference_letter_number': forms.TextInput(attrs={
'class': 'form-control',
'placeholder': 'شماره معرفی نامه',
'required': True
}),
'reference_letter_date': forms.DateInput(attrs={
'class': 'form-control',

View file

@ -80,11 +80,15 @@ class Well(SluggedModel):
max_digits=10,
decimal_places=0,
verbose_name="X UTM",
null=True,
blank=True
)
utm_y = models.DecimalField(
max_digits=10,
decimal_places=0,
verbose_name="Y UTM",
null=True,
blank=True
)
utm_zone = models.PositiveIntegerField(
verbose_name="زون UTM",
@ -103,8 +107,6 @@ class Well(SluggedModel):
well_power = models.PositiveIntegerField(
verbose_name="قدرت چاه",
null=True,
blank=True
)
reference_letter_number = models.CharField(