Exemple #1
0
	def grab_pro_trans(self,datos,cdias,nuproduc,dess,ofe):
		inser=False
		if not ofe:
			inser=True
			ofe=todosmodelos.Oferta(parent=self.ancestor_key,nombre=datos["nombre"],descrip=datos["descrip"],fecdes=datos["fecdes"],fechas=datos["fechas"],horde=datos["hordes"],horh=datos["horhas"],dias=cdias,localodomi=datos["loodo"],ofertaenart=datos["ofen"],numofer=datos["numofe"],preciofijo=datos["prefijo"],descuento=datos["dese"],eurosoporcen=datos["desp"],increm=datos["ince"],numproduc=nuproduc,grupo=datos["grupo"])
		else:
			ofe.populate(nombre=datos["nombre"],descrip=datos["descrip"],fecdes=datos["fecdes"],fechas=datos["fechas"],horde=datos["hordes"],horh=datos["horhas"],dias=cdias,localodomi=datos["loodo"],ofertaenart=datos["ofen"],numofer=datos["numofe"],preciofijo=datos["prefijo"],descuento=datos["dese"],eurosoporcen=datos["desp"],increm=datos["ince"],numproduc=nuproduc,grupo=datos["grupo"])
		okofe=ofe.put()
		aid=[]
		if nuproduc > 0:
			i=0
			for art in datos["produc"]:
				if inser or art["oper"] == "ins":
					if art["tp"]==0:
						articu=todosmodelos.ofcondPizza(parent=okofe,tipoproducto=0,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],masa=art["masas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"])
					elif art["tp"]==1:
						articu=todosmodelos.ofcondOtro(parent=okofe,tipoproducto=1,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],idtipo=art["artis"],idp=art["idp"],cantidad=art["custom"]["cantidad"])
					elif art["tp"]==2:
						articu=todosmodelos.ofcondComplex(parent=okofe,tipoproducto=2,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"],idp=art["idp"])
					k=articu.put()
					aid.append((k.integer_id(),art["nid"]))
				elif art["oper"] == "mod":
					if art["tp"]==0:
						art["keyrec"].populate(tipoproducto=0,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],masa=art["masas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"])
					elif art["tp"]==1:
						art["keyrec"].populate(tipoproducto=1,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],idtipo=art["artis"],idp=art["idp"],cantidad=art["custom"]["cantidad"])
					elif art["tp"]==2:
						art["keyrec"].populate(tipoproducto=2,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"],idp=art["idp"])
					k=art["keyrec"].put()
					aid.append((k.integer_id(),art["nid"]))
				else:
					art["keyrec"].key.delete()
					aid.append(("del",art["nid"]))
				i+=1
		return (okofe.integer_id(),okofe.urlsafe(),aid)
def ofertas(tiacop,mikeyti,listam,lisma,listipiz,listipunotro,listipotro,listipuncomplex,listipcomplex,listamax):
	oferQry = todosmodelos.Oferta.query(ancestor=tiacop)
	#.order(todosmodelos.Oferta.nombre)
	lisofr=[]
	for i in oferQry:
		ofe=todosmodelos.Oferta(parent=mikeyti,nombre=i.nombre,descrip=i.descrip,fecdes=i.fecdes,fechas=i.fechas,horde=i.horde,horh=i.horh,dias=i.dias,localodomi=i.localodomi,ofertaenart=i.ofertaenart,numofer=i.numofer,preciofijo=i.preciofijo,descuento=i.descuento,eurosoporcen=i.eurosoporcen,increm=i.increm,numproduc=i.numproduc,grupo=i.grupo).put()
		uoQry=todosmodelos.ofertadetalle.query(ancestor=i.key)
		for u in uoQry:
			if u.tipoproducto==0:
				if u.tama:
					idsta=[listam[str(t)] for t in u.tama]
				else:
					idsta=[]
				if u.masa:
					idsma=[lisma[str(t)] for t in u.masa]
				else:
					idsma=[]
				if u.idtipo:
					idstipo=[listipiz[str(t)] for t in u.idtipo]
				else:
					idstipo=[]
				articu=todosmodelos.ofcondPizza(parent=ofe,tipoproducto=0,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,tama=idsta,masa=idsma,idtipo=idstipo,condiing=u.condiing,numing=u.numing).put()
			elif u.tipoproducto==1:
				if u.idtipo:
					idstipo=[listipunotro[str(t)] for t in u.idtipo]
				else:
					idstipo=[]
				articu=todosmodelos.ofcondOtro(parent=ofe,tipoproducto=1,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,idtipo=idstipo,idp=listipotro[str(u.idp)],cantidad=u.cantidad).put()
			elif u.tipoproducto==2:
				if u.idtipo:
					idstipo=[listipuncomplex[str(t)] for t in u.idtipo]
				else:
					idstipo=[]
				if u.tama:
					idstamax=[listamax[str(t)] for t in u.tama]
				else:
					idstamax=[]
				articu=todosmodelos.ofcondComplex(parent=ofe,tipoproducto=2,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,tama=idstamax,idtipo=idstipo,condiing=u.condiing,numing=u.numing,idp=listipcomplex[str(u.idp)],cantidad=u.cantidad).put()