Commit | Line | Data |
---|---|---|
f9263424 OL |
1 | # -*- encoding: utf-8 -*- |
2 | ||
3 | from django.contrib import admin | |
4 | from django.conf import settings | |
5 | from models import FAQ | |
6 | ||
f957568b OL |
7 | #TODO : écrire une admin pour le modèle de 'Ressources'. |
8 | ||
f9263424 OL |
9 | class FAQAdmin(admin.ModelAdmin): |
10 | """ | |
11 | Cette classe permet de spécifier comment fonctionne les interfaces d'administrations du modèle FAQ : | |
12 | * liste | |
13 | * édition | |
14 | ||
15 | Celà se fait, en spécifiant certaines propriétés de la classe, ou encore en surchargeant des méthodes | |
16 | particulières. | |
17 | ||
18 | Les interfaces d'administrations, font parties intégrantes du framework Django, | |
19 | et les options disponibles sont présentées ici : | |
20 | https://docs.djangoproject.com/en/1.2/ref/contrib/admin | |
21 | """ | |
22 | ||
23 | # Cette option définie les champs qui seront présentées dans la vue en liste. | |
24 | # Si on se référence au modèle FAQ, _todo n'est pas un champs du modèle, mais | |
25 | # il fait référence à une méthode définie ci-dessous. | |
26 | list_display = ("question", "_todo", "public", ) | |
27 | ||
28 | def _todo(self, obj): | |
29 | """ | |
30 | Cette méthode est exploitée par la liste list_display. Elle prends en paramètre 'obj', | |
31 | qui est un objet FAQ. | |
32 | (Cette méthode est appelée pour représentrer la valeur de la colonne '_todo' pour chaque ligne.) | |
33 | """ | |
34 | if obj.reponse != "": | |
35 | return """<img alt="True" src="%simg/admin/icon-yes.gif">""" % settings.ADMIN_MEDIA_PREFIX | |
36 | else: | |
37 | return """<img alt="False" src="%simg/admin/icon-no.gif">""" % settings.ADMIN_MEDIA_PREFIX | |
38 | # Cette option permet de renommer la colonne | |
39 | _todo.short_description = u"Traité" | |
40 | # Cette option autorise l'utilisation du HTML dans le résultat de la méthode | |
41 | _todo.allow_tags = True | |
42 | ||
43 | ||
f957568b | 44 | # Il ne faut pas oublier d'enregistrer le modèle avec son admin!!! |
f9263424 | 45 | admin.site.register(FAQ, FAQAdmin) |