Script: Einen Root-Ordner verschieben

Produktlinien: Standard, Expert
Module: Leistung & CRM
Erstellt: 09.10.2006, Änderung:
Hinweise auf Classic App und Desktop App aus Artikel entfernt (Script unverändert).
Mehr ansehen

Entfernt einen Rootordner aus dem Root und ordnet diesen einem anderem Ordner unter.

Ausführen

Auf dem Rootordner, der verschoben werden soll. Der neue Parentordner muss über die ID angegeben werden. Sie können die ID einsehen, indem Sie auf dem Ordner mit rechter Maustaste Eigenschaften anwählen.

Da auf Rootordnern keine Scripts registriert werden können, muss das Ausführen auf anderem Weg erfolgen: Auf dem entsprechenden Rootordner über Menü Einstellungen den Script Editor aufrufen, den Code einfügen und auf Ausführen klicken.

Script

Scripttext

# coding: windows-1252
#
#---Bezeichnung: Root-Ordner verschieben
#   Klassen:
#   ObjectScript: No
#   ContainerScript: No
#   EventType: Kein
#   EventClass:
#   EventMembers:
#   ExtendedRights: No
#---Verschiebt einen Rootordner in einen anderen Ordner.
#   Er erscheint dann als Unterordner dieses anderen Ordners.
#   Alle Unterordner / Einträge des Root-Ordners werden ebenfalls verschoben.
#---09.10.2006, Vertec AG: erstellt.
#---20.04.2009, sr: Header eingefügt.
#---03.03.2017, sr: Script in Python erstellt

def main():
    #Setzt und prüft den zu verschiebenden Ordner
    ordner = argobject
    if ordner.eval('oclisKindOf(AbstractOrdner)'):
        #Neuen Parentordner bestimmen
        parentid = vtcapp.inputbox('Vertec','Geben Sie die ID des neuen Parentordners an','')
        try:
            parentord = vtcapp.getobjectbyid(parentid)
        except:
            vtcapp.msgbox('Kein Ordner mit dieser ID gefunden')
        else:
            try:
                ordner.parentordner = parentord
            except:
                vtcapp.msgbox('Expression-, Abfrage- oder SQL-Ordner sind als Zielordner nicht erlaubt')
            else:
                #Entfernt den Root-Status
                for user in list(ordner.abstractuserasroot):
                    ordner.abstractuserasroot.remove(user)
    else:    
        vtcapp.msgbox('Dieses Script muss auf einer Benutzergruppe ausgeführt werden.')

main()