def registrarUsuario(cod, foto=None, imgs=None, db=db): filas = db("confirmacion").obtenerFilasValores(cod) print filas for elem in db("confirmacion").obtenerFilasId(cod): db("confirmacion").delFila(elem) token = zu.randomString() while token in db.obtenerColumna("valor", "tokens"): token = zu.randomString() if cod == filas[4]: db("usuarios").insertar(filas[0], filas[1], filas[2], filas[3], foto, imgs, token) db("tokens").insertar(filas[2], token, str(zu.DateTime()), str(zu.DateTime(w=4))) i = len(db.obtenerColumna("token", "usuarios")) - 1 db("tokens").relacionar(i, "usuario", tabla="usuarios", campo="correo", id=i) db("usuarios").relacionar(i, "token", tabla="tokens", campo="valor", id=i) db.grabar(root_db) else: print filas, " - ", cod print "el codigo de confirmacion no coincide"
def modiciarMenu(self,indice,nombre,home,biografia,descargas,redes,twitter,instagram,facebook,noticias): if self.request(): tabla="Menus" db(tabla).modificarCampo(indice,"Nombre",nombre) db(tabla).modificarCampo(indice,"Contenido",[ {"nombre":"text","name":"prensa","value":nombre}, {"Home":"text","name":"home","value":home}, {"Biografia":"text","name":"biografia","value":biografia}, {"Descargas":"text","name":"descargas","value":descargas}, [ {"Redes sociles":"text","name":"redes","value":redes}, {"Twitter":"text","name":"twitter","value":twitter}, {"Instagram":"text","name":"instagram","value":instagram}, {"Facebook":"text","name":"facebook","value":facebook}, ], {"Prensa":"text","name":"prensa","value":noticias}, ]) db(tabla).modificarCampo(indice,"args",{"Menu":indice}) db(tabla).modificarCampo(indice,"Fecha",zu.DateTime()) self.grabar()
def crearPlantilla(self, nombre, campos): if self.request(): tabla = "Plantillas" i = len(self.obtenerFilas(tabla)) self.db(tabla).insertar(nombre, campos, {"Plantilla": i}, zu.DateTime(), ["Publicada"]) return self.grabar()
def modificarPlantilla(self, i, nombre, campos): if self.request(): tabla = "Plantillas" self.db(tabla).modificarCampo(i, "Nombre", nombre) self.db(tabla).modificarCampo(i, "Contenido", campos) self.db(tabla).modificarCampo(i, "Fecha", zu.DateTime()) return self.grabar()
def subirArchivo(self,data): if self.request(): tabla="Opciones" existe=True import os opciones=self.obtenerFilas(tabla) archivo=data["archivo"] opcion=opciones[5][1].index(data["opcion"].value) tipo=opciones[3][1].index(data["tipo"].value) if archivo.filename!="": renombre=data["renombre"].value+archivo.filename[archivo.filename.find("."):] if "renombre" in data and data["renombre"].value!="" else archivo.filename i=len(self.obtenerFilas("Archivos")) if data["opcion"].value not in os.listdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"): os.mkdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value) if renombre not in os.listdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value): #self.db(tabla).modificarCampo(opcion,"Valores",l+[renombre+"."+archivo.filename.split(".")[1]]) f=open(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value+"/"+renombre,"w") f.write(archivo.file.read()) f.close() else: existe=False if existe==True: l=self.obtenerFilas("Opciones")[0][1] l=l+[renombre] print len(l) self.db("Opciones").modificarCampo(0,"Valores",l) self.db("Archivos").insertar(renombre, [ [ {"Imagen":"img","name":"archivo","value":len(l)-1,"opcion":0}, {"Título":"text","name":"renombe","value":renombre}, {"Enlace":"text","name":"enlace","value":config.base_url+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value+"/"+archivo.filename}, {"Típo":"text","name":"tipo","value":data["tipo"].value}, ] ], {"Archivo":i}, zu.DateTime(), [] ) self.grabar() return True else: return False else: return False
def modificarGaleria(self,indice,nombre,imagenes): import shutil import Image if self.request(): filas=self.obtenerFilas("Galerias")[indice][1][0][1:] self.db("Galerias").modificarCampo(indice,"Nombre", nombre ) imgs=[[{"Galeria":"text","name":"galeria","value":nombre}]] options=self.obtenerFilas("Opciones") for k,elem in enumerate(imagenes): if k>len(filas)-1: current=imagenes[k] shutil.move(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/"+current,os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/"+current) im1 = Image.open(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/"+current) width=500 height=420 img=im1.resize((width, height), Image.NEAREST) img.save(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/min/"+current) imgs[0].append({"Imagen "+str(k+1):"select","name":"img","value":options[0][1].index(elem),"opcion":0}) self.db("Galerias").modificarCampo(indice,"Contenido", imgs ) self.db("Galerias").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def closeSession2(self,token): if self.request(): muere=str(zu.DateTime()) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") i=0 l=[] l2=[] for k,fila in enumerate(usuarios): for campos in fila[1][0]: keys=campos.keys() if "Token" in keys: if token==campos["value"]: valido=False l.append(fila[1][0]) break i=k if valido==False: break if l!=[]: for elem in l[0]: keys=elem.keys() if "Usuario" in keys: nick=elem["value"] elif "Password" in keys: password=elem["value"] elif "Email" in keys: email=elem["value"] elif "Avatar" in keys: avatar=elem["value"] elif "Token" in keys: token=elem["value"] self.db("Usuarios").modificarCampo(i,"Contenido", [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":False}, ]] ) return self.grabar() else: return False
def modificarPagina(self, indice, data): if self.request(): select = True l2 = list(data) l2.sort() l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse for k, elem in enumerate(self.obtenerFilas("Paginas")): campos = [] plantilla = k c = 0 try: l = [] for box in elem[1]: for campo in box: l.append(campo["name"]) l.sort() for campo in l: if l2[c] != campo: select = False c += 1 if select == True: break except: pass c = 0 boxes = [] for k2, box in enumerate( self.obtenerFilas("Paginas")[indice][1]): for k, campo in enumerate(box): indice2 = l2.index(campo["name"]) if k2 == 0 and k == 0: titulo = data[l2[indice2]].value if "opcion" in campo: box[k]["value"] = int(data[l2[indice2]].value) else: box[k]["value"] = data[l2[indice2]].value c += 1 boxes.append(box) self.db("Paginas").modificarCampo(indice, "Nombre", titulo) self.db("Paginas").modificarCampo(indice, "Contenido", boxes) self.db("Paginas").modificarCampo( indice, "args", {"Pagina": indice}, ) self.db("Paginas").modificarCampo(indice, "Fecha", zu.DateTime()) self.grabar()
def subirArchivo(self, archivo, renombre): if self.request(): tabla = "Opciones" existe = True l = self.db(tabla).obtenerFilaValores(0)[1] i = len(self.obtenerFilas("Archivos")) if renombre != "": if renombre not in os.listdir( config.base_root + config.apps_folder + "CBK/admin/static/archivos/"): l.append(renombre) self.db(tabla).modificarCampo(0, "Valores", l) f = open( config.base_root + config.apps_folder + "ATEI/admin/static/archivos/" + renombre, "w") f.write(archivo.file.read()) f.close() imagenes = self.obtenerFilas("Imagenes") self.db("Imagenes").modificarCampo( "Valores", imagenes[0][1].append(renombre)) else: existe = False else: if archivo.filename not in os.listdir( config.base_root + config.apps_folder + "CBK/admin/static/archivos/"): l.append(archivo.filename) self.db(tabla).modificarCampo(0, "Valores", l) f = open( config.base_root + config.apps_folder + "ATEI/admin/static/archivos/" + archivo.filename, "w") f.write(archivo.file.read()) f.close() imagenes = self.obtenerFilas("Imagenes") self.db("Imagenes").modificarCampo( "Valores", imagenes[0][1].append(archivo.filename)) else: existe = False if existe == True: self.db("Archivos").insertar(archivo.filename, [[ { "Imagen": "file", "name": "archivo", "value": archivo.filename }, { "Título": "text", "name": "renombe", "value": renombre }, ]], {"Archivo": i}, zu.DateTime()) self.grabar() return True else: return False
def modificarUsuario2(self,indice,nick,email,password,avatar,hours=4): if self.request(): muere=str(zu.DateTime(H=hours)) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") l=[] i=0 for k,fila in enumerate(usuarios): i=k for campos in fila[1][0]: keys=campos.keys() if "Email" in keys: if email==campos["value"]: valido=False l.append(fila[1][0]) break if valido==False: break valido=None token=l[0][4]["value"] self.db("Usuarios").modificarCampo(indice,"Nombre",nick) self.db("Usuarios").modificarCampo(indice,"Contenido", [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":True}, ]]) self.db("Usuarios").modificarCampo(indice,"args", {"Usuario":indice} ) self.db("Usuarios").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def crearConfiguracionPagina(self,pagina,**kwargs): if self.request(): campos=[] valores=[] for elem in kwargs: campos.append(elem) valores.append(kwargs) self.db("Paginas").insertar(pagina,campos,valores,zu.DateTime()) self.grabar()
def crearPagina(self,data): if self.request(): select=True l2=list(data) l2.sort() l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse for k,elem in enumerate(self.obtenerFilas("Plantillas")): campos=[] plantilla=k c=0 try: l=[] for box in elem[1]: for campo in box: l.append(campo["name"]) l.sort() for campo in l: if l2[c]!=campo: select=False c+=1 if select==True: break except: pass c=0 boxes=[] for k2,box in enumerate(self.obtenerFilas("Plantillas")[plantilla][1]): for k,campo in enumerate(box): indice=l2.index(campo["name"]) if k2==0 and k==0: titulo=data[l2[indice]].value if "opcion" in campo: box[k]["value"]=int(data[l2[indice]].value) else: box[k]["value"]=data[l2[indice]].value c+=1 boxes.append(box) i=len(self.obtenerFilas("Paginas")) self.db("Paginas").insertar(titulo,boxes,{"Pagina":i},zu.DateTime(),[]) self.grabar()
def registrarUsuario2(self,nick,email,password,avatar,hours=4): if self.request(): muere=str(zu.DateTime(H=hours)) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") i=len(usuarios) while valido==None: token=zu.randomString() for fila in usuarios: for campos in fila[1][0]: keys=campos.keys() if "Email" in keys: if email==campos["value"]: valido=False elif "Token" in keys: if token==campos["value"]: valido=False if valido==None: valido=True else: valido=None self.db("Usuarios").insertar(nick, [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":True}, ]], {"Usuario":i}, zu.DateTime(), [] ) self.grabar() return True
def crearContacto(self,nombre,contenido): if self.request(): self.db("Contactos").insertar(nombre, [[ {"Email":"text","value":nombre,"name":"email"}, {"contenido":"textarea","value":contenido,"name":"contenido"} ]], {"Contacto":len(self.obtenerFilas("Galerias"))-1}, zu.DateTime(), [] ) self.grabar() return True
def modificarPublicacion(self,indice,nombre,imagen,publicacion): if self.request(): tabla="Publicaciones" self.db(tabla).modificarCampo(indice,"Nombre",nombre) self.db(tabla).modificarCampo(indice,"Contenido", [[ {"Titulo":"text","name":"titulo","value":nombre}, {"Imagen":"select","name":"img","value":imagen,"opcion":0}, {"Contenido":"textarea","name":"publish","value":publicacion} ]]) self.db(tabla).modificarCampo(indice,"Fecha",zu.DateTime()) return self.grabar()
def crearGaleria(self,nombre,imagenes): if self.request(): imgs=[{"Galeria":"text","name":"galeria","value":nombre}] for elem in imagenes: imgs.append({"Imagen 10":"select","name":"img","value":elem,"opcion":0}) self.db("Galerias").insertar(nombre, imgs, {"Galeria":len(self.obtenerFilas("Galerias"))-1}, zu.DateTime(), [] ) self.grabar() return True
def crearAnuncio(self,indice,nombre,imagen): if self.request(): tabla="Anuncios" indice=len(self.obtenerFilas(tabla)) db(tabla).insertar(nombre,[ [ {"Titulo":"text","name":"titulo","value":nombre,}, {"Imagen 1":"select","name":"img","value":37,"opcion":imagen}, ] ], {"Anuncio":indice}, zu.DateTime(), [] ) return self.grabar()
def crearPublicacion(self,nombre,imagen,publicacion): if self.request(): tabla="Publicaciones" indice=len(self.obtenerFilas(tabla)) self.db(tabla).insertar( nombre, [[ {"Titulo":"text","name":"titulo","value":nombre}, {"Imagen":"select","name":"img","value":imagen,"opcion":0}, {"Contenido":"textarea","name":"publish","value":publicacion} ]], {"Publicacion":indice}, zu.DateTime(), [] ) return self.grabar()
def crearContacto(self,nombre,email,contenido): if self.request(): tabla="Contactos" indice=len(self.obtenerFilas(tabla)) self.db(tabla).insertar( nombre, [[ {"Nombre":"text","name":"nombre","value":nombre}, {"Email":"text","name":"email","value":email}, {"Contenido":"text","name":"contenido","value":contenido} ]], {"Contacto":indice}, zu.DateTime(), [] ) return self.grabar()
def crearEntrada(self,wnoticias_img,wnoticias_titulo,wnoticias): if self.request(): tabla="Entradas" indice=len(self.obtenerFilas("Entradas")) self.db(tabla).insertar(wnoticias_titulo,[[{"Imagen":"select","name":"wnoticias_img","value":wnoticias_img,"opcion":0}, {"Título":"text","name":"wnoticias_titulo","value":wnoticias_titulo}, {"Contenido":"textarea","name":"wnoticias","value":wnoticias} ]], {"Entrada":indice}, zu.DateTime() ) self.grabar()
def iniciarConversacion(self, usuarioInicial, *usuarios, **kwargs): """Este metodo nos permite buscar si ya existe esta conversacion o crear una nueva""" if self.request(): if "tema" in kwargs: pass else: hay = False conversaciones = self.obtenerFilas("Conversaciones") for k, elem in enumerate(conversaciones): if usuarioInicial + " - ".join(usuarios) == elem[0]: hay = True break if k == len(conversaciones) - 1 and hay == True: self.db("Conversaciones").modificarCampo( k, "Contenido"[conversaciones[k][1]] + [[{ "Conversación": "titulo", "value": zu.DateTime() }]], ) self.db("Conversaciones").modificarCampo( k, "Fecha", zu.DateTime()) elif k == len(conversaciones) - 1 and hay != True: self.db("Conversaciones").insertar( usuarioInicial + " - ".join(usuarios), [ [ { "Conversación": "titulo", "value": zu.DateTime() }, ], ], {"Conversacion": k + 1}, zu.DateTime(), []) else: self.db("Conversaciones").modificarCampo( k, "Contenido", [ [conversaciones[k][1]] + [[{ "Conversación": "titulo", "value": zu.DateTime() }]], ], ) self.db("Conversaciones").modificarCampo( k, "Fecha", zu.DateTime()) self.grabar() return k + 1
def modificarInformacion(self,indice,nombre,contenido): if self.request(): self.db("Informaciones").modificarCampo(indice,"Nombre", nombre ) self.db("Informaciones").modificarCampo(indice,"Contenido", [ [ {"Titulo":"text","name":"titulo","value":nombre}, {"Contenido":"textarea","name":"contenido","value":contenido} ], ], ) self.db("Informaciones").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def modificarAnuncio(self,indice,nombre,imagen): if self.request(): self.db("Anuncios").modificarCampo(indice,"Nombre", nombre ) self.db("Anuncios").modificarCampo(indice,"Contenido", [ [ {"Titulo":"text","name":"titulo","value":nombre,}, {"Imagen 1":"select","name":"img","value":37,"opcion":imagen}, ], ], ) self.db("Anuncios").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def modificarEntrada(self,indice,wnoticias_img,wnoticias_titulo,wnoticias): if self.request(): tabla="Entradas" self.db(tabla).modificarCampo(indice,"Nombre",wnoticias_titulo) self.db(tabla).modificarCampo(indice,"Contenido",[[{"Imagen":"select","name":"wnoticias_img","value":wnoticias_img,"opcion":0}, {"Título":"text","name":"wnoticias_titulo","value":wnoticias_titulo}, {"Contenido":"textarea","name":"wnoticias","value":wnoticias} ]]) self.db(tabla).modificarCampo(indice,"args", {"Entrada":indice} ) self.db(tabla).modificarCampo(i,"Fecha", zu.DateTime() ) self.grabar()
def crearMenu(self,nombre,home,biografia,descargas,redes,twitter,instagram,facebook,noticias): if self.request(): tabla="Menus" indice=len(self.obtenerFilas("Menus")) db("Menus").insertar(nombre,[ {"nombre":"text","name":"prensa","value":nombre}, {"Home":"text","name":"home","value":home}, {"Biografia":"text","name":"biografia","value":biografia}, {"Descargas":"text","name":"descargas","value":descargas}, [ {"Redes sociles":"text","name":"redes","value":redes}, {"Twitter":"text","name":"twitter","value":twitter}, {"Instagram":"text","name":"instagram","value":instagram}, {"Facebook":"text","name":"facebook","value":facebook}, ], {"Prensa":"text","name":"prensa","value":noticias}, ], {"Menu":indice}, zu.DateTime() ) return self.grabar()
def consultarLogin2(self,token): if self.request(): x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") i=[] l=[] for k, fila in enumerate(usuarios): i=k for campos in fila[1][0]: keys=campos.keys() if "Token" in keys: if token==campos["value"]: valido=False l.append(fila[1][0]) break if valido==False: break if l!=[]: valido=None for elem in l[0]: keys=elem.keys() if "Token" in keys: while valido==None: for fila in l: for campos in fila: keys=campos.keys() if "Email" in keys: email=campos["value"] elif "Muere" in keys: muere=campos["value"] muere2=datetime.datetime.strptime(campos["value"],'%d/%m/%Y %H:%M:%S') elif "Usuario" in keys: nick=campos["value"] elif "Password" in keys: password=campos["value"] elif "Avatar" in keys: avatar=campos["value"] elif "Token" in keys: if token==campos["value"]: valido=True if datetime.datetime.strptime(zu.DateTime(),'%d/%m/%Y %H:%M:%S')>muere2: self.db("Usuarios").modificarCampo(i,"Contenido", [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":False}, ]] ) self.grabar() return False else: return True else: return False
def modificarNegocio(self, indice, nombre, email, direccion, categoria, imagen, pais="Holanda", latitud=None, longitud=None, estrellas=None, horarios=None, telefono=None, web=None, notas=None): if self.request(): tabla = "Negocios" self.db(tabla).modificarCampo(indice, "Nombre", nombre) self.db(tabla).modificarCampo(indice, "Contenido", [ { "Nombre": "text", "value": nombre, "name": "nombre", "requerido": True }, { "Email": "text", "value": email, "name": "email", "requerido": True }, { "País": "fixed", "value": "Holanda", "name": "pais" }, { "Dirección": "text", "value": direccion, "name": "pais", "requerido": True }, { "Categoria": "select", "value": 1, "name": categoria, "requerido": True, "subtabla": "Categorias" }, { "Subcategorias": "select", "value": subcategoria, "name": "subcategoria", "requerido": True, "seleccion": "Categorias" }, { "Imagen": "select", "value": imagen, "name": "pais", "requerido": True, "Selección": "Imagenes" }, { "Latitud": "number", "value": latitud, "name": "latitud", "requerido": True, "step": 0.0000001 }, { "Longitud": "number", "value": longitud, "name": "longitud", "requerido": True, "step": 0.0000001 }, { "Estrellas": "number", "value": estrellas, "name": "estrellas", "requerido": True, "step": 0.1 }, [{ "Horario": "text", "value": horario, "name": "estrellas", "requerido": True }, { "Lunes": "text", "value": lunes, "name": "lunes", "requerido": True }, { "Martes": "text", "value": martes, "name": "martes", "requerido": True }, { "Miercoles": "text", "value": miercoles, "name": "miercoles", "requerido": True }, { "Jueves": "text", "value": jueves, "name": "jueves", "requerido": True }, { "Viernes": "text", "value": viernes, "name": "viernes", "requerido": True }, { "Sabado": "text", "value": sabado, "name": "sabado", "requerido": True }, { "Domingo": "text", "value": domingo, "name": "domingo", "requerido": True }, [ { "Opciones de pago": "text", "value": pago, "name": "pago" }, { "Efectivo": "select", "value": efectivo, "name": "efectivo", "opciones": 0 }, { "Visa": "select", "value": visa, "name": "Visa", "opciones": 0 }, { "MasterCard": "select", "value": mastercard, "name": "MasterCard", "opciones": 0 }, ]], { "Pagina web": "text", "value": web, "name": "web" }, ]) self.db(tabla).modificarCampo(indice, "Fecha", zu.DateTime()) self.grabar()
def registrarNegocio(self, nombre, email, direccion, categoria, subcategoria, especialidad, imagen, pais="Holanda", latitud=None, longitud=None, estrellas=None, horario=None, telefono=None, pago="Formas de pago", efectivo=0, visa=0, mastercard=0, web=None, notas=None): try: indice = len(self.obtenerFilas("Negocios")) if self.request(): try: os.mkdir(config.base_root + config.apps_folder + "Atei/" + "user/static/archivos") except Exception as e: pass n = len(self.obtenerFilas("Negocios")) self.db("Negocios").insertar(nombre, [ { "Nombre": "text", "value": nombre, "name": "nombre", "requerido": True }, { "Email": "text", "value": email, "name": "email", "requerido": True }, { "País": "fixed", "value": "Holanda", "name": "pais" }, { "Dirección": "text", "value": direccion, "name": "pais", "requerido": True }, { "Categoria": "select", "value": 1, "name": categoria, "requerido": True, "subtabla": "Categorias" }, { "Subcategorias": "select", "value": subcategoria, "name": "subcategoria", "requerido": True, "seleccion": "Categorias" }, { "Especialidad": "select", "value": especialidad, "name": "especialidad", "requerido": True, "categoria": "subcategoria" }, { "Imagen": "select", "value": imagen, "name": "imagen", "requerido": True, "Selección": "Imagenes" }, { "Latitud": "number", "value": latitud, "name": "latitud", "requerido": True, "step": 0.0000001 }, { "Longitud": "number", "value": longitud, "name": "longitud", "requerido": True, "step": 0.0000001 }, { "Estrellas": "number", "value": estrellas, "name": "estrellas", "requerido": True, "step": 0.1 }, [{ "Horario": "text", "value": horario["value"], "name": "estrellas", "requerido": True }, { "Lunes": "text", "value": horario["lunes"], "name": "lunes", "requerido": True }, { "Martes": "text", "value": horario["martes"], "name": "martes", "requerido": True }, { "Miercoles": "text", "value": horario["miercoles"], "name": "miercoles", "requerido": True }, { "Jueves": "text", "value": horario["jueves"], "name": "jueves", "requerido": True }, { "Viernes": "text", "value": horario["viernes"], "name": "viernes", "requerido": True }, { "Sabado": "text", "value": horario["sabado"], "name": "sabado", "requerido": True }, { "Domingo": "text", "value": horario["domingo"], "name": "domingo", "requerido": True }, [ { "Opciones de pago": "text", "value": pago, "name": "pago" }, { "Efectivo": "select", "value": efectivo, "name": "efectivo", "opciones": 0 }, { "Visa": "select", "value": visa, "name": "Visa", "opciones": 0 }, { "MasterCard": "select", "value": mastercard, "name": "MasterCard", "opciones": 0 }, ]], { "Pagina web": "text", "value": web, "name": "web" }, ], {"Negocio": indice}, zu.DateTime()) self.grabar() except Exception, e: print str(e)[1:-1]
def crearFormulario(self,data): if self.request(): select=True l2=list(data) l2.sort() l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse for k,elem in enumerate(self.obtenerFilas("Plantillas")): campos=[] plantilla=k c=0 try: l=[] for box in elem[1]: for campo in box: tmp=list(campo) tmp.remove("name") if "name" in tmp else tmp tmp.remove("value") if "value" in tmp else tmp tmp.remove("step") if "step" in tmp else tmp tmp.remove("opcion") if "opcion" in tmp else tmp tmp.remove("requerido") if "requerido" in tmp else tmp tmp.remove("tabla") if "tabla" in tmp else tmp tmp.remove("depende") if "depende" in tmp else tmp tmp.remove("categoria") if "categoria" in tmp else tmp tmp.remove("descripcion") if "descripcion" in tmp else tmp tmp.remove("padre") if "padre" in tmp else tmp tipo=campo[tmp[0]] l.append(campo["name"]) l.sort() for campo in l: if l2[c]!=campo: select=False c+=1 if select==True: break except: pass c=0 boxes=[] for k2,box in enumerate(self.obtenerFilas("Plantillas")[plantilla][1]): for k,campo in enumerate(box): indice=l2.index(campo["name"]) if k2==0 and k==1: titulo=data[l2[indice]].value else: if "opcion" in campo and data[l2[indice]].value!="": box[k]["value"]=int(data[l2[indice]].value) else: box[k]["value"]=data[l2[indice]].value c+=1 boxes.append(box) i=len(self.obtenerFilas("Formularios")) self.db("Formularios").insertar(titulo,boxes,{"Formulario":i},zu.DateTime(),[]) self.grabar()
def registrarFormulario(self,data): if self.request(): select=True l2=list(data) l2.sort() tabla,ide=data["action"].value.split(":") l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse l=[] for elem in l2: l.append(data[elem].value) c=0 boxes=[] i=len(self.obtenerFilas(tabla)) opciones=self.obtenerFilas("Opciones") import config.config as config import settings.config as settings from ztec.zred import urlBuilder mensaje="<p>Un visitante a llenado el formulario de contacto puedes verlo en <a href='"+urlBuilder(config,settings.app,"admin","index","PostdeFormulario",i,action="editar")+"'>visitando tu sitio</a> o mendiante este email:</p>" for k2,box in enumerate(self.obtenerFilas("Formularios")[int(ide)][1]): for k,campo in enumerate(box): if k2==0 and k==1: titulo=campo["value"]+" "+str(i+1) else: tmp=list(campo) tmp.remove("name") if "name" in tmp else tmp tmp.remove("value") if "value" in tmp else tmp tmp.remove("step") if "step" in tmp else tmp tmp.remove("opcion") if "opcion" in tmp else tmp tmp.remove("requerido") if "requerido" in tmp else tmp tmp.remove("tabla") if "tabla" in tmp else tmp tmp.remove("depende") if "depende" in tmp else tmp tmp.remove("categoria") if "captegoria" in tmp else tmp tmp.remove("descripcion") if "descripcion" in tmp else tmp tmp.remove("padre") if "padre" in tmp else tmp tmp.remove("opciones") if "opciones" in tmp else tmp tmp=tmp[0] if campo[tmp]!="text-admin" and campo[tmp]!="img-admin" and campo[tmp]!="select-admin" : indice=campo["name"] if "opcion" in campo: mensaje+=tmp+"<br> "+opciones[int(campo["opcion"])][1][int(data[indice].value)]+"<br><br>" box[k]["value"]=int(data[indice].value) elif campo[tmp]=="number": mensaje+=tmp+"<br> "+data[indice].value+"<br><br>" box[k]["value"]=int(data[indice].value) else: mensaje+=tmp+"<br> "+data[indice].value+"<br><br>" box[k]["value"]=data[indice].value c+=1 boxes.append(box) from ztec.zred import sendEmail #sendEmail("*****@*****.**","*****@*****.**","password",mensaje) boxes.insert(0,{"Formulario":"hidden-id","name":"id","value":ide}) self.db(tabla).insertar(titulo,boxes,{tabla:i},zu.DateTime(),[]) self.grabar()