Beispiel #1
0
def view(req):
    groups = list(loadGroupsFromDB())
    order = getSortCol(req)
    actfilter = getFilter(req)

    # filter
    if actfilter != "":
        if actfilter in ("all", t(lang(req), "admin_filter_all"), "*"):
            None  # all groups
        elif actfilter == "0-9":
            num = re.compile(r'([0-9])')
            groups = filter(lambda x: num.match(x.getName()), groups)
        elif actfilter == "else" or actfilter == t(lang(req),
                                                   "admin_filter_else"):
            all = re.compile(r'([a-z]|[A-Z]|[0-9])')
            groups = filter(lambda x: not all.match(x.getName()), groups)
        else:
            groups = filter(
                lambda x: x.getName().lower().startswith(actfilter), groups)

    pages = Overview(req, groups)

    # sorting
    if order != "":
        if int(order[0:1]) == 0:
            groups.sort(lambda x, y: cmp(x.getName().lower(),
                                         y.getName().lower()))
        elif int(order[0:1]) == 1:
            groups.sort(lambda x, y: cmp(getNumUsers(x.getName()),
                                         getNumUsers(y.getName())))
        elif int(order[0:1]) == 2:
            gl = {}
            for g in groups:
                gl[g.id] = g.getSchemas()
            groups.sort(lambda x, y: cmp(len(gl[x.id]), len(gl[y.id])))
        elif int(order[0:1]) == 3:
            groups.sort(lambda x, y: cmp(x.getHideEdit() == "",
                                         y.getHideEdit() == ""))

        if int(order[1:]) == 1:
            groups.reverse()
    # else:
    #    groups.sort(lambda x, y: cmp(x.getName().lower(),y.getName().lower()))

    v = getAdminStdVars(req)
    v["sortcol"] = pages.OrderColHeader([
        t(lang(req), "admin_usergroup_col_1"),
        t(lang(req), "admin_usergroup_col_2"),
        t(lang(req), "admin_usergroup_col_3"),
        t(lang(req), "admin_usergroup_col_4")
    ])
    v["options"] = list(groupoption)
    v["groups"] = groups
    v["pages"] = pages
    v["actfilter"] = actfilter
    return req.getTAL("/web/admin/modules/usergroup.html", v, macro="view")
Beispiel #2
0
def editUser_mask(req, id, err=0):
    ugroups = []
    usertype = req.params.get("usertype", "intern")
    newuser = 0

    if err == 0 and id == "":  # new user
        user = tree.Node("", type="user")
        user.setOption("c")
        newuser = 1

    elif err == 0 and id != "":  # edit user
        if usertype == "intern":
            user = getUser(id)
        else:
            user = getExternalUser(id)
    else:
        # error while filling values
        option = ""
        for key in req.params.keys():
            if key.startswith("option_"):
                option += key[7]

        for usergroup in req.params.get("usergroups", "").split(";"):
            ugroups += [usergroup]

        user = tree.Node("", type="user")
        user.setName(req.params.get("username", ""))
        user.setEmail(req.params.get("email", ""))
        user.setOption(option)
        user.setLastName(req.params.get("lastname", ""))
        user.setFirstName(req.params.get("firstname", ""))
        user.setTelephone(req.params.get("telephone", ""))
        user.setComment(req.params.get("comment", ""))
        user.setOrganisation(req.params.get("organisation", ""))

    v = getAdminStdVars(req)
    v["error"] = err
    v["user"] = user
    v["groups"] = loadGroupsFromDB()
    v["ugroups"] = ugroups
    v["useroption"] = useroption
    v["id"] = id
    v["usertype"] = usertype
    v["filtertype"] = req.params.get("filtertype", "")
    v["actpage"] = req.params.get("actpage")
    v["newuser"] = newuser
    v["usertypes"] = getExternalAuthentificators()
    return req.getTAL("web/admin/modules/user.html", v, macro="modify")
Beispiel #3
0
def editUser_mask(req, id, err=0):
    ugroups = []
    usertype = req.params.get("usertype", "intern")
    newuser = 0

    if err == 0 and id == "":  # new user
        user = tree.Node("", type="user")
        user.setOption("c")
        newuser = 1

    elif err == 0 and id != "":  # edit user
        if usertype == "intern":
            user = getUser(id)
        else:
            user = getExternalUser(id)
    else:
        # error while filling values
        option = ""
        for key in req.params.keys():
            if key.startswith("option_"):
                option += key[7]

        for usergroup in req.params.get("usergroups", "").split(";"):
            ugroups += [usergroup]

        user = tree.Node("", type="user")
        user.setName(req.params.get("username", ""))
        user.setEmail(req.params.get("email", ""))
        user.setOption(option)
        user.setLastName(req.params.get("lastname", ""))
        user.setFirstName(req.params.get("firstname", ""))
        user.setTelephone(req.params.get("telephone", ""))
        user.setComment(req.params.get("comment", ""))
        user.setOrganisation(req.params.get("organisation", ""))

    v = getAdminStdVars(req)
    v["error"] = err
    v["user"] = user
    v["groups"] = loadGroupsFromDB()
    v["ugroups"] = ugroups
    v["useroption"] = useroption
    v["id"] = id
    v["usertype"] = usertype
    v["filtertype"] = req.params.get("filtertype", "")
    v["actpage"] = req.params.get("actpage")
    v["newuser"] = newuser
    v["usertypes"] = getExternalAuthentificators()
    return req.getTAL("web/admin/modules/user.html", v, macro="modify")
Beispiel #4
0
def view(req):
    groups = list(loadGroupsFromDB())
    order = getSortCol(req)
    actfilter = getFilter(req)

    # filter
    if actfilter != "":
        if actfilter in("all", t(lang(req), "admin_filter_all"), "*"):
            None  # all groups
        elif actfilter == "0-9":
            num = re.compile(r'([0-9])')
            groups = filter(lambda x: num.match(x.getName()), groups)
        elif actfilter == "else" or actfilter == t(lang(req), "admin_filter_else"):
            all = re.compile(r'([a-z]|[A-Z]|[0-9])')
            groups = filter(lambda x: not all.match(x.getName()), groups)
        else:
            groups = filter(lambda x: x.getName().lower().startswith(actfilter), groups)

    pages = Overview(req, groups)

    # sorting
    if order != "":
        if int(order[0:1]) == 0:
            groups.sort(lambda x, y: cmp(x.getName().lower(), y.getName().lower()))
        elif int(order[0:1]) == 1:
            groups.sort(lambda x, y: cmp(getNumUsers(x.getName()), getNumUsers(y.getName())))
        elif int(order[0:1]) == 2:
            gl = {}
            for g in groups:
                gl[g.id] = g.getSchemas()
            groups.sort(lambda x, y: cmp(len(gl[x.id]), len(gl[y.id])))
        elif int(order[0:1]) == 3:
            groups.sort(lambda x, y: cmp(x.getHideEdit() == "", y.getHideEdit() == ""))

        if int(order[1:]) == 1:
            groups.reverse()
    # else:
    #    groups.sort(lambda x, y: cmp(x.getName().lower(),y.getName().lower()))

    v = getAdminStdVars(req)
    v["sortcol"] = pages.OrderColHeader([t(lang(req), "admin_usergroup_col_1"), t(lang(req), "admin_usergroup_col_2"), t(
        lang(req), "admin_usergroup_col_3"), t(lang(req), "admin_usergroup_col_4")])
    v["options"] = list(groupoption)
    v["groups"] = groups
    v["pages"] = pages
    v["actfilter"] = actfilter
    return req.getTAL("/web/admin/modules/usergroup.html", v, macro="view")
Beispiel #5
0
def showEditor(req):
    v = {}
    usersel = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + \
        t(lang(req), "admin_acl_editor_user") + \
        """:</td><td><select name=\\"users\\" id=\\"users\\" size=\\"4\\" onclick=\\"setValue(this)\\">"""
    for user in loadUsersFromDB():
        usersel += """<option value=\\\"""" + user.getName(
        ) + """\\\">""" + user.getName() + """</option>"""
    usersel += """</tr></table>\""""
    v["userstr"] = usersel

    groupsel = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + \
        t(lang(req), "admin_acl_editor_group") + \
        """:</td><td><select name=\\"users\\" id=\\"users\\" size=\\"4\\" ONCLICK=setValue(this)>"""
    for group in loadGroupsFromDB():
        groupsel += """<option value=\\\"""" + group.getName(
        ) + """\\\">""" + group.getName() + """</option>"""
    groupsel += """</tr></table>\""""
    v["groupstr"] = groupsel

    v["datestr"] = """\"<table border=\\"0\\"><tr><td rowspan=\\"2\\" valign=\\"top\\">""" + t(
        lang(req), "admin_acl_editor_operator"
    ) + """:</td><td rowspan=\\"2\\"><select name=\\"ruleop\\" id=\\"ruleop\\" size=\\"4\\" ONCLICK=setValue(this) ><option value=\\"<= \\">&lt=</option><option value=\\">= \\">&gt=</option><option value=\\"< \\">&lt</option><option value=\\"> \\">&gt</option></select></td><td valign=\\"top\\">""" + t(
        lang(req), "admin_acl_editor_date"
    ) + """:</td><td><input type=\\"text\\" name=\\"date\\" id=\\"datevalue\\" size=\\"10\\" maxlength=\\"10\\"><button name=\\"dateselect\\" type=\\"button\\" ONCLICK=setValue(this)>""" + t(
        lang(req), "admin_acl_editor_buttonok"
    ) + """</button></td>    </tr><tr><td align=\\"right\\" colspan=\\"2\\"><small>""" + t(
        lang(req), "admin_acl_editor_format"
    ) + """: dd.mm.yyyy</small></td></tr></table>\""""
    v["ipstr"] = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + t(
        lang(req), "admin_acl_editor_ip"
    ) + """:</td><td><input type=\\"text\\" name=\\"ipvalue\\" id=\\"ipvalue\\" size=\\"15\\"><button name=\\"ipselect\\" type=\\"button\\" ONCLICK=setValue(this)>""" + t(
        lang(req), "admin_acl_editor_buttonok"
    ) + """</button></td></tr><tr><td align=\\"right\\" colspan=\\"2\\"><small>""" + t(
        lang(req), "admin_acl_editor_format"
    ) + """: xxx.xxx.xxx.xxx</small></td></tr></table>\""""

    return req.getTAL("web/admin/modules/acls.html", v, macro="acleditor")
Beispiel #6
0
def showEditor(req):
    v = {}
    usersel = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + \
        t(lang(req), "admin_acl_editor_user") + \
        """:</td><td><select name=\\"users\\" id=\\"users\\" size=\\"4\\" onclick=\\"setValue(this)\\">"""
    for user in loadUsersFromDB():
        usersel += """<option value=\\\"""" + user.getName() + """\\\">""" + user.getName() + """</option>"""
    usersel += """</tr></table>\""""
    v["userstr"] = usersel

    groupsel = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + \
        t(lang(req), "admin_acl_editor_group") + \
        """:</td><td><select name=\\"users\\" id=\\"users\\" size=\\"4\\" ONCLICK=setValue(this)>"""
    for group in loadGroupsFromDB():
        groupsel += """<option value=\\\"""" + group.getName() + """\\\">""" + group.getName() + """</option>"""
    groupsel += """</tr></table>\""""
    v["groupstr"] = groupsel

    v["datestr"] = """\"<table border=\\"0\\"><tr><td rowspan=\\"2\\" valign=\\"top\\">""" + t(
        lang(req),
        "admin_acl_editor_operator") + """:</td><td rowspan=\\"2\\"><select name=\\"ruleop\\" id=\\"ruleop\\" size=\\"4\\" ONCLICK=setValue(this) ><option value=\\"<= \\">&lt=</option><option value=\\">= \\">&gt=</option><option value=\\"< \\">&lt</option><option value=\\"> \\">&gt</option></select></td><td valign=\\"top\\">""" + t(
        lang(req),
        "admin_acl_editor_date") + """:</td><td><input type=\\"text\\" name=\\"date\\" id=\\"datevalue\\" size=\\"10\\" maxlength=\\"10\\"><button name=\\"dateselect\\" type=\\"button\\" ONCLICK=setValue(this)>""" + t(
            lang(req),
            "admin_acl_editor_buttonok") + """</button></td>    </tr><tr><td align=\\"right\\" colspan=\\"2\\"><small>""" + t(
                lang(req),
        "admin_acl_editor_format") + """: dd.mm.yyyy</small></td></tr></table>\""""
    v["ipstr"] = """\"<table border=\\"0\\"><tr><td valign=\\"top\\">""" + t(
        lang(req),
        "admin_acl_editor_ip") + """:</td><td><input type=\\"text\\" name=\\"ipvalue\\" id=\\"ipvalue\\" size=\\"15\\"><button name=\\"ipselect\\" type=\\"button\\" ONCLICK=setValue(this)>""" + t(
        lang(req),
        "admin_acl_editor_buttonok") + """</button></td></tr><tr><td align=\\"right\\" colspan=\\"2\\"><small>""" + t(
            lang(req),
        "admin_acl_editor_format") + """: xxx.xxx.xxx.xxx</small></td></tr></table>\""""

    return req.getTAL("web/admin/modules/acls.html", v, macro="acleditor")