Validation workflow and order of selection

Hi friends,

     Building an app related to training requests processing , I want to create an order of appearance of request approval in a column named "Etat Demande" so that when the request is submitted the training coordiantor will not be confused which step to choose in processing the request.

   So ,I have three main users for this app:Admin ,Coordiantor and User.

The user initiates requests and the coordiantor starts to process the request following a defined order as follows:The initial value in column "Etat Demande" is 📧 Submitted (when the request is made).

Summary of Status Flow:

  1. 📧Submitted → Can change to In process or Rejected
  2. In process → Can change to Accepted or Rejected
  3. Accepted → Can change to 👍Confirmed
  4. 👍Confirmed → Can change to ▶️Ongoing
  5. ▶️Ongoing → Can change to 🎯Completed
  6. Rejected → Can change to 🚫Cancelled
  7. 🎯Completed → No further changes allowed

Note also that some other users who approve (accept or reject request) receive an embedded appview through email to choose between Accepted or Rejected (I want only these two values appear in the embedded appview).

How to make the values above appear in order to avoid any confusion?

Best regards,

0 2 90
2 REPLIES 2

Use validation to set the valid list of choices.  something like this:

IFS(
CONTEXT("View") = "Embedded View", {"Accepted", "Rejected"}),
[Status] = "Submitted", {"Submitted","In Process"."Rejected"},
[Status] = "In Process",{"In Process","Accepted"."Rejected"},
[Status] = "Accepted",{"Accepted"."Confirmed"},
...
)

 NOTE:  You might also need to think about "undo" functionality.  For example, if the status is Submitted and they accidently choose Rejected, it would be nice to go back to Submitted without the need to Cancel the Form View and start over.  This requires also adding inthe "undo" option into the list.

I am not as familiar with embedded views...BUT I believe if you create a specialized view used in the email that you can specify the validation as indicated in the above expression.

I hope this helps!

Thank you for your interest;

I get it working using this expression:

IF(
CONTEXT("View")="Stage_Detail",
LIST(" Accepted", " Rejected"),
SWITCH(
[Etat Demande],
"📧 Submitted", LIST([Etat Demande], " In process", " Rejected"),
" In process", LIST([Etat Demande], " Accepted", " Rejected"),
" Accepted", LIST([Etat Demande], "👍 Confirmed"),
"👍 Confirmed", LIST([Etat Demande], "▶️ Ongoing"),
"▶️ Ongoing", LIST([Etat Demande], "🎯 Completed"),
" Rejected", LIST([Etat Demande], "🚫 Cancelled"),
"🎯 Completed", LIST([Etat Demande]),
LIST([Etat Demande])
)
)

The idea of undo you referred to is nice but I have not any idea on how to implement it right now.If some one could help it would be highly appreciated.