当前位置: 首页>>代码示例>>Python>>正文


Python DBSession.merge方法代码示例

本文整理汇总了Python中sap.model.DBSession.merge方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.merge方法的具体用法?Python DBSession.merge怎么用?Python DBSession.merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sap.model.DBSession的用法示例。


在下文中一共展示了DBSession.merge方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: iniciar_proyecto

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def iniciar_proyecto(self, idproyecto, **kw):
		proyecto = DBSession.query(Proyecto).get(idproyecto)
		proyecto.estado = estado_proyecto_util.get_by_codigo('Desarrollo')

		DBSession.merge(proyecto)

		redirect('/miproyecto/ver/'+str(idproyecto))
开发者ID:mbaez,项目名称:SAP,代码行数:9,代码来源:misproyectos.py

示例2: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, args={}, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		ecargado de persistir las modificaciones de las instancias.

		@type  args : Hash
		@param args : Argumentos de template

		@type  kw : Hash
		@param kw : Keywords

		"""
		del kw['sprox_id']
		rol = DBSession.query(Rol).get(int(kw['rol_id']))
		rol.nombre = kw['nombre']
		rol.codigo = kw['codigo']
		rol.descripcion = kw['descripcion']
		rol.is_template = kw['is_template']
		rol.permisos = []

		for permiso_id in kw['permisos'] :
			rol.permisos.append(DBSession.query(Permiso).get(permiso_id))

		DBSession.merge(rol)
		flash("El rol '"+rol.nombre+"' ha sido modificado correctamente.")
		redirect("/administracion/rol/get_all")
开发者ID:mbaez,项目名称:SAP,代码行数:28,代码来源:rol.py

示例3: revivir_item

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def revivir_item (self, historial_item):
		"""
		Restaura el item a su ultima version sin sus relaciones
		"""
		item = Item()
		item.id_item = historial_item.id_item
		item.nombre = historial_item.nombre
		item.codigo = historial_item.codigo
		#el estado del item es en desarrollo al revivir
		item.estado = 2
		item.tipo_item = historial_item.tipo_item
		item.fase = historial_item.fase
		item.version = historial_item.version
		item.prioridad = historial_item.prioridad
		item.complejidad = historial_item.complejidad
		item.descripcion = historial_item.descripcion
		item.observacion = historial_item.observacion
		item.linea_base = historial_item.linea_base

		#recuperar los detalles
		historial_detalles = DBSession.query(HistorialDetalleItem).\
			filter(HistorialDetalleItem.id_item==historial_item.id_item).\
			all()

		for hist_detalle in historial_detalles:
			detalle = DetalleItem()
			detalle.id_detalle = hist_detalle.id_detalle
			detalle.id_item = hist_detalle.id_item
			detalle.recurso = hist_detalle.recurso
			detalle.valor = hist_detalle.valor
			item.detalles.append(detalle)

		DBSession.merge(item)
开发者ID:mbaez,项目名称:SAP,代码行数:35,代码来源:checker.py

示例4: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, id, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		encargado de persistir las modificaciones de las instancias.

		@type  id : Integer
		@param id : Identificador del Detalle del item.

		@type  kw : Hash
		@param kw : Keywords

		"""
		detalle =  DBSession.query(DetalleItem).get(id)
		detalle.valor = kw['valor']
		detalle.observacion = kw ['observacion']

		DBSession.merge(detalle)
		DBSession.flush()

		item = DBSession.query(Item).get(detalle.id_item)

		item_util.audit_item(item)
		item.version += 1
		DBSession.merge(item)

		flash("El item atributo ha sido modificado correctamente.")
		redirect('/miproyecto/fase/item/poner_en_revision/'+str(detalle.id_item))
开发者ID:mbaez,项目名称:SAP,代码行数:29,代码来源:item_detalle.py

示例5: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, args={}, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		ecargado de persistir las modificaciones de las instancias.

		@type  args : Hash
		@param args : Argumentos de template

		@type  kw : Hash
		@param kw : Keywords

		"""
		#Se obtiene de la base de datos el proyecto modifcado
		proyecto = DBSession.query(Proyecto).get(int(kw['id_proyecto']))
		#Se actualizan unicamente los campos actualizables
		proyecto.nombre=kw['nombre']
		proyecto.nro_fases = kw['nro_fases']
		proyecto.descripcion = kw['descripcion']

		#asignar lider
		proyecto.lider = DBSession.query(Usuario).get(kw['lider'])
		util.asignar_lider(proyecto)

		DBSession.merge(proyecto)
		flash("El proyecto ha sido '" +proyecto.nombre+ "' modificado correctamente.")
		redirect("/administracion/proyecto/list")
开发者ID:mbaez,项目名称:SAP,代码行数:28,代码来源:proyecto.py

示例6: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, id, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		ecargado de persistir las modificaciones de las instancias.

		@type  id : Integer
		@param id : Identificador del usuario.

		@type  kw : Hash
		@param kw : Keywords

		"""

		usuario = DBSession.query(Usuario).get( int(id) )

		usuario.nombre = kw['nombre']
		usuario.email_address = kw['email_address']

		if usuario._password != kw['password'] :
			print 'Actualizando la contrasenha'
			usuario._set_password(kw['password'])

		DBSession.merge(usuario)
		flash("El usuario '"+usuario.nombre+"' ha sido modificado correctamente.")
		redirect("/administracion/usuario/get_all")
开发者ID:mbaez,项目名称:SAP,代码行数:27,代码来源:usuario.py

示例7: aprobar_item

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def aprobar_item(self, iditem, **kw):
		"""
		Metodo para aprobar un item
		"""
		item = DBSession.query(Item).get(iditem)
		item.estado = 1
		idfase = item.fase
		DBSession.merge(item)
		flash("El item " + item.codigo+ " ha sido aprobado correctamente")
		redirect('/miproyecto/fase/item/ver/'+str(iditem))
开发者ID:mbaez,项目名称:SAP,代码行数:12,代码来源:item.py

示例8: revertir_item

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def revertir_item (self, historial_item):
		"""
		Dada una entidad HistorialItem que representa una version
		anterior del item en si se obtiene de la tabla las entradas de
		esa version para que el item recupere los valores de esa version
		"""
		#debe ser una version posterior a la actual
		item = DBSession.query(Item).get(historial_item.id_item)
		version = int(item.version) + 1

		item = Item()
		item.id_item = historial_item.id_item
		item.nombre = historial_item.nombre
		item.codigo = historial_item.codigo
 		item.estado = 3#historial_item.estado
		item.tipo_item = historial_item.tipo_item
		item.fase = historial_item.fase
		item.version = version
		item.prioridad = historial_item.prioridad
		item.complejidad = historial_item.complejidad
		item.descripcion = historial_item.descripcion
		item.observacion = historial_item.observacion
		item.linea_base = historial_item.linea_base

		#recuperar los detalles
		historial_detalles = DBSession.query(HistorialDetalleItem).\
			filter(HistorialDetalleItem.id_item==historial_item.id_item).\
			all()

		for hist_detalle in historial_detalles:
			detalle = DetalleItem()
			detalle.id_item_detalle = hist_detalle.id_detalle
			detalle.id_item = hist_detalle.id_item
			detalle.adjunto = hist_detalle.adjunto
			detalle.observacion = hist_detalle.observacion
			detalle.valor = hist_detalle.valor
			item.detalles.append(detalle)

		#recuperar los relaciones
		historial_relaciones = DBSession.query(HistorialRelacion).\
			filter((HistorialRelacion.id_item_1 or
			HistorialRelacion.id_item_2) == item.id_item).\
			all()

		for hist_relacion in historial_relaciones:
			relacion = RelacionItem()
			if(DBSession.query(Item).get(hist_relacion.id_item_1)!=None and
				DBSession.query(Item).get(hist_relacion.id_item_2)!=None):
				relacion.id_item_actual = hist_relacion.id_item_1
				relacion.id_item_relacionado = hist_relacion.id_item_2
				relacion.relacion_parentesco = hist_relacion.id_tipo_relacion
				DBSession.merge(relacion)

		DBSession.merge(item)
开发者ID:mbaez,项目名称:SAP,代码行数:56,代码来源:checker.py

示例9: eliminar

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def eliminar(self, id, **kw):
		archivo = DBSession.query(Archivo).get(id)
		item_util.audit_item(archivo.item)
		archivo.item.version += 1
		DBSession.merge(archivo.item)
		id_item = archivo.id_item

		DBSession.delete(archivo)

		flash("El archivo ha sido eliminado correctamente.")
		redirect('/miproyecto/fase/item/poner_en_revision/'+str(id_item))
开发者ID:mbaez,项目名称:SAP,代码行数:13,代码来源:archivo.py

示例10: post

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def post(self, idfase, args={},**kw):
		"""
		Evento invocado luego de un evento post en el form de crear
		ecargado de persistir las nuevas instancias.

		@type  idfase : Integer
		@param idfase : Identificador de la fase.

		@type  args : Hash
		@param args : Argumentos de template

		@type  kw : Hash
		@param kw : Keywords

		"""
		del kw['sprox_id']
		"""
		se crea la nueva relacion y se le asignan los valores de los combos
		"""
		if kw['item_1'] != None and kw['item_2'] != None:
			relacion = RelacionItem()
			relacion.id_item_actual = kw['item_1']
			relacion.id_item_relacionado = kw['item_2']
			relacion.relacion_parentesco = 2

			DBSession.merge(relacion)

			#auditar items y aumentar su version
			item1 = DBSession.query(Item).get(kw['item_1'])
			item2 = DBSession.query(Item).get(kw['item_2'])

			item_util.audit_item(item1)
			item_util.audit_item(item2)

			item1.version += 1
			item2.version += 1

			DBSession.add(item1)
			DBSession.add(item2)

			#marcar en revision los relacionados
			fase = DBSession.query(Fase).get(item1.fase)
			grafo = item_util.proyectGraphConstructor(fase.proyecto)
			item_util.marcar_en_revision(grafo, item1.id_item)

			flash("La relacion se ha creado correctamente")
			redirect("/miproyecto/fase/relacion/list/"+idfase)

		flash("No se puede crear la relacion", 'warning')
		redirect("/miproyecto/fase/relacion/"+idfase+"/new/")
开发者ID:mbaez,项目名称:SAP,代码行数:52,代码来源:relacion.py

示例11: revivir_item

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def revivir_item (self, historial_item):
		"""
		Restaura el item a su ultima version sin sus relaciones
		"""
		item = Item()
		item.id_item = historial_item.id_item
		item.nombre = historial_item.nombre
		item.codigo = historial_item.codigo
		#el estado del item es en desarrollo al revivir
		item.estado_actual = estado_item_util.get_by_codigo('Revision')
		item.tipo_item = historial_item.tipo_item
		item.fase = historial_item.fase
		item.version = historial_item.version
		item.prioridad = historial_item.prioridad
		item.complejidad = historial_item.complejidad
		item.descripcion = historial_item.descripcion
		item.observacion = historial_item.observacion
		item.linea_base = None

		#se vacian los detalles
		item.detalles = []
		atributo_mapper = {}
		#Se obtienen los atributos actuales del tipo de item al que pertenece
		tipo_item = DBSession.query(TipoItem).get(historial_item.tipo_item)

		for atributo in tipo_item.atributos:
			detalle = DetalleItem()
			detalle.id_item = historial_item.id_item
			detalle.id_atributo_tipo_item = atributo.id_atributo_tipo_item
			detalle.adjunto = None
			detalle.valor = None

			atributo_mapper[atributo.id_atributo_tipo_item] = len(item.detalles)

			item.detalles.append(detalle)

		#recuperar los detalles
		historial_detalles = DBSession.query(HistorialDetalleItem).\
			filter(HistorialDetalleItem.id_item==historial_item.id_item).\
			all()

		#Se setean los valores a los atributos ya existentes
		for hist_detalle in historial_detalles:
			#Se obtiene el indice correspondiente al atributo del tipo de item
			index = atributo_mapper[hist_detalle.id_atributo_tipo_item]

			item.detalles[index].adjunto = hist_detalle.adjunto
			item.detalles[index].valor = hist_detalle.valor

		DBSession.merge(item)
开发者ID:mbaez,项目名称:SAP,代码行数:52,代码来源:util.py

示例12: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, args={}, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		ecargado de persistir las modificaciones de las instancias.

		@type  args : Hash
		@param args : Argumentos de template

		@type  kw : Hash
		@param kw : Keywords

		"""
		del kw['sprox_id']
		tipo_item = TipoItem(**kw)
		DBSession.merge(tipo_item)
		flash("El tipo de item ha sido modificado correctamente.")
		redirect('/miproyecto/fase/tipo_item/list/'+str(tipo_item.fase))
开发者ID:mbaez,项目名称:SAP,代码行数:19,代码来源:tipo_item.py

示例13: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, args={}, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		encargado de persistir las modificaciones de las instancias.

		@type  args : Hash
		@param args : Argumentos de template

		@type  kw : Hash
		@param kw : Keywords

		"""

		del kw['sprox_id']
		fase = Fase(**kw)
		DBSession.merge(fase)
		flash("La fase '" + fase.nombre+ "'ha sido modificado correctamente.")
		redirect("/miproyecto/fase/"+str(kw['id_fase']))
开发者ID:mbaez,项目名称:SAP,代码行数:20,代码来源:fase.py

示例14: marcar_en_revision

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def marcar_en_revision(self, grafo, itemId):
		"""
		Se marca en revision los items relacionados hacia atras y adelante.
		Las lineas base de los items relacionados se marcan con estado
		Comprometida.
		obtener la lista de todos antecesores directos e indirectos
		el list(set()) es para que elimine los repetidos
		los metodos listBackwards y listForward retornan listas con elementos
		repetidos.
		"""
		antecesores = list(set(self.listBackward(grafo, grafo.incidents(itemId))))
		"""
		se añade a la lista el propio item
		"""
		item = [itemId]
		"""
		obtener la lista de todos sucesores directos e indirectos
		"""
		sucesores = list(set(self.listForward(grafo, grafo.neighbors(itemId))))

		#suma de listas
		items = antecesores + item + sucesores
		relacionados = antecesores + sucesores

		for id_item in items:
			item_actual = DBSession.query(Item).get(id_item)
			item_actual.estado = 3
			DBSession.merge(item_actual)

		# Se marca con estado comprometido cada linea base de los items
		# sucesores y antecesores.
		if(relacionados != None):
			for id_item in relacionados:
				item_actual = DBSession.query(Item).get(id_item)
				if item_actual.linea_base != None:
					linea_base = item_actual.linea_base #DBSession.query(LineaBase).get(item_actual.id_linea_base)
					linea_base.estado = estado_linea_base_util.get_by_codigo('Comprometida')
					DBSession.merge(linea_base)

			flash('Lineas base comprometidas')
		else:
			flash('El item no posee relaciones')
开发者ID:mbaez,项目名称:SAP,代码行数:44,代码来源:util.py

示例15: put

# 需要导入模块: from sap.model import DBSession [as 别名]
# 或者: from sap.model.DBSession import merge [as 别名]
	def put(self, id, **kw):
		"""
		Evento invocado luego de un evento post en el form de editar
		encargado de persistir las modificaciones de las instancias.

		@type  id : Integer
		@param id : Identificador del item.

		@type  kw : Hash
		@param kw : Keywords

		"""
		kw['id_item'] = id
		
		item = DBSession.query(Item).get(int(kw['id_item']))
		
		item_util.audit_item(item)
		
		archivo =  Archivo()
		archivo.id_item = id

		if kw ['archivo'] != None:
			stream = True
			archivo.archivo = ""

			while stream :
				stream = kw ['archivo'].file.read(1024)
				archivo.archivo += stream

			archivo.file_name = kw ['archivo'].filename
			archivo.content_type = kw ['archivo'].type
			kw ['archivo'].file.close()


		DBSession.add(archivo)

		item.version += 1
		DBSession.merge(item)

		flash("El item atributo ha sido modificado correctamente.")
		redirect('/miproyecto/fase/item/poner_en_revision/'+str(archivo.id_item))
开发者ID:mbaez,项目名称:SAP,代码行数:43,代码来源:archivo.py


注:本文中的sap.model.DBSession.merge方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。