def put_privilegio(self, idprivilegio, nombreprivilegio, descripcion, **kw): if idprivilegio is not None: idprivilegio = int(idprivilegio) privilegio = Privilegios.get_privilegio_by_id(idprivilegio) nombres = Privilegios.get_nombreprivilegio() if not isinstance(nombres, list): nombres = [nombres] if privilegio.nombreprivilegio in nombres: nombres.remove(privilegio.nombreprivilegio) if nombreprivilegio not in nombres: privilegio.nombreprivilegio = nombreprivilegio privilegio.descripcion = descripcion DBSession.flush() flash("Privilegio modificado!") redirect("/privilegio") else: nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") values = dict(idprivilegio=idprivilegio, nombreprivilegio=nombreprivilegio, descripcion=descripcion) flash("Nombre del Privilegio ya existe!") return dict(pagina="editar_privilegio", values=values, nom_proyecto=nom_proyecto, nom_fase=nom_fase)
def post_delete_privilegio(self, idprivilegio, nombreprivilegio, descripcion, **kw): if idprivilegio is not None: idprivilegio = int(idprivilegio) Privilegios.borrar_by_id(idprivilegio) DBSession.flush() flash("Privilegio eliminado!") redirect("/privilegio")
def editar_rol(self, idrol, *args, **kw): nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") if idrol is not None: idrol = int(idrol) privilegios = Privilegios.get_privilegios() rol = DBSession.query(Rol).get(idrol) priv = rol.privilegios privilegios2 = [] for p in priv: privilegios2.append(p.idprivilegio) values = dict(idrol=rol.idrol, nombrerol=rol.nombrerol, descripcion=rol.descripcion) if "privilegios" in kw and not isinstance(kw["privilegios"], list): kw["privilegios"] = [kw["privilegios"]] values.update(kw) return dict( pagina="editar_rol", values=values, privilegios=privilegios, privilegios2=privilegios2, nom_proyecto=nom_proyecto, nom_fase=nom_fase, )
def listar_privilegio(self): """Lista privilegios """ nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") privilegios = Privilegios.get_privilegio() return dict(pagina="listar_privilegio", privilegios=privilegios, nom_proyecto=nom_proyecto, nom_fase=nom_fase)
def privilegio(self, start=0, end=5, indice=None, texto=""): """ Menu para Privilegio """ nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") paginado = 5 if start <> 0: end = int(start.split("=")[1]) # obtiene el fin de pagina start = int(start.split("&")[0]) # obtiene el inicio de pagina # print start,end # total = len(Privilegios.get_privilegios()) pagina_actual = ((start % end) / paginado) + 1 if ((start % end) % paginado) <> 0: pagina_actual = pagina_actual + 1 if indice <> None and texto <> "": privilegios = Privilegios.get_privilegio_por_filtro(indice, texto) total = len(privilegios) else: privilegios = Privilegios.get_privilegio_por_pagina(start, end) total = len(Privilegios.get_privilegios()) lista = ["nombre", "descripcion"] return dict( pagina="privilegio", privilegios=privilegios, nom_proyecto=nom_proyecto, nom_fase=nom_fase, inicio=start, fin=end, total=total, paginado=paginado, pagina_actual=pagina_actual, param="privilegio", lista=lista, )
def eliminar_privilegio(self, idprivilegio, *args, **kw): nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") if idprivilegio is not None: idprivilegio = int(idprivilegio) privilegio = Privilegios.get_privilegio_by_id(idprivilegio) values = dict( idprivilegio=privilegio.idprivilegio, nombreprivilegio=privilegio.nombreprivilegio, descripcion=privilegio.descripcion, ) return dict(pagina="eliminar_privilegio", values=values, nom_proyecto=nom_proyecto, nom_fase=nom_fase)
def listar_privilegio(self): """Lista privilegios """ privilegios = Privilegios.get_privilegio() return dict(pagina="listar_privilegio",privilegios=privilegios)