Beispiel #1
0
 def leesitem(self):  # versie 2: opgenomen in itemlist.py
     if self.wat == 'project':
         self.dh = docobj.Project(self.proj)
     elif self.zoek == 'user_spec':
         self.dh = docobj.Userspec(self.welk)
     elif self.zoek == 'user_docs':
         self.dh = docobj.UserDoc(self.welk)
     elif self.zoek == 'user_wijz':
         self.dh = docobj.Userwijz(self.welk)
     elif self.zoek == 'func_docs':
         self.dh = docobj.FuncDoc(self.welk)
     elif self.zoek == 'func_task':
         self.dh = docobj.Functask(self.welk)
     elif self.zoek == 'func_proc':
         self.dh = docobj.Funcproc(self.welk)
     elif self.zoek == 'func_data':
         self.dh = docobj.Entiteit(self.welk)
     elif self.zoek == 'tech_proc':
         self.dh = docobj.Techproc(self.welk)
     elif self.zoek == 'tech_task':
         self.dh = docobj.Techtask(self.welk)
     elif self.zoek == 'tech_data':
         self.dh = docobj.Techdata(self.welk)
     elif self.zoek == 'proc_proc':
         self.dh = docobj.Procproc(self.welk)
     else:
         self.ok = False
     if self.ok:
         self.dh.read()
         if self.wat != 'project':
             self.rh = Relaties(self.wat + self.cat, self.welk)
             if self.rh.exists:
                 self.rh.read()
Beispiel #2
0
 def __init__(self, caller):
     self.soort = caller.soort
     self.wat = caller.wat
     self.cat = caller.cat
     self.welk = caller.welk
     self.proj = caller.proj
     fh = open(caller.fnaam)
     regels = fh.readlines()
     fh.close()
     # beginnen met een selector of een xmlobject te printen
     if self.wat == "start":
         if self.proj == "0":
             self.lines = selector(0, True, 10)
         else:
             self.lines = selector(self.proj)
             self.printh = docobj.Project(self.proj)
             self.printh.read()
     elif self.welk == "nieuw":
         self.lines = []  # geen selector(self.proj)
     else:
         printh = PrintXMLObject(caller)
         self.lines = []
     overslaan = True
     for y in regels:
         h = y.rstrip()
         if overslaan:
             if "<body>" in h:
                 overslaan = False
         elif "</body>" in h:
             overslaan = True
         elif "%s" in h:
             if self.wat == "start":
                 self.verwerk_start(h)
             elif self.welk == "nieuw":
                 self.verwerk_nieuw(h)
             else:
                 rd = h.split("%s")
                 r = printh.bouwregel(rd[0])
                 if len(r) == 1:
                     s = r[0]
                 else:
                     s = "\n".join(r)
                 self.lines.append(h % s)
         else:
             self.lines.append(h)
Beispiel #3
0
 def verwerk_nieuw(self, h):
     rd = h.split("%s")
     s = ''
     if h.find("hProj") >= 0:
         if self.wat != "user" or self.cat != "wijz":  # bij userwijz met proj 0 moet deze via selector komen
             s = self.proj
     elif h.find("hCat") >= 0:
         s = self.cat
     elif h.find("hWat") >= 0:
         s = self.wat
     elif h.find("hType") >= 0:
         s = self.soort
     elif h.find("hName") >= 0:
         s = self.welk
     elif h.find("nieuwe document") >= 0:
         if self.wat == "user" and self.cat == "wijz":
             s = 'een titel en kies een project'
         else:
             s = 'een naam en een titel op'
     elif h.find("txtNaam") >= 0:
         if self.wat == "user" and self.cat == "wijz":
             num, nieuwetitel = laatste_wijz()
             deel1, deel2, deel3 = h.split("><")
             s = deel2.replace("text", "hidden") % nieuwetitel
             self.lines.append(
                 "%s>%s<%s><%s" %
                 (deel1.replace("nw2", "nw2 vmid"), nieuwetitel, s, deel3))
         else:
             self.lines.append(h % s)
         s = ''
     elif "project" in h and self.wat == "user" and self.cat == "wijz":
         if self.proj == "0":
             s = '\n'.join(selector(0, marge=False, size=1, form=False))
         else:
             p = docobj.Project(self.proj)
             p.read()
             s = str(p)  # p.naam + " - " + p.kort
     if s != '':
         self.lines.append(s.join(rd))
Beispiel #4
0
def nieuw(wat, catg, naam, oms, proj, van_soort='', van_naam=''):
    regels = []
    if wat == "" or (wat != "project" and catg == "") or \
            (wat == "project" and catg != "") or \
            naam == "" or oms == "":
        return fouthtml.format(wat, catg, naam, oms, proj, van_soort,
                               van_naam), ''
    if van_soort == "item":
        van_soort = ''
    if van_naam == "nieuw":
        van_naam = ''
    ok = True if wat in common.type_h else False
    if ok:
        ok = False if catg not in common.cat_h[i] else True
    if not ok:
        return common.soortfout_html.format((wat, cat))

    if wat == "project":
        catg = ""
        dh = docobj.Project(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.kort = oms
            proj = laatsteproj()
    elif wat == 'user' and catg == 'spec':
        dh = docobj.Userspec(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.kort = oms
    elif wat == 'user' and catg == 'docs':
        dh = docobj.UserDoc(naam, nieuw=True)
        if dh.exists:
            ok = False
    elif wat == 'user' and catg == 'wijz':
        dh = docobj.Userwijz(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.wens = oms
    elif wat == 'func' and catg == 'task':
        dh = docobj.Functask(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.doel = oms
    elif wat == 'func' and catg == 'docs':
        dh = docobj.FuncDoc(naam, nieuw=True)
        if dh.exists:
            ok = False
    elif wat == 'func' and catg == 'proc':
        dh = docobj.Funcproc(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.doel = oms
    elif wat == 'func' and catg == 'data':
        dh = docobj.Entiteit(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.naam = oms
    elif wat == 'tech' and catg == 'proc':
        dh = docobj.Techproc(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.titel = oms
    elif wat == 'tech' and catg == 'task':
        dh = docobj.Techtask(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.kort = oms
    elif wat == 'tech' and catg == 'data':
        dh = docobj.Techdata(naam, nieuw=True)
        if dh.exists:
            ok = False
    elif wat == 'proc' and catg == 'proc':
        dh = docobj.Procproc(naam, nieuw=True)
        if dh.exists:
            ok = False
        else:
            dh.titel = oms
    else:
        return regels(
            "<p>dit zou eigenlijk al eerder afgevangen moeten zijn</p>",
            common.soortfout_html.format(wat, cat))

    if not ok:
        return (bestaat_al_html.format(wat, catg, naam), '')
    else:
        dh.write()
        ih = ItemList(
            wat + catg, force=True
        )  # force zorgt ervoor dat-ie wordt aangemaakt als-ie er niet is
        if not ih.add_listitem(naam, oms, proj):
            return (opvoerfout_html.format(wat, catg, ih.fout, naam, oms,
                                           proj), '')
        if van_soort != "" and van_naam != "":
            dh = Relaties(wat + catg, naam)
            # niet lezen, dan blijft alles leeg
            dh.add_relatie(van_soort, van_naam)
            dh.write()
        return ("Location: {}show.py?type=item&amp;what={}&amp;proj={}&amp;"
                "cat={}&amp;which={}&amp;edit=1".format(
                    common.cgipad, wat, proj, catg, naam), )
Beispiel #5
0
def edit_project(form):
    dh = docobj.Project(form.get("hProj"))
    edit_properties(dh,
                    ("txtKort", "txtOms", "txtStart", "txtFysloc", "txtOpm"),
                    form)