Suivi de modifications dans l'administration
Voilà un cas intéressant qui n'est pas (ou peu mentionné) sur la toile.
Un objet "document"
Un administrateur se connecte, le modifie.
On veut avoir le suivit des modification et quel administrateur a modifié l'objet document.
Un schéma simplifié qui me parait correct :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Document:
actAs:
Timestampable: ~
Sluggable: { fields: [name] }
columns:
id: { type: integer, notnull: true, primary: true, autoincrement:true }
ref: { type: string(40) }
name: { type: string(140) }
article: { type: clob }
Modification:
actAs:
Timestampable: ~
columns:
id: { type: integer, notnull: true, primary: true, autoincrement:true }
description: { type: string(140) }
document_id: { type: integer }
user_id: { type: integer }
relations:
Document: { onDelete: CASCADE, local: document_id, foreign: id, foreignAlias: Modifications }
User:
class: sfGuardUser
foreign: id
local: user_id
type: one
onDelete: cascade
foreignType: one
foreignAlias: Profile |
Quelle est la bonne stratégie pour ceci ? Y a-t-il quelque chose de prévu à la base ?
Ma première idée est d'utiliser un embed form pour les modifications et de réécrire l'executeCreate autogénéré de l'administration pour voir qui a modifié le document.
Mais cela me parait un peu bordélique.