logo


Recherche Avancée

Non identifié
Non identifié
Nom

Mot de passe


Mot de passe oublié?

métatests ou métatraitements

Ces instructions permettent de réduire le code au niveau de Vitefait, mais il est toujours possible de coder en Python.

De plus deux valeurs couramment utilisée ont été codées (utilisateur et rôle)

Autres modifications, toutes les questions de type nonEnFormulaire peuvent avoir des traitemements après tests, avant écriture, avant visualisation et avant liste. Ces traitements seront traités séquentiellement selon l'ordre des question (comme les autres traitements).

Seule la question 9999 réservée pour la génération de code supplémentaire (exemple code @ voir plus loin) fait exception (danns cette question 9999 tout autre code sera ignoré).

variable utilisateur

Quand au niveau d'un test dans Vitefait vous voulez faire référence au nom de l'utilisateur, il suffit de mettre _UTILISATEUR_

Quand au niveau d'un test dans Vitefait vous voulez faire référence aux rôles de l'utilisateur il suffit de mettre _ROLES_

Ces variables peuvent s'utiliser dans les traitements « après tests », « avant écriture », « avant visualisation » et « avant liste ».

Méta-instruction $

Cette instruction concerne la sécurité, grâce à cette instruction il est facile de rendre un champ protégé, ou de masquer une touche en fonction d'une condition.

  • protection d'un champ:

$ condition

$ condition //# la protection se fait par l'attribut html "disabled", utile pour les champs de type coche, radio

Cette instruction se met au niveau du traitement « avant visualisation » du champ qu'elle doit protéger, la condition est au format condition de python le test d'égalité se fait en doublant le signe égal. Toute question a tester doit être préfixée par « val. ».

exemples:

$ _UTILISATEUR_ == 'Anonymous User'

le champ sera protégé (attribut HTML readonly et class=prot) pour les utilisateurs non authentifiés

NOTE: si vous voulez mettre le champ en attribut HTML « disabled », mettez:

$ condition//#

$ _UTILISATEUR_ != 'jack'

le champ sera rendu protégé pour tous les utilisateurs sauf « jack ».

$ 'Authenticated' not in _ROLES_

le champ sera protégé pour tous les utilisateurs non authentifiés

$ int(val.salaire) > 3000 and _UTILISATEUR_ != 'jack'

seul l'utilisateur « jack » aura accès en modification aux salaires supérieurs à 3000

  • protection d'une touche de fonction (celle-ci ne s'affichera pas):

$ condition//touche

Cette instruction se met au niveau du traitement « avant visualisation » de n'importe quelle question.

exemples:
$ int(val.salaire) > 3000 and _UTILISATEUR_ != 'jack' //valider

note: ceci est l'équivalent de la création d'un objet formulaire_secur_valider dans les anciennes versions de Vitefait.

ATTENTION: si dans des versions prédentes vous aviez écrits en dehors de Vitefait des objet de type formulaire_secur_touche, ceux-ci seraient détruits par le code "$ condition //touche". Vous devrez donc intégrer votre code au niveau du questionnaire.

Méta-instruction =

Cette instruction est une instruction d'affectation, elle se met sur n'importe quelle question au niveau de n'importe quelle traitement. Par défaut, c'est la question sur laquelle l'instruction est posée qui sera affectée, mais il est possible de définir une autre question.

Si au niveau de l'affectation, vous faite appel à une autre question, il faut la préfixer par « val. ».

Si vous faite un calcul numérique sur une autre question, il faut la convertir avant (le formulaire rendant des chaines de caractères) soit avec int (entier) ou float (flottant).

syntaxe:

=calcul

ou le calcul est n'importe quel calcul de Python.

exemple:

=float(val.horstaxe)*1.206

Vous pouvez avec la méta-instruction d'affectation affecter une autre question que la question courante en mettant « // » et le nom de la question (nom réel non préfixé par val). Ceci est utile par exemple au niveau de la question 9999. Ceci peut être aussi utile pour affecter des valeurs spéciales de Vitefait.

=calcul//question

exemple:

=float(val.horstaxe)*1.206//ttc

Object actions
CPSSkins is Copyright © 2003-2005 by Jean-Marc Orliaguet.
CPS is Copyright © 2002-2005 by Nuxeo SARL.
Plone and its visual design is Copyright © 2000-2005 by Alexander Limi, Alan Runyan, Vidar Andersen.