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


Python ItemManager.update方法代码示例

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


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

示例1: listo

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 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))   
开发者ID:javierpf,项目名称:SGP14,代码行数:11,代码来源:item.py

示例2: desaprobar

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 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))    
开发者ID:vanecan,项目名称:SGP14,代码行数:11,代码来源:item.py

示例3: post_delete

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 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))
开发者ID:vanecan,项目名称:SGP14,代码行数:13,代码来源:item.py

示例4: revertir

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 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))
     
     
开发者ID:javierpf,项目名称:SGP,代码行数:54,代码来源:itemRevertir.py

示例5: post

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def post (self, **kw):
     """Agrega una nueva linea base a la base de datos"""
         
     if not 'id_fase' in kw:
         flash(('Direccion no valida'), 'error')
         raise redirect("/index")
     if not(Secure().FiltrarByFase(int(kw['id_fase']),'crear_lb')):
         flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES'), 'error')
         raise redirect("/index")
     if kw['Aceptar']=="Cancelar":
         raise redirect("/lineaBase", id_fase=kw['id_fase'])        
     linea_base = LineaBase()
     lbm = LineaBaseManager()
     im = ItemManager()
     fm = FaseManager()
     id_items = session['items_lb'] #lista de id_items que formaran parte de la LB
     try:
         id_items.sort()
     except:
         id_items=[]
         id_items.append(session['items_lb'])
     
     linea_base.estado='valido'
     linea_base.usuario = session['id_usuario'].id_usuario
     fecha = datetime.date.today()
     linea_base.fecha = fecha
    
     linea_base.fase = kw['id_fase']
     
     for id in id_items:
         item = im.getById(id)
         linea_base.items.append(item)
     
     lbm.add(linea_base)
     
     for id in id_items:
         item=im.getById(int(id))
         item.estado = 'finalizado'
         im.update(item)
         
     '''Cambiar estado de fases'''
     if im.fase_finalizada(kw['id_fase']):
         fm.finalizar_fase(kw['id_fase'])
     else:
         fm.fase_en_desarrollo(kw['id_fase'])
     fm.desarrollar_fase_siguiente(kw['id_fase'])
     
     
     raise redirect('/lineaBase?id_fase='+str(kw["id_fase"]))
开发者ID:vanecan,项目名称:SGP14,代码行数:51,代码来源:lineaBase.py

示例6: desaprobar

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def desaprobar(self,**kw):
     '''metodo para cambiar el estado de un item a desaprobado'''
     try:
         id_item = int(kw["id_item"])
         item_aprobar, navegacion = self.getNavegacionFromIdItem(id_item)
     except:
         flash(('Direccion no valida.'), 'error')
         raise redirect("/index")
     if not(Secure().FiltrarByFase(item_aprobar.id_fase, 'desaprobar_item')):
         flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error')
         raise redirect("/index")
     im = ItemManager()
     fase_retorno = item_aprobar.id_fase
     item_aprobar.estado = 'desaprobado'
     im.update(item_aprobar)
     raise redirect('/item/items?id_fase='+ str(fase_retorno))    
开发者ID:vanecan,项目名称:SGP14,代码行数:18,代码来源:item.py

示例7: listo

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
    def listo(self,**kw):
        '''metodo para cambiar el estado de un item a listo'''

        try:
            id_item = int(kw["id_item"])
            item_listo, navegacion = self.getNavegacionFromIdItem(id_item)
        except:
            flash(('Direccion no valida.'), 'error')
            raise redirect("/index")
        if not(Secure().FiltrarByFase(item_listo.id_fase, 'modificacion_item')):
            flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error')
            raise redirect("/index")
        im = ItemManager()
        fase_retorno = item_listo.id_fase
        item_listo.estado = 'listo'
        im.update(item_listo)
        raise redirect('/item/items',id_fase=fase_retorno)
开发者ID:vanecan,项目名称:SGP14,代码行数:19,代码来源:item.py

示例8: post

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def post (self, **kw):
     linea_base = LineaBase()
     lbm = LineaBaseManager()
     im = ItemManager()
     id_items = kw['lista_items'] #lista de id_items que formaran parte de la LB
     for id in id_items:
         item = im.getById(id)
         item.estado = 'finalizado'
         im.update(item)
         
         linea_base.items.append(item)
     linea_base.estado='valido'
     linea_base.usuario = session['id_usuario']
     linea_base.fecha = datetime.datetime.now()
     linea_base.fase = kw['id_fase']
     
     lbm.add(linea_base)
     
     return 'LB Creada con exito'
开发者ID:vanecan,项目名称:SGP14,代码行数:21,代码来源:lineaBase.py

示例9: validar

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def validar(self,**kw):
     if not 'id_linea_base' in kw:
         flash(('Direccion no valida'), 'error')
         raise redirect("/index") 
     lbm = LineaBaseManager()
     im = ItemManager()
     try:
         linea_base = lbm.getById(kw['id_linea_base'])
     except:
         flash(('Direccion no valida'), 'error')
         raise redirect("/index")             
     fase = linea_base.fase        
     for item in linea_base.items:
             item.estado = 'finalizado'
             im.update(item)
         
     linea_base.estado = 'valido'
     lbm.update(linea_base)
     raise redirect('/lineaBase?id_fase='+str(fase))
开发者ID:vanecan,项目名称:SGP14,代码行数:21,代码来源:lineaBase.py

示例10: post_delete

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def post_delete(self, *args, **kw):
     '''Metodo que elimina un item'''
     try:
         item, navegacion = self.getNavegacionFromIdItem(args[0])
     except:
         flash(('Direccion no valida.'), 'error')
         raise redirect("/index")
     if not(Secure().FiltrarByFase(item.id_fase, 'modificacion_item')):
         flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error')
         raise redirect("/index")
     pm = ItemManager()
     if item.estado != 'finalizado':
         item.estado = 'eliminado'
         item.actual = 'false'
         item.id_linea_base = None
         
     id_fase = item.id_fase
     pm.update(item)
     transaction.begin()
     rm = RelacionManager()
     lbm = LineaBaseManager()
     relaciones = rm.getByItem(args)
     '''Marcar para Revision'''
     for relacion in relaciones:
         transaction.begin()
         if relacion.id_item1 == args:
             item_revision = pm.getById(relacion.id_item2)
         else:
             item_revision = pm.getById(relacion.id_item1)
         
         item_revision.estado = 'revision'
         if item_revision.id_linea_base != None:
             linea_base = lbm.getById(item_revision.id_linea_base)
             linea_base.estado = 'no valido'
             lbm.update(linea_base)
         transaction.commit() 
            
     '''Eliminar Relaciones'''
     for relacion in relaciones:
         rm.delete(relacion)
     transaction.commit()
     raise redirect('/item/items',id_fase=id_fase, navegacion=navegacion)
开发者ID:vanecan,项目名称:SGP14,代码行数:44,代码来源:item.py

示例11: liberar

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def liberar(self,**kw):
     if not 'id_linea_base' in kw:
         flash(('Direccion no valida'), 'error')
         raise redirect("/index") 
     lbm = LineaBaseManager()
     im = ItemManager()
     try:
         linea_base = lbm.getById(kw['id_linea_base'])
     except:
         flash(('Direccion no valida'), 'error')
         raise redirect("/index")             
     fase = linea_base.fase
     if not(Secure().FiltrarByFase(fase, 'liberar_lb')):
         flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES'), 'error')
         raise redirect("/index")            
     for item in linea_base.items:
             item.estado = 'aprobado' #para poder editar los items
             im.update(item)
         
     linea_base.estado = 'liberado'
     lbm.update(linea_base)
     raise redirect('/lineaBase?id_fase='+str(fase))
开发者ID:vanecan,项目名称:SGP14,代码行数:24,代码来源:lineaBase.py

示例12: put

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
    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))
开发者ID:javierpf,项目名称:SGP14,代码行数:60,代码来源:item.py

示例13: put

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
 def put(self, *args, **kw):
     '''update'''     
     params = kw
     pm=ItemManager()
     item_viejo = pm.getById(int(kw['id_item']))
     complejidad = [1,2,3,4,5,6,7,8,9,10]        
     if item_viejo.id_tipo_item != '-1':
         ti = TipoItemManager()
         tipo= ti.getById(item_viejo.id_tipo_item)
         campos = tipo.campos
         error, lista = self.verificarCampos(campos, **kw)
         print "despues del error"
         if error:
             print "Error en los campos"
             nuevo = self.getNuevo(item_viejo,**kw)
             return dict(id_item=item_viejo.id_item, item=nuevo, campos = lista, id_fase= item_viejo.id_fase, comp=complejidad)
     print "Sin error en la actualizacion del item"
     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(kw['id_item']))
     '''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))
     print "antes del raise - put item"
     raise redirect('/item/items?id_fase='+ str(id_fase))
开发者ID:vanecan,项目名称:SGP14,代码行数:70,代码来源:item.py

示例14: crear_nueva_version

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
    def crear_nueva_version (self,id_item_viejo):
        '''funcion para copiar campos de un item'''
        pm = ItemManager()
        item_viejo = pm.getById(id_item_viejo)
        item_nuevo = Item()
        
        '''Copiar campos genericos'''
#        transaction.begin()
        
        identificador = item_viejo.identificador
        item_nuevo.identificador = item_viejo.identificador
        item_nuevo.observacion = item_viejo.observacion
        item_nuevo.complejidad = item_viejo.complejidad
        item_nuevo.descripcion = item_viejo.descripcion
        item_nuevo.id_linea_base = item_viejo.id_linea_base
        item_viejo.id_linea_base = None
        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
        
        '''cambiar estado'''
        if item_viejo.estado=='inicial':
            item_nuevo.estado = 'inicial'
        else:
            item_nuevo.estado = 'revision'
            
        version = item_nuevo.version
        pm.add(item_nuevo)
        pm.update(item_viejo) 
#        transaction.commit()
        
        '''Copiar los campos especificos'''
        transaction.begin()
        item_viejo = pm.getById(id_item_viejo)
        if tipo_item :
            for atributo in item_viejo.atributos:
                id_campo = atributo.id_campo
                valor = atributo.valor
                pm.addAtributo(identificador,id_fase,version,id_campo,valor)  
        transaction.commit()
               
        item = pm.getByIdentificadorFaseVersion(identificador,id_fase,version) #Item_nuevo
        item_viejo = pm.getById(id_item_viejo)
        
        '''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
        
        '''Copiar Relaciones'''
        transaction.begin()
        item_viejo = pm.getById(id_item_viejo)
        item = pm.getByIdentificadorFaseVersion(identificador,id_fase,version) #Item_nuevo
        id_item_nuevo = item.id_item #Id del item nuevo
        rm = RelacionManager()
        relaciones = rm.getByItem(item_viejo.id_item)
        for relacion in relaciones:
            transaction.begin()
            if relacion.id_item1 == item_viejo.id_item:
                item1 = item
                item2 = pm.getById(relacion.id_item2)
            else:
                item1 = pm.getById(relacion.id_item1)
                item2 = item
                
            if item1.actual == 'true' and item2.actual == 'true': #comprobar que sean relaciones validas
                if item1.id_fase == item2.id_fase : #son items de la misma fase
                        rm.add(item1,item2,'padre-hijo') 
                else:
                    rm.add(item1,item2,'antecesor-sucesor')
            transaction.commit()   
            
        '''Marcar para revision Items Relacionados'''
        lbm = LineaBaseManager()
        relaciones = rm.getByItem(id_item_nuevo)
        for relacion in relaciones:
            transaction.begin()
            if relacion.id_item1 == id_item_nuevo:
                item_revision = pm.getById(relacion.id_item2)
            else:
                item_revision = pm.getById(relacion.id_item1)
            item_revision.estado = 'revision'
            if item_revision.id_linea_base != None:
                linea_base = lbm.getById(item_revision.id_linea_base)
                linea_base.estado = 'no valido'
                lbm.update(linea_base)
            transaction.commit() 
            
        transaction.commit()  
#.........这里部分代码省略.........
开发者ID:vanecan,项目名称:SGP14,代码行数:103,代码来源:item.py

示例15: put

# 需要导入模块: from sgp.managers.ItemMan import ItemManager [as 别名]
# 或者: from sgp.managers.ItemMan.ItemManager import update [as 别名]
    def put(self, *args, **kw):
        '''Metodo que actualiza los campos en una edicion de item'''     
        params = kw
        pm=ItemManager()
        try:
            item_viejo, navegacion = self.getNavegacionFromIdItem(int(kw['id_item']))
        except:
            flash(('Direccion no valida.'), 'error')
            raise redirect("/index")
        if not(Secure().FiltrarByFase(item_viejo.id_fase, 'modificacion_item')):
            flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error')
            raise redirect("/index")
        
        complejidad = [1,2,3,4,5,6,7,8,9,10]    
        if params['submit']=="cancelar":
            raise redirect ('/item/items', id_fase=item_viejo.id_fase)    
        if item_viejo.id_tipo_item:
            ti = TipoItemManager()

            tipo= ti.getById(item_viejo.id_tipo_item)
            campos = tipo.campos
            error, lista = self.verificarCampos(campos, **kw)
            if error:
                nuevo = self.getNuevo(item_viejo,**kw)
                return dict(id_item=item_viejo.id_item, item=nuevo, campos = lista, id_fase= item_viejo.id_fase, comp=complejidad, navegacion=navegacion)
        item_nuevo = Item()
        
        '''Copiar Campos Genericos'''
        identificador = params['identificador']
        item_nuevo.identificador = identificador
        item_nuevo.observacion = params['observacion']
        item_nuevo.complejidad = params['complejidad']
        item_nuevo.descripcion = params['descripcion']
        item_nuevo.id_linea_base = item_viejo.id_linea_base
        item_viejo.id_linea_base = None
        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
        
        '''cambiar estado'''
        if item_viejo.estado=='inicial':
            item_nuevo.estado = 'inicial'
        else:
            item_nuevo.estado = 'revision'
            
        version = item_nuevo.version
        pm.add(item_nuevo)
        pm.update(item_viejo)
        
        '''Copiar los campos especificos'''
        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(kw['id_item']))
        '''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
        
        '''Copiar Relaciones'''
        transaction.begin()
        item_viejo = pm.getById(int(kw['id_item']))
        item = pm.getByIdentificadorFaseVersion(identificador,id_fase,version) #Item_nuevo
        id_item_nuevo = item.id_item #Id del item nuevo
        rm = RelacionManager()
        relaciones = rm.getByItem(item_viejo.id_item)
        for relacion in relaciones:
            transaction.begin()
            if relacion.id_item1 == item_viejo.id_item:
                item1 = item
                item2 = pm.getById(relacion.id_item2)
            else:
                item1 = pm.getById(relacion.id_item1)
                item2 = item
                
            if item1.actual == 'true' and item2.actual == 'true': #comprobar que sean relaciones validas
                if item1.id_fase == item2.id_fase : #son items de la misma fase
                        rm.add(item1,item2,'padre-hijo') 
                else:
                    rm.add(item1,item2,'antecesor-sucesor')
            transaction.commit()   
#.........这里部分代码省略.........
开发者ID:vanecan,项目名称:SGP14,代码行数:103,代码来源:item.py


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