| author | ymh <ymh.work@gmail.com> |
| Thu, 23 Jun 2016 17:50:37 +0200 | |
| changeset 621 | 192ce5938726 |
| parent 614 | 23416a833ca8 |
| child 665 | 69d13e7dd286 |
| permissions | -rw-r--r-- |
| 612 | 1 |
from django import forms |
2 |
from django.contrib import admin |
|
3 |
from django.core.urlresolvers import reverse |
|
4 |
from .models import Renkan, Revision, Workspace |
|
| 621 | 5 |
from renkanmanager import settings |
| 612 | 6 |
|
7 |
class RenkanAdmin(admin.ModelAdmin): |
|
| 621 | 8 |
list_display = ('renkan_guid', 'current_revision_link', 'title', 'creator_display_field', 'creation_date') |
9 |
ordering = ('-creation_date',) |
|
10 |
||
11 |
readonly_fields = ('current_revision_link', 'title', 'content', 'is_copy', 'revision_count', 'creation_date', 'renkan_guid') |
|
12 |
||
| 612 | 13 |
fieldsets = ( |
14 |
(None, {'fields': ('renkan_guid',)}), |
|
15 |
("Révision courante", {'fields': ('current_revision_link', 'title', 'content')}), |
|
16 |
("Copie", {'fields': ( 'is_copy', 'source_revision',)}), |
|
17 |
("Création", {'fields': ('creator', 'creation_date')}), |
|
18 |
) |
|
|
614
23416a833ca8
Change guid fields to more optimal type + migration
ymh <ymh.work@gmail.com>
parents:
612
diff
changeset
|
19 |
|
| 621 | 20 |
search_fields = ['renkan_guid', 'current_revision__title', 'creator__'+settings.RENKAN_USER_DISPLAY_FIELD] |
21 |
||
22 |
def creator_display_field(self, obj): |
|
23 |
return getattr(obj.creator, settings.RENKAN_USER_DISPLAY_FIELD) if obj.creator else None |
|
24 |
creator_display_field.short_description = 'creator' |
|
25 |
||
26 |
def get_queryset(self, request): |
|
27 |
queryset = super(RenkanAdmin, self).get_queryset(request) |
|
28 |
return queryset.select_related('current_revision', 'creator') |
|
29 |
||
| 612 | 30 |
def current_revision_link(self, obj): |
31 |
return '<a href="%s">%s</a>' % (reverse("admin:renkanmanager_revision_change", args=(obj.current_revision.id,)), obj.current_revision.revision_guid) |
|
32 |
current_revision_link.allow_tags = True |
|
|
614
23416a833ca8
Change guid fields to more optimal type + migration
ymh <ymh.work@gmail.com>
parents:
612
diff
changeset
|
33 |
current_revision_link.short_description = "Révision courante" |
| 612 | 34 |
|
35 |
class RevisionAdmin(admin.ModelAdmin): |
|
| 621 | 36 |
list_display = ('revision_guid', 'parent_renkan_link', 'creator_display_field', 'title', 'modification_date') |
37 |
ordering = ('-modification_date',) |
|
38 |
readonly_fields = ('parent_renkan_link', 'creation_date', 'modification_date','revision_guid', 'parent_renkan') |
|
39 |
||
40 |
search_fields = ('revision_guid', 'parent_renkan__renkan_guid', 'title', 'creator__'+settings.RENKAN_USER_DISPLAY_FIELD) |
|
41 |
||
| 612 | 42 |
fieldsets = ( |
43 |
(None, {'fields': ('revision_guid', 'parent_renkan',)}), |
|
44 |
("Contenu", {'fields': ('title', 'content',)}), |
|
45 |
("Création", {'fields': ('creator', 'creation_date')}), |
|
46 |
("Edition", {'fields': ('last_updated_by', 'modification_date')}) |
|
47 |
) |
|
|
614
23416a833ca8
Change guid fields to more optimal type + migration
ymh <ymh.work@gmail.com>
parents:
612
diff
changeset
|
48 |
|
| 621 | 49 |
def creator_display_field(self, obj): |
50 |
return getattr(obj.creator, settings.RENKAN_USER_DISPLAY_FIELD) if obj.creator else None |
|
51 |
creator_display_field.short_description = 'creator' |
|
52 |
||
53 |
||
| 612 | 54 |
def parent_renkan_link(self, obj): |
55 |
return '<a href="%s">%s</a>' % (reverse("admin:renkanmanager_renkan_change", args=(obj.parent_renkan.id,)), obj.parent_renkan.renkan_guid) |
|
56 |
||
57 |
parent_renkan_link.allow_tags = True |
|
|
614
23416a833ca8
Change guid fields to more optimal type + migration
ymh <ymh.work@gmail.com>
parents:
612
diff
changeset
|
58 |
parent_renkan_link.short_description = "Renkan associé" |
|
23416a833ca8
Change guid fields to more optimal type + migration
ymh <ymh.work@gmail.com>
parents:
612
diff
changeset
|
59 |
|
| 621 | 60 |
def get_queryset(self, request): |
61 |
queryset = super(RevisionAdmin, self).get_queryset(request) |
|
62 |
return queryset.select_related('parent_renkan', 'creator') |
|
63 |
||
64 |
||
| 612 | 65 |
class WorkspaceAdmin(admin.ModelAdmin): |
66 |
pass |
|
67 |
||
68 |
admin.site.register(Renkan, RenkanAdmin) |
|
69 |
admin.site.register(Revision, RevisionAdmin) |
|
| 621 | 70 |
admin.site.register(Workspace, WorkspaceAdmin) |