admin: setup an admin role
gitea/ants-hub/pipeline/head This commit looks good
Details
gitea/ants-hub/pipeline/head This commit looks good
Details
This commit is contained in:
parent
5ccf4b0003
commit
48095f1eaf
|
@ -2,6 +2,7 @@
|
|||
|
||||
import django.contrib.admin.options
|
||||
import django.contrib.admin.widgets
|
||||
from django.conf import settings
|
||||
from django.contrib import admin
|
||||
|
||||
from ants_hub.admin import site
|
||||
|
@ -9,15 +10,14 @@ from ants_hub.admin import site
|
|||
from . import models
|
||||
|
||||
|
||||
class DoNotModifyMixin:
|
||||
def has_change_permission(self, request):
|
||||
return False
|
||||
class UneditableMixin:
|
||||
def has_change_permission(self, request, obj=None):
|
||||
return settings.ANTS_HUB_ADMIN_ROLE in request.session.get('mellon_session', {}).get('roles', [])
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
has_add_permission = has_change_permission
|
||||
|
||||
|
||||
class ConfigAdmin(admin.ModelAdmin):
|
||||
class ConfigAdmin(UneditableMixin, admin.ModelAdmin):
|
||||
list_display = ['key', 'value']
|
||||
|
||||
|
||||
|
@ -32,7 +32,7 @@ class RaccordementAdmin(admin.ModelAdmin):
|
|||
short_apikey.short_description = 'API key'
|
||||
|
||||
|
||||
class CollectiviteAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
||||
class CollectiviteAdmin(UneditableMixin, admin.ModelAdmin):
|
||||
list_display = ['raccordement', 'nom', 'url', 'source_id', 'created', 'last_update']
|
||||
list_display_links = ['nom']
|
||||
search_fields = ['raccordement__name', 'nom']
|
||||
|
@ -40,7 +40,7 @@ class CollectiviteAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
|||
ordering = ['raccordement__name', 'nom']
|
||||
|
||||
|
||||
class LieuAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
||||
class LieuAdmin(UneditableMixin, admin.ModelAdmin):
|
||||
list_display = ['collectivite', 'nom', 'created', 'last_update']
|
||||
list_display_links = ['nom']
|
||||
search_fields = ['collectivite__raccordement__name', 'collectivite__nom', 'nom']
|
||||
|
@ -48,7 +48,7 @@ class LieuAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
|||
ordering = ['collectivite__raccordement__name', 'collectivite__nom', 'nom']
|
||||
|
||||
|
||||
class PlageAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
||||
class PlageAdmin(UneditableMixin, admin.ModelAdmin):
|
||||
date_hierarchy = 'date'
|
||||
list_display = ['date', 'lieu', 'type_de_rdv', 'personnes', 'horaires', 'created', 'last_update']
|
||||
search_fields = ['lieu__collectivite__raccordement__name', 'lieu__collectivite__nom', 'lieu__nom']
|
||||
|
@ -64,7 +64,7 @@ class PlageAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
|||
]
|
||||
|
||||
|
||||
class RendezVousAdmin(DoNotModifyMixin, admin.ModelAdmin):
|
||||
class RendezVousAdmin(UneditableMixin, admin.ModelAdmin):
|
||||
date_hierarchy = 'date'
|
||||
list_display = ['date', 'lieu', 'identifiant_predemande', 'created', 'last_update']
|
||||
list_filter = ['lieu__collectivite']
|
||||
|
|
|
@ -110,6 +110,9 @@ LOGGING = {
|
|||
# ANTS_HUB_X_HUB_RDV_AUTH_TOKEN
|
||||
ANTS_HUB_X_HUB_RDV_AUTH_TOKEN = None
|
||||
|
||||
# ANTS_HUB_ADMIN_ROLE
|
||||
ANTS_HUB_ADMIN_ROLE = None
|
||||
|
||||
|
||||
if 'ANTS_HUB_SETTINGS_FILE' in os.environ:
|
||||
with open(os.environ['ANTS_HUB_SETTINGS_FILE']) as fd:
|
||||
|
|
Loading…
Reference in New Issue