def get(self):
     self.is_logged()
     self.is_admin()
     rutas = RutaHelper.query_all(True)
     rutasEdit = RutaHelper.query_all(False)
     ciudades = CiudadHelper.query_all(True)
     cajas = CajaHelper.query_all(True)
     usuarios = UsuarioHelper.query_all(True)
     rutasUser = UsuarioHelper.query_all_rutas(None)
     TZO = TimezoneOffset.query().get()
     actual_time = BaseHelper.hora_actual_mexico()
     self.render("admin.html", rutas_admin=rutas, ciudades=ciudades,
                 cajas=cajas, usuarios=usuarios, usuario=None,
                 TZO=TZO, actual_time=actual_time, rutasUser=rutasUser, rutasEdit=rutasEdit)
 def post(self):
     self.is_logged()
     self.is_admin()
     key = self.request.get('key')
     if key:
         usuario = ndb.Key(urlsafe=key).get()
     rutas = RutaHelper.query_all(True)
     rutasEdit = RutaHelper.query_all(False)
     rutasUser = UsuarioHelper.query_all_rutas(None)
     ciudades = CiudadHelper.query_all(True)
     cajas = CajaHelper.query_all(True)
     usuarios = UsuarioHelper.query_all(True)
     TZO = TimezoneOffset.query().get()
     actual_time = BaseHelper.hora_actual_mexico()
     self.render("admin.html", rutas=rutas, ciudades=ciudades,
                 cajas=cajas, usuarios=usuarios, usuario=usuario,
                 TZO=TZO, actual_time=actual_time, rutasUser=rutasUser, rutasEdit=rutasEdit)
 def post(self):
     self.is_logged()
     self.is_admin()
     documento = int(self.request.get("documento")) if self.request.get("documento") else None
     nombres = self.request.get("nombres")
     apellidos = self.request.get("apellidos")
     usuario = self.request.get("usuario")
     clave = self.request.get("clave")
     role = self.request.get("role")
     rutas = self.request.get_all("chkRutas")
     seguir = True
     if rutas and len(rutas) > 0:
         if role != "supervisor" and role != "admin":
             if len(rutas) > 1:
                 seguir = False
                 alert = ["alert-success", "El rol seleccionado no puede tener mas de una ruta"]
     else:
         seguir = False
         alert = ["alert-success", "Debe seleccionar por lo menos una ruta"]
     if seguir:
         if UsuarioHelper.existe_documento(documento) and self.request.get("exist"):
             alert = UsuarioHelper.actualizar_registro(documento, nombres, apellidos, usuario,
                                                     clave, role, rutas)
         else:
             alert = UsuarioHelper.nuevo_registro(documento, nombres, apellidos, usuario,
                                                  clave, role, rutas)
     else:
         key = self.request.get('key')
         if key:
             usuario = ndb.Key(urlsafe=key).get()
         rutas = RutaHelper.query_all(True)
         rutasEdit = RutaHelper.query_all(False)
         ciudades = CiudadHelper.query_all(True)
         cajas = CajaHelper.query_all(True)
         usuarios = UsuarioHelper.query_all(True)
         rutasUser = UsuarioHelper.query_all_rutas(None)
         TZO = TimezoneOffset.query().get()
         actual_time = BaseHelper.hora_actual_mexico()
         self.render("admin.html", rutas_admin=rutas, ciudades=ciudades,
                     cajas=cajas, usuarios=usuarios, usuario=usuario, alert=alert,
                     TZO=TZO, actual_time=actual_time, rutasUser=rutasUser, rutasEdit=rutasEdit)
         return
     time.sleep(1)
     self.redirect("/admin")