diff --git a/employee/sidebar.py b/employee/sidebar.py index 7c310b1b5..ff35181e2 100644 --- a/employee/sidebar.py +++ b/employee/sidebar.py @@ -4,7 +4,7 @@ employee/sidebar.py To set Horilla sidebar for employee """ -from django.urls import reverse +from django.urls import reverse_lazy from django.utils.translation import gettext_lazy as trans from accessibility.methods import check_is_accessible @@ -19,48 +19,48 @@ IMG_SRC = "images/ui/employees.svg" SUBMENUS = [ { "menu": trans("Profile"), - "redirect": reverse("employee-profile"), + "redirect": reverse_lazy("employee-profile"), "accessibility": "employee.sidebar.profile_accessibility", }, { "menu": trans("Employees"), - "redirect": reverse("employee-view"), + "redirect": reverse_lazy("employee-view"), "accessibility": "employee.sidebar.employee_accessibility", }, { "menu": trans("Document Requests"), - "redirect": reverse("document-request-view"), + "redirect": reverse_lazy("document-request-view"), "accessibility": "employee.sidebar.document_accessibility", }, { "menu": trans("Shift Requests"), - "redirect": reverse("shift-request-view"), + "redirect": reverse_lazy("shift-request-view"), }, { "menu": trans("Work Type Requests"), - "redirect": reverse("work-type-request-view"), + "redirect": reverse_lazy("work-type-request-view"), }, { "menu": trans("Rotating Shift Assign"), - "redirect": reverse("rotating-shift-assign"), + "redirect": reverse_lazy("rotating-shift-assign"), "accessibility": "employee.sidebar.rotating_shift_accessibility", }, { "menu": trans("Rotating Work Type Assign"), - "redirect": reverse("rotating-work-type-assign"), + "redirect": reverse_lazy("rotating-work-type-assign"), "accessibility": "employee.sidebar.rotating_work_type_accessibility", }, { "menu": trans("Disciplinary Actions"), - "redirect": reverse("disciplinary-actions"), + "redirect": reverse_lazy("disciplinary-actions"), }, { "menu": trans("Policies"), - "redirect": reverse("view-policies"), + "redirect": reverse_lazy("view-policies"), }, { "menu": trans("Organization Chart"), - "redirect": reverse("organisation-chart"), + "redirect": reverse_lazy("organisation-chart"), }, ] @@ -75,7 +75,7 @@ def profile_accessibility(request, submenu, user_perms, *args, **kwargs): return accessible # try: # if accessible: - # submenu["redirect"] = reverse("employee-profile", kwargs={"obj_id": request.user.employee_get.id}) + # submenu["redirect"] = reverse_lazy("employee-profile", kwargs={"obj_id": request.user.employee_get.id}) # except Exception: # # If an exception occurs, do nothing # pass diff --git a/horilla_theme/templates/requests/attendance/request_new_form.html b/horilla_theme/templates/requests/attendance/request_new_form.html index 70d93a823..3236ea6cd 100644 --- a/horilla_theme/templates/requests/attendance/request_new_form.html +++ b/horilla_theme/templates/requests/attendance/request_new_form.html @@ -21,7 +21,7 @@
{{form.errors}}
- {% for field in form.visible_fields %} + {% for field in form.visible_fields %} {% if field.field.widget|is_select_multiple or field.field.widget|is_text_area %}
- {% else %} - {{ field|add_class:"form-control" }} - {% endif %} + {% else %} + {{ field|add_class:"form-control" }} + {% endif %} {{field.errors}}
- {% endif %} + {% endif %} {% endfor %}
diff --git a/horilla_views/cbv_methods.py b/horilla_views/cbv_methods.py index bb3fb0bf1..31b1fa93b 100644 --- a/horilla_views/cbv_methods.py +++ b/horilla_views/cbv_methods.py @@ -910,7 +910,7 @@ def assign_related( else: reverse_obj_dict[field] = value else: - instance = [ + instances = [ data for data in pk_values_mapping[reverse_field] if getattr( @@ -919,7 +919,8 @@ def assign_related( record[reverse_field], ) == record[reverse_field] - ][0] - reverse_obj_dict.update({reverse_field: instance}) - + ] + if instances: + instance = instances[0] + reverse_obj_dict.update({reverse_field: instance}) return reverse_obj_dict diff --git a/horilla_views/generic/cbv/views.py b/horilla_views/generic/cbv/views.py index 8560025ab..1030470a3 100644 --- a/horilla_views/generic/cbv/views.py +++ b/horilla_views/generic/cbv/views.py @@ -373,6 +373,8 @@ class HorillaListView(ListView): current = record for part in parts[:-1]: current = current.setdefault(part, {}) + if isinstance(value, float) and value.is_integer(): + value = int(value) current[parts[-1]] = value serialized.append(record) with_ref, without_ref = split_by_import_reference(serialized) @@ -496,11 +498,13 @@ class HorillaListView(ListView): bulk_base_fk_grouping = {} bulk_create_reverse_related_grouping = {} bulk_create_base_grouping = [] + items = [] related_fields = list( self.reverse_model_relation_to_base_model.keys() ) fk_fields = self.fk_o2o_field_in_base_model + for record in records_to_import: if record.get(update_reference_key): del record[update_reference_key] @@ -575,12 +579,17 @@ class HorillaListView(ListView): records=items, view=self, ) + + if not items: + items = bulk_create_base_grouping pre_generic_import.send( sender=self.model, records=items, view=self, ) + self.model.objects.bulk_create(bulk_create_base_grouping) + post_generic_import.send( sender=self.model, records=items, diff --git a/horilla_views/templates/generic/import_block.html b/horilla_views/templates/generic/import_block.html index fdf40fa1f..e657da34d 100644 --- a/horilla_views/templates/generic/import_block.html +++ b/horilla_views/templates/generic/import_block.html @@ -1,4 +1,9 @@ {% load generic_template_filters i18n %} + {% if import_fields and import_accessibility %}
-