TRightProfilManager (class)

De Wiki1000
(Différences entre les versions)
Ligne 100 : Ligne 100 :
  
 
[[Category:Façade métier]]
 
[[Category:Façade métier]]
 +
[[Category:Version700]]

Version du 29 octobre 2015 à 16:44

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éent) 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é 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é 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.




Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels