Coverage for api\catalog_admin.py: 94.4%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-30 20:58 +0200
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-30 20:58 +0200
1"""
2Base comun del panel de administracion de los catalogos.
4Los catalogos (tipos de usuario, de preferencia, criterios, distintivos
5ambientales y estados de viaje y de solicitud) se insertan en las migraciones
6"""
7from django.contrib import admin
8from django.utils import timezone
10class CatalogAdmin(admin.ModelAdmin):
11 """
12 Alta y edicion de un catalogo, con el borrado real desactivado.
13 """
14 list_filter = ('is_deleted',)
15 readonly_fields = ('created_at', 'updated_at', 'deleted_at')
16 ordering = ('code',)
18 def has_delete_permission(self, request, obj=None):
19 """
20 No se debe permitir eliminar un catalogo desde el panel
21 """
22 return False
24 def save_model(self, request, obj, form, change):
25 """
26 Pone el delete_At y is_deleted, para mantener consistencia con el borrado de la aplicacion
27 """
28 if obj.is_deleted and obj.deleted_at is None:
29 obj.deleted_at = timezone.now()
30 elif not obj.is_deleted: 30 ↛ 33line 30 didn't jump to line 33 because the condition on line 30 was always true
31 obj.deleted_at = None
33 super().save_model(request, obj, form, change)