Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:script_utili

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
documentazione_3di_riservata:docway4:script_utili [2017/09/12 13:03] ncandeloradocumentazione_3di_riservata:docway4:script_utili [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1
Linea 1: Linea 1:
-====== Script utili ====== 
-In questa sezione sono riportati alcuni script (lua, xslt, ecc...) realizzati nel corso degli anni per l'esecuzione di alcune attività sui record. 
- 
-===== Script lua per aggiungere codici in diritto Altre UOR ===== 
-Lo script consente di aggiungere massivamente codici di strutture sul diritto Altre UOR (visualizzazione e intervento) degli utenti a partire da un file xml strutturato in un formato specifico.\\ 
-Il file xml ha la seguente struttura: 
- 
-<file xml altreuor.xml> 
-<?xml version="1.0"?> 
-<lista_utenti> 
-<utente id="matricola_utente1" diritto="CODUOR1.CODUOR2,..." /> 
-<utente id="matricola_utente2" diritto="CODUOR1.CODUOR2,..." /> 
-<utente id="matricola_utente..." diritto="CODUOR1.CODUOR2,..." /> 
-</lista_utenti> 
-</file> 
- 
-Il file xml deve essere denominato **altreuor.xml** per lo script dedicato al diritto __Altre UOR in visualizzazione__ o **altreuorint.xml** per lo script che interviene sul diritto __Altre UOR in intervento__. 
- 
-Lo scipt lua che interviene sul diritto Altre UOR in visualizzazione è il seguente: 
-<file lua addAltreUOR.lua> 
-local dbg = require 'xw.dbg' ({active=false, key='acl'}) 
-local xw = require('extraway') 
-xw.addPackage("$.xwTools") ; 
- 
---[[- 
---]] 
-function addAltreUOR() 
-   
-    local sourceFileFullPath = xw.getCurrentArcName() .. ".script/altreuor.xml" ; 
-    local sourceRecord = xw.prepareRecordFromFile(sourceFileFullPath) ; 
-    if ( not(sourceRecord:isValid()) ) then 
-    xw.log.msg ('file non valido') ; 
-    return 'false' ; 
-    end 
- 
-    local targetNodeSet = sourceRecord:selectNodes ('/lista_utenti/utente', nil, 1) ; 
-    if ( targetNodeSet:isValid() and 0 < #targetNodeSet ) then 
-    local targetNode = targetNodeSet:getFirst() ; 
-    while ( targetNode:isValid() ) do 
-    local idUtente = targetNode:getAttribute('id') ; 
-    local idDiritto = targetNode:getAttribute('diritto') ; 
-    local risultatoAggiornamento = aggiornaRecord(idUtente , "/persona_interna/personal_rights/right[@cod='DW-DOC-RIS5']", idDiritto) 
-    targetNode = targetNodeSet:getNext() ; 
-    end 
-    end 
-  
-end 
- 
-function aggiornaRecord(idUtente , pathElementoDaAggiornare, valoreDaUtilizzare) 
-  
- -- deactivate triggers 
- xw.triggersOff() ; 
- 
-    local recordIsModified = false ; 
- 
- local targetRecordSet = xw.executeQuery('([UD,/xw/@UdType/]="persona_interna") AND ([/persona_interna/@matricola/]="' .. idUtente .. '")') ; 
- if ( targetRecordSet:isValid() and 0 < #targetRecordSet ) then 
- local targetRecord = targetRecordSet:getFirst() ; 
- while ( targetRecord:isValid() ) do 
- recordIsModified = false ; 
- targetRecord_LockResult = targetRecord:lock() ; 
- if ( targetRecord_LockResult == true ) then 
- 
- local targetRecordRootNode = targetRecord:selectFirstNode("/persona_interna", nil) ; 
- 
- local elementoDaAggiornare = targetRecord:selectFirstNode( pathElementoDaAggiornare, nil) ; 
- if ( elementoDaAggiornare:isValid() ) then 
- elementoDaAggiornare:setValue(valoreDaUtilizzare) ; 
- recordIsModified = true ; 
- end 
- 
- if ( recordIsModified ) then 
- local outcome = targetRecord:save() ; 
- if ( outcome <= 0 ) then 
- targetRecord:unlock() ; 
- xw.log.msg('save error') ; 
- end 
- else 
- targetRecord:unlock() ; 
- end 
- else 
- xw.log.msg('lock error') ; 
- end 
- targetRecord = targetRecordSet:getNext() ; 
- end 
- 
- end 
- 
- -- activate triggers 
- xw.triggersOn() ; 
- 
- return 'true' ; 
-end 
- 
-addAltreUOR = { 
- addAltreUOR = addAltreUOR, 
- addAltreUOR_signature = { 
- outParms = {"result"} 
- } 
-} ; 
-</file> 
- 
-Mentre lo script che interviene sul diritto Altre UOR in intervento è il seguente: 
-<file lua addAltreUORint.lua> 
-local dbg = require 'xw.dbg' ({active=false, key='acl'}) 
-local xw = require('extraway') 
-xw.addPackage("$.xwTools") ; 
- 
---[[- 
---]] 
-function addAltreUORint() 
-   
-    local sourceFileFullPath = xw.getCurrentArcName() .. ".script/altreuorint.xml" ; 
-    local sourceRecord = xw.prepareRecordFromFile(sourceFileFullPath) ; 
-    if ( not(sourceRecord:isValid()) ) then 
-    xw.log.msg ('file non valido') ; 
-    return 'false' ; 
-    end 
- 
-    local targetNodeSet = sourceRecord:selectNodes ('/lista_utenti/utente', nil, 1) ; 
-    if ( targetNodeSet:isValid() and 0 < #targetNodeSet ) then 
-    local targetNode = targetNodeSet:getFirst() ; 
-    while ( targetNode:isValid() ) do 
-    local idUtente = targetNode:getAttribute('id') ; 
-    local idDiritto = targetNode:getAttribute('diritto') ; 
-    local risultatoAggiornamento = aggiornaRecord(idUtente , "/persona_interna/personal_rights/right[@cod='DW-DOC-RIS13']", idDiritto) 
-    targetNode = targetNodeSet:getNext() ; 
-    end 
-    end 
-  
-end 
- 
-function aggiornaRecord(idUtente , pathElementoDaAggiornare, valoreDaUtilizzare) 
-  
- -- deactivate triggers 
- xw.triggersOff() ; 
- 
-    local recordIsModified = false ; 
- 
- local targetRecordSet = xw.executeQuery('([UD,/xw/@UdType/]="persona_interna") AND ([/persona_interna/@matricola/]="' .. idUtente .. '")') ; 
- if ( targetRecordSet:isValid() and 0 < #targetRecordSet ) then 
- local targetRecord = targetRecordSet:getFirst() ; 
- while ( targetRecord:isValid() ) do 
- recordIsModified = false ; 
- targetRecord_LockResult = targetRecord:lock() ; 
- if ( targetRecord_LockResult == true ) then 
- 
- local targetRecordRootNode = targetRecord:selectFirstNode("/persona_interna", nil) ; 
- 
- local elementoDaAggiornare = targetRecord:selectFirstNode( pathElementoDaAggiornare, nil) ; 
- if ( elementoDaAggiornare:isValid() ) then 
- elementoDaAggiornare:setValue(valoreDaUtilizzare) ; 
- recordIsModified = true ; 
- end 
- 
- if ( recordIsModified ) then 
- local outcome = targetRecord:save() ; 
- if ( outcome <= 0 ) then 
- targetRecord:unlock() ; 
- xw.log.msg('save error') ; 
- end 
- else 
- targetRecord:unlock() ; 
- end 
- else 
- xw.log.msg('lock error') ; 
- end 
- targetRecord = targetRecordSet:getNext() ; 
- end 
- 
- end 
- 
- -- activate triggers 
- xw.triggersOn() ; 
- 
- return 'true' ; 
-end 
- 
-addAltreUORint = { 
- addAltreUORint = addAltreUORint, 
- addAltreUORint_signature = { 
- outParms = {"result"} 
- } 
-} ; 
-</file> 
  
/data/attic/documentazione_3di_riservata/docway4/script_utili.1505214222.txt.gz · Ultima modifica: 2017/09/12 13:03 da ncandelora