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

1""" 

2Base comun del panel de administracion de los catalogos. 

3 

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 

9 

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',) 

17 

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 

23 

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 

32 

33 super().save_model(request, obj, form, change)