hiring: автоназначение ролей по типу локации
При утверждении найма сотрудник получает роли (группы) по умолчанию для своего типа локации (Аптека/Офис/Склад). Наборы настраиваются в EmployeeDefaults (админка «Настройки сотрудников по умолчанию»). - EmployeeDefaults: 3 M2M default_groups_* + apply_default_groups(); - approve_hiring_request вызывает apply_default_groups после создания Employee; - админка: блок «Роли по умолчанию при найме» (filter_horizontal); - миграция 0023; тесты найма. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -414,6 +414,9 @@ class EmployeeAdmin(ModelAdmin):
|
||||
class EmployeeDefaultsAdmin(ModelAdmin):
|
||||
"""Единственная запись настроек по умолчанию для сотрудников."""
|
||||
|
||||
filter_horizontal = (
|
||||
'default_groups_office', 'default_groups_pharmacy', 'default_groups_warehouse',
|
||||
)
|
||||
fieldsets = (
|
||||
(_('Офисные сотрудники'), {
|
||||
'fields': ('office_email_domain',),
|
||||
@@ -422,6 +425,15 @@ class EmployeeDefaultsAdmin(ModelAdmin):
|
||||
'назначается рабочий email: логин@домен.'
|
||||
),
|
||||
}),
|
||||
(_('Роли по умолчанию при найме'), {
|
||||
'fields': (
|
||||
'default_groups_office', 'default_groups_pharmacy', 'default_groups_warehouse',
|
||||
),
|
||||
'description': _(
|
||||
'Эти роли (группы) автоматически выдаются новому сотруднику '
|
||||
'при утверждении найма — по типу его локации.'
|
||||
),
|
||||
}),
|
||||
)
|
||||
|
||||
def has_add_permission(self, request):
|
||||
|
||||
Reference in New Issue
Block a user