def listar(write_tmpl,usuario_id=None): if usuario_id is None: usuario_id = Usuario.current_user().key.id() usuario_id = long(usuario_id) usuario = Usuario.get_by_id(usuario_id) #VALORES QUE SERÃO PASSADOS NA URL values = {"list_url":router.to_path(listar_ajax,usuario_id)} #MONTA A PAGINA write_tmpl("/leitura/templates/tirinha_list.html",values)
def post(self): files=self.get_uploads() if files: blob_key=files[0].key() usuario=Usuario.current_user() usuario.avatar=blob_key usuario.put() self.redirect("/")
def form(write_tmpl, handler): google_user = users.get_current_user() usuario = Usuario.current_user() if usuario: handler.redirect("/") else: values = {"url_salvar": router.to_path(salvar), "email": google_user.email()} write_tmpl("/templates/cadastro_usuario.html", values)
def write_template(template_name, values={}): user = Usuario.current_user() if user: values["current_user"]=user values["logout_url"]=users.create_logout_url("/") else: cadastro_url=router.to_path(usuario.form) values["login_url"]=users.create_login_url(cadastro_url) document = tmpl.render(template_name, values) return self.response.write(document)
def listar(write_tmpl): #REALIZA A CONSULTA PELOS ID MAIORES QUE 0 E ORDENA POR ID query = Usuario.query().order(Usuario.key) #TRAZ SOMENTE 10 LINHAS DA CONSULTA usuario = query.fetch(10) #VALORES QUE SERÃO PASSADOS NA URL values = {"usuario":usuario, "apagar_url":router.to_path(apagar), "editar_url":router.to_path(editar)} #MONTA A PAGINA write_tmpl("/usuarios/templates/usuario_list.html",values)
def wrapper(_dependencias,handler,*args,**kwargs): usuario=Usuario.current_user() if usuario: novos_argumentos = decorator_util.find_dependencies(_dependencias,fcn) novos_argumentos.extend(args) return fcn(*novos_argumentos,**kwargs) google_user=users.get_current_user() if google_user: handler.redirect(router.to_path(red)) else: url=router.to_path(fcn,*args) login_url=users.create_login_url(url) handler.redirect(login_url)
def wrapper(_dependencias, handler, *args, **kwargs): user = Usuario.current_user() if user: if user.tipo == "admin": novos_argumentos = decorator_util.find_dependencies(_dependencias, fcn) novos_argumentos.extend(args) return fcn(*novos_argumentos, **kwargs) else: handler.redirect("/") google_user = users.get_current_user() if google_user: handler.redirect(router.to_path(usuario.form)) else: login_url = users.create_login_url("/") handler.redirect(login_url)
def salvar(handler, img_tirinha, titulo_tirinha, legenda, avaliacao, data, usuario_id=None, id=None): #SE FOR UM ID NO RETORNO ENTÃO ELE SALVA if usuario_id is None: usuario_id = Usuario.current_user().key.id() usuario_id = long(usuario_id) usuario_key = ndb.Key(Usuario,usuario_id) if id: # data=str(date.today()) tirinha = Tirinha(id=long(id), img_tirinha=img_tirinha, titulo_tirinha=titulo_tirinha, legenda=legenda, avaliacao=avaliacao, data=data, usuario=usuario_key) #SE O RETORNO NÃO FOR UM ID, POR EXEMPLO A URLSAFE ENTÃO FAZ O UPDATE else: tirinha = Tirinha(img_tirinha=img_tirinha, titulo_tirinha=titulo_tirinha, legenda=legenda, avaliacao=avaliacao, data=data, usuario=usuario_key) #SALVA AS ALTERAÇÕES tirinha.put() #REDIRECIONA PARA O LISTAR handler.redirect(router.to_path(listar))
def post(self): files = self.get_uploads() titulo_tirinha = self.request.get("titulo_tirinha") legenda = self.request.get("legenda") id = self.request.get("id") usuario_id = None if files: blob_key=files[0].key() if usuario_id is None: usuario_id = Usuario.current_user().key.id() usuario_id = long(usuario_id) usuario_key = ndb.Key(Usuario,usuario_id) if id: tirinha = Tirinha(id=long(id), imgtirinha=blob_key, titulo_tirinha=titulo_tirinha, legenda=legenda, usuario=usuario_key) else: tirinha = Tirinha(titulo_tirinha=titulo_tirinha, legenda=legenda, usuario=usuario_key) tirinha.imgtirinha = blob_key tirinha.put() self.redirect("/leitura/tirinha/listar_all")
def get(self): usuario=Usuario.current_user() self.send_blob(usuario.avatar)