server/python/django2/renkanmanager/admin.py
author durandn
Tue, 07 Jun 2016 10:46:20 +0200
changeset 612 aa4987fede52
child 614 23416a833ca8
permissions -rw-r--r--
admin for renkan objects
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
612
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     1
from django import forms
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     2
from django.contrib import admin
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     3
from django.core.urlresolvers import reverse
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     4
from .models import Renkan, Revision, Workspace
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     5
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     6
class RenkanAdmin(admin.ModelAdmin):
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     7
    list_display = ('renkan_guid', 'current_revision_link', 'title', 'creator', 'creation_date')
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     8
    ordering = ('creation_date',)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
     9
    readonly_fields = ('current_revision_link', 'source_revision', 'title', 'content', 'is_copy', 'revision_count', 'creation_date')
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    10
    fieldsets = (
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    11
        (None, {'fields': ('renkan_guid',)}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    12
        ("Révision courante", {'fields': ('current_revision_link', 'title', 'content')}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    13
        ("Copie", {'fields': ( 'is_copy', 'source_revision',)}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    14
        ("Création", {'fields': ('creator', 'creation_date')}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    15
    )
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    16
    
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    17
    def current_revision_link(self, obj):
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    18
        return '<a href="%s">%s</a>' % (reverse("admin:renkanmanager_revision_change", args=(obj.current_revision.id,)), obj.current_revision.revision_guid)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    19
    current_revision_link.allow_tags = True
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    20
    current_revision_link.short_description = "Révision courante" 
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    21
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    22
class RevisionAdmin(admin.ModelAdmin):
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    23
    list_display = ('revision_guid', 'parent_renkan_link', 'creator', 'title', 'creation_date')
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    24
    ordering = ('creation_date',)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    25
    readonly_fields = ('parent_renkan_link', 'creation_date', 'modification_date',)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    26
    fieldsets = (
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    27
        (None, {'fields': ('revision_guid', 'parent_renkan',)}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    28
        ("Contenu", {'fields': ('title', 'content',)}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    29
        ("Création", {'fields': ('creator', 'creation_date')}),
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    30
        ("Edition", {'fields': ('last_updated_by', 'modification_date')})
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    31
    )
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    32
    
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    33
    def parent_renkan_link(self, obj):
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    34
        return '<a href="%s">%s</a>' % (reverse("admin:renkanmanager_renkan_change", args=(obj.parent_renkan.id,)), obj.parent_renkan.renkan_guid)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    35
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    36
    parent_renkan_link.allow_tags = True
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    37
    parent_renkan_link.short_description = "Renkan associé" 
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    38
   
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    39
class WorkspaceAdmin(admin.ModelAdmin):
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    40
    pass
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    41
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    42
admin.site.register(Renkan, RenkanAdmin)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    43
admin.site.register(Revision, RevisionAdmin)
aa4987fede52 admin for renkan objects
durandn
parents:
diff changeset
    44
admin.site.register(Workspace)