Esempio n. 1
0
    def new(self, id_fase, method='', **kw):

        identity = request.environ.get('repoze.who.identity')
        if identity is not None:
            user = identity.get('user')
        idi = user.id_usuario

        rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
          filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()

        if (len(rol_lider) == 0):
            crear = DBSession.query(Usperfa).filter(Usperfa.id_fase==id_fase).\
                    filter(Permiso.permission_name=="crear_linea_base").\
                    filter(Usperfa.id_permiso==Permiso.id_permiso).\
                    filter(RolUsuario.id_usuario==idi).all()
            if len(crear) == 0:
                flash("No posee los permisos para crear linea base", 'error')
                redirect("/configuracion/linea_base/error")
            else:
                ItemsFieldSelect.id_fase = id_fase
                new_lineabase_form = NewLineaBaseForm(
                    DBSession)  #new_lineabase_form
                tmpl_context.widget = new_lineabase_form
        else:
            ItemsFieldSelect.id_fase = id_fase
            new_lineabase_form = NewLineaBaseForm(
                DBSession)  #new_lineabase_form
            tmpl_context.widget = new_lineabase_form
        return dict(value=kw)
Esempio n. 2
0
	def new(self, id_fase, method='', **kw):
		"""Metodo que trae el formulario para crear un item nuevo"""
		identity = request.environ.get('repoze.who.identity')
		if identity is not None:
			user = identity.get('user')
		idi = user.id_usuario
		
		rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
				filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()
		
		if(len(rol_lider)==0):
			crear = DBSession.query(Usperfa).filter(Usperfa.id_fase==id_fase).\
											filter(Permiso.permission_name=="crear_item").\
											filter(Usperfa.id_permiso==Permiso.id_permiso).\
											filter(RolUsuario.id_usuario==idi).all()
			if len(crear)==0:
				flash("No posee los permisos para crear item en la fase",'error')
				redirect("/desarrollo/item/error")
			else:
				new_item_form.tipo_item.id_fase = id_fase
				tmpl_context.widget = new_item_form
		else:
			new_item_form.tipo_item.id_fase = id_fase
			tmpl_context.widget = new_item_form
		return dict(id_fase = id_fase, value=kw)
Esempio n. 3
0
	def GraficoFase(self, id_fase):
		tipos = DBSession.query(TipoItem.id_tipoitem).filter(TipoItem.id_fase==id_fase).all()
		
		itemfase = []
			# todos los items que estan en la fase 
		for j in tipos:
			item = DBSession.query(Item.id_item).filter(Item.id_tipoitem==j.id_tipoitem)
			itemfase.extend(item) 
			
		listitems = []
		grafo = digraph()
		for nodo in itemfase:
			grafo.add_nodes([nodo.id_item])
		
		#~ buscar relaciones de los nodos... (items)
		for nodo in itemfase:
			listitems = listitems + [nodo.id_item] #agrega el id del item a la lista
			
		relaciones = DBSession.query(Relacion).\
		filter(Relacion.tiporelacion=="Padre Hijo").\
		filter(Relacion.id_item1.in_(listitems)).\
		filter(Relacion.id_item2.in_(listitems)).all()
			
		for relacion in relaciones:
			grafo.add_edge((relacion.id_item1,relacion.id_item2))

		return grafo
Esempio n. 4
0
    def list(self, id_fase):

        identity = request.environ.get('repoze.who.identity')
        if identity is not None:
            user = identity.get('user')
        idi = user.id_usuario

        rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
          filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()

        if (len(rol_lider) == 0):
            listar = DBSession.query(Usperfa).filter(Usperfa.id_fase==id_fase).\
                    filter(Permiso.permission_name=="ver_linea_base").\
                    filter(Usperfa.id_permiso==Permiso.id_permiso).\
                    filter(RolUsuario.id_usuario==idi).all()
            if (len(listar) == 0):
                flash("No posee los permisos para ver las lineas bases",
                      'error')
                redirect("/configuracion/linea_base/error")
            else:
                self.id_fase = id_fase
                fase = DBSession.query(Fase).get(id_fase)
                tmpl_context.widget = list_lineabase
                value = list_lineabase_filler.get_value(id_fase=id_fase)
        else:
            self.id_fase = id_fase
            fase = DBSession.query(Fase).get(id_fase)
            tmpl_context.widget = list_lineabase
            value = list_lineabase_filler.get_value(id_fase=id_fase)
        return dict(fase=fase, value=value)
Esempio n. 5
0
	def list(self, id_fase):
		
		identity = request.environ.get('repoze.who.identity')
		if identity is not None:
			user = identity.get('user')
		idi = user.id_usuario
		
		rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
				filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()
		
		if(len(rol_lider)==0):
			listar = DBSession.query(Usperfa).filter(Usperfa.id_fase==id_fase).\
											filter(Permiso.permission_name=="ver_linea_base").\
											filter(Usperfa.id_permiso==Permiso.id_permiso).\
											filter(RolUsuario.id_usuario==idi).all()
			if (len(listar)==0):
				flash("No posee los permisos para ver las lineas bases",'error')
				redirect("/configuracion/linea_base/error")
			else:
				self.id_fase = id_fase
				fase = DBSession.query(Fase).get(id_fase)
				tmpl_context.widget = list_lineabase
				value = list_lineabase_filler.get_value(id_fase=id_fase)
		else:
			self.id_fase = id_fase
			fase = DBSession.query(Fase).get(id_fase)
			tmpl_context.widget = list_lineabase
			value = list_lineabase_filler.get_value(id_fase=id_fase)
		return dict(fase=fase, value=value)
Esempio n. 6
0
	def new(self, id_fase, method='', **kw):
		
		identity = request.environ.get('repoze.who.identity')
		if identity is not None:
			user = identity.get('user')
		idi = user.id_usuario
		
		rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
				filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()
		
		if(len(rol_lider)==0):
			crear = DBSession.query(Usperfa).filter(Usperfa.id_fase==id_fase).\
											filter(Permiso.permission_name=="crear_linea_base").\
											filter(Usperfa.id_permiso==Permiso.id_permiso).\
											filter(RolUsuario.id_usuario==idi).all()
			if len(crear)==0:
				flash("No posee los permisos para crear linea base",'error')
				redirect("/configuracion/linea_base/error")
			else:
				ItemsFieldSelect.id_fase = id_fase
				new_lineabase_form = NewLineaBaseForm(DBSession)#new_lineabase_form
				tmpl_context.widget = new_lineabase_form
		else:
			ItemsFieldSelect.id_fase = id_fase
			new_lineabase_form = NewLineaBaseForm(DBSession)#new_lineabase_form
			tmpl_context.widget = new_lineabase_form
		return dict(value=kw)
Esempio n. 7
0
 def put(self, _method='', id=0, **kw):
     del kw['sprox_id']
     tipoitem = DBSession.query(TipoItem).get(int(id))
     tipoitem.nombre_tipoitem = kw['nombre_tipoitem']
     tipoitem.descripcion = kw['descripcion']
     DBSession.merge(tipoitem)
     flash('Tipo de Item modificado')
     redirect("/desarrollo/tipo_item/list")
Esempio n. 8
0
 def put(self, id='', **kw):
     del kw['sprox_id']
     relacion = DBSession.query(Relacion).get(int(id))
     relacion.descripcion = kw['descripcion']
     relacion.tiporelacion = kw['tiporelacion']
     DBSession.merge(relacion)
     flash('Relacion modificada')
     redirect("/desarrollo/relacion/list")
Esempio n. 9
0
 def put(self, id='', **kw):
     del kw['sprox_id']
     relacion = DBSession.query(Relacion).get(int(id))
     relacion.descripcion = kw['descripcion']
     relacion.tiporelacion = kw['tiporelacion']
     DBSession.merge(relacion)
     flash('Relacion modificada')
     redirect("/desarrollo/relacion/list")
Esempio n. 10
0
	def getPadre(self, item):
		relacion = DBSession.query(Relacion).\
		filter(Relacion.id_item2==item.id_item).\
		filter(Relacion.tiporelacion=="Padre Hijo").first()
		
		padre = DBSession.query(Item.id_item)
		
		return padre
Esempio n. 11
0
 def put(self, id='', **kw):
     del kw['sprox_id']
     detalletipoitem = DBSession.query(DetalleTipoItem).get(int(id))
     detalletipoitem.nombre_atributo = kw['nombre_atributo']
     detalletipoitem.tipo_dato = kw['tipo_dato']
     DBSession.merge(detalletipoitem)
     flash('Detalle de Tipo de item modificado')
     redirect("/desarrollo/detalle_tipo_item/list")
Esempio n. 12
0
 def put(self, id='', **kw):
     del kw['sprox_id']
     detalletipoitem = DBSession.query(DetalleTipoItem).get(int(id))
     detalletipoitem.nombre_atributo = kw['nombre_atributo']
     detalletipoitem.tipo_dato = kw['tipo_dato']
     DBSession.merge(detalletipoitem)
     flash('Detalle de Tipo de item modificado')
     redirect("/desarrollo/detalle_tipo_item/list")
Esempio n. 13
0
	def put(self, id='', **kw):
		del kw['sprox_id']
		rol = DBSession.query(Rol).get(int(id))
		rol.group_name = kw['group_name']
		rol.descripcion = kw['descripcion']
		rol.permissions=[]
		for i in kw['permissions'] :
			p = DBSession.query(Permiso).get(i)
			rol.permissions.append(p)
		DBSession.merge(rol)
		flash('Rol modificado')
		redirect("/administracion/rol/list")
Esempio n. 14
0
 def put(self, id='', **kw):
     del kw['sprox_id']
     rol = DBSession.query(Rol).get(int(id))
     rol.group_name = kw['group_name']
     rol.descripcion = kw['descripcion']
     rol.permissions = []
     for i in kw['permissions']:
         p = DBSession.query(Permiso).get(i)
         rol.permissions.append(p)
     DBSession.merge(rol)
     flash('Rol modificado')
     redirect("/administracion/rol/list")
Esempio n. 15
0
	def CalculoImpacto(self, id_item):
		"""Metodo invocado calcular el impacto"""
		item = DBSession.query(Item).get(id_item)
		fase = item.tipo_item.id_fase
		proy = DBSession.query(Fase.id_proyecto).filter(Fase.id_fase==fase).one()
		grafo = self.GraficoProyecto(proy)
		costoF, listaF = self.Impacto(grafo, id_item)
		
		relaciones = DBSession.query(Relacion).\
		filter((Relacion.id_item1).in_(listaF)).all()
		grafico = self.GraficarGrafo(grafo, proy)
		flash('Calculo de Impacto del item ' +str(id_item) + ' , es '+str(costoF))
		return dict(relaciones=relaciones)
Esempio n. 16
0
    def put(self, id='', **kw):
        del kw['sprox_id']
        fase = DBSession.query(Fase).get(int(id))
        fase.nombre_fase = kw['nombre_fase']
        fase.descripcion = kw['descripcion']
        #fase.proyectos=[]
        for f in kw['proyectos']:
            p = DBSession.query(Proyecto).get(f)
            fase.proyectos.append(p)

        DBSession.merge(fase)
        flash('Fase modificada')
        redirect("/desarrollo/fase/list")
Esempio n. 17
0
    def post(self, _method='', **kw):
        del kw['sprox_id']
        detalletipoitem = DetalleTipoItem()
        #detalletipoitem.id_detalletipoitem = kw['id_detalletipoitem']
        detalletipoitem.nombre_atributo = kw['nombre_atributo']
        detalletipoitem.tipo_dato = kw['tipo_dato']

        for i in kw['tipositem']:
            p = DBSession.query(TipoItem).get(i)
            detalletipoitem.tipositem.append(p)

        DBSession.add(detalletipoitem)
        flash('Detalle de Tipo de item creado')
        redirect('/desarrollo/detalle_tipo_item/list')
Esempio n. 18
0
	def put(self, id='', **kw):
		del kw['sprox_id']
		proyecto = DBSession.query(Proyecto).get(id)
		proyecto.nombre_proyecto = kw['nombre_proyecto']
		proyecto.descripcion = kw['descripcion']
		proyecto.fecha_inicio = kw['fecha_inicio']
		proyecto.usuarios=[]
		for i in kw['usuarios'] :
			p = DBSession.query(Usuario).get(i)
			proyecto.usuarios.append(p)

		DBSession.merge(proyecto)
		flash('Proyecto modificado')
		redirect("/administracion/proyecto/list")
Esempio n. 19
0
    def post(self, _method='', **kw):
        del kw['sprox_id']
        detalletipoitem = DetalleTipoItem()
        #detalletipoitem.id_detalletipoitem = kw['id_detalletipoitem']
        detalletipoitem.nombre_atributo = kw['nombre_atributo']
	detalletipoitem.tipo_dato = kw['tipo_dato']
	
	for i in kw['tipositem']:
	    p = DBSession.query(TipoItem).get(i)
	    detalletipoitem.tipositem.append(p)

        DBSession.add(detalletipoitem)
        flash('Detalle de Tipo de item creado')
        redirect('/desarrollo/detalle_tipo_item/list')
Esempio n. 20
0
    def put(self, id='', **kw):
        del kw['sprox_id']
        proyecto = DBSession.query(Proyecto).get(id)
        proyecto.nombre_proyecto = kw['nombre_proyecto']
        proyecto.descripcion = kw['descripcion']
        proyecto.fecha_inicio = kw['fecha_inicio']
        proyecto.usuarios = []
        for i in kw['usuarios']:
            p = DBSession.query(Usuario).get(i)
            proyecto.usuarios.append(p)

        DBSession.merge(proyecto)
        flash('Proyecto modificado')
        redirect("/administracion/proyecto/list")
Esempio n. 21
0
 def edit(self, id,**kw):
     relacion = DBSession.query(Relacion).get(id)
     tmpl_context.widget = edit_relacion_form
     kw['id_relacion'] = relacion.id_relacion
     kw['cod_relacion'] = relacion.cod_relacion
     kw['descripcion'] = relacion.descripcion
     kw['tiporelacion'] = relacion.tiporelacion
     return dict(value=kw)
Esempio n. 22
0
 def edit(self, id, **kw):
     relacion = DBSession.query(Relacion).get(id)
     tmpl_context.widget = edit_relacion_form
     kw['id_relacion'] = relacion.id_relacion
     kw['cod_relacion'] = relacion.cod_relacion
     kw['descripcion'] = relacion.descripcion
     kw['tiporelacion'] = relacion.tiporelacion
     return dict(value=kw)
Esempio n. 23
0
 def edit(self, id,**kw):
     fase = DBSession.query(Fase).get(id)
     tmpl_context.widget = edit_fase_form
     kw['id_fase'] = fase.id_fase
     kw['cod_fase'] = fase.cod_fase
     kw['nombre_fase'] = fase.nombre_fase
     kw['descripcion'] = fase.descripcion
     return dict(value=kw)
Esempio n. 24
0
 def edit(self, id,**kw):
     detalletipoitem = DBSession.query(DetalleTipoItem).get(id)
     tmpl_context.widget = edit_detalletipoitem_form
     kw['id_detalletipoitem'] = detalletipoitem.id_detalletipoitem
     kw['id_tipoitem'] = detalletipoitem.id_tipoitem
     kw['nombre_atributo'] = detalletipoitem.nombre_atributo
     kw['tipo_dato'] = detalletipoitem.tipo_dato
     return dict(value=kw)
Esempio n. 25
0
 def edit(self, id, **kw):
     detalletipoitem = DBSession.query(DetalleTipoItem).get(id)
     tmpl_context.widget = edit_detalletipoitem_form
     kw['id_detalletipoitem'] = detalletipoitem.id_detalletipoitem
     kw['id_tipoitem'] = detalletipoitem.id_tipoitem
     kw['nombre_atributo'] = detalletipoitem.nombre_atributo
     kw['tipo_dato'] = detalletipoitem.tipo_dato
     return dict(value=kw)
Esempio n. 26
0
 def post(self, _method='', **kw):
     del kw['sprox_id']
     #rol = DBSession.query(Rol).get(id)
     rol = Rol()
     #rol.id_rol = kw['id_rol']
     rol.cod_rol = kw['cod_rol']
     rol.group_name = kw['group_name']
     rol.descripcion = kw['descripcion']
     #rol.permissions=[]
     for i in kw['permissions']:
         p = DBSession.query(Permiso).get(i)
         rol.permissions.append(p)
         #rol.permissions.append(DBSession.query(Permiso).get(permiso))
     #kw['permissions'] = permisos
     #rol = Rol(**kw)
     DBSession.add(rol)
     flash('Rol creado')
     redirect('/administracion/rol/list')
Esempio n. 27
0
 def edit(self, id,**kw):
     tipoitem = DBSession.query(TipoItem).get(id)
     tmpl_context.widget = edit_tipoitem_form
     kw['id_tipoitem'] = tipoitem.id_tipoitem
     kw['cod_tipoitem'] = tipoitem.cod_tipoitem
     kw['nombre_tipoitem'] = tipoitem.nombre_tipoitem
     kw['descripcion'] = tipoitem.descripcion
     kw['fase'] = tipoitem.fase
     return dict(value=kw)
Esempio n. 28
0
	def post(self, _method='', **kw):
		del kw['sprox_id']
		#rol = DBSession.query(Rol).get(id)
		rol = Rol()
		#rol.id_rol = kw['id_rol']
		rol.cod_rol = kw['cod_rol']
		rol.group_name = kw['group_name']
		rol.descripcion = kw['descripcion']
		#rol.permissions=[]
		for i in kw['permissions']:
			p = DBSession.query(Permiso).get(i)
			rol.permissions.append(p)
			#rol.permissions.append(DBSession.query(Permiso).get(permiso))
		#kw['permissions'] = permisos
		#rol = Rol(**kw)
		DBSession.add(rol)
		flash('Rol creado')
		redirect('/administracion/rol/list')
Esempio n. 29
0
    def post(self, _method='', **kw):
        del kw['sprox_id']
        fase = Fase()
        #fase.id_fase = kw['id_fase']#fase.fases=[]
        for f in kw['proyectos']:
            p = DBSession.query(Proyecto).get(f)
            fase.proyectos.append(p)
        fase.cod_fase = kw['cod_fase']
        fase.nombre_fase = kw['nombre_fase']
        fase.descripcion = kw['descripcion']
        #fase.fases=[]
        for f in kw['proyectos']:
            p = DBSession.query(Proyecto).get(f)
            fase.proyectos.append(p)

        DBSession.add(fase)
        flash('Fase creada')
        redirect('/desarrollo/fase/list')
Esempio n. 30
0
	def GraficoProyecto(self, id_proyecto):
		fases = DBSession.query(Fase).filter(Fase.id_proyecto==id_proyecto).all()
		
		grafo = digraph()
		tipos = []
		items = []
		listitem = []

		###Aca empieza lo que cambie ######
		colores = ['blue','cyan','green','yellow','orange','purple','gray', 'black']
		indexColor = 0

		for i in fases: # todos los items que estan en la fase 
			tipo = DBSession.query(TipoItem.id_tipoitem).filter(TipoItem.id_fase==i.id_fase)
			#tipos.extend(tipo)

			for j in tipos:
				item = DBSession.query(Item.id_item).filter(Item.id_tipoitem==j.id_tipoitem)
				#items.extend(item) 

				for k in items: # por cada item que este en la fase agregamos los nodos del mismo color

					#Agrego el nodo
					grafo.add_node(int(k.id_item),attrs=[('color', colores[indexColor])])
					
					#Agrego a mi lista grobal de items, para luego sacar las relaciones
					listitem = listitem + [k.id_item]

			# Cambio el color para la siguiente fase			
			if indexColor ==7:
				indexColor = 0
			else:
				indexColor = indexColor + 1
		
		###Aca termina lo que cambie ######

		# de la lista final de items obtiene las relaciones
		relaciones = DBSession.query(Relacion).\
		filter((Relacion.id_item1).in_(listitem)).all()

		for r in relaciones: #agrega la aristas al grafo
			grafo.add_edge((int(r.id_item1), int(r.id_item2)))

		return grafo
Esempio n. 31
0
 def edit(self, id, **kw):
     rol = DBSession.query(Rol).get(id)
     tmpl_context.widget = edit_rol_form
     kw['id_rol'] = rol.id_rol
     #kw['cod_rol'] = rol.cod_rol
     #kw['group_name'] = rol.group_name
     #kw['descripcion'] = rol.descripcion
     #kw['permissions'] = rol.permissions
     value = edit_rol_filler.get_value(kw)
     return dict(value=value)
Esempio n. 32
0
	def Impacto(self, grafo, item):
		antes_list = list(set(self.IAntecesor(grafo, grafo.incidents(int(item))))) # lista de antecesores
		itemI = [item] 
		despues_list = list(set(self.ISucesor(grafo, grafo.neighbors(int(item))))) #lista de sucesores
		listFinal = antes_list + itemI + despues_list #lista para el costo
		costo = 0;
		for i in listFinal:
			item1 = DBSession.query(Item).get(i)
			costo = costo + item1.complejidad
		return costo, listFinal
Esempio n. 33
0
	def edit(self, id,**kw):
		rol = DBSession.query(Rol).get(id)
		tmpl_context.widget = edit_rol_form
		kw['id_rol'] = rol.id_rol
		#kw['cod_rol'] = rol.cod_rol
		#kw['group_name'] = rol.group_name
		#kw['descripcion'] = rol.descripcion
		#kw['permissions'] = rol.permissions
		value = edit_rol_filler.get_value(kw)
		return dict(value=value)
Esempio n. 34
0
 def edit(self, id, **kw):
     proyecto = DBSession.query(Proyecto).get(id)
     tmpl_context.widget = edit_proyecto_form
     kw['id_proyecto'] = proyecto.id_proyecto
     #kw['cod_proyecto'] = proyecto.cod_proyecto
     #kw['nombre_proyecto'] = proyecto.nombre_proyecto
     #kw['descripcion'] = proyecto.descripcion
     #kw['fecha_inicio'] = proyecto.fecha_inicio
     value = edit_proyecto_filler.get_value(kw)
     return dict(value=value)
Esempio n. 35
0
    def put(self, id='', **kw):
        del kw['sprox_id']
        usuario = DBSession.query(Usuario).get(int(id))
        usuario.nombre = kw['nombre']
        usuario.user_name = kw['user_name']
        usuario.password = kw['password']

        #for i in kw['proyect']:
        #	p = DBSession.query(Proyecto).get(i)
        #	usuario.proyect.append(p)

        usuario.groups = []
        for i in kw['groups']:
            p = DBSession.query(Rol).get(i)
            usuario.groups.append(p)

        DBSession.merge(usuario)
        flash('Usuario modificado')
        redirect("/administracion/usuario/list")
Esempio n. 36
0
    def post(self, _method='', **kw):
        del kw['sprox_id']
        usuario = Usuario()
        usuario.cod_usuario = kw['cod_usuario']
        usuario.nombre = kw['nombre']
        usuario.user_name = kw['user_name']
        usuario.password = kw['password']
        #usuario.groups = []

        #for i in kw['proyect']:
        #	p = DBSession.query(Proyecto).get(i)
        #	usuario.proyect.append(p)

        for i in kw['groups']:
            p = DBSession.query(Rol).get(i)
            usuario.groups.append(p)
        DBSession.add(usuario)
        flash('Usuario creado')
        redirect('/administracion/usuario/list')
Esempio n. 37
0
	def edit(self, id,**kw):
		proyecto = DBSession.query(Proyecto).get(id)
		tmpl_context.widget = edit_proyecto_form
		kw['id_proyecto'] = proyecto.id_proyecto
		#kw['cod_proyecto'] = proyecto.cod_proyecto
		#kw['nombre_proyecto'] = proyecto.nombre_proyecto
		#kw['descripcion'] = proyecto.descripcion
		#kw['fecha_inicio'] = proyecto.fecha_inicio
		value = edit_proyecto_filler.get_value(kw)
		return dict(value=value)
Esempio n. 38
0
	def post(self, _method='', **kw):
		del kw['sprox_id']
		usuario = Usuario()
		usuario.cod_usuario = kw['cod_usuario']
		usuario.nombre = kw['nombre']
		usuario.user_name = kw['user_name']
		usuario.password = kw['password']
		#usuario.groups = []
		
		#for i in kw['proyect']:
		#	p = DBSession.query(Proyecto).get(i)
		#	usuario.proyect.append(p)

		for i in kw['groups']:
			p = DBSession.query(Rol).get(i)
			usuario.groups.append(p)
		DBSession.add(usuario)
		flash('Usuario creado')
		redirect('/administracion/usuario/list')
Esempio n. 39
0
	def put(self, id='', **kw):
		del kw['sprox_id']
		usuario = DBSession.query(Usuario).get(int(id))
		usuario.nombre = kw['nombre']        
		usuario.user_name = kw['user_name']
		usuario.password = kw['password']

		#for i in kw['proyect']:
		#	p = DBSession.query(Proyecto).get(i)
		#	usuario.proyect.append(p)

		usuario.groups=[]
		for i in kw['groups']:
			p = DBSession.query(Rol).get(i)
			usuario.groups.append(p)

		DBSession.merge(usuario)
		flash('Usuario modificado')
		redirect("/administracion/usuario/list")
Esempio n. 40
0
	def post(self, _method='', **kw):
		del kw['sprox_id']
		proyecto = Proyecto()
		#proyecto.id_proyecto = kw['id_proyecto']
		proyecto.cod_proyecto = kw['cod_proyecto']
		proyecto.nombre_proyecto = kw['nombre_proyecto']
		proyecto.descripcion = kw['descripcion']
		proyecto.fecha_inicio = kw['fecha_inicio']
		#proyecto.proyectos=[]
		for i in kw['usuarios'] :
			p = DBSession.query(Usuario).get(i)
			proyecto.usuarios.append(p)
			#rol.permissions.append(DBSession.query(Permiso).get(permiso))

		#kw['permissions'] = permisos

		#rol = Rol(**kw)
		DBSession.add(proyecto)
		flash('Proyecto creado')
		redirect('/administracion/proyecto/list')
Esempio n. 41
0
    def post(self, _method='', **kw):
        del kw['sprox_id']
        proyecto = Proyecto()
        #proyecto.id_proyecto = kw['id_proyecto']
        proyecto.cod_proyecto = kw['cod_proyecto']
        proyecto.nombre_proyecto = kw['nombre_proyecto']
        proyecto.descripcion = kw['descripcion']
        proyecto.fecha_inicio = kw['fecha_inicio']
        #proyecto.proyectos=[]
        for i in kw['usuarios']:
            p = DBSession.query(Usuario).get(i)
            proyecto.usuarios.append(p)
            #rol.permissions.append(DBSession.query(Permiso).get(permiso))

        #kw['permissions'] = permisos

        #rol = Rol(**kw)
        DBSession.add(proyecto)
        flash('Proyecto creado')
        redirect('/administracion/proyecto/list')
Esempio n. 42
0
	def list(self, id_fase):
		"""Metodo invocado para listar los items de una fase especificada"""
		self.id_fase = id_fase
		
		identity = request.environ.get('repoze.who.identity')
		if identity is not None:
			user = identity.get('user')
		idi = user.id_usuario
		
		fase = DBSession.query(Fase).get(id_fase)
		id_proy = fase.id_proyecto
		proyecto = DBSession.query(Proyecto).get(id_proy)
		
		rol_lider = DBSession.query(RolUsuario).filter(RolUsuario.id_usuario==idi).\
				filter(Rol.group_name=="lider").filter(Rol.id_rol == RolUsuario.id_rol).all()
		
		if(len(rol_lider)==0):
			list = DBSession.query(Roperpro).filter(Roperpro.id_proyecto==id_proy).\
											filter(Permiso.permission_name=="ver_fase").\
											filter(Roperpro.id_permiso==Permiso.id_permiso).\
											filter(RolUsuario.id_usuario==idi).\
											filter(Roperpro.id_rol==RolUsuario.id_rol).all()
			if len(list)==0:
				flash("No posee el permiso para ver los items de la fase",'error')
				redirect("/desarrollo/item/error")
			else:
				fase = DBSession.query(Fase).get(id_fase)
				tmpl_context.widget = list_item
				value = list_item_filler.get_value(id_fase=id_fase)
		else:
			fase = DBSession.query(Fase).get(id_fase)
			tmpl_context.widget = list_item
			value = list_item_filler.get_value(id_fase=id_fase)
		return dict(fase=fase, proyecto = proyecto, value=value)
Esempio n. 43
0
 def edit(self, id, **kw):
     usuario = DBSession.query(Usuario).get(id)
     tmpl_context.widget = edit_usuario_form
     kw['id_usuario'] = usuario.id_usuario
     #kw['cod_usuario'] = usuario.cod_usuario
     #kw['nombre'] = usuario.nombre
     #kw['user_name'] = usuario.user_name
     #kw['_password'] = usuario._password
     #kw['password'] = usuario.password
     #kw['proyect'] = usuario.proyect
     #kw['groups'] = usuario.groups
     value = edit_usuario_filler.get_value(kw)
     return dict(value=value)
Esempio n. 44
0
	def edit(self, id,**kw):
		usuario = DBSession.query(Usuario).get(id)
		tmpl_context.widget = edit_usuario_form
		kw['id_usuario'] = usuario.id_usuario
		#kw['cod_usuario'] = usuario.cod_usuario
		#kw['nombre'] = usuario.nombre
		#kw['user_name'] = usuario.user_name
		#kw['_password'] = usuario._password
		#kw['password'] = usuario.password
		#kw['proyect'] = usuario.proyect
		#kw['groups'] = usuario.groups
		value=edit_usuario_filler.get_value(kw)
		return dict(value=value)
Esempio n. 45
0
 def setup(self):
     try:
         new_attrs = {}
         new_attrs.update(self.attrs)
         new_attrs.update(self.do_get_dependencies())
         self.obj = self.klass(**new_attrs)
         DBSession.add(self.obj)
         DBSession.flush()
         return self.obj
     except:
         DBSession.rollback()
         raise
Esempio n. 46
0
 def setup(self):
     try:
         new_attrs = {}
         new_attrs.update(self.attrs)
         new_attrs.update(self.do_get_dependencies())
         self.obj = self.klass(**new_attrs)
         DBSession.add(self.obj)
         DBSession.flush()
         return self.obj
     except:
         DBSession.rollback()
         raise
Esempio n. 47
0
 def post_delete(self, id, **kw):
     DBSession.delete(DBSession.query(TipoItem).get(id))
     redirect('/desarrollo/tipo_item/list')
Esempio n. 48
0
 def post(self, **kw):
     #del kw['sprox_id']
     usuario = Usuario(**kw)
     DBSession.add(usuario)
     flash("El usuario ha sido creado correctamente.")
     redirect("/administracion/usuario/list")
Esempio n. 49
0
	def post(self, id_fase, method='', **kw):
		"""Metodo invocado para persistir los datos del item creado en la BD"""
		del kw['sprox_id']
		funciones = Funciones()
		item = Item()
		item.id_tipoitem = kw['tipo_item']
		tipoitem = DBSession.query(TipoItem).filter(TipoItem.id_tipoitem==item.id_tipoitem).first()
		cod_tipoitem = tipoitem.cod_tipoitem
		item.cod_item = str(cod_tipoitem)+str(funciones.generador_codigo_item(cod_tipoitem))
		item.nombre_item = kw['nombre_item']
		item.descripcion = kw['descripcion']
		item.version = 1#kw['version']
		item.estado = "en desarrollo"
		item.complejidad = kw['complejidad']

		id_fa = id_fase

		item.id_tipoitem = kw['tipo_item']
		
		DBSession.add(item)
		DBSession.flush()
		#VERSIONADO_ITEM
		cod_tipoitem_versionado = DBSession.query(TipoItem.cod_tipoitem).filter(TipoItem.id_tipoitem==item.id_tipoitem).first()
		
		versionadoitem = VersionadoItem()
		versionadoitem.cod_item = item.cod_item
		versionadoitem.cod_tipoitem= cod_tipoitem_versionado
		versionadoitem.nombre_item = item.nombre_item
		versionadoitem.descripcion = item.descripcion
		versionadoitem.version = item.version
		versionadoitem.complejidad = item.complejidad
		
		DBSession.add(versionadoitem)
		DBSession.flush()
		print ("0000000000000000000000000000000000000000000000000000000000000000 VERSIONADO %s") % (versionadoitem.id_versionado)
		
		#se crean los detalles del item en base a los detalles del tipo
		detalles = DBSession.query(DetalleTipoItem.id_detalletipoitem).filter(DetalleTipoItem.id_tipoitem==kw['tipo_item']).all()
		
		for i in detalles:
			detalle = DBSession.query(DetalleTipoItem).get(i)
			atributo = DetalleItem()
			atributo.id_item = item.id_item
			atributo.tipo_dato = DBSession.query(DetalleTipoItem.tipo_dato).filter(DetalleTipoItem.id_detalletipoitem==i).first()
			atributo.id_detalletipoitem = i
			atributo.cod_detalleitem = funciones.generador_codigo(detalle.nombre_atributo)
			atributo.cod_detalletipoitem = DBSession.query(DetalleTipoItem.cod_detalletipoitem).filter(DetalleTipoItem.id_detalletipoitem==i).first()
			atributo.nombre_atributo = detalle.nombre_atributo
			atributo.valor = None
			#atributo.archivo = None
			DBSession.add(atributo)
			
			#DETALLE_VERSIONADO_ITEM
			detalleversionadoitem = DetalleVersionadoItem()
			detalleversionadoitem.id_versionado = versionadoitem.id_versionado
			detalleversionadoitem.cod_item = item.cod_item
			detalleversionadoitem.cod_detalleitem = atributo.cod_detalleitem
			detalleversionadoitem.cod_detalletipoitem = atributo.cod_detalletipoitem
			detalleversionadoitem.nombre_atributo = detalle.nombre_atributo
			detalleversionadoitem.tipo_dato = atributo.tipo_dato
			detalleversionadoitem.valor = None
			#detalleversionadoitem.archivo = atributo.archivo
			DBSession.add(detalleversionadoitem)
			
		
		identity = request.environ.get('repoze.who.identity')
		if identity is not None:
			user = identity.get('user')
		idi = user.id_usuario
		ahora = time.localtime()
		anho = str(ahora.tm_year)
		mes = str(ahora.tm_mon)
		dia = str(ahora.tm_mday)
		hora = str(ahora.tm_hour)
		min = str(ahora.tm_min)
		seg = str(ahora.tm_sec)
		historial = Historial()
		historial.cod_recurso = item.cod_item
		historial.tipo_recurso = "Item"
		historial.nombre_recurso = item.nombre_item
		historial.operacion = "Creacion"
		historial.fecha_operacion = anho+'-'+mes+'-'+dia
		historial.hora = hora+':'+min+':'+seg
		historial.nombre_usuario = user.user_name
		DBSession.add(historial)
		
		flash('Item creado')
		redirect('/desarrollo/item/list/'+str(id_fa))
Esempio n. 50
0
 def post_delete(self, id, **kw):
     DBSession.delete(DBSession.query(Fase).get(id))
     redirect('/desarrollo/fase/list')