本文整理汇总了Python中saip.model.DBSession类的典型用法代码示例。如果您正苦于以下问题:Python DBSession类的具体用法?Python DBSession怎么用?Python DBSession使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DBSession类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: post
def post(self, **kw):
""" Registra el nuevo proyecto creado. """
p = Proyecto()
p.descripcion = kw['descripcion']
p.nombre = kw['nombre']
p.estado = 'Nuevo'
p.nro_fases = int(kw['nro_fases'])
ids_proyectos = DBSession.query(Proyecto.id).all()
if ids_proyectos:
proximo_id_proyecto = proximo_id(ids_proyectos)
else:
proximo_id_proyecto = "PR1"
p.id = proximo_id_proyecto
if kw['lider']:
objeto_usuario = DBSession.query(Usuario).filter(Usuario.id == \
kw['lider']).one()
p.lider = objeto_usuario
ids_fichas = DBSession.query(Ficha.id).filter(Ficha.id_usuario == \
kw['lider']).all()
r = DBSession.query(Rol).filter(Rol.id == u'RL2').one()
ficha = Ficha()
ficha.usuario = objeto_usuario
ficha.rol = r
ficha.proyecto = p
if ids_fichas:
proximo_id_ficha = proximo_id(ids_fichas)
else:
proximo_id_ficha = "FI1-" + kw["lider"]
ficha.id = proximo_id_ficha
DBSession.add(p)
DBSession.add(ficha)
else:
DBSession.add(p)
raise redirect('./')
开发者ID:rparrapy,项目名称:SAIP,代码行数:34,代码来源:proyecto_controller.py
示例2: importar_caracteristica
def importar_caracteristica(self, id_tipo_item_viejo, id_tipo_item_nuevo):
"""
Importa las características correspondientes al tipo de ítem a
importar.
@param id_tipo_item_viejo: Id del tipo de item a importar.
@type id_tipo_item_viejo: Unicode.
@param id_tipo_item_nuevo: Id del tipo de item nuevo o importado.
@type id_tipo_item_nuevo: Unicode
"""
caracteristicas = DBSession.query(Caracteristica) \
.filter(Caracteristica.id_tipo_item == id_tipo_item_viejo).all()
for caracteristica in caracteristicas:
c = Caracteristica()
c.nombre = caracteristica.nombre
c.tipo = caracteristica.tipo
c.descripcion = caracteristica.descripcion
ids_caracteristicas = DBSession.query(Caracteristica.id) \
.filter(Caracteristica.id_tipo_item == id_tipo_item_nuevo).all()
if ids_caracteristicas:
proximo_id_caracteristica = proximo_id(ids_caracteristicas)
else:
proximo_id_caracteristica = "CA1-" + id_tipo_item_nuevo
c.id = proximo_id_caracteristica
c.tipo_item = DBSession.query(TipoItem).filter(TipoItem.id == \
id_tipo_item_nuevo).one()
DBSession.add(c)
开发者ID:rparrapy,项目名称:SAIP,代码行数:26,代码来源:tipo_item_controller_nuevo.py
示例3: update_params
def update_params(self, d):
""" @param d: diccionario con las opciones posibles de ítems.
@return: d con los valores correctos de ítems posibles.
"""
super(ItemsField, self).update_params(d)
id_fase = unicode(request.url.split("/")[-3])
ids_tipos_item = DBSession.query(TipoItem.id).filter(TipoItem.id_fase == id_fase)
items = (
DBSession.query(Item)
.filter(Item.id_tipo_item.in_(ids_tipos_item))
.filter(Item.id_linea_base == None)
.filter(Item.borrado == False)
.filter(Item.revisiones == None)
.all()
)
items_a_mostrar = UnificarItem(items)
aux = list()
for item in reversed(items_a_mostrar):
if item.estado != u"Aprobado" or es_huerfano(item):
items_a_mostrar.remove(item)
for item in items_a_mostrar:
aux.append(item.id + "/" + str(item.version))
lista = [x for x in d["options"] if x[0] in aux]
d["options"] = lista
开发者ID:rparrapy,项目名称:SAIP,代码行数:25,代码来源:linea_base_controller.py
示例4: buscar
def buscar(self, **kw):
""" Lista las fases de acuerdo a un criterio de búsqueda introducido
por el usuario.
"""
buscar_table_filler = FaseTableFiller(DBSession)
if "parametro" in kw:
buscar_table_filler.init(kw["parametro"], self.id_proyecto)
else:
buscar_table_filler.init("", self.id_proyecto)
tmpl_context.widget = self.table
value = buscar_table_filler.get_value()
d = dict(value_list = value, model = "fase", accion = "./buscar")
cant_fases = DBSession.query(Fase).filter(Fase.id_proyecto == \
self.id_proyecto).count()
otroproyecto = DBSession.query(Proyecto).filter(Proyecto.id != \
self.id_proyecto).filter(Proyecto.fases != None).count()
if cant_fases < DBSession.query(Proyecto.nro_fases).filter( \
Proyecto.id == self.id_proyecto).scalar():
d["suficiente"] = True
else:
d["suficiente"] = False
d["model"] = "Fases"
d["permiso_crear"] = TienePermiso("crear fase", id_proyecto = \
self.id_proyecto).is_met(request.environ)
d["permiso_importar"] = TienePermiso("importar fase", id_proyecto = \
self.id_proyecto).is_met(request.environ) and otroproyecto
d["direccion_anterior"] = "../.."
return d
开发者ID:rparrapy,项目名称:SAIP,代码行数:29,代码来源:fase_controller.py
示例5: __actions__
def __actions__(self, obj):
""" Define las acciones posibles para cada relación.
"""
primary_fields = self.__provider__.get_primary_fields(self.__entity__)
pklist = '/'.join(map(lambda x: str(getattr(obj, x)), primary_fields))
value = '<div>'
relacion = DBSession.query(Relacion).get(pklist)
item = DBSession.query(Item).filter(Item.id == self.id_item).filter( \
Item.version == self.version_item).one()
bloqueado = False
if item.linea_base:
if item.linea_base.cerrado: bloqueado = True
if TienePermiso("eliminar relaciones", id_fase = item.tipo_item.fase \
.id).is_met(request.environ) and not bloqueado and \
relacion.item_2 == item:
value = value + '<div>'\
'<form method="POST" action="'+pklist+'" class="button-to">'\
'<input type="hidden" name="_method" value="DELETE" />'\
'<input class="delete-button" onclick="return confirm' \
'(\'¿Está seguro?\');" value="delete" type="submit" '\
'style="background-color: transparent; float:left; border:0;' \
' color: #286571; display: inline; margin: 0; padding: 0;"/>'\
'</form>'\
'</div>'
value = value + '</div>'
return value
开发者ID:rparrapy,项目名称:SAIP,代码行数:26,代码来源:relacion_controller.py
示例6: post
def post(self, **kw):
"""Registra el nuevo archivo creado."""
id_item_version = unicode(request.url.split("/")[-3])
self.id_item = id_item_version.split("-")[0] + "-" + id_item_version \
.split("-")[1] + "-" + id_item_version.split("-")[2] + \
"-" + id_item_version.split("-")[3]
self.version_item = id_item_version.split("-")[4]
it = DBSession.query(Item).filter(Item.id == self.id_item) \
.filter(Item.version == self.version_item).one()
nueva_version = self.crear_version(it)
a = Archivo()
ids_archivos = DBSession.query(Archivo.id).all()
if ids_archivos:
proximo_id_archivo = proximo_id(ids_archivos)
else:
proximo_id_archivo = "AR1"
a.id = proximo_id_archivo
a.nombre = kw['archivo'].filename
a.contenido = kw['archivo'].value
a.items.append(nueva_version)
DBSession.add(a)
flash(u"Creación realizada de forma exitosa")
raise redirect('./../../' + nueva_version.id + '-' + unicode( \
nueva_version.version) + '/' + 'archivos/')
开发者ID:rparrapy,项目名称:SAIP,代码行数:25,代码来源:archivo_controller.py
示例7: importar_caracteristica
def importar_caracteristica(self, id_tipo_item_viejo, id_tipo_item_nuevo):
""" Realiza la importación de características de un tipo de ítem a otro.
@param id_tipo_item_viejo: id del tipo de ítem a ser importado.
@param id_tipo_item_nuevo: id del tipo de ítem que será creado en
base al importado.
@type id_tipo_item_viejo: unicode
@type id_tipo_item_nuevo: unicode
"""
caracteristicas = DBSession.query(Caracteristica) \
.filter(Caracteristica.id_tipo_item == id_tipo_item_viejo).all()
for caracteristica in caracteristicas:
c = Caracteristica()
c.nombre = caracteristica.nombre
c.tipo = caracteristica.tipo
c.descripcion = caracteristica.descripcion
ids_caracteristicas = DBSession.query(Caracteristica.id) \
.filter(Caracteristica.id_tipo_item == id_tipo_item_nuevo).all()
if ids_caracteristicas:
proximo_id_caracteristica = proximo_id(ids_caracteristicas)
else:
proximo_id_caracteristica = "CA1-" + id_tipo_item_nuevo
c.id = proximo_id_caracteristica
c.tipo_item = DBSession.query(TipoItem).filter(TipoItem.id == \
id_tipo_item_nuevo).one()
DBSession.add(c)
开发者ID:rparrapy,项目名称:SAIP,代码行数:26,代码来源:fase_controller_2.py
示例8: _do_get_provider_count_and_objs
def _do_get_provider_count_and_objs(self, buscado = "", **kw):
"""
Se utiliza para listar solo las fichas que cumplan ciertas
condiciones y de acuerdo a ciertos permisos.
"""
if self.id_fase == "":
fichas = DBSession.query(Ficha) \
.filter(Ficha.id.contains(self.buscado)).all()
else:
id_proyecto = self.id_fase.split("-")[1]
permiso_asignar_rol_fase = TienePermiso("asignar rol fase", \
id_fase = self.id_fase).is_met(request.environ)
permiso_asignar_rol_cualquier_fase = TienePermiso( \
"asignar rol cualquier fase", id_proyecto = \
id_proyecto).is_met(request.environ)
if permiso_asignar_rol_fase or permiso_asignar_rol_cualquier_fase:
fichas = DBSession.query(Ficha).filter(Ficha.id_fase == \
self.id_fase).all()
for ficha in reversed(fichas):
if ficha.rol.tipo != u"Fase":
fichas.remove(ficha)
elif not (self.buscado in ficha.usuario.nombre_usuario or \
self.buscado in ficha.rol.nombre or self.buscado in \
ficha.id or self.buscado in ficha.proyecto.nombre or \
self.buscado in ficha.fase.nombre): fichas.remove(ficha)
else: fichas = list()
return len(fichas), fichas
开发者ID:rparrapy,项目名称:SAIP,代码行数:28,代码来源:ficha_fase_controller.py
示例9: post_delete
def post_delete(self, *args, **kw):
""" Elimina un item."""
pks = self.provider.get_primary_fields(self.model)
clave_primaria = args[0]
pk_version = unicode(clave_primaria.split("-")[4])
pk_id = unicode(clave_primaria.split("-")[0] + "-" + \
clave_primaria.split("-")[1] + "-" + \
clave_primaria.split("-")[2] + "-" + \
clave_primaria.split("-")[3])
it = DBSession.query(Item).filter(Item.id == pk_id) \
.filter(Item.version == pk_version).scalar()
self.crear_version(it, None , True)
items = DBSession.query(Item).filter(Item.id == pk_id).all()
for item in items:
item.borrado = True
item.linea_base = None
re = it.relaciones_a
re_act = relaciones_a_actualizadas(re)
if re:
for relacion in re:
if relacion in re_act:
nueva_version = self.crear_version(relacion.item_2, \
relacion)
if es_huerfano(nueva_version) and \
(nueva_version.estado == u"Aprobado" \
or nueva_version.linea_base):
msg = u"Item huerfano"
nueva_version.estado = u"En desarrollo"
self.crear_revision(nueva_version, msg)
if nueva_version.linea_base:
consistencia_lb(nueva_version.linea_base)
redirect('./')
开发者ID:rparrapy,项目名称:SAIP,代码行数:32,代码来源:item_controller.py
示例10: post
def post(self, **kw):
""" Registra el nuevo ítem creado. """
i = Item()
i.descripcion = kw['descripcion']
i.nombre = kw['nombre']
i.estado = 'En desarrollo'
i.observaciones = kw['observaciones']
i.prioridad = kw['prioridad']
i.complejidad = kw['complejidad']
i.version = 1
i.borrado = False
caract = DBSession.query(Caracteristica) \
.filter(Caracteristica.id_tipo_item == kw['tipo_item']).all()
anexo = dict()
for nom_car in caract:
anexo[nom_car.nombre] = kw[nom_car.nombre]
i.anexo = json.dumps(anexo)
ids_items = DBSession.query(Item.id) \
.filter(Item.id_tipo_item == kw["tipo_item"]).all()
if ids_items:
proximo_id_item = proximo_id(ids_items)
else:
proximo_id_item = "IT1-" + kw["tipo_item"]
i.id = proximo_id_item
i.tipo_item = DBSession.query(TipoItem) \
.filter(TipoItem.id == kw["tipo_item"]).one()
DBSession.add(i)
i.codigo = i.tipo_item.codigo + "-" + i.id.split("-")[0][2:]
raise redirect('./')
开发者ID:rparrapy,项目名称:SAIP,代码行数:29,代码来源:item_controller.py
示例11: buscar
def buscar(self, **kw):
""" Lista las relaciones de acuerdo a un criterio de búsqueda
introducido por el usuario.
"""
buscar_table_filler = RelacionTableFiller(DBSession)
item = DBSession.query(Item).filter(Item.id == self.id_item) \
.filter(Item.version == self.version_item).one()
buscar_table_filler = RelacionTableFiller(DBSession)
if "parametro" in kw:
buscar_table_filler.init(kw["parametro"], self.id_item, \
self.version_item)
else:
buscar_table_filler.init("", self.id_item, self.version_item)
tmpl_context.widget = self.table
value = buscar_table_filler.get_value()
d = dict(value_list = value, model = "Relaciones", accion = "./buscar")
d["fases"] = list()
lista = [x.id_item_2 for x in item.relaciones_a] + \
[x.id_item_1 for x in item.relaciones_b]
fase_actual = DBSession.query(Fase).filter(Fase.id == \
item.tipo_item.id_fase).one()
band = False
ts_item = [t for t in fase_actual.tipos_item]
items = list()
for t_item in ts_item:
items = items + t_item.items
for it in reversed(items):
if it.borrado: items.remove(it)
for it in items:
if it.id not in lista and it.id != self.id_item and \
it.estado == u"Aprobado" and not it.revisiones:
band = True
break
if band: d["fases"].append(fase_actual)
fase_ant = DBSession.query(Fase).filter(Fase.id_proyecto == \
item.tipo_item.fase.id_proyecto).filter(Fase.orden == \
item.tipo_item.fase.orden - 1).first()
if fase_ant:
band = False
ts_item = [t for t in fase_ant.tipos_item]
items = list()
for t_item in ts_item:
items = items + t_item.items
for it in reversed(items):
if it.borrado: items.remove(it)
for it in items:
if it.id not in lista and it.linea_base:
if it.linea_base.cerrado and it.linea_base.consistente:
band = True
break
if band: d["fases"].append(fase_ant)
bloqueado = False
if item.linea_base:
if item.linea_base.cerrado: bloqueado = True
if d["fases"]:
d["permiso_crear"] = TienePermiso("crear relaciones", id_fase = \
fase_actual.id).is_met(request.environ) and not bloqueado
else: d["permiso_crear"] = False
d["direccion_anterior"] = "../.."
return d
开发者ID:rparrapy,项目名称:SAIP,代码行数:60,代码来源:relacion_controller.py
示例12: _do_get_provider_count_and_objs
def _do_get_provider_count_and_objs(self, buscado = "", **kw):
""" Se utiliza para listar las fases que cumplan ciertas condiciones y
ciertos permisos.
"""
id_proyecto = unicode(request.url.split("/")[-3])
if TieneAlgunPermiso(tipo = u"Fase", recurso = u"Item", id_proyecto = \
id_proyecto):
fases = DBSession.query(Fase).filter(Fase.id_proyecto == \
id_proyecto).order_by(Fase.orden).all()
for fase in reversed(fases):
buscado = self.buscado in fase.nombre or \
self.buscado in fase.descripcion or \
self.buscado in str(fase.orden) or \
self.buscado in str(fase.fecha_inicio) or \
self.buscado in str(fase.fecha_fin) or \
self.buscado in fase.estado
if not buscado: fases.remove(fase)
for fase in reversed(fases):
if not TieneAlgunPermiso(tipo = u"Fase", recurso = u"Item", \
id_fase = fase.id).is_met(request.environ):
fases.remove(fase)
elif fase.orden > 1:
fase_prev = DBSession.query(Fase).filter(Fase.id_proyecto \
== id_proyecto).filter(Fase.orden == \
fase.orden - 1).one()
if not fase_prev.lineas_base: fases.remove(fase)
else: fases = list()
return len(fases), fases
开发者ID:rparrapy,项目名称:SAIP,代码行数:30,代码来源:desarrollo_fase_controller.py
示例13: crear_tipo_default
def crear_tipo_default(self, id_fase):
""" Crea un tipo de ítem por defecto al crear una fase.
"""
ti = TipoItem()
ti.nombre = "Default"
ti.descripcion = "Default"
ti.id = "TI1-" + id_fase
ti.codigo = "DF"
ti.fase = DBSession.query(Fase).filter(Fase.id == id_fase).one()
DBSession.add(ti)
开发者ID:rparrapy,项目名称:SAIP,代码行数:10,代码来源:fase_controller.py
示例14: get_all
def get_all(self, *args, **kw):
"""Lista las relaciones de acuerdo a lo establecido en
L{relacion_controller.RelacionTableFiller._do_get_provider_count_and_objs}.
"""
relacion_table_filler.init("", self.id_item, self.version_item)
d = super(RelacionController, self).get_all(*args, **kw)
item = DBSession.query(Item).filter(Item.id == self.id_item) \
.filter(Item.version == self.version_item).one()
d["accion"] = "./buscar"
d["fases"] = list()
d["model"] = "Relaciones"
lista = [x.id_item_2 for x in item.relaciones_a] + \
[x.id_item_1 for x in item.relaciones_b]
fase_actual = DBSession.query(Fase).filter(Fase.id == \
item.tipo_item.id_fase).one()
band = False
ts_item = [t for t in fase_actual.tipos_item]
items = list()
for t_item in ts_item:
items = items + t_item.items
for it in reversed(items):
if it.borrado: items.remove(it)
for it in items:
if it.id not in lista and it.id != self.id_item and \
it.estado == u"Aprobado" and not it.revisiones:
band = True
break
if band: d["fases"].append(fase_actual)
fase_ant = DBSession.query(Fase).filter(Fase.id_proyecto == \
item.tipo_item.fase.id_proyecto).filter(Fase.orden == \
item.tipo_item.fase.orden - 1).first()
if fase_ant:
band = False
ts_item = [t for t in fase_ant.tipos_item]
items = list()
for t_item in ts_item:
items = items + t_item.items
for it in reversed(items):
if it.borrado: items.remove(it)
for it in items:
if it.id not in lista and it.linea_base:
if it.linea_base.cerrado and it.linea_base.consistente:
band = True
break
if band: d["fases"].append(fase_ant)
bloqueado = False
if item.linea_base:
if item.linea_base.cerrado: bloqueado = True
if d["fases"]:
d["permiso_crear"] = TienePermiso("crear relaciones", id_fase = \
fase_actual.id).is_met(request.environ) and not bloqueado
else: d["permiso_crear"] = False
d["direccion_anterior"] = "../.."
return d
开发者ID:rparrapy,项目名称:SAIP,代码行数:54,代码来源:relacion_controller.py
示例15: _do_get_provider_count_and_objs
def _do_get_provider_count_and_objs(self, buscado="", id_item = "", \
version = "", **kw):
""" Se utiliza para listar los archivos que cumplan ciertas condiciones
y ciertos permisos.
"""
archivos = DBSession.query(Archivo).filter(or_(Archivo.id.contains( \
self.buscado), Archivo.nombre.contains(self.buscado))).all()
item = DBSession.query(Item).filter(Item.id == self.id_item) \
.filter(Item.version == self.version).one()
for archivo in reversed(archivos):
if item not in archivo.items: archivos.remove(archivo)
return len(archivos), archivos
开发者ID:rparrapy,项目名称:SAIP,代码行数:12,代码来源:archivo_controller.py
示例16: __actions__
def __actions__(self, obj):
"""
Define las acciones posibles para cada proyecto.
"""
primary_fields = self.__provider__.get_primary_fields(self.__entity__)
pklist = '/'.join(map(lambda x: str(getattr(obj, x)), primary_fields))
value = '<div>'
if TienePermiso("modificar proyecto").is_met(request.environ):
value = value + '<div><a class="edit_link" href="'+pklist+ \
'/edit" style="text-decoration:none" TITLE= "Modificar"></a>'\
'</div>'
pp = TieneAlgunPermiso(tipo = u"Proyecto", recurso = u"Fase", \
id_proyecto = pklist).is_met(request.environ)
pf = TieneAlgunPermiso(tipo = u"Fase", recurso = u"Tipo de Item", \
id_proyecto = pklist).is_met(request.environ)
pfp = TienePermiso(u"asignar rol cualquier fase", \
id_proyecto = pklist).is_met(request.environ)
pfi = TieneAlgunPermiso(tipo = "Fase", recurso = u"Ficha", \
id_proyecto = pklist).is_met(request.environ)
if pp or pf or pfp or pfi:
value = value + '<div><a class="fase_link" href="'+pklist+ \
'/fases" style="text-decoration:none" TITLE= "Fases"></a>'\
'</div>'
if TienePermiso("asignar rol proyecto", id_proyecto = pklist).is_met( \
request.environ):
value = value + '<div><a class="responsable_link" href="'+pklist+ \
'/responsables" style="text-decoration:none" '\
'TITLE= "Responsables"></a>'\
'</div>'
if TienePermiso("eliminar proyecto").is_met(request.environ):
value = value + '<div><form method="POST" action="'+pklist+ \
'" class="button-to" TITLE= "Eliminar">'\
'<input type="hidden" name="_method" value="DELETE" />'\
'<input class="delete-button" onclick="return confirm' \
'(\'¿Está seguro?\');" value="delete" type="submit" '\
'style="background-color: transparent; float:left; '\
'border:0; color: #286571; display: inline; margin: 0; '\
'padding: 0;"/>'\
'</form></div>'
pr = DBSession.query(Proyecto).get(pklist)
estado_proyecto(pr)
cant_fases = DBSession.query(Fase).filter(Fase.id_proyecto == pklist) \
.count()
if cant_fases == pr.nro_fases and pr.estado == u"Nuevo" and \
TienePermiso("setear estado proyecto en desarrollo"). \
is_met(request.environ):
value = value + '<div><a class="inicio_link" href="iniciar/' \
+pklist+'" style="text-decoration:none">Inicia proyecto' \
'</a></div>'
value = value + '</div>'
return value
开发者ID:rparrapy,项目名称:SAIP,代码行数:52,代码来源:proyecto_controller.py
示例17: __actions__
def __actions__(self, obj):
""" Define las acciones posibles para cada línea base.
"""
primary_fields = self.__provider__.get_primary_fields(self.__entity__)
pklist = "/".join(map(lambda x: str(getattr(obj, x)), primary_fields))
value = "<div>"
id_proyecto = pklist.split("-")[2]
linea_base = DBSession.query(LineaBase).filter(LineaBase.id == pklist).one()
items = DBSession.query(Item).filter(Item.id_linea_base == pklist).all()
items_a_mostrar = UnificarItem(items)
cant_items = len(items_a_mostrar)
consistencia_lb(linea_base)
fase = DBSession.query(Fase).filter(Fase.id == self.id_fase).one()
estado_fase(fase)
if linea_base.cerrado:
if TienePermiso("abrir linea base", id_proyecto=id_proyecto, id_fase=self.id_fase).is_met(request.environ):
value = (
value + '<div><a class="abrir_link" '
'href="abrir?pk_linea_base=' + pklist + '" '
'style="text-decoration:none" TITLE = "Abrir"></a></div>'
)
if not linea_base.cerrado:
if (
TienePermiso("separar linea base", id_proyecto=id_proyecto, id_fase=self.id_fase).is_met(
request.environ
)
and cant_items > 1
):
value = (
value + '<div><a class="dividir_link" href='
'"dividir?pk_linea_base=' + pklist + '" style="text-decoration:'
'none" TITLE = "Dividir"></a></div>'
)
if linea_base.consistente:
if TienePermiso("cerrar linea base", id_proyecto=id_proyecto, id_fase=self.id_fase).is_met(
request.environ
):
value = (
value + '<div><a class="cerrar_link" href='
'"cerrar?pk_linea_base=' + pklist + '" style="text-'
'decoration:none" TITLE = "Cerrar"></a></div>'
)
if cant_items >= 1:
value = (
value + '<div><a class="item_link" href='
'"' + pklist + '/items" style="text-decoration:'
'none" TITLE = "Listar Items"></a></div>'
)
value = value + "</div>"
return value
开发者ID:rparrapy,项目名称:SAIP,代码行数:52,代码来源:linea_base_controller.py
示例18: post
def post(self, **kw):
""" Registra el nuevo rol creado. """
r = Rol()
r.nombre = kw['nombre']
r.descripcion = kw['descripcion']
r.tipo = kw['tipo']
ids_roles = DBSession.query(Rol.id).all()
if ids_roles:
proximo_id_rol = proximo_id(ids_roles)
else:
proximo_id_rol = "RL1"
r.id = proximo_id_rol
DBSession.add(r)
raise redirect('./')
开发者ID:rparrapy,项目名称:SAIP,代码行数:14,代码来源:rol_controller.py
示例19: update_params
def update_params(self, d):
super(PermisosField, self).update_params(d)
id_rol = unicode(request.url.split("/")[-2])
rol = DBSession.query(Rol).filter(Rol.id == id_rol).one()
permisos_tipo = DBSession.query(Permiso.id).filter(Permiso.tipo == \
rol.tipo).all()
id_permisos_tipo = list()
for permiso in permisos_tipo: id_permisos_tipo.append(permiso[0])
a_eliminar = list()
for permiso in d['options']:
if not permiso[0] in id_permisos_tipo:
a_eliminar.append(permiso)
for elemento in a_eliminar:
d['options'].remove(elemento)
开发者ID:rparrapy,项目名称:SAIP,代码行数:14,代码来源:rol_controller.py
示例20: _do_get_provider_count_and_objs
def _do_get_provider_count_and_objs(self, buscado = "", **kw):
""" Se utiliza para listar las fichas que cumplan ciertas condiciones y
ciertos permisos.
"""
if self.id_usuario == "":
fichas = DBSession.query(Ficha).all()
elif TieneAlgunPermiso(tipo = u"Sistema", recurso = u"Usuario"):
fichas = DBSession.query(Ficha).filter(Ficha.id_usuario == \
self.id_usuario).all()
for ficha in reversed(fichas):
if not (self.buscado in ficha.usuario.nombre_usuario or \
self.buscado in ficha.rol.nombre or self.buscado in \
ficha.id): fichas.remove(ficha)
return len(fichas), fichas
开发者ID:rparrapy,项目名称:SAIP,代码行数:14,代码来源:ficha_usuario_controller.py
注:本文中的saip.model.DBSession类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论