Routeur: Ajout temporaire des modules workflow et dae en écriture
[auf_rh_dae.git] / src / auf.django.metadata / README
CommitLineData
13ce8dd5
OL
1auf.django.metadata
2===================
3
4Ce module fournit un modèle abstrait en vue d'harmoniser les metadata des modèles
5utilisés dans les applications.
6
7Il s'occupe aussi de l'assignation automatique de ces metadatas à travers l'admin.
8Si les objets sont modifiés à travers un frontend, ces metadatas devront être codées
9manuellement dans les vues.
10
11Ce module fournit notemment une metadata 'supprime', qui permet de simuler une suppression
12aux yeux des utilisateurs. Toute la mécanique des de queryset pour lister et supprimer les
13objets est liée à ce modèle abstrait et n'est plus à coder dans votre application.
14
15Exemple d'utilisation
16=====================
17
181. Vos models
19-------------
20class AyantDroit(AUFMetadata):
21 """Personne en relation avec un Employe.
22 """
23 nom = models.CharField(max_length=255)
24 prenom = models.CharField(max_length=255, verbose_name="Prénom",)
25 employe = models.ForeignKey('Employe', db_column='employe', verbose_name="Employé")
26
272. Vos admins
28-------------
29
30# -*- encoding: utf-8 -*-
31
32from django.contrib import admin
33from auf.django.metadata.admin import AUFMetadataAdminMixin
34
35class AyantDroitAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
36 """
37 L'ajout d'un nouvel ayantdroit se fait dans l'admin de l'employé.
38 """
39
40 # Dans ce cas on ajoute d'autres champs "readonly" autrement cette déclaration
41 # est optionnelle.
42 readonly_fields = AUFMetadataAdminMixin.readonly_fields + ('employe',)
43
44 # Ajoute un premier fieldeset contenant les metadata ordonnées.
45 fieldsets = AUFMetadataAdminMixin.fieldsets + (
46 ("Lien avec l'employé", {
47 'fields': ('employe', )
48 }),
49
50 ('Identification', {
51 'fields': ('nom', 'prenom', )
52 }),
53 )