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 listo(self, **kw):
     id_item = kw["id_item"]
     id_item = int(id_item)
     im = ItemManager()
     item_listo = im.getById(int(id_item))
     fase_retorno = item_listo.id_fase
     item_listo.estado = 'listo'
     im.update(item_listo)
     raise redirect('/item/items?id_fase=' + str(fase_retorno))
Ejemplo n.º 3
0
 def desaprobar(self, **kw):
     id_item = kw["id_item"]
     id_item = int(id_item)
     im = ItemManager()
     item_aprobar = im.getById(int(id_item))
     fase_retorno = item_aprobar.id_fase
     item_aprobar.estado = 'desaprobado'
     im.update(item_aprobar)
     raise redirect('/item/items?id_fase=' + str(fase_retorno))
Ejemplo n.º 4
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.º 5
0
    def post_delete(self, *args, **kw):
        '''delete'''
        pm = ItemManager()
        item = pm.getById(args)
        if item.estado != 'finalizado':
            item.estado = 'eliminado'
            item.actual = 'false'

        id_fase = item.id_fase
        pm.update(item)
        raise redirect('/item/items?id_fase=' + str(id_fase))
Ejemplo n.º 6
0
 def adjuntar_archivo(self, *args, **kw):
     fileitem = kw['datafile']
     if fileitem.filename:
         os.path.basename(fileitem.filename.replace("\\", "/"))
         f = fileitem.file.read()
         im = ItemManager()
         item = im.getById(kw['id_item'])
         im.adjuntarArchivo(item, f, fileitem.filename)
     else:
         print 'No file was uploaded'
     raise redirect('/item/adjuntar?id_item=' + kw['id_item'])
Ejemplo n.º 7
0
    def edit(self, *args, **kw):
        """Display a page to edit the record."""

        im = ItemManager()
        cm = CampoManager()
        item = im.getById(args)
        atributos = item.atributos
        lista = []
        if str(item.id_tipo_item) != '':
            for atributo in atributos:
                campo = cm.getById(atributo.id_campo)
                campoValor = CampoValor()
                campoValor.valor = atributo.valor
                campoValor.campo = campo.nombre
                campoValor.tipo = campo.tipo_dato
                lista.append(campoValor)
        return dict(item=item, campos=lista, id_fase=item.id_fase)
Ejemplo n.º 8
0
    def __actions__(self, obj):
        """Override this function to define how action links should be displayed for the given record."""
        primary_fields = self.__provider__.get_primary_fields(self.__entity__)
        pklist = '/'.join(map(lambda x: str(getattr(obj, x)), primary_fields))
        estado = obj.estado
        lista = []
        lista.append(str(obj.id_fase))
        lista.append(str(obj.id_item))
        if estado != 'finalizado':
            value = '<div><div><a class="edit_link" href="'+pklist+'/edit" style="text-decoration:none">edit</a>'\
                  '</div><div>'\
                  '<form method="POST" action="'+pklist+'" class="button-to">'\
                '<input type="hidden" name="_method" value="DELETE" />'\
                '<input class="delete-button" onclick="return confirm(\'Are you sure?\');" value="delete" type="submit" '\
                'style="background-color: transparent; float:left; border:0; color: #286571; display: inline; margin: 0; padding: 0;"/>'\
            '</form>'\
            '<div><a href="/item/impacto?id_item='+pklist+'" style="text-decoration:none">Impacto &nbsp;  </a>'\
            '</div>'
            if estado == "inicial":
                value += '<div><a href="/item/listo?id_item='+str(obj.id_item)+'" style="text-decoration:none">Listo &nbsp;  </a>'\
                        '</div>'
            if estado == 'listo':
                value += '<div><a href="/item/aprobar?id_item='+str(obj.id_item)+'" style="text-decoration:none">Aprobar &nbsp; </a>'\
                        '</div>'\
                        '<div><a href="/item/desaprobar?id_item='+str(obj.id_item)+'" style="text-decoration:none">Desaprobar &nbsp; </a>'\
                        '</div>'

            im = ItemManager()
            versiones = im.getByCodigo(obj.codigo)
            cantidad = 0
            for version in versiones:
                cantidad = cantidad + 1
            print "cantidad", cantidad
            if cantidad > 1 and obj.estado != "finalizado":
                value += '<div><a href="/itemRevertir/obtener?id_item='+str(obj.id_item)+'" style="text-decoration:none">Revertir &nbsp;</a>'\
                        '</div>'

        else:
            value = '<div><div>'\
                  '</div><div>'\
                  '<form>'\
                  '</form>'
        value += '</div></div>'
        return value
Ejemplo n.º 9
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'])
Ejemplo n.º 10
0
 def _do_get_provider_count_and_objs(self, buscado="", **kw):
     im = ItemManager()
     item = im.getById(self.id_item)
     Campoes = im.getAnteriores(item.codigo)
     return len(Campoes), Campoes  
Ejemplo n.º 11
0
 def _do_get_provider_count_and_objs(self, buscado="", **kw):
     pm = ItemManager()
     Campoes = pm.buscar_por_fase(self.id_fase)
     return len(Campoes), Campoes
Ejemplo n.º 12
0
 def adjuntar(self, *args, **kw):
     im = ItemManager()
     item = im.getById(kw['id_item'])
     return dict(page='index', id_item=kw['id_item'], id_fase=item.id_fase)
Ejemplo n.º 13
0
 def _do_get_provider_count_and_objs(self, buscado="", **kw):
     pm = ItemManager()
     Items = pm.buscar(self.buscado, self.id_fase)
     return len(Items), Items
Ejemplo n.º 14
0
 def getHijos(self):
     im=ItemManager()
     hijos = im.getHijos(2)
     return hijos