diff --git a/course_django/settings.py b/course_django/settings.py index f5d504d..6ae1fed 100644 --- a/course_django/settings.py +++ b/course_django/settings.py @@ -37,10 +37,11 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'hr', + 'general', 'chat', 'examples', + 'hr.apps.HrConfig', ] MIDDLEWARE = [ diff --git a/hr/models.py b/hr/models.py index e096345..d86de81 100644 --- a/hr/models.py +++ b/hr/models.py @@ -5,6 +5,7 @@ from django.core.cache import cache, caches # from django.utils.translation import gettext as _ from django.utils.translation import gettext_lazy as _ +from django.db.models.signals import pre_save class Company(models.Model): diff --git a/hr/signals.py b/hr/signals.py index c4e20dc..62893f9 100644 --- a/hr/signals.py +++ b/hr/signals.py @@ -1,6 +1,6 @@ from django.db.models.signals import pre_save from django.dispatch import receiver -from hr.models import Position +from hr.models import Position, Department import logging from hr.constants import MINIMUM_SALARY @@ -14,3 +14,8 @@ def ensure_minimum_wage(sender, instance, **kwargs): logger.info( f"Заробітна плата для позиції '{instance.title}' була збільшена до мінімального порогу {MINIMUM_SALARY}.", ) +@receiver(pre_save, sender=Department) +def capitalize_department_name(sender, instance, **kwargs): + if instance.name: + instance.name = instance.name.capitalize() + logger.info(f'Department name: {instance.name}') \ No newline at end of file diff --git a/hr/views/generic_views.py b/hr/views/generic_views.py index 525fc4b..8ef556b 100644 --- a/hr/views/generic_views.py +++ b/hr/views/generic_views.py @@ -65,6 +65,15 @@ class EmployeeUpdateView(UserIsAdminMixin, UpdateView): template_name = 'employee_form.html' success_url = reverse_lazy('hr:employee_list') + def form_valid(self, form): + response = super().form_valid(form) + messages.success(self.request, 'Employee updated successfully.') + return response + + def form_invalid(self, form): + messages.error(self.request, 'Error! Employee not updated!') + return super().form_invalid(form) + class EmployeeDeleteView(UserIsAdminMixin, DeleteView): model = Employee