Script: Create new root folder

Creates a new root folder and assigns it to the up-to-date user group for view

Product line

Standard

|

Expert

Operating mode

CLOUD ABO

|

ON-PREMISES

Modules

Services & CRM

Budget & Phases

Purchases

Resource Planning

Business Intelligence

Created: 28.10.2024
Machine translated
Updated: 28.10.2024 | Adapted to selectedobjects with Vertec 6.7.0.12.

Creates a new root folder (main folder) and assigns it to the current user group. If the user executing the script does not belong to this user group, he can specify in a query which to assign to it. If not, the user will not see the new root folder itself.

version description Scripting
6.0 Script for Vertec versions before 6.7.0.12 and for running in Script Editor  for all versions.
The new parent folder will be Internal id indicated.
Createrootfolder.py
6.7.0.12 Used selectedobjects . Createrootfolder.py

Execute

On the User Group that you want to see the root folder.

Script text

# coding: windows-1252
#
#---Bezeichnung: Neuen Root-Ordner erzeugen
#   Klassen: BenutzerGruppe
#   Selectedobjectsscript: Yes
#   Condexpression: self->size=1
#   EventType: Kein
#   Erzeugt einen neuen Rootordner (Überordner wie zum Beispiel
#   der Ordner Stammdaten) und ordnet ihn der aktuellen
#   Benutzergruppe zur Ansicht zu.
#---06.02.2004, Vertec AG: erstellt.
#   20.04.2009, sr: Prüfen, ob ein Ordnername eingegeben wurde.
#   28.06.2010, sr: Abfragen, ob der angemeldete Benutzer direkt der BenutzerGruppe
#               zugeordnet werden soll. Falls ja, zuordnen. Falls nein, Hinweis,
#               dass der Ordner erst sichtbar wird, wenn der Benutzer zugeordnet wird.
#   16.08.2011, sr: Obige Abfrage erscheint nur, falls der Benutzer noch nicht zugeordnet ist.
#   28.02.2017, sr: Script in Python erstellt.
#   28.10.2024, sth: Angepasst auf selectedobjects ab Version 6.7.0.12

def main(gruppen):
    bearbeiter = vtcapp.currentlogin()
    for gruppe in gruppen:
        if gruppe.eval('oclisKindOf(BenutzerGruppe)'):
            # Neuen Ordner erzeugen
            ordname = vtcapp.inputbox('Vertec','Geben Sie den Namen des neuen Ordners an','')
            if ordname:
                ord = vtcapp.createobject('Ordner')
                ord.bezeichnung = ordname
                # Der Benutzergruppe zuordnen
                gruppe.persRootEintraege.append(ord)
                # Abfragen, ob der aktuelle Benutzer zugeordnet werden soll, falls er nicht ist.
                bearbeiterlist = gruppe.benutzer
                if not bearbeiter in bearbeiterlist:
                    wert = vtcapp.msgbox('Wollen Sie den aktuell eingeloggten Bearbeiter der Benutzergruppe zuordnen?', 4, 'Bearbeiter zuordnen')
                    # User hat JA geklickt
                    if wert == 6:
                        gruppe.benutzer.append(bearbeiter)
                        vtcapp.msgbox('Der Ordner wurde erzeugt und der aktuell eingeloggte Benutzer der Benutzergruppe hinzugefügt. Der neue Ordner ist nun sichtbar.')
                    else:
                        vtcapp.msgbox('Der Ordner wurde erzeugt. Der aktuell eingeloggte Bearbeiter sieht den Ordner jedoch erst, wenn er der aktuellen Benutzergruppe zugeordnet wird.')
                vtcapp.updatedatabase()
        else:
            vtcapp.msgbox('Dieses Script muss auf einer Benutzergruppe ausgeführt werden.')
    
main(selectedobjects)