diff --git a/src/views/Settings/SignatureFlow.vue b/src/views/Settings/SignatureFlow.vue
index 720eecf6b..ec981e575 100644
--- a/src/views/Settings/SignatureFlow.vue
+++ b/src/views/Settings/SignatureFlow.vue
@@ -7,7 +7,26 @@
{{ errorMessage }}
-
+
+
+
+ {{ t('libresign', 'Set default signing order') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -58,6 +77,7 @@ export default {
data() {
return {
name: t('libresign', 'Signing order'),
+ enabled: false,
selectedFlow: null,
availableFlows: [
{
@@ -75,6 +95,7 @@ export default {
errorMessage: '',
saved: false,
showErrorIcon: false,
+ flowChanging: false,
}
},
async mounted() {
@@ -83,25 +104,40 @@ export default {
methods: {
loadConfig() {
try {
- const mode = loadState('libresign', 'signature_flow', 'parallel')
-
- this.selectedFlow = this.availableFlows.find(
- flow => flow.value === mode
- )
+ const mode = loadState('libresign', 'signature_flow', null)
- if (!this.selectedFlow) {
+ if (mode === null || mode === '') {
+ this.enabled = false
this.selectedFlow = this.availableFlows[0]
+ } else {
+ this.enabled = true
+ this.selectedFlow = this.availableFlows.find(
+ flow => flow.value === mode
+ )
+
+ if (!this.selectedFlow) {
+ this.selectedFlow = this.availableFlows[0]
+ }
}
} catch (error) {
console.error('Error loading signature flow configuration:', error)
this.errorMessage = t('libresign', 'Could not load configuration.')
+ this.enabled = false
this.selectedFlow = this.availableFlows[0]
}
},
+ onToggleChange(value) {
+ this.enabled = value
+ this.errorMessage = ''
+ this.showErrorIcon = false
+ this.flowChanging = false
+ this.saveConfig()
+ },
onFlowChange(value) {
this.selectedFlow = this.availableFlows.find(flow => flow.value === value)
this.errorMessage = ''
this.showErrorIcon = false
+ this.flowChanging = true
this.saveConfig()
},
async saveConfig() {
@@ -113,12 +149,14 @@ export default {
try {
const url = generateOcsUrl('apps/libresign/api/v1/admin/signature-flow/config')
await axios.post(url, {
- mode: this.selectedFlow?.value ?? 'parallel',
+ enabled: this.enabled,
+ mode: this.enabled ? (this.selectedFlow?.value ?? 'parallel') : null,
})
this.saved = true
setTimeout(() => {
this.saved = false
+ this.flowChanging = false
}, 3000)
} catch (error) {
console.error('Error saving signature flow configuration:', error)
@@ -134,8 +172,27 @@ export default {