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")
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")
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")
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=\\"<= \\"><=</option><option value=\\">= \\">>=</option><option value=\\"< \\"><</option><option value=\\"> \\">></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")
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=\\"<= \\"><=</option><option value=\\">= \\">>=</option><option value=\\"< \\"><</option><option value=\\"> \\">></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")