Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:script_utili_5

Questa è una vecchia versione del documento!


sanitizerSoginRep

Lo script è stato realizzato su richiesta del cliente Sogin per modificare l'attributo @tipo di tutti i repertori ET, DSITO e DSGA da Aziendale e empty.

sanitizerSoginRep.lua
local dbg = require 'xw.dbg' ({active=false, key='acl'})
local xw = require('extraway')
xw.addPackage("$.xwTools") ;
 
--[[-
--]]
function sanitizeREP()
	-- deactivate triggers
	xw.triggersOff() ;
 
	local outputXML = xw.prepareRecord("<report></report>") ;
	local outputMainNode = outputXML:selectFirstNode("/report") ;
	local recordIsModified = false ;
 
	local targetRecordSet = xw.executeQuery('([/doc/repertorio/@cod/]="ET" OR "DSITO" OR "DSGA") AND ([/doc/visibilita/@tipo/]="Aziendale")') ;
	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("/doc", nil) ;
 
				local searchREPandReplace = targetRecord:selectFirstNode("/doc/visibilita", nil) ;
				if ( searchREPandReplace:isValid() ) then
					if ( searchREPandReplace:getAttribute("tipo") == 'Aziendale' ) then
						searchREPandReplace:setAttribute("tipo", "") ;
						recordIsModified = true ;
					end
				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
 
sanitizerSogineRep = {
	sanitizeREP = sanitizeREP,
	sanitizeREP_signature = {
		outParms = {"result"}
	}
} ;

Per il suo utilizzo lo script va copiato nella directory /opt/3di.it/extraway/xwee/script e va eseguito tramite il seguente xmlcommand:

<?xml version="1.0" encoding="ISO-8859-1"?>
<cmd stored="$.sanitizerSoginRep.sanitizeREP"/>
/data/attic/documentazione_3di_riservata/docway4/script_utili_5.1505291080.txt.gz · Ultima modifica: 2017/09/13 10:24 da ncandelora