Merge pull request #2201 from pravinOpenSign/patch-75

Patch 75
This commit is contained in:
Raktima
2026-07-01 13:16:24 +05:30
committed by GitHub
3 changed files with 3880 additions and 25 deletions
File diff suppressed because it is too large Load Diff
+799 -18
View File
@@ -14,7 +14,7 @@ The OpenSign™ Request signatures interface is designed to streamline the proce
### Step 1: Begin New Document Creation
- **Navigate to Request Signatures form**: Start by navigating to 'Request Signatures' from the main menu to initiate the creation of a document for signatures.
-
<img width="866" alt="requets signature" src="https://github.com/user-attachments/assets/f3edeafa-66d1-416a-854e-ce666f27e7b7" />
### Uploading Your Document
@@ -152,14 +152,10 @@ The **Prefill Widgets** feature lets document creators prefill specific fields b
- **Draw** Allows the user to draw directly in this widget; use it when a prefill drawing is required.
---
### Add Widgets for Signers
## Signers/Recipients
Below the **Prefill** section, you'll find the list of signers that were added while creating the document. From this panel, you can select a recipient to assign widgets or use the **Add Recipient** option to include additional signers.
<img width="866" alt="create document" src="https://github.com/user-attachments/assets/fa5471f0-f7cb-4170-982f-cb213e4db13d" />
- **[1] Add signature widget**: Once your document is loaded in the document creation panel, you'll need to add a signature widget for each signer. OpenSign provides an intuitive interface for this task. Select the signer from the right side panel, click on the signature widget, and position it where the signature is required.
Use the option on the right side to add recipients if you need to include additional signers. You can place multiple signature widgets for each signer, as required.
Optionally, you can assign a role to each signer, such as:
Each recipient can be assigned one of the following roles:
**Signer**: If the role is selected as Signer, the signer must fill in all required fields while signing the document before they can complete the signing process.
@@ -167,14 +163,41 @@ Optionally, you can assign a role to each signer, such as:
**Approver**: If the role is selected as Approver, it works similarly to the Signer role. However, the main difference is that the Approver role does not require a signature widget. The approver can approve the document even if no widgets are assigned.
After placing the Signature widget, you will see the options on the widget such as:
## Access code
The **Access Code** feature in OpenSign adds an extra layer of security to your documents by requiring recipients to enter a unique access code before they can view and sign a document. This feature helps ensure that only authorized recipients can access sensitive documents, even if the signing link is accidentally shared or intercepted.
<img width="866" alt="Access code" src="https://github.com/user-attachments/assets/e227e069-ee56-41ee-832d-b2c210cd3d63" />
### How the Access Code Works
1. The document owner can enable **Access Code** protection by clicking the **Lock** icon next to the signer's details. This opens the **Access Code** dialog, where the owner can enter a unique **6-digit numeric access code** (for example, `809966`). After entering the code, click **Save** to assign it to the signer.
2. Send the document for signature.
3. The signer receives an email invitation containing the document signing link. Alternatively, the document owner can share the signing link manually through another secure communication channel, such as SMS, a messaging application, or email.
4. When the signer opens the document signing link, they are prompted to enter the assigned **6-digit access code** before they can access the document. The signer must obtain this access code directly from the document owner, who should share it using a separate and secure communication channel (such as a phone call, SMS, or messaging application).
5. If the signer enters the correct access code, the document opens and they can proceed with reviewing and signing it.
6. If the signer enters an incorrect access code, access to the document is denied. The signer must enter the correct **6-digit numeric access code** provided by the document owner to continue.
---
## Add Widgets for Signers
### 1. Add a Signature Widget
Once your document is loaded in the document creation panel, you'll need to add a signature widget for each signer. Select the signer from the right side panel, click on the signature widget, and position it where the signature is required.
<img width="866" alt="create document" src="https://github.com/user-attachments/assets/fa5471f0-f7cb-4170-982f-cb213e4db13d" />
### Signature Widget Options
After placing the Signature widget, you will see the options on the widget such as:
- **Add Signer/Change Signer**: Clicking the first icon on the signature widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- **Copy Signature**: Clicking on this option reveals the following choices.
- All pages: It will copy the signature widget to all pages.
- All pages but last: It will copy the signature widget to all pages except the last page.
- All pages but first: It will copy the signature widget to all pages except the first page.
- **[2] Add other widgets**: Depending on your needs, you can include additional widgets such as:
### 2. Add Other Widgets
Depending on your needs, you can include additional widgets such as:
- **Stamp**: The stamp widget allows signers to add a stamp to the document. Signers can upload their stamp during the signing process. After placing the Stamp widget, you will see the options on the widget such as:
- Setting icon: By clicking on the option, you can specify whether this widget is mandatory or optional during the document signing.
- Add Signer/Change Signer: Clicking the second option on the stamp widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
@@ -256,9 +279,237 @@ The **Date widget** allows signers to enter a date while signing the document. O
You can enter your regex pattern in the **Validations** field of the widget.
*(Optional reference: [JavaScript RegExp guide](https://www.w3schools.com/jsref/jsref_obj_regexp.asp))*
- Add Signer/Change Signer: Clicking the first icon on the Text Input widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
**Conditional Logic**:
The Text Input widget also supports **Conditional Logic**, allowing you to dynamically show, hide, make required, or make optional the field based on values entered or selected in other widgets.
Conditional Logic enables the Text Input widget to respond dynamically based on values from other widgets.
- Copy : Clicking on this you can duplicate the Text Input widget.
Depending on the configured rule, the Text Input field can:
- Show the field
- Hide the field
- Make the field Required
- Make the field Optional
<img width="1897" alt="conditional logic textinput" src="https://github.com/user-attachments/assets/ef89a946-ba4a-4a14-a7ef-97b2a8119e6b" />
## Supported Conditions
The **Text Input** widget supports conditional logic based on the values of other widgets.
The available conditions depend on the selected trigger widget.
### Text Input
Supported operators:
- **Equals**
- **Does Not Equal**
**Example** If the value entered in **TextInput1** is equal to **HR**, then **TextInput2** is displayed.
```
text Condition: TextInput1 = HR
Action: Show TextInput2
```
### Number
Supported operators:
- Equals
- Does Not Equal
Example
If ``` number_widget1 = 5 ```
Then ``` Show TextInput1 ```
### Any Condition (OR)
When **Any Condition (OR)** is selected, the configured action is performed if **at least one** of the specified conditions is satisfied.
**Example**
text Condition 1: Number Field = 10 OR Condition 2: Checkbox = Checked
Action:
Show TextInput1
**TextInput1** is displayed if either the Number field equals **10** or the Checkbox is checked.
## Example
| Property | Value |
|----------|-------|
| **Trigger Widget** | Number |
| **Condition** | Equals |
| **Condition Value** | 5 |
| **Condition 2 checkbox** | checked |
| **Action** | Show TextInput1 |
**Result**
The configured **TextInput1** widget becomes visible when **either** the Number field equals **10** **or** the Checkbox is checked.
### Related Conditional Logic Guides
The **Text Input** widget also supports Conditional Logic using the following trigger widgets:
- **Dropdown Widget** - [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#number-widget-as-the-trigger)
- **Dropdown Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-widget-as-the-trigger)
- **Checkbox Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-widget-as-the-trigger)
- **Radio Button Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-as-the-trigger)
### Additional Widget Options
- **Add Signer / Change Signer**: Click the first icon on the Text Input widget to assign the widget to a different signer. You can select an existing signer or add a new recipient.
- **Copy**: Click the **Copy** icon to duplicate the Text Input widget.
---
- **Number widget**
The Number widget is used to collect numeric input from the signer. It accepts only numeric values, helping ensure data accuracy and consistency. The Number widget also supports formulas, allowing you to perform automatic calculations using values from other Number widgets. After placing the Number widget, you will see the following options:
- **Settings**: The widget settings panel provides additional customization options, including:
- Choosing a **font color**
- Setting the **font size**
- Marking the field as **required** or **optional**
- Providing a **default value**
- Making the field **read-only**
- Adding a **placeholder** to guide the signer on the expected input
- Assigning a unique **Name** to the widget. This name is used when referencing the widget in formulas.
- Example:
- `number-1`
- `subtotal`
- `tax`
- `grand_total`
- Defining a **Formula** to automatically calculate values using other Number widgets.
- Example:
```text
{{quantity}} * {{price}}
```
- Supported mathematical operators include:
- `+` Addition
- `-` Subtraction
- `*` Multiplication
- `/` Division
- `%` Modulus (Remainder)
- `()` Parentheses for grouping operations
---
### **Conditional Logic**
The Number widget also supports **Conditional Logic**, allowing you to dynamically show, hide, make required, or make optional the field based on values entered or selected in other widgets.
Conditional Logic enables the Number widget to respond dynamically based on values from other widgets.
Depending on the configured rule, the Number widget can:
- Show the field
- Hide the field
- Make the field **Required**
- Make the field **Optional**
---
## Supported Conditions
The **Number** widget supports Conditional Logic based on the values of other widgets.
The available conditions depend on the selected trigger widget.
### Text Input
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the value entered in **TextInput1** is equal to **HR**, then **Number1** is displayed.
```text
Condition: TextInput1 = HR
Action: Show Number1
```
---
### Number
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If **Number1** equals **10**, then **Number2** is displayed.
```text
Condition: Number1 = 10
Action: Show Number2
```
---
### Any Condition (OR)
When **Any Condition (OR)** is selected, the configured action is performed when **at least one** of the configured conditions is satisfied.
#### Example
**Conditions**
- Number Field = **10**
- **OR**
- Checkbox = **Checked**
**Action**
Show **Number1**
**Result**
The configured **Number1** widget is displayed when either of the following conditions is met:
- The signer enters **10** in the Number field.
- The signer checks the Checkbox.
---
## Configuration Example
| Property | Value |
|----------|-------|
| **Condition Type** | Any Condition (OR) |
| **Trigger Widget 1** | Number |
| **Condition** | Equals |
| **Condition Value** | 10 |
| **Trigger Widget 2** | Checkbox |
| **Condition** | Is Checked |
| **Action** | Show Number1 |
**Result**
The configured **Number1** widget becomes visible when **either** the Number field equals **10** **or** the Checkbox is checked.
### Related Conditional Logic Guides
The **Number** widget also supports Conditional Logic using the following trigger widgets:
- **Dropdown Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#number-widget-triggered-by-a-dropdown)
- **Checkbox Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#number-widget-triggered-by-a-checkbox)
- **Radio Button Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#number-widget-triggered-by-a-radio-button)
- **Number Widget Triggered by Another Number Widget** - [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#number-widget-triggered-by-another-number-widget)
### Additional Widget Options
- **Add Signer / Change Signer**: Click the first icon on the Number widget to assign the widget to a different signer. You can choose an existing signer or add a new recipient.
- **Copy**: Click the **Copy** icon to duplicate the Number widget.
---
- **Cells**
The **Cells widget** is ideal for documents that require input in a structured, table-like format, allowing the signer to fill in details within individual cells. After dragging and dropping the widget onto the document, you can adjust the number of cells by moving the **blue marker**.
@@ -289,19 +540,547 @@ The **Date widget** allows signers to enter a date while signing the document. O
<img width="800" alt="request signatures" src="https://github.com/user-attachments/assets/dee17fe8-243b-4113-896a-00424d12ea8a" />
---
- **Checkbox**: The checkbox widget is used to capture input in the form of a checkbox selection. Once you drop the checkbox widget, a popup will open where you can set the checkbox name and options. Additionally, there are a few options available such as setting the minimum and maximum checks, making the checkbox read-only, and hiding the label.
- Add Signer/Change Signer: Clicking the first icon on the CheckBox widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- Copy : Clicking on this you can duplicate the Checkbox widget.
**Conditional Logic**
The **Checkbox** widget supports **Conditional Logic**, allowing you to dynamically show, hide, make required, or make optional the field based on values entered or selected in other widgets.
Conditional Logic enables the Checkbox widget to respond dynamically based on values from other widgets.
Depending on the configured rule, the Checkbox field can:
- Show the field
- Hide the field
- Make the field **Required**
- Make the field **Optional**
---
## Supported Conditions
The **Checkbox** widget supports Conditional Logic based on the values of other widgets.
The available conditions depend on the selected trigger widget.
### Text Input
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the value entered in **TextInput1** is **HR**, then **Checkbox1** is displayed.
```text
Condition: TextInput1 = HR
Action: Show Checkbox1
```
---
### Number
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If **Number1** equals **10**, then **Checkbox1** is displayed.
```text
Condition: Number1 = 10
Action: Show Checkbox1
```
---
### Dropdown
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the selected value of **Dropdown1** is **Manager**, then **Checkbox1** is displayed.
```text
Condition: Dropdown1 = Manager
Action: Show Checkbox1
```
---
### Checkbox
**Supported operators:**
- **Is Checked**
- **Is Not Checked**
**Example**
If **Checkbox1** is checked, then **Checkbox2** is displayed.
```text
Condition: Checkbox1 is Checked
Action: Show Checkbox2
```
Another example:
If **Checkbox1** is **not checked**, then **Checkbox2** is displayed.
```text
Condition: Checkbox1 is Not Checked
Action: Show Checkbox2
```
---
### Radio Button
**Supported operators:**
- **Is Checked**
- **Is Not Checked**
- **Equals**
- **Does Not Equal**
**Example**
If **Radio Button1** is checked, then **Checkbox1** is displayed.
```text
Condition: Radio Button1 is Checked
Action: Show Checkbox1
```
---
### Any Condition (OR)
When **Any Condition (OR)** is selected, the configured action is performed when **at least one** of the configured conditions is satisfied.
#### Example
**Conditions**
- Number Field = **10**
- **OR**
- Checkbox = **Checked**
**Action**
Show **Checkbox1**
**Result**
The configured **Checkbox1** widget is displayed when **either** of the following conditions is met:
- The signer enters **10** in the Number field.
- The signer checks the Checkbox.
---
## Configuration Example
| Property | Value |
|----------|-------|
| **Condition Type** | Any Condition (OR) |
| **Trigger Widget 1** | Number |
| **Condition** | Equals |
| **Condition Value** | 10 |
| **Trigger Widget 2** | Checkbox |
| **Condition** | Is Checked |
| **Action** | Show Checkbox1 |
**Result**
The configured **Checkbox1** widget becomes visible when **either** the Number field equals **10** **or** the Checkbox is checked.
### Related Conditional Logic Guides
The **Checkbox** widget also supports Conditional Logic using the following trigger widgets:
- **Text Input Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-triggered-by-a-text-input)
- **Number Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-triggered-by-a-number-widget)
- **Dropdown Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-triggered-by-a-dropdown)
- **Radio Button Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-triggered-by-a-radio-button)
- **Checkbox Triggered by Another Checkbox** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#checkbox-triggered-by-another-checkbox)
### Additional Widget Options
- **Add Signer / Change Signer**: Click the first icon on the Checkbox widget to assign the widget to a different signer. You can select an existing signer or add a new recipient.
- **Copy**: Click the **Copy** icon to duplicate the Checkbox widget.
---
- **Dropdown**: Once you drop the dropdown widget, a popup will open where you can set the dropdown name and options. Additionally, there are a few options available such as setting a default value and marking the dropdown as required or optional.
- Add Signer/Change Signer: Clicking the first icon on the Dropdown widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- Copy : Clicking on this you can duplicate the dropdown widget.
### **Conditional Logic**
The **Dropdown** widget supports **Conditional Logic**, allowing you to dynamically show, hide, make required, or make optional the field based on values entered or selected in other widgets.
Conditional Logic enables the Dropdown widget to respond dynamically based on values from other widgets.
Depending on the configured rule, the Dropdown field can:
- Show the field
- Hide the field
- Make the field **Required**
- Make the field **Optional**
---
## Supported Conditions
The **Dropdown** widget supports Conditional Logic based on the values of other widgets.
The available conditions depend on the selected trigger widget.
### Text Input
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the value entered in **TextInput1** is equal to **HR**, then **Dropdown1** is displayed.
```text
Condition: TextInput1 = HR
Action: Show Dropdown1
```
---
### Number
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If **Number1** equals **10**, then **Dropdown1** is displayed.
```text
Condition: Number1 = 10
Action: Show Dropdown1
```
---
### Dropdown
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the selected value of **Dropdown1** is **Manager**, then **Dropdown2** is displayed.
```text
Condition: Dropdown1 = Manager
Action: Show Dropdown2
```
---
### Any Condition (OR)
When **Any Condition (OR)** is selected, the configured action is performed when **at least one** of the configured conditions is satisfied.
#### Example
**Conditions**
- Number Field = **10**
- **OR**
- Checkbox = **Checked**
**Action**
Show **Dropdown1**
**Result**
The configured **Dropdown1** widget is displayed when **either** of the following conditions is met:
- The signer enters **10** in the Number field.
- The signer checks the Checkbox.
---
## Configuration Example
| Property | Value |
|----------|-------|
| **Condition Type** | Any Condition (OR) |
| **Trigger Widget 1** | Number |
| **Condition** | Equals |
| **Condition Value** | 10 |
| **Trigger Widget 2** | Checkbox |
| **Condition** | Is Checked |
| **Action** | Show Dropdown1 |
**Result**
The configured **Dropdown1** widget becomes visible when **either** the Number field equals **10** **or** the Checkbox is checked.
### Related Conditional Logic Guides
The **Dropdown** widget also supports Conditional Logic using the following trigger widgets:
- **Text input** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-triggered-by-a-text-input)
- **Number** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-triggered-by-a-number-widget)
- **Checkbox Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-triggered-by-a-checkbox)
- **Radio Button Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-triggered-by-a-radio-button)
- **Dropdown Triggered by Another Dropdown** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#dropdown-triggered-by-another-dropdown)
### Additional Widget Options
- **Add Signer / Change Signer**: Click the first icon on the Dropdown widget to assign the widget to a different signer. You can select an existing signer or add a new recipient.
- **Copy**: Click the **Copy** icon to duplicate the Dropdown widget.
---
- **Radio button**: The radio button widget is used to capture input in the form of a radio button selection. Once you drop the radio button widget, a popup will open where you can set the radio button name and options. Additionally, there are a few options available such as setting a default value, making the radio button read-only, and hiding the label.
- Add Signer/Change Signer: Clicking the first icon on the Radio button widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- Copy : Clicking on this you can duplicate the radio button widget.
### **Conditional Logic**
The **Radio Button** widget supports **Conditional Logic**, allowing you to dynamically show, hide, make required, or make optional the field based on values entered or selected in other widgets.
Conditional Logic enables the Radio Button widget to respond dynamically based on values from other widgets.
Depending on the configured rule, the Radio Button field can:
- Show the field
- Hide the field
- Make the field **Required**
- Make the field **Optional**
---
## Supported Conditions
The **Radio Button** widget supports Conditional Logic based on the values of other widgets.
The available conditions depend on the selected trigger widget.
### Text Input
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the value entered in **TextInput1** is **HR**, then **RadioButton1** is displayed.
```text
Condition: TextInput1 = HR
Action: Show RadioButton1
```
---
### Number
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If **Number1** equals **10**, then **RadioButton1** is displayed.
```text
Condition: Number1 = 10
Action: Show RadioButton1
```
---
### Dropdown
**Supported operators:**
- **Equals**
- **Does Not Equal**
**Example**
If the selected value of **Dropdown1** is **Manager**, then **RadioButton1** is displayed.
```text
Condition: Dropdown1 = Manager
Action: Show RadioButton1
```
---
### Checkbox
**Supported operators:**
- **Is Checked**
- **Is Not Checked**
**Example**
If **Checkbox1** is checked, then **RadioButton1** is displayed.
```text
Condition: Checkbox1 is Checked
Action: Show RadioButton1
```
Another example:
If **Checkbox1** is **not checked**, then **RadioButton1** is displayed.
```text
Condition: Checkbox1 is Not Checked
Action: Show RadioButton1
```
---
### Radio Button
**Supported operators:**
- **Is Checked**
- **Is Not Checked**
- **Equals**
- **Does Not Equal**
#### Example 1 Using **Is Checked**
If **RadioButton1** is selected, then **RadioButton2** is displayed.
```text
Condition: RadioButton1 is Checked
Action: Show RadioButton2
```
#### Example 2 Using **Equals**
If the selected value of **RadioButton1** is **Approved**, then **RadioButton2** is displayed.
```text
Condition: RadioButton1 = Approved
Action: Show RadioButton2
```
#### Example 3 Using **Does Not Equal**
If the selected value of **RadioButton1** is **not** **Approved**, then **RadioButton2** is displayed.
```text
Condition: RadioButton1 Does Not Equal Approved
Action: Show RadioButton2
```
---
### Any Condition (OR)
When **Any Condition (OR)** is selected, the configured action is performed when **at least one** of the configured conditions is satisfied.
#### Example
**Conditions**
- Number Field = **10**
- **OR**
- Checkbox = **Checked**
**Action**
Show **RadioButton1**
**Result**
The configured **RadioButton1** widget is displayed when **either** of the following conditions is met:
- The signer enters **10** in the Number field.
- The signer checks the Checkbox.
---
## Configuration Example
| Property | Value |
|----------|-------|
| **Condition Type** | Any Condition (OR) |
| **Trigger Widget 1** | Number |
| **Condition** | Equals |
| **Condition Value** | 10 |
| **Trigger Widget 2** | Checkbox |
| **Condition** | Is Checked |
| **Action** | Show RadioButton1 |
**Result**
The configured **RadioButton1** widget becomes visible when **either** the Number field equals **10** **or** the Checkbox is checked.
### Related Conditional Logic Guides
The **Radio Button** widget also supports Conditional Logic using the following trigger widgets:
- **Text Input Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-triggered-by-a-text-input)
- **Number Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-triggered-by-a-number-widget)
- **Dropdown Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-triggered-by-a-dropdown)
- **Checkbox Widget** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-triggered-by-a-checkbox)
- **Radio Button Triggered by Another Radio Button** [Read more](https://github.com/pravinOpenSign/OpenSign/blob/patch-75/docs/docs/help/New-Document/conditional_logic.md#radio-button-triggered-by-another-radio-button)
### Additional Widget Options
- **Add Signer / Change Signer**: Click the first icon on the Radio Button widget to assign the widget to a different signer. You can select an existing signer or add a new recipient.
- **Copy**: Click the **Copy** icon to duplicate the Radio Button widget.
---
- **Image**: The image widget allows signers to upload an image during the signing process. After placing the Image widget, you will see the options on the widget such as:
- Setting icon: By clicking on the option, you can specify whether this widget is mandatory or optional during the document signing.
- Add Signer/Change Signer: Clicking the first icon on the Image widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- Copy : Clicking on this you can duplicate the image widget.
---
- **Email**: The email widget is used to enter an email address during the signing process. It only accepts input in a valid email format. If the signer enters invalid text, a validation error will occur, and the document cannot be completed until it's corrected. After placing the email widget, you will see the options on the widget such as:
- Setting icon: By clicking on the option, you can set the color and font.
@@ -309,6 +1088,8 @@ The **Date widget** allows signers to enter a date while signing the document. O
- Add Signer/Change Signer: Clicking the first icon on the Email widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- Copy : Clicking on this you can duplicate the email widget.
---
- **📎 Attachment Widget**
+23 -7
View File
@@ -149,14 +149,7 @@ The **Prefill Widgets** feature lets document creators prefill specific fields b
<img width="828" alt="Create Template" src="https://github.com/user-attachments/assets/1248b9c8-db51-4dd3-bd1c-e1630b998ffc" />
**Add Roles**: In the roles section on the right, click "+ Add role" to specify the roles involved in the document, such as Candidate, HR, and Manager.
**Assign Widgets to Roles**: Click on each role to highlight it, then drag and drop the widget to assign it to that role.
- **[1] Assign signature widget**: The signature widget is used to add a signature to the document. Each role must have at least one signature widget assigned.
Select the Role from the right side panel, click on the signature widget, and position it where the signature is required. You can place multiple signature widgets for each Role, as required.
After placing the Signature widget, you will see the options on the widget such as:
- **Add Signer/Change Signer**: Clicking the first icon on the signature widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
Optionally, you can assign a role to each signer, such as:
**Signer**: If the role is selected as Signer, the signer must fill in all required fields while signing the document before they can complete the signing process.
@@ -165,6 +158,29 @@ Optionally, you can assign a role to each signer, such as:
**Approver**: If the role is selected as Approver, it works similarly to the Signer role. However, the main difference is that the Approver role does not require a signature widget. The approver can approve the document even if no widgets are assigned.
## Access code
The **Access Code** feature in OpenSign adds an extra layer of security to your documents by requiring recipients to enter a unique access code before they can view and sign a document. This feature helps ensure that only authorized recipients can access sensitive documents, even if the signing link is accidentally shared or intercepted.
<img width="866" alt="Access code template" src="https://github.com/user-attachments/assets/68fce434-dc0e-4432-a34e-6cf76bdc129b" />
### How the Access Code Works
1. The document owner can enable Access Code protection by clicking the Lock icon next to the role. This opens the Access Code dialog, where the owner can enter a unique 6-digit numeric access code(for example, 809966). After entering the code, click Save to assign it to the signer.
2. Send the document for signature.
3. The signer receives an email invitation containing the document signing link. Alternatively, the document owner can share the signing link manually through another secure communication channel, such as SMS, a messaging application, or email.
4. When the signer opens the document signing link, they are prompted to enter the assigned **6-digit access code** before they can access the document. The signer must obtain this access code directly from the document owner, who should share it using a separate and secure communication channel (such as a phone call, SMS, or messaging application).
5. If the signer enters the correct access code, the document opens and they can proceed with reviewing and signing it.
6. If the signer enters an incorrect access code, access to the document is denied. The signer must enter the correct **6-digit numeric access code** provided by the document owner to continue.
---
**Assign Widgets to Roles**: Click on each role to highlight it, then drag and drop the widget to assign it to that role.
- **[1] Assign signature widget**: The signature widget is used to add a signature to the document. Each role must have at least one signature widget assigned.
Select the Role from the right side panel, click on the signature widget, and position it where the signature is required. You can place multiple signature widgets for each Role, as required.
After placing the Signature widget, you will see the options on the widget such as:
- **Add Signer/Change Signer**: Clicking the first icon on the signature widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
After placing the Signature widget, you will see the options on the widget such as:
- **Add Signer/Change Signer**: Clicking the first icon on the signature widget allows you to change the signer. You can choose from existing signers in the dropdown or add a new signer.
- **Copy Signature**: Clicking on this option reveals the following choices.