Ejemplo n.º 1
0
    def put(self, *args, **kw):
        '''update'''

        params = kw
        #        print params['submit']
        pm = ItemManager()
        item_viejo = pm.getById(int(args[0]))
        item_nuevo = Item()

        identificador = params['identificador']
        item_nuevo.identificador = identificador
        item_nuevo.observacion = params['observacion']
        item_nuevo.estado = item_viejo.estado
        item_nuevo.complejidad = params['complejidad']
        item_nuevo.descripcion = params['descripcion']
        item_nuevo.id_fase = item_viejo.id_fase

        id_fase = item_viejo.id_fase
        item_nuevo.codigo = item_viejo.codigo
        item_nuevo.version = item_viejo.version + 1
        item_nuevo.actual = 'true'
        item_viejo.actual = 'false'
        item_nuevo.tipo = item_viejo.tipo
        tipo_item = item_viejo.id_tipo_item

        version = item_nuevo.version
        pm.add(item_nuevo)
        pm.update(item_viejo)
        '''Copiar los campos'''
        if tipo_item:
            ti = TipoItemManager()
            tipo = ti.getById(tipo_item)
            campos = tipo.campos
            for campo in campos:
                nombre_campo = campo.nombre
                valor = params[nombre_campo]
                pm.addAtributo(identificador, id_fase, version, campo.id_campo,
                               valor)

        item = pm.getByIdentificadorFaseVersion(identificador, id_fase,
                                                version)  #Item_nuevo

        item_viejo = pm.getById(int(args[0]))
        '''Copiar los adjuntos'''
        if item_viejo.adjuntos:
            for adjunto in item_viejo.adjuntos:
                pm.copiarAdjunto(item, adjunto)

        pm.update(item)
        pm.update(item_viejo)

        item = pm.getByIdentificadorFaseVersion(identificador, id_fase,
                                                version)  #Item_nuevo
        '''Adjuntar nuevos Archivos'''
        if params['submit'] == 'Adjuntar':
            '''Hay que adjuntar archivos'''
            id_item = item.id_item
            raise redirect('/item/adjuntar?id_item=' + str(id_item))

        raise redirect('/item/items?id_fase=' + str(id_fase))
Ejemplo n.º 2
0
 def revertir(self,*args,**kw):
     id_item = kw["id_item"]
     id_item = int(id_item)
     im = ItemManager()
     transaction.begin()
     item_revertir = im.getById(id_item)
     item_nuevo = Item()
     item_nuevo.codigo = item_revertir.codigo
     item_nuevo.identificador = item_revertir.identificador
     item_nuevo.observacion = item_revertir.observacion
     item_nuevo.estado = "inicial"
     item_nuevo.complejidad = item_revertir.complejidad
     item_nuevo.id_fase = item_revertir.id_fase
     item_nuevo.id_tipo_item = item_revertir.id_tipo_item
     item_nuevo.descripcion = item_revertir.descripcion
     items_de_fase = im.buscar_por_fase(item_revertir.id_fase)
     id_fase = item_revertir.id_fase
     version = 0
     for item in items_de_fase:
         if item.version > version:
             version = item.version
         if item.codigo == item_revertir.codigo and item.actual == "true": 
             item.actual = "false"
     version = version + 1
     item_nuevo.version = version
     item_nuevo.actual = 'true'
     print "version",version
     im.add(item_nuevo)
     transaction.commit()
     
     item_viejo = im.getById(id_item)
     identificador = item_viejo.identificador
     
     tipo_item = item_viejo.id_tipo_item
     if tipo_item :
         for atributo in item_viejo.atributos:
             id_campo = atributo.id_campo
             valor = atributo.valor
             im.addAtributo(identificador,id_fase,version,id_campo,valor)  
     im.update(item_viejo)
     
     item_viejo = im.getById(id_item)
     item = im.getByIdentificadorFaseVersion(identificador,id_fase,version) #Item_nuevo
     
     '''Copiar los adjuntos'''
     if item_viejo.adjuntos :
         for adjunto in item_viejo.adjuntos:
             im.copiarAdjunto(item,adjunto)
     im.update(item)
     
     
     raise redirect('/item/items?id_fase='+ str(id_fase))
     
     
Ejemplo n.º 3
0
    def post(self, *args, **kw):
        '''New'''
        p = Item()
        pm = ItemManager()
        cm = CodigoManager()
        params = kw

        p.identificador = params['identificador']
        p.observacion = params['observacion']
        p.estado = 'inicial'
        p.complejidad = params['complejidad']
        p.descripcion = params['descripcion']
        p.id_fase = int(session['id_fase'])
        p.codigo = pm.generar_codigo(int(session['id_fase']),
                                     int(params['tipo_items']))
        p.version = 1
        p.actual = 'true'

        if params['tipo_items'] != '-1':
            ti = TipoItemManager()
            tipo = ti.getById(params['tipo_items'])
            p.tipo = tipo

        pm.add(p)

        if params['tipo_items'] != '-1':
            ti = TipoItemManager()
            tipo = ti.getById(params['tipo_items'])
            campos = tipo.campos
            for campo in campos:
                nombre_campo = campo.nombre
                valor = params[nombre_campo]
                pm.addAtributo(params['identificador'], params['id_fase'], 1,
                               campo.id_campo, valor)

        item = pm.getByIdentificadorFaseVersion(params['identificador'],
                                                params['id_fase'], 1)
        '''Adjuntar nuevos Archivos'''
        if params['submit'] == 'Adjuntar':
            '''Hay que adjuntar archivos'''
            id_item = item.id_item
            raise redirect('/item/adjuntar?id_item=' + str(id_item))

        raise redirect('/item/items?id_fase=' + params['id_fase'])