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))
def new(self, *args, **kw): """Muestra el formulario de Nuevo Item.""" tmpl_context.widget = self.new_form params = kw complejidad = [1,2,3,4,5,6,7,8,9,10] try: fase, navegacion = self.getNavegacionFromIdFase(params['id_fase']) id_tipoItem = params['tipo_items'] except: flash(('Direccion no valida.'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(fase.id_fase, 'creacion_item')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error') raise redirect("/index") if str(id_tipoItem) == '-1': return dict(value=kw, model=self.model.__name__, campos=[],id_fase=params['id_fase'],tipo_items=id_tipoItem, comp = complejidad,i ="",o="", c = 1, d ="", navegacion=navegacion) else: fm = TipoItemManager() tipo = fm.getById(id_tipoItem) c = tipo.campos campos=[] for i in c: x = listaCampos(); x.nombre = i.nombre; x.tipo_dato=i.tipo_dato; x.error=""; x.valor="" campos.append(x) return dict(value=kw, model=self.model.__name__,campos = campos,id_fase=params['id_fase'],tipo_items=id_tipoItem, comp = complejidad,i ="",o="", c = 1, d ="", navegacion=navegacion)
def _do_get_provider_count_and_objs(self, buscado="", **kw): pm = CampoManager() tm = TipoItemManager() ti = tm.getByNombreFase(self.tipo, self.fase) if ti==None: return 0, [] Campo = pm.getByTipoItem(ti.id_tipo_item) return len(Campo), Campo
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))
def post(self, **kw): rm = TipoItemManager() params = kw creo = rm.addSinCampos(params['nombre'], int(session['id_fase']), params['descripcion'], params['prefijo']) if not(creo): flash(('Error: Ya existe un tipo de item con el nombre <<' + params['nombre'] + '>> en esta fase.'), 'Error') return dict(nombre = params['nombre'], descripcion=params['descripcion'], prefijo = params['prefijo'], error = True) else: id = rm.getByNombreFase(params['nombre'], int(session['id_fase'])).id_tipo_item raise redirect('/tipoItem/' + str(id) + '/campos')
def post_delete(self, *args, **kw): pm = TipoItemManager() cm = CampoManager() if pm.comprobarUso(args): cm.deleteByTipoItem(args) pm.deleteById(args) raise redirect("./") else: flash(("Error de Eliminacion: Existen items de este tipo."), "error") raise redirect("./")
def post(self, **kw): rm = TipoItemManager() params = kw creo = rm.addSinCampos(params["nombre"], int(session["id_fase"]), params["descripcion"], params["prefijo"]) if not (creo): flash( ("Error: Ya existe un tipo de item con el nombre <<" + params["nombre"] + ">> en esta fase."), "Error" ) return dict( nombre=params["nombre"], descripcion=params["descripcion"], prefijo=params["prefijo"], error=True ) else: id = rm.getByNombreFase(params["nombre"], int(session["id_fase"])).id_tipo_item raise redirect("/tipoItem/" + str(id) + "/campos")
def new(self, *args, **kw): """Display a page to show a new record.""" tmpl_context.widget = self.new_form params = kw id_tipoItem = params['tipo_items'] if str(id_tipoItem) == '-1': return dict(value=kw, model=self.model.__name__, campos=[],id_fase=params['id_fase'],tipo_items=id_tipoItem) else: fm = TipoItemManager() tipo = fm.getById(id_tipoItem) campos = tipo.campos return dict(value=kw, model=self.model.__name__,campos = campos,id_fase=params['id_fase'],tipo_items=id_tipoItem)
def new(self, *args, **kw): """Display a page to show a new record.""" tmpl_context.widget = self.new_form params = kw complejidad = [1,2,3,4,5,6,7,8,9,10] id_tipoItem = params['tipo_items'] if str(id_tipoItem) == '-1': return dict(value=kw, model=self.model.__name__, campos=[],id_fase=params['id_fase'],tipo_items=id_tipoItem, comp = complejidad,i ="",o="", c = 1, d ="") else: fm = TipoItemManager() tipo = fm.getById(id_tipoItem) c = tipo.campos campos=[] for i in c: x = listaCampos(); x.nombre = i.nombre; x.tipo_dato=i.tipo_dato; x.error=""; x.valor="" campos.append(x) return dict(value=kw, model=self.model.__name__,campos = campos,id_fase=params['id_fase'],tipo_items=id_tipoItem, comp = complejidad,i ="",o="", c = 1, d ="")
def post(self, **kw): tm = TipoItemManager() cm= CampoManager() params = kw # fase = session['fase'] # tipo = session['tipoItem'] fase = self.tipoIt.id_fase tipo = self.tipoIt.nombre #devuelve query ti = tm.getByNombreFase(tipo,fase) creo = cm.addParams(params['nombre'], params['tipo_dato'], ti.id_tipo_item) if not(creo): flash(('Ya existe un campo con el nombre "' + params['nombre']+ '" en este tipo de item.'), 'error') raise redirect('/tipoItem/' + str(self.id_tipo_item) + '/campos/new') else: raise redirect('/tipoItem/' + str(self.id_tipo_item) + '/campos')
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'])
def post(self, **kw): '''Crea un tipo de item''' if not('id_fase' in kw): flash(('Direccion No valida'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(int(kw['id_fase']), 'crear_ti')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES'), 'error') raise redirect("/index") rm = TipoItemManager() params = kw if kw['submit']=="cancelar": raise redirect('/tipoItem/', id_fase=kw['id_fase']) creo = rm.addSinCampos(params['nombre'], int(kw['id_fase']), params['descripcion'], params['prefijo']) if not(creo): fase, navegacion = self.getNavegacionFromIdFase(kw['id_fase']) flash(('Error: Ya existe un tipo de item con el nombre <<' + params['nombre'] + '>> en esta fase.'), 'Error') return dict(nombre = params['nombre'], descripcion=params['descripcion'], prefijo = params['prefijo'], error = True, navegacion=navegacion) else: id = rm.getByNombreFase(params['nombre'], int(kw['id_fase'])).id_tipo_item raise redirect('/tipoItem/' + str(id) + '/campos')
def put(self, *args, **kw): '''actualiza un tipo de item''' if not('id_fase' in kw): flash(('Direccion No valida'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(int(kw['id_fase']), 'modificar_ti')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES'), 'error') raise redirect("/index") rm = TipoItemManager() params = kw if kw['submit']=="cancelar": raise redirect ('/tipoItem', id_fase=kw['id_fase']) existe = rm.verificaExistenciaPut(params['id_fase'], params['nombre']) if existe: flash(('Error: Ya existe un tipo de item con el nombre "' + params['nombre'] + '" en esta fase.'), 'Error') raise redirect('/tipoItem/' + params['id_tipo_item'] + '/edit', nombre = params['nombre'], descripcion=params['descripcion'], prefijo=params['prefijo']) p = rm.getById(params['id_tipo_item']) prefijo_viejo = p.prefijo p.nombre = params['nombre'] p.descripcion=params['descripcion'] p.prefijo = params['prefijo'] rm.update(p) id = rm.getByNombreFase(params['nombre'], int(params['id_fase'])).id_tipo_item ItemManager().actualizarPrefijosItem(id, prefijo_viejo, params['prefijo']) if kw['submit']=="editar": raise redirect('/tipoItem', id_fase=params['id_fase']) raise redirect('/tipoItem/' + str(id) + '/campos')
def post_delete(self, *args, **kw): '''Elimina un tipo de item del sistema. Verifica y valida la eliminacion''' if not('id_tipo_item' in kw): flash(('Direccion No valida'), 'error') raise redirect("/index") try: pm = TipoItemManager() ti=pm.getById(int(kw['id_tipo_item'])) except: flash(('Direccion No valida'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(ti.id_fase, 'modificar_ti')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES'), 'error') raise redirect("/index") cm = CampoManager() ti=pm.getById(int(kw['id_tipo_item'])) id_fase=ti.id_fase if pm.comprobarUso(int(kw['id_tipo_item'])): cm.deleteByTipoItem(int(kw['id_tipo_item'])) pm.deleteById(int(kw['id_tipo_item'])) raise redirect('/tipoItem', id_fase=id_fase) else: flash(("Error de Eliminacion: Existen items de este tipo."),'error') raise redirect('/tipoItem', id_fase=ti.id_fase)
def put(self, *args, **kw): rm = TipoItemManager() params = kw if kw["submit"] == "cancelar": raise redirect("/tipoItem") existe = rm.verificaExistenciaPut(params["id_fase"], params["nombre"]) if existe: flash(('Error: Ya existe un tipo de item con el nombre "' + params["nombre"] + '" en esta fase.'), "Error") raise redirect( "/tipoItem/" + params["id_tipo_item"] + "/edit", nombre=params["nombre"], descripcion=params["descripcion"], prefijo=params["prefijo"], ) p = rm.getById(params["id_tipo_item"]) prefijo_viejo = p.prefijo p.nombre = params["nombre"] p.descripcion = params["descripcion"] p.prefijo = params["prefijo"] rm.update(p) id = rm.getByNombreFase(params["nombre"], int(params["id_fase"])).id_tipo_item ItemManager().actualizarPrefijosItem(id, prefijo_viejo, params["prefijo"]) print kw if kw["submit"] == "editar": print "Editar" raise redirect("/tipoItem") raise redirect("/tipoItem/" + str(id) + "/campos")
def new(self, *args, **kw): """Display a page to show a new record.""" tmpl_context.widget = self.new_form params = kw id_tipoItem = params['tipo_items'] if str(id_tipoItem) == '-1': return dict(value=kw, model=self.model.__name__, campos=[], id_fase=params['id_fase'], tipo_items=id_tipoItem) else: fm = TipoItemManager() tipo = fm.getById(id_tipoItem) campos = tipo.campos return dict(value=kw, model=self.model.__name__, campos=campos, id_fase=params['id_fase'], tipo_items=id_tipoItem)
def post(self,*args, **kw): '''New''' p = Item() pm = ItemManager() params = kw complejidad = [1,2,3,4,5,6,7,8,9,10] if params['tipo_items'] != '-1': ti = TipoItemManager() tipo= ti.getById(params['tipo_items']) campos = tipo.campos error, lista = self.verificarCampos(campos, **kw) if error: return dict(value=kw, model=self.model.__name__,campos = lista,id_fase=params['id_fase'],tipo_items=kw['tipo_items'], comp = complejidad,i =kw['identificador'],o=kw['observacion'], c = int(params['complejidad']), d =kw['descripcion']) if pm.existeIdentificador(params['identificador'],int(params['id_fase'])): flash(('Error: Ya existe un item con el nombre <<' + params['identificador'] + '>> en esta fase.'), 'Error') return dict(value=kw, model=self.model.__name__,campos = lista,id_fase=params['id_fase'],tipo_items=kw['tipo_items'], comp = complejidad,i ="",o=kw['observacion'], c = int(params['complejidad']), d =kw['descripcion']) 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'])
def put(self, *args, **kw): rm = TipoItemManager() params = kw existe = rm.verificaExistencia(params['fase'], params['nombre']) if existe: flash(('Error: Ya existe un tipo de item con el nombre "' + params['nombre'] + '" en esta fase.'), 'Error') dir = '/tipoItem/' + args[0] + '/edit' raise redirect(dir) p = rm.getById(args) p.nombre = params['nombre'] p.id_fase = params['fase'] rm.actualizar(params['nombre'], params['fase'], args[0]) raise redirect('/campo')
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'])
def _do_get_provider_count_and_objs(self, buscado="", **kw): pm = TipoItemManager() usuarios = pm.buscar(self.buscado) return len(usuarios), usuarios
def _do_get_provider_count_and_objs(self, buscado="", **kw): pm = TipoItemManager() TipoItemes = pm.getByFase(int(session['id_fase'])) return len(TipoItemes), TipoItemes
def s_importar(self, *args, **kw): importados = kw['selected_tipos'] for i in importados: TipoItemManager().importar(int(i), int(session['id_fase'])) raise redirect ('/tipoItem')
def importar(self, *args, **kw): tipos = TipoItemManager().getNotThisFase(session['id_fase']) return dict(tipos=tipos)
def post_delete(self, *args, **kw): pm = TipoItemManager() cm = CampoManager() cm.deleteByTipoItem(args) pm.deleteById(args) raise redirect('./')
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() '''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() raise redirect('/item/items', id_fase=id_fase)
def post(self,*args, **kw): '''Metodo que crea un nuevo item''' p = Item() pm = ItemManager() params = kw complejidad = [1,2,3,4,5,6,7,8,9,10] try: fase, navegacion = self.getNavegacionFromIdFase(params['id_fase']) except: flash(('Direccion no valida.'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(fase.id_fase, 'creacion_item')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error') raise redirect("/index") if params['submit'] == 'cancelar': raise redirect('/item/items',id_fase=fase.id_fase) lista=[] if params['tipo_items'] != '-1': ti = TipoItemManager() tipo= ti.getById(params['tipo_items']) campos = tipo.campos error, lista = self.verificarCampos(campos, **kw) if error: return dict(value=kw, model=self.model.__name__,campos = lista,id_fase=params['id_fase'],tipo_items=kw['tipo_items'], comp = complejidad,i =kw['identificador'],o=kw['observacion'], c = int(params['complejidad']), d =kw['descripcion'], navegacion=navegacion) if pm.existeIdentificador(params['identificador'],int(params['id_fase'])): flash(('Error: Ya existe un item con el nombre <<' + params['identificador'] + '>> en esta fase.'), 'Error') return dict(value=kw, model=self.model.__name__,campos = lista,id_fase=params['id_fase'],tipo_items=kw['tipo_items'], comp = complejidad,i ="",o=kw['observacion'], c = int(params['complejidad']), d =kw['descripcion'], navegacion=navegacion) p.identificador = params['identificador'] p.observacion = params['observacion'] p.estado = 'inicial' p.complejidad = params['complejidad'] p.descripcion = params['descripcion'] p.id_fase = int(kw['id_fase']) p.codigo = pm.generar_codigo(int(kw['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=id_item, contador = 1) raise redirect('/item/items',id_fase=params['id_fase'])
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))
def _do_get_provider_count_and_objs(self, buscado="", **kw): pm = TipoItemManager() TipoItemes = pm.buscar(int(session["id_fase"]), self.buscado) return len(TipoItemes), TipoItemes