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
#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