TRightProfilManager (class)
De Wiki1000
Cette façade métier permet à l'Application métier de configurer les profils de droits pour un utilisateur.
Lorsque le profil de droit est chargé, les valeurs des paramètres de ce profil sont définis avec le paramétrage défini pour cette utilisateur.
La façade permet de définir les valeurs des paramètres au chargement de l'application en remplacement (ou en complément) du paramétrage de l'utilisateur.
Ceci permet d'implémenter une gestion plus sophistiquée du paramétrage, sous le contrôle de l'Application métier.
Cette façade doit avoir l'interface suivante :
Type TRightProfilManager = Class(TitObject) public Class Function ConfigureParameter(const iProfilName:string; const iParameterName:string; const iClassName:string; const iOperator:string; const iAttribute:string; var aValue:variant):boolean; end;
ConfigureParameter
Paramètre | Usage |
---|---|
iProfilName | Nom du profil de droit |
iParameterName | Nom du paramètre |
iClassName | Nom de la classe sur lequel porte le droit |
iOperator | Opérateur du droit |
iAttribute | Nom de l'attribut sur lequel porte le droit |
aValue | Valeur du droit à appliquer |
La fonction ConfigureParameter est appelée pour chaque paramètre.
- Valeur de retour False
- Le paramètre n'est pas configuré et sera configuré par la configuration de l'utilisateur
- Valeur de retour True
- Le paramètre est configuré par la valeur retournée dans aValue
aValue doit être correctement formaté.
Exemple :
unit genConfiguration; interface Type TRightProfilManager = Class(TitObject) public Class Function ConfigureParameter(const iProfilName:string; const iParameterName:string; const iClassName:string; const iOperator:string; const iAttribute:string; var aValue:variant):boolean; end; Implementation {TRightProfilManager} Class Function TRightProfilManager.ConfigureParameter(const iProfilName:string; const iParameterName:string; const iClassName:string; const iOperator:string; const iAttribute:string; var aValue:variant):boolean; //Class Function ConfigureParameter(const iParameterName:string; const iClassName:string; const iOperator:string; const iAttribute:string; var aValue:variant):boolean; begin Result := False; if Pos('%ETABLISSEMENT',iParameterName)=1 then begin aValue := QuotedStr('BDX'); if iOperator='in' then aValue := Format('(%s)',[aValue]); Result := True; end; if Pos('%SITE',iParameterName)=1 then begin aValue := QuotedStr('BDX'); if iOperator='in' then aValue := Format('(%s)',[aValue]); Result := True; end; if Pos('%DEPOT',iParameterName)=1 then begin aValue := QuotedStr('BDX')+','+QuotedStr('MTL'); if iOperator='in' then aValue := Format('(%s)',[aValue]); Result := True; end; end; end.