move liquidazione requests to specific folders

This commit is contained in:
2026-05-29 16:08:22 +02:00
parent 3b11fa9d39
commit 8338fb762d
32 changed files with 56 additions and 31 deletions
@@ -0,0 +1,53 @@
info:
name: CSV attività per export
type: http
seq: 5
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "31470"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="anno" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ANNO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="ore" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * ore) / oreTotali; %][/VAR]
[%= anno %];[%= ore %];[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,111 @@
info:
name: Calcolo dinamico ore equivalenti
type: http
seq: 1
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "24829"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"fattoreDivisioneImporto": 1500,
"IS_OP": "OP0",
"IS_CO": "CO0",
"IS_FU": "FU0",
"IS_EP": "EP0",
"OP": 0.0431,
"CO": 0.0405,
"FU": 0.0350,
"EP": 0.0307
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="codiceRuoloRichiedente" type="string"][TAG]GETVALUEBYTAG,RUOLO_DIPENDENTE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[VAR name="fattoreConversione" type="number"][% fattoreConversione = OP; %][/VAR]
[FOR varname="coppia" iterable="ripartizioniIterable"]
[VAR name="coppiaIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaIterable" index="firstItem" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="coppiaIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[!--
codiceRuoloRichiedente: [%= codiceRuoloRichiedente %]
codiceFiscaleRichiedente: [%= codiceFiscaleRichiedente %]
importoRichiedente: [%= importoRichiedente %]
fattoreDivisioneImporto: [%= fattoreDivisioneImporto %]
--]
[IF]
[CONDITION][CONTAINS varname="IS_OP"][% codiceRuoloRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = OP; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_CO"][% codiceRuoloRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = CO; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_FU"][% codiceRuoloRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = FU; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_EP"][% codiceRuoloRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = EP; %][/THEN]
[/ELSE IF]
[/IF]
[!--
fattoreConversione: [%= fattoreConversione %]
[%= crlf %]
--]
[VAR name="oreEquivalenti" type="number"][% oreEquivalenti = (importoRichiedente * fattoreConversione); %][/VAR]
[%= oreEquivalenti %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,51 @@
info:
name: Calcolo importo in orario proporzionale
type: http
seq: 2
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "30661"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * oreAttivita) / oreTotali; %][/VAR]
[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,56 @@
info:
name: Calcolo limiti ore e altro
type: http
seq: 3
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "31418"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_DENTRO_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
[FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,58 @@
info:
name: Calcolo ore IN o OUT servizio
type: http
seq: 4
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "24829"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="tipoAttivita" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_TIPO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="oreAttivita" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="oreOrarioIn" type="string"][% oreOrarioIn = "0"; %][/VAR]
[VAR name="oreOrarioOut" type="string"][% oreOrarioOut = "0"; %][/VAR]
[IF]
[CONDITION][% tipoAttivita == "in orario di lavoro" %][/CONDITION]
[THEN][% oreOrarioIn = oreAttivita; %][/THEN]
[ELSE][% oreOrarioOut = oreAttivita; %][/ELSE]
[/IF]
[%= oreOrarioIn %]
[%= crlf %]
[%= oreOrarioOut %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,50 @@
info:
name: Get year from date
type: http
seq: 6
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "23663"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[TAG]SCHEMAID,709,COL0117,IUQOID, , ,,YYYY[/TAG]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,49 @@
info:
name: Indicazioni limiti annuali ore
type: http
seq: 7
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "30661"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
In base alle ore equivalenti e al part-time, il limite annuale di ore di attivita' svolte dentro l'orario di lavoro e' pari a [TAG]GETVALUEBYTAG,LIMITE_ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG]
In base alle ore equivalenti e al part-time, il limite annuale di ore di attivita' svolte fuori dall'orario di lavoro e' pari a [TAG]GETVALUEBYTAG,LIMITE_ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,100 @@
info:
name: Notifiche email partecipanti - Body
type: http
seq: 8
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "23761"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style>
.intestazione { padding: 0 0 10px 0; margin: 0; font-family: Arial, Sans-serif; font-size: 16px; font-weight: bold; color: #222; }
.warning { padding: 15px; border: 1px solid transparent; border-radius: 4px; background-position: 15px 15px; color: #8A6D3B; background-color: #FCF8E3; border-color: #FAEBCC; }
.riepilogo { width: 100%; font-family: Arial, Sans-serif; border: 1px solid #ccc; border-width: 1px; background-color: #fff; }
.etichetta { padding: 0 1em 10px 0; font-family: Arial, Sans-serif; font-size: 13px; font-style: normal; color: #888; white-space: nowrap; vertical-align: top; }
.valore { padding-bottom: 10px; font-family: Arial, Sans-serif; font-size: 13px; color: #222; vertical-align: top; }
.footer { background-color: #f6f6f6; color: #888; border-top: 1px solid #ccc; font-family: Arial, Sans-serif; font-size: 11px; }
</style>
</head>
<body>
<table cellspacing="0" cellpadding="8" border="0" summary="" class="riepilogo"><tbody><tr><td><div style="padding: 2px;">
<h3 class="intestazione">Notifica domanda inoltrata di Proposta Ripartizione Utili / Compensi</h3>
<table cellpadding="0" cellspacing="0" border="0"><tbody>
<tr><td colspan="2" class="valore">
<div class="warning">&Egrave; necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</div>
</td></tr>
<tr><td colspan="2" class="valore">Riepilogo dei dati della Proposta</td></tr>
<tr><td colspan="2" class="valore"></td></tr>
<tr>
<td class="etichetta"><div>Domanda n.</div></td>
<td class="valore">[%= requestId %]</td>
</tr>
<tr>
<td class="etichetta"><div>Numero ricevuta</div></td>
<td class="valore">[TAG]SCHEMAID,17,COL0027,IUQOID, , [/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Responsabile Scientifico proponente</div></td>
<td class="valore">[TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Codice contratto</div></td>
<td class="valore">[TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Data di inoltro</div></td>
<td class="valore">[TAG]SCHEMAID,17,COL0013,IUQOID, , [/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Modulo</div></td>
<td class="valore">Ripartizione Utili / Compensi - Presentazione Proposta</td>
</tr>
<tr><td colspan="2" class="valore"><br/>Collegati al modulo <a href="https://procedure.unipr.it/rwe2/module_preview.jsp?MODULE_TAG=RIPARTIZIONE_CCT_DSAN">Ripartizione Utili / Compensi - DSAN</a> per compilare e inoltrare la domanda.</td></tr>
</tbody></table>
</div></td></tr></tbody></table>
<table cellspacing="0" cellpadding="8" border="0" summary="" class="riepilogo"><tbody><tr><td class="footer">
Questo messaggio &egrave; stato inoltrato automaticamente dal sistema elixForms. Si prega di <span style="text-decoration: underline">non rispondere via email</span>.
<br>
Per eventuali richieste di supporto, collegarsi all'area utente e utilizzare il servizio di &quot; contatta il supporto&quot;.
</td></tr></tbody></table>
</body>
</html>
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,44 @@
info:
name: Notifiche email partecipanti - Subject
type: http
seq: 9
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "23761"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
*** https://procedure.unipr.it - Richiesta compilazione DSAN per Ripartizione Utili / Compensi - Contratto [TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG] ***
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,88 @@
info:
name: Nuovo check richiedente DSAN
type: http
seq: 12
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "24281"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";MMMPPL74T17E463A;"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
// Copy-pasta your EFTL document below inside the template literals (`)
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% utentePartecipante = "Il richiedente non è ammesso alla compilazione perché non partecipa alle ripartizioni"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="richiedentePropostaCF" type="string"][TAG]GETVALUEBYTAG,PROPOSTA_RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="coppieRipartizioniProposta" type="string"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/VAR]
[VAR name="exitIf" type="boolean"][% exitIf = false; %][/VAR]
[!-- Il richiedente non deve essere il RS che ha presentato la Proposta --]
[!-- Il richiedente deve comparire fra le ripartizioni --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][IS_EMPTY varname="richiedenteCF" /][/CONDITION]
[THEN][% checkUtentePartecipante = "Nessun richiedente trovato"; exitIf = true; %][/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][% richiedenteCF == richiedentePropostaCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente della Proposta non deve compilare la DSAN"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][CONTAINS varname="coppieRipartizioniProposta"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "trovato in coppie"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "trovato in CF ammessi"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,68 @@
info:
name: Partecipanti HAS DSAN
type: http
seq: 10
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "24075"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="lastUpdatedNominativo" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="hasDSAN" type="string"][% hasDSAN = "1"; %][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="lastUpdatedNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][VALUE_OF varname="lastUpdatedNominativo" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="lastUpdatedNominativoIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="firstItem" /][/VAR]
[!--
[%= richiedenteCF %]
[%= crlf %]
[%= lastUpdatedNominativoCF %]
[% richiedenteCF = ""; %]
--]
[IF]
[CONDITION][% lastUpdatedNominativoCF != "" && lastUpdatedNominativoCF == richiedenteCF %][/CONDITION]
[THEN][% hasDSAN = "0"; %][/THEN]
[/IF]
[%= hasDSAN %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,79 @@
info:
name: Recupero email da array
type: http
seq: 11
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "31397"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"DEBUG": "S"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[!-- Recupera il CF dell'ultimo inserimento --]
[VAR name="lastUpdatedNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="lastUpdatedNominativoIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="firstItem" /][/VAR]
[VAR name="emailPartecipante" type="string"][% emailPartecipante = ""; %][/VAR]
[IF]
[CONDITION][% lastUpdatedNominativoCF != "" && lastUpdatedNominativoCF != richiedenteCF %][/CONDITION]
[THEN]
[VAR name="arrayCfEmailIterable" type="iterable"][SPLIT regex=";"][TAG]GETVALUEBYTAG,SOGGETTI_EMAIL,REQUEST,IUQOID[/TAG][/SPLIT][/VAR]
[FOR varname="coppia" iterable="arrayCfEmailIterable"]
[VAR name="coppiaIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaIterable" index="firstItem" /][/VAR]
[VAR name="email" type="string"][VALUE_OF varname="coppiaIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% lastUpdatedNominativoCF == codiceFiscale %][/CONDITION]
[THEN][% emailPartecipante = email; %][/THEN]
[/IF]
[/FOR]
[IF]
[CONDITION][% DEBUG == "S" %][/CONDITION]
[THEN][% emailPartecipante = "pierpaolo.mammi@unipr.it"; %][/THEN]
[/IF]
[/THEN]
[/IF]
[%= emailPartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,7 @@
info:
name: DSAN
type: folder
seq: 2
request:
auth: inherit