Projet

Général

Profil

Télécharger (1,35 ko) Statistiques
| Branche: | Tag: | Révision:

root / wcsinst / wcsinst / admin.py @ 38f397e5

1
from django.contrib import admin
2
from django.utils.translation import ugettext_lazy as _
3

    
4
from models import WcsInstance, ApiSecret, Variable
5

    
6
class ApiSecretsInline(admin.TabularInline):
7
    model = ApiSecret
8
    verbose_name = _('API secret')
9
    verbose_name_plural = _('API secrets')
10

    
11
class VariablesInline(admin.TabularInline):
12
    model = Variable
13
    verbose_name = _('variable')
14
    verbose_name_plural = _('variables')
15

    
16
class WcsInstanceAdmin(admin.ModelAdmin):
17
    prepopulated_fields = {'domain': ('title',)}
18
    fieldsets = (
19
        (None, {'fields': ('title', 'domain'),}),
20
        ('site-options.cfg',
21
            {'fields': ('postgresql', ('saml2_use_role', 'saml2_role_prefix',), 'backoffice_feed_url' )}
22
        ),
23
        ('site-options.cfg au-quotidien',
24
            {'fields': ('drupal', 'ezldap', 'strongbox', 'clicrdv', 'domino' )}
25
        ),
26
    )
27
    readonly_fields = ('domain',)
28
    inlines = [VariablesInline, ApiSecretsInline]
29
    save_as = True
30

    
31
    def get_prepopulated_fields(self, request, obj=None):
32
        if obj:
33
            return {}
34
        return self.prepopulated_fields
35

    
36
    def get_readonly_fields(self, request, obj=None):
37
        readonly_fields = self.readonly_fields
38
        if not obj:
39
            return filter(lambda x: x != 'domain', readonly_fields)
40
        return readonly_fields
41

    
42

    
43
admin.site.register(WcsInstance, WcsInstanceAdmin)
(2-2/5)