2017-10-18 2 views
1

Nous avons l'exigence que les utilisateurs, après avoir terminé l'entrée d'un formulaire, puissent seulement voir les données; seuls les utilisateurs autorisés peuvent modifier les données.
A cet effet, nous utilisons les autorisations suivantes et il fonctionne bien: permissionsSauvegarde intermédiaire et lecture seule après la terminaison

maintenant soulevé une deuxième exigence.
Les utilisateurs souhaitent la possibilité de terminer l'entrée du formulaire dans un deuxième moment, de sorte qu'ils n'ont pas à remplir le formulaire entièrement après avoir appuyé sur le nouveau bouton, avant de pouvoir appuyer sur le bouton de sauvegarde.
Parce que certaines formes sont grandes et peut-être qu'ils sont pressés d'attraper le bus, ou peut-être pour une réponse, ils doivent demander à quelqu'un d'autre pas contactable pour le moment.

L'idée était d'ajouter le bouton de sauvegarde.
Le premier enregistrement de sauvegarde est OK; le message est "Brouillon enregistré avec succès!".
Mais la deuxième économie se plaint:
error in second draft-save

Il semble que les autorisations ne font pas la différence entre sauver et projet-save, de sorte que même après un projet-enregistrer les données de formulaire est en lecture seule .

Quelles possibilités ai-je pour réaliser ces deux objectifs?

Merci beaucoup.

Répondre

1

Le save-draft process ressemble beaucoup à la sauvegarde normale (processus save-final), sauf qu'il permet aux utilisateurs d'enregistrer des données même si la valeur de certains champs n'est pas valide. Donc, en effet, du point de vue des autorisations, save-final et save-draft sont les mêmes.

Qu'est-ce que vous avez vraiment besoin est la capacité pour:

  1. Un processus pour sauver la scène du formulaire ainsi que les données. Dans votre cas, la scène pourrait être «work in progress» ou «submitted».
  2. Les permissions pour pouvoir dépendre de cette étape, ainsi vous pouvez dire "les utilisateurs peuvent éditer leurs propres données si la scène est en cours, mais ne peut la voir que si la scène est soumise".

Vous pouvez faire # 1 dès maintenant en utilisant un champ caché et une action xf:setvalue(). Mais vous ne pouvez pas faire # 2. Pour cela, vous aurez besoin de la fonctionnalité de workflow à mettre en œuvre (voir RFE #2256), que nous espérons être en mesure de terminer en 2018. Donc, vous l'aurez deviné, les bonnes nouvelles sont que cela arrive, mais les mauvaises nouvelles sont, à moins que j'écris ces lignes, qu'il n'est pas encore implémenté.