19 – New Authors & Editor FORCED
#set( $sql = ", BaseObject as obj, StringProperty as prop0
where
obj.name = doc.fullName and
obj.className = 'Publications.Class' and
obj.name <> 'Publications.Template' and
prop0.id.id = obj.id and
prop0.name = 'status' and
prop0.value <> 'published'
" )
#set( $pubFound = $xwiki.searchDocuments($sql) )
$pubFound.size()
#if( $pubFound.size() > 0 )
#foreach( $pub in $pubFound )
## #set( $somethingDone = false )
#set( $pubDoc = $xwiki.getDocument("$pub") )
#set( $pubObj = $pubDoc.getObject('Publications.Class') )
## #if( $pubObj.getValue("status") == "Note" )
## #set( $discard = $pubObj.set( "status", "note" ) )
## #set( $somethingDone = true )
## #end
## #if( $somethingDone )
$foreach.count $pub {{pubTitle}}$pub{{/pubTitle}} $pubObj.getValue("status")
## $pubDoc.save() DONE
## #end
#end
#end
where
obj.name = doc.fullName and
obj.className = 'Publications.Class' and
obj.name <> 'Publications.Template' and
prop0.id.id = obj.id and
prop0.name = 'status' and
prop0.value <> 'published'
" )
#set( $pubFound = $xwiki.searchDocuments($sql) )
$pubFound.size()
#if( $pubFound.size() > 0 )
#foreach( $pub in $pubFound )
## #set( $somethingDone = false )
#set( $pubDoc = $xwiki.getDocument("$pub") )
#set( $pubObj = $pubDoc.getObject('Publications.Class') )
## #if( $pubObj.getValue("status") == "Note" )
## #set( $discard = $pubObj.set( "status", "note" ) )
## #set( $somethingDone = true )
## #end
## #if( $somethingDone )
$foreach.count $pub {{pubTitle}}$pub{{/pubTitle}} $pubObj.getValue("status")
## $pubDoc.save() DONE
## #end
#end
#end
#macro(bibtexToApice $bibNames $apiceNames)
#set( $apiceNames = "" )
#set( $bibtexNames = $bibNames.trim().split(" (and|AND) ") )
#foreach( $bibtexName in $bibtexNames )
#set( $bibtexPerson = $bibtexName.trim() )
#if( $bibtexPerson != "" )
#set( $nameEntry = $bibtexPerson.split(',') )
#if( $nameEntry.size() <= 0 )
#set( $personName = "" )
#elseif( $nameEntry.size() == 1 )
#set( $nameString = $nameEntry[0].trim() )
#set( $nameStrings = $nameString.trim().split(" ( ) ") )
#set( $personName = "" )
#foreach( $string in $nameStrings )
#if( $string.trim() != "" )
#set( $personName = "$personName.trim() $string.trim()" )
#end
#end
#elseif( $nameEntry.size() == 2 )
#set( $firstName = $nameEntry[1].trim() )
#set( $lastName = $nameEntry[0].trim() )
#set( $personName = "$firstName $lastName" )
#elseif( $nameEntry.size() == 3 )
#set( $firstName = $nameEntry[2].trim() )
#set( $lastName = $nameEntry[0].trim() )
#set( $jrName = $nameEntry[1].trim() )
#set( $personName = "$firstName $lastName, $jrName" )
#else
#set( $personName = "" )
#foreach( $xName in $nameEntry )
#set( $personName = "$xName.trim() $personName" )
#end
#end
#set( $personName = $personName.trim() )
#end
#if( $apicePeople.keySet().contains($personName) )
#set( $personName = $apicePeople[$personName] )
#end
#if( $foreach.first )
#set( $apiceNames = $personName )
#else
#set( $apiceNames = "$apiceNames,$personName" )
#end
#end#end
##
#set( $apiceUsernames = ['AndreaAgiollo','MarcoAlberti3','StefanoBromuri','RobertaCalegari','MCasadei','RobyCasadei','ClaudiaCevenini','GiovanniCiatto','MaurizioCimadamore','PierluigiContucci','ACroatti','EnricoDenti','GiacomoDomeniconi','PedroPabloGonzalezPerez','MatteoMagnini','SMariani','AmbraMolesini','SaraMontagna','GianlucaMoro','ElenaNardini','AntonioNatali','EnricoOliva','AndreaOmicini','EmanuelePanzavolta','RobertoPasolini','GiulioPiancastelli','DaniloPianini','GPisano','MichelePiunti','NazzarenoPompei','AndreaRafanelli','ARicci','AndreaRoli','FSabbatini','ASanti','GiovanniSartor','MarcoSbaraglia','MirkoViroli','VisaraUrovi'] )
##
#set( $apicePeople = {} )
#foreach( $apiceUsername in $apiceUsernames )
#set( $apicePeople[$xwiki.getUserName("XWiki.$apiceUsername", false)] = "XWiki.$apiceUsername" )
#end
##
#set( $yearStep = 2022 )
#set( $sql = ", BaseObject as obj, StringProperty as prop0, LongProperty as prop1
where
obj.name = doc.fullName and
obj.className = 'Publications.Class' and
obj.name <> 'Publications.Template' and
prop0.id.id = obj.id and
prop1.id.id = obj.id and
prop0.name = 'status' and
prop1.name = 'year' and
prop0.value = 'Published' and
prop1.value = $yearStep
" )
#set( $pubFound = $xwiki.searchDocuments($sql) )
#if( $pubFound.size() > 0 )
($yearStep) $pubFound.size()
#foreach( $pub in $pubFound )
#set( $somethingDone = false )
#set( $pubDoc = $xwiki.getDocument("$pub") )
#set( $pubObj = $pubDoc.getObject('Publications.Class') )
#if( $pubDoc.display("author").trim() != "" )
#bibtexToApice( $pubObj.get("author") $apiceNames )
$pubObj.set( "authors", $apiceNames )
#set( $somethingDone = true )
#end
#if( $pubDoc.display("editor").trim() != "" )
#bibtexToApice( $pubObj.get("editor") $apiceNames )
$pubObj.set( "editors", $apiceNames )
#set( $somethingDone = true )
#end
#if( $somethingDone )
$pubDoc.save()
#end
#end
#end
#set( $apiceNames = "" )
#set( $bibtexNames = $bibNames.trim().split(" (and|AND) ") )
#foreach( $bibtexName in $bibtexNames )
#set( $bibtexPerson = $bibtexName.trim() )
#if( $bibtexPerson != "" )
#set( $nameEntry = $bibtexPerson.split(',') )
#if( $nameEntry.size() <= 0 )
#set( $personName = "" )
#elseif( $nameEntry.size() == 1 )
#set( $nameString = $nameEntry[0].trim() )
#set( $nameStrings = $nameString.trim().split(" ( ) ") )
#set( $personName = "" )
#foreach( $string in $nameStrings )
#if( $string.trim() != "" )
#set( $personName = "$personName.trim() $string.trim()" )
#end
#end
#elseif( $nameEntry.size() == 2 )
#set( $firstName = $nameEntry[1].trim() )
#set( $lastName = $nameEntry[0].trim() )
#set( $personName = "$firstName $lastName" )
#elseif( $nameEntry.size() == 3 )
#set( $firstName = $nameEntry[2].trim() )
#set( $lastName = $nameEntry[0].trim() )
#set( $jrName = $nameEntry[1].trim() )
#set( $personName = "$firstName $lastName, $jrName" )
#else
#set( $personName = "" )
#foreach( $xName in $nameEntry )
#set( $personName = "$xName.trim() $personName" )
#end
#end
#set( $personName = $personName.trim() )
#end
#if( $apicePeople.keySet().contains($personName) )
#set( $personName = $apicePeople[$personName] )
#end
#if( $foreach.first )
#set( $apiceNames = $personName )
#else
#set( $apiceNames = "$apiceNames,$personName" )
#end
#end#end
##
#set( $apiceUsernames = ['AndreaAgiollo','MarcoAlberti3','StefanoBromuri','RobertaCalegari','MCasadei','RobyCasadei','ClaudiaCevenini','GiovanniCiatto','MaurizioCimadamore','PierluigiContucci','ACroatti','EnricoDenti','GiacomoDomeniconi','PedroPabloGonzalezPerez','MatteoMagnini','SMariani','AmbraMolesini','SaraMontagna','GianlucaMoro','ElenaNardini','AntonioNatali','EnricoOliva','AndreaOmicini','EmanuelePanzavolta','RobertoPasolini','GiulioPiancastelli','DaniloPianini','GPisano','MichelePiunti','NazzarenoPompei','AndreaRafanelli','ARicci','AndreaRoli','FSabbatini','ASanti','GiovanniSartor','MarcoSbaraglia','MirkoViroli','VisaraUrovi'] )
##
#set( $apicePeople = {} )
#foreach( $apiceUsername in $apiceUsernames )
#set( $apicePeople[$xwiki.getUserName("XWiki.$apiceUsername", false)] = "XWiki.$apiceUsername" )
#end
##
#set( $yearStep = 2022 )
#set( $sql = ", BaseObject as obj, StringProperty as prop0, LongProperty as prop1
where
obj.name = doc.fullName and
obj.className = 'Publications.Class' and
obj.name <> 'Publications.Template' and
prop0.id.id = obj.id and
prop1.id.id = obj.id and
prop0.name = 'status' and
prop1.name = 'year' and
prop0.value = 'Published' and
prop1.value = $yearStep
" )
#set( $pubFound = $xwiki.searchDocuments($sql) )
#if( $pubFound.size() > 0 )
($yearStep) $pubFound.size()
#foreach( $pub in $pubFound )
#set( $somethingDone = false )
#set( $pubDoc = $xwiki.getDocument("$pub") )
#set( $pubObj = $pubDoc.getObject('Publications.Class') )
#if( $pubDoc.display("author").trim() != "" )
#bibtexToApice( $pubObj.get("author") $apiceNames )
$pubObj.set( "authors", $apiceNames )
#set( $somethingDone = true )
#end
#if( $pubDoc.display("editor").trim() != "" )
#bibtexToApice( $pubObj.get("editor") $apiceNames )
$pubObj.set( "editors", $apiceNames )
#set( $somethingDone = true )
#end
#if( $somethingDone )
$pubDoc.save()
#end
#end
#end