diff --git a/leave/forms.py b/leave/forms.py index 1f9ae33a8..f1ab3b2d3 100644 --- a/leave/forms.py +++ b/leave/forms.py @@ -139,18 +139,6 @@ class ConditionForm(forms.ModelForm): pass class LeaveTypeForm(ConditionForm): - require_approval = forms.CharField( - label="Require Approval", widget=forms.RadioSelect(choices=CHOICES) - ) - require_attachment = forms.CharField( - label="Require Attachment", widget=forms.RadioSelect(choices=CHOICES) - ) - exclude_company_leave = forms.CharField( - label="Exclude Company Leave", widget=forms.RadioSelect(choices=CHOICES) - ) - exclude_holiday = forms.CharField( - label="Exclude Holiday", widget=forms.RadioSelect(choices=CHOICES) - ) class Meta: model = LeaveType @@ -177,18 +165,6 @@ class LeaveTypeForm(ConditionForm): class UpdateLeaveTypeForm(ConditionForm): - require_approval = forms.CharField( - label="Require Approval", widget=forms.RadioSelect(choices=CHOICES) - ) - require_attachment = forms.CharField( - label="Require Attachment", widget=forms.RadioSelect(choices=CHOICES) - ) - exclude_company_leave = forms.CharField( - label="Exclude Company Leave", widget=forms.RadioSelect(choices=CHOICES) - ) - exclude_holiday = forms.CharField( - label="Exclude Holiday", widget=forms.RadioSelect(choices=CHOICES) - ) def __init__(self, *args, **kwargs): super(UpdateLeaveTypeForm, self).__init__(*args, **kwargs) diff --git a/leave/models.py b/leave/models.py index a3759e185..3f01cd934 100644 --- a/leave/models.py +++ b/leave/models.py @@ -168,17 +168,18 @@ class LeaveType(models.Model): max_length=30, choices=TIME_PERIOD, null=True, blank=True ) require_approval = models.CharField( - max_length=30, choices=CHOICES, null=True, blank=True + max_length=30, choices=CHOICES, null=True, blank=True,default="yes" ) require_attachment = models.CharField( max_length=30, choices=CHOICES, + default="no", null=True, blank=True, verbose_name=_("Require Attachment"), ) - exclude_company_leave = models.CharField(max_length=30, choices=CHOICES) - exclude_holiday = models.CharField(max_length=30, choices=CHOICES) + exclude_company_leave = models.CharField(max_length=30, choices=CHOICES,default="no") + exclude_holiday = models.CharField(max_length=30, choices=CHOICES,default="no") company_id = models.ForeignKey( Company, null=True, editable=False, on_delete=models.PROTECT ) diff --git a/leave/templates/leave/leave_type/leave_type_creation.html b/leave/templates/leave/leave_type/leave_type_creation.html index 6d4a31f25..27e615d7a 100644 --- a/leave/templates/leave/leave_type/leave_type_creation.html +++ b/leave/templates/leave/leave_type/leave_type_creation.html @@ -36,7 +36,7 @@
- +
{{form.icon}} {{form.icon.errors}}
@@ -50,7 +50,7 @@
- + {{form.payment}} {{form.payment.errors}}
@@ -79,7 +79,7 @@
- +
{{form.reset}} {{form.reset.errors}} @@ -87,10 +87,13 @@
-
- - {{form.reset_based}} - {{form.reset_based.errors}} +
+
+ + +
+ {{ form.reset_based }} + {{ form.reset_based.errors }}
@@ -115,62 +118,89 @@
-
- - {{form.carryforward_type}} - {{form.carryforward_type.errors}} +
+
+ + +
+ {{form.carryforward_type}} + {{form.carryforward_type.errors}}
-
- - {{form.carryforward_max}} - {{form.carryforward_max.errors}} +
+
+ + +
+ {{form.carryforward_max}} + {{form.carryforward_max.errors}}
-
- - {{form.carryforward_expire_in}} - {{form.carryforward_expire_in.errors}} -
-
-
-
- +
+
+ + +
{{form.carryforward_expire_period}} {{form.carryforward_expire_period.errors}}
-
-
- - {{form.require_approval}} - {{form.require_approval.errors}} +
+
+
+ + +
+ {{form.carryforward_expire_in}} + {{form.carryforward_expire_in.errors}}
-
+
+ + +
+ + {{form.require_approval.errors}} +
+
+
+
+
- {{form.require_attachment}} - {{form.require_attachment.errors}} + +
+ + {{form.require_attachment.errors}} +
-
- - {{form.exclude_company_leave}} - {{form.exclude_company_leave.errors}} +
+ + +
+ + {{form.exclude_company_leave.errors}} +
-
+
- {{form.exclude_holiday}} - {{form.exclude_holiday.errors}} + +
+ + {{form.exclude_holiday.errors}} +
+ + + +
@@ -180,7 +210,6 @@ {% trans "Create" %} -
@@ -189,6 +218,7 @@ var reset = $("#id_reset"); var reset_based_label = $("label[for='id_reset_based']"); + var reset_based_span = $("#reset_based_id"); var reset_based = $("#id_reset_based"); var reset_month_label = $("label[for='id_reset_month']"); var reset_month = $("#id_reset_month"); @@ -209,6 +239,7 @@ //Making all fields which are not needed first was hidden and not required reset_based_label.hide(); reset_based.hide().prop('required', false); + reset_based_span.hide() reset_month_label.hide(); reset_month.hide().prop('required', false); reset_day_label.hide(); @@ -225,8 +256,8 @@ // Check value of reset change field and trigger action reset.change(function () { - (this.checked) ? (reset_based.show().prop('required', true), reset_based_label.show()) : (reset_based_label.hide(), reset_based.hide().prop('required', false), reset_based.val('')) - reset_based.is(':hidden') ? (reset_month_label.hide(), reset_month.hide().prop('required', false), reset_month.val(''), reset_day_label.hide(), reset_day.val(''), reset_day.hide().prop('required', false), reset_weekend_label.hide(), reset_weekend.hide().prop('required', false), reset_weekend.val('')) : "" + (this.checked) ? (reset_based.show().prop('required', true), reset_based_label.show()) : (reset_based_label.hide(), reset_based.hide().prop('required', false), reset_based.val('')),reset_based_span.show() + reset_based.is(':hidden') ? (reset_month_label.hide(), reset_month.hide().prop('required', false), reset_month.val(''), reset_day_label.hide(), reset_day.val(''), reset_day.hide().prop('required', false), reset_weekend_label.hide(),reset_based_span.hide(), reset_weekend.hide().prop('required', false), reset_weekend.val('')) : "" }); // Check value of boolean change field and trigger action @@ -302,6 +333,8 @@ $("select,input[type=checkbox]").change(function (e) { toggleFields() + //check the yes or no fields + }); toggleFields() @@ -326,6 +359,37 @@ }); }); + function checkYesOrNoFields(){ + + if ($('#id_approval').is(":checked")) { + $('#id_require_approval').val('yes'); + } + else{ + $('#id_require_approval').val('no') ; + } + if ($('#id_attachment').is(":checked")) { + $('#id_require_attachment').val('yes'); + } + else{ + $('#id_require_attachment').val('no'); + } + if ($('#id_exclude_comp_leave').is(":checked")) { + $('#id_exclude_company_leave').val('yes'); + } + else{ + $('#id_exclude_company_leave').val('no') + } + if ($('#id_exclude_public_leave').is(":checked")) { + $('#id_exclude_holiday').val('yes'); + } + else{ + $('#id_exclude_holiday').val('no'); + } + } + + $('.yesOrNo').change(function(){ + checkYesOrNoFields() + }) {% endblock %} \ No newline at end of file diff --git a/leave/templates/leave/leave_type/leave_type_update.html b/leave/templates/leave/leave_type/leave_type_update.html index dbeb66a3d..f4fefcec7 100644 --- a/leave/templates/leave/leave_type/leave_type_update.html +++ b/leave/templates/leave/leave_type/leave_type_update.html @@ -23,158 +23,181 @@ {% trans "Update Leave Type" %}
-
-
- - {{form.name}} {{form.name.errors}} -
-
-
-
- - {{form.icon}} {{form.icon.errors}} -
-
-
-
- - {{form.color}} {{form.color.errors}} -
-
-
-
- - {{form.payment}} {{form.payment.errors}} -
-
-
-
- - {{form.count}} {{form.count.errors}} -
-
-
-
- {{form.period_in}} {{form.period_in.errors}} -
-
-
-
- {{form.total_days}} {{form.total_days.errors}} -
-
-
-
- - -
- {{form.reset}} - {{form.reset.errors}} +
+
+ + {{form.name}} + {{form.name.errors}}
-
-
-
-
- - {{form.reset_based}} {{form.reset_based.errors}} -
-
-
-
- - {{form.reset_month}} {{form.reset_month.errors}} -
-
-
-
- - {{form.reset_day}} {{form.reset_day.errors}} -
-
-
-
- - {{form.reset_weekend}} {{form.reset_weekend.errors}} -
-
-
-
- - {{form.carryforward_type}} {{form.carryforward_type.errors}} -
-
-
-
- - {{form.carryforward_max}} {{form.carryforward_max.errors}} -
-
-
-
- - {{form.carryforward_expire_in}} - {{form.carryforward_expire_in.errors}} -
-
-
-
- - {{form.carryforward_expire_period}} - {{form.carryforward_expire_period.errors}} -
-
- - {{form.require_approval}} {{form.require_approval.errors}} -
+
+
+ {{form.icon}} + {{form.icon.errors}} +
-
- - {{form.require_attachment}} {{form.require_attachment.errors}} -
+
+ + {{form.color}} + {{form.color.errors}} +
+
+
+
+ + {{form.payment}} + {{form.payment.errors}} +
+
+
+
+ + {{form.count}} + {{form.count.errors}} +
+
+
+
+ {% comment %} {% endcomment %} + {{form.period_in}} + {{form.period_in.errors}} +
+
+
+
+ {% comment %} {% endcomment %} + {{form.total_days}} + {{form.total_days.errors}} +
+
+
+
+ + +
+ {{form.reset}} + {{form.reset.errors}} +
+
+
+
+
+
+ + +
+ {{ form.reset_based }} + {{ form.reset_based.errors }} +
+
+
+
+ + {{form.reset_month}} + {{form.reset_month.errors}} +
+
+
+
+ + {{form.reset_day}} + {{form.reset_day.errors}} +
+
+
+
+ + {{form.reset_weekend}} + {{form.reset_weekend.errors}} +
+
+
+
+
+ + +
+ {{form.carryforward_type}} + {{form.carryforward_type.errors}} +
+
+
+
+
+ + +
+ {{form.carryforward_max}} + {{form.carryforward_max.errors}} +
+
+
+
+
+ + +
+ {{form.carryforward_expire_period}} + {{form.carryforward_expire_period.errors}} +
+
+
+
+
+ + +
+ {{form.carryforward_expire_in}} + {{form.carryforward_expire_in.errors}} +
+
+
+
+ + +
+ + {{form.require_approval.errors}} +
+
+
+
+
+ + +
+ + {{form.require_attachment.errors}} +
+
-
- - {{form.exclude_company_leave}} - {{form.exclude_company_leave.errors}} -
+
+ + +
+ + {{form.exclude_company_leave.errors}} +
+
-
- - {{form.exclude_holiday}} {{form.exclude_holiday.errors}} -
+
+ + +
+ + {{form.exclude_holiday.errors}} +
+
-
+ + + + +