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 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'])