Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Confiforms Approve/Reject workflow

Vanessa April 30, 2023

Hi Community, I am trying to design a form with approve/reject workflow. There is a status field in the form. After the form is created, the reviewer will either click "APPROVE" or "REJECT" button. The submitter can view the status change.

 

Form Definition (Submitter page)

1. I selected Status field type in the field definition macro and defined status options "APPROVE" and "REJECT".

2. Create 2 action buttons "Approve" and "Reject". And put the action to perform "Status.label=APPROVE" and "Status.label=REJECT"

 

(FormView) Registration Control (Submitter page)

1. Add Confiform Field "Status" 

 

TableView (Reviewer page)

1. Add Confiform Field "APPROVE" and Confiform Field "REJECT". 

   Apply filter on choices: APPROVE.true:[entry.Status.APPROVE]

   Apply filter on choices: REJECT.true:[entry.Status.REJECT]

2. Create 2 "ConfiForms IFMatches View Helper"

    Confition: APPROVE:true (the other one REJECT:true)

    Type:asFilter

    Output: INLINE

 

The above macros work and are able to change status after clicking APPROVE or REJECT button and change Status field accordingly. However, it still pop out an error message "Could not complete action due to a technical issue on the backend: error".  Can you help investigate this issue?

1 answer

0 votes
Alex Medved _ConfiForms_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 30, 2023

Hi @Vanessa 

Please open a support request with us at https://wiki.vertuna.com/display/VERTUNA/Support+Request+Form

So we can look into this issue

PS, actions for action buttons dont look right, as they should operate on fields. Something like Status=APPROVE and Status=REJECT is more likely to be correct

Also filtering expression like APPROVE.true:[entry.Status.APPROVE]... well, I dont understand those either What should this do? Is this something to check if Status field has an APPROVE value? Then this is as simple as Status:APPROVE

Alex

Vanessa May 2, 2023

@Alex Medved _ConfiForms_ I follow your steps to update action buttons and filter on choice in the TableView and still receive the same result and error message.

The scenario is that when reviewer clicks "APPROVE" or "REJECT" button in the reviewer page, the Status field will be updated in the submitter view to track review result.

 

Form Definition (Submitter page)

1. Status options: "APPROVE" and "REJECT".

2. 2 Action buttons "Approve" and "Reject".

    Action to perform: "Status=APPROVE" and "Status=REJECT"

 3. 2 ConfiForms Rules for Field Definition

     Field name: APPROVE

     Condition: !APPROVE:[empty]

     Action to execute: Apply Filter on a Field

     Actionable Field Name: Status

     Filter to apply on a field: Status:APPROVE

 

     Field name: REJECT

     Condition: !REJECT:[empty]

     Action to execute: Apply Filter on a Field

     Actionable Field Name: Status

     Filter to apply on a field: Status:REJECT

 

(FormView) Registration Control (Submitter page)

1. Add Confiform Field "Status" 

 

TableView (Reviewer page)

1. Add Confiform Field "APPROVE" and Confiform Field "REJECT". 

   Apply filter on choices: Status:APPROVE

   Apply filter on choices: Status:REJECT

2. Create 2 "ConfiForms IFMatches View Helper"

    Confition: APPROVE:true

    Type:asFilter

    Output: INLINE

 

    Confition: REJECT:true

    Type:asFilter

    Output: INLINE

 

Btw, I need to check with our IT to get license SEN number, so I don't submit Support Request Form. Thanks for your help!

 

Vanessa

Alex Medved _ConfiForms_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 3, 2023

Hi

I dont know, but this sounds over complicated to me...  Here is a simple demo - hope that helps

http://recordit.co/osjMzEJmfQ

Storage format for easy import

<ac:structured-macro ac:macro-id="726a7554-8771-4d9f-b37a-0d86b5e22aee" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">form</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="a42b078c-9a89-47c3-8f68-c80513c13ae9" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Status</ac:parameter>
<ac:parameter ac:name="fieldLabel">Status</ac:parameter>
<ac:parameter ac:name="values">false[APPROVE=APPROVE|REJECT=REJECT|]</ac:parameter>
<ac:parameter ac:name="type">select</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="3b9771e9-1da0-4d2d-b094-462f0a1e3191" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Approve</ac:parameter>
<ac:parameter ac:name="fieldLabel">Approve</ac:parameter>
<ac:parameter ac:name="extras">Status=APPROVE</ac:parameter>
<ac:parameter ac:name="type">action_button</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="9bbe58fa-9141-4204-827e-1ab9beaf160b" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Reject</ac:parameter>
<ac:parameter ac:name="fieldLabel">Reject</ac:parameter>
<ac:parameter ac:name="extras">Status=REJECT</ac:parameter>
<ac:parameter ac:name="type">action_button</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="69059cd2-ea79-4498-9d73-8dbe74acb439" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="2907d0e5-b7a8-48ad-a797-cf56f30cfca4" ac:name="confiform-table" ac:schema-version="1">
<ac:parameter ac:name="formName">form</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="8ed769c3-498e-48c0-8c3e-8dcbb0032469" ac:name="confiform-field" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Status</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="1c98d907-93da-4b1d-bc6a-939f02963e87" ac:name="confiform-field" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Approve</ac:parameter>
<ac:parameter ac:name="hideIfMatches">Status:APPROVE</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="42845530-554e-4538-bcb8-a05fd664d1c6" ac:name="confiform-field" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Reject</ac:parameter>
<ac:parameter ac:name="hideIfMatches">Status:[empty] OR Status:REJECT</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>

PS, SEN number is visible to anyone, in form admin UI (button with a "cog wheel" and the form name, then show/edit stored data menu item and table footer will show you all the necessary details)

Alex

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events