def post(self): '''Le paso id del tipo de item que importare y el id de la fase a la cual se importara el tipo''' idTipo=flask.request.form['idTipo'] idFase=flask.request.form['idFase'] if controlRol(idFase,'tipo','administrar')==0: return "t, No posee permiso para realizar esta accion" sesion=Session() ''' obtengo el tipo de item a importar''' importado=sesion.query(TipoItem).filter(TipoItem.idTipoItem==int(idTipo)).first() ''' busco si en la fase a importar ya existe un tipo con el mismo nombre, en caso afirmativo, se lanza una excepcion''' tipit=sesion.query(TipoItem).filter(TipoItem.fase_id==int(idFase)).filter(TipoItem.nombreTipoItem==importado.nombreTipoItem).first() if(tipit is not None): sesion.close() return make_response('t,Ya existe el tipo de item con ese nombre en esa fase') ''' se crea el tipo nuevo''' nuevoTipo=TipoItem(importado.nombreTipoItem,importado.descripcion,'activo') atributos=importado.atributosItem nuevoAtributos=[] '''extraigo todos los atributos del item importado y los meto en una lista para agregar dicha lista de atributos al nuevo Tipo''' for atributo in atributos: '''Pongo en None el id porque necesito que sea autogenerado''' att=Atributos(None,atributo.nombreAtributo,atributo.tipoPrimarioId,atributo.longitudCadena) nuevoAtributos.append(att) nuevoTipo.atributosItem=nuevoAtributos nuevoTipo.fase_id=idFase sesion.add(nuevoTipo) sesion.commit() sesion.close() return make_response("f,Tipo de item importado correctamente")
def cargarDatosParametricos(): '''carga de datos script''' sesion = Session() # usuarios nombreUser = "******"; password = str(md5.new('jperez').hexdigest()); nomb = "juan" ape = "perez" correo = nombreUser + '@wapm.com' ci = random.randint(6000, 100000) tel = random.randint(6000, 100000) user = Usuario(nombreUser, password, nomb, ape, correo, ci , tel, 'ninguna', 'true', 'Brasil' + str(u)) sesion.add(user) nombreUser = "******"; password = str(md5.new('cgonzalez').hexdigest()); nomb = "Carlos" ape = "Gonzalez" correo = nombreUser + '@wapm.com' ci = random.randint(6000, 100000) tel = random.randint(6000, 100000) user = Usuario(nombreUser, password, nomb, ape, correo, ci , tel, 'ninguna', 'true', 'Brasil' + str(u)) sesion.add(user) nombreUser = "******"; password = str(md5.new('mbenitez').hexdigest()); nomb = "Maria" ape = "Benitez" correo = nombreUser + '@wapm.com' ci = random.randint(6000, 100000) tel = random.randint(6000, 100000) user = Usuario(nombreUser, password, nomb, ape, correo, ci , tel, 'ninguna', 'true', 'Brasil' + str(u)) sesion.add(user) # Proyectos dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) nombreP = "Edificio" plId = 1 fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); pres = random.randint(1000, 100000) obs = "observacion" + str(random.randint(1990, 2020)); est = "desarrollo" u = Proyecto(nombreP, plId, fechaIni, fechaFin, pres, obs, est) sesion.add(u) dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) nombreP = "miProyecto02" plId = 1 fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); pres = random.randint(1000, 100000) obs = "observacion" + str(random.randint(1990, 2020)); est = "desarrollo" u = Proyecto(nombreP, plId, fechaIni, fechaFin, pres, obs, est) sesion.add(u) dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) nombreP = "miProyecto03" plId = 1 fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); pres = random.randint(1000, 100000) obs = "observacion" + str(random.randint(1990, 2020)); est = "desarrollo" u = Proyecto(nombreP, plId, fechaIni, fechaFin, pres, obs, est) sesion.add(u) # Fases p=sesion.query(Proyecto.idProyecto).filter(Proyecto.nombreProyecto=="Edificio").first() dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); f=Fase('Fase1_Terreno', 'miDescriocion', 'desarrollo',fechaIni, fechaFin, p.idProyecto) nroFasesActuales=sesion.query(Fase).filter(Fase.idProyecto==f.idProyecto).count(); sum=nroFasesActuales+1 f.tag="F"+str(sum); sesion.add(f) dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); f=Fase('Fase2_Cimiento', 'miDescriocion', 'desarrollo',fechaIni, fechaFin, p.idProyecto) nroFasesActuales=sesion.query(Fase).filter(Fase.idProyecto==f.idProyecto).count(); sum=nroFasesActuales+1 f.tag="F"+str(sum); sesion.add(f) dia1 = random.randint(1, 28) mes1 = random.randint(1, 12) anho1 = random.randint(1990, 1999) dia2 = random.randint(1, 28) mes2 = random.randint(1, 12) anho2 = random.randint(2000, 2020) fechaIni = str(mes2) + "/" + str(dia2) + "/" + str(anho2); fechaFin = str(mes1) + "/" + str(dia1) + "/" + str(anho1); f=Fase('Fase3_Columnas', 'miDescriocion', 'activa',fechaIni, fechaFin, p.idProyecto) nroFasesActuales=sesion.query(Fase).filter(Fase.idProyecto==f.idProyecto).count(); sum=nroFasesActuales+1 f.tag="F"+str(sum); sesion.add(f) #se debe activar el proyecto p.estado="activo" sesion.add(p) fases=sesion.query(Fase).filter(Fase.idProyecto==p.idProyecto).all() for fi in fases: fi.estado="activa" sesion.merge(fi) #Tipo de items lista=[] a1=Atributos(None,'Tamanho', 2, 'N/A') a2=Atributos(None,'tipo', 1, 20) lista.append(a1) lista.append(a2) ti=TipoItem('arena','midescripcion', 'activo') miFase=sesion.query(Fase).filter(Fase.nombreFase=='Fase1_Terreno').first() ti.fase=miFase; ti.atributosItem=lista sesion.add(ti) lista=[] a1=Atributos(None,'Tamanho', 3, 'N/A') a2=Atributos(None,'tipo', 1, 20) a3=Atributos(None,'tipo2', 1, 20) lista.append(a1) lista.append(a2) lista.append(a3) ti=TipoItem('tipo2','midescripcion', 'activo') miFase=sesion.query(Fase).filter(Fase.nombreFase=='Fase1_Terreno').first() ti.fase=miFase; ti.atributosItem=lista sesion.add(ti) sesion.commit() sesion.close()