def get(self):
     cutoff = datetime.utcnow() - MAX_AGE
     sessions = Session.query(Session.created_at < cutoff).fetch(
         200, keys_only=True)
     if len(sessions) > 0:
         ndb.delete_multi(sessions)
     logging.info('%s sessions cleared' % len(sessions))
Example #2
0
    def get(self):
        user = users.get_current_user()

        try:
            client_id = self.request.GET['client_id']
        except:
            self.redirect(
                "/error?msg=missing client_id for sessions management")
            return

        if user:
            if User.chk_allowed(user.email()):
                user_name = user.nickname()
                access_link = users.create_logout_url("/")

                try:
                    client = ndb.Key(urlsafe=client_id).get()
                except:
                    self.redirect(
                        "/error?msg=client key was not found for sessions management"
                    )
                    return

                sessions = Session.query(
                    Session.dni == client.dni).order(-Session.added)

                template_values = {
                    "user_name": user_name,
                    "access_link": access_link,
                    "client": client,
                    "sessions": sessions,
                    "info": AppInfo,
                }

                jinja = jinja2.get_jinja2(app=self.app)
                self.response.write(
                    jinja.render_template("sessionsManagement.html",
                                          **template_values))
            else:
                self.redirect("/nouser")
        else:
            self.redirect("/")
Example #3
0
 def get(self):
     cutoff = datetime.utcnow() - MAX_AGE
     sessions = Session.query(Session.created_at < cutoff).fetch(200, keys_only=True)
     if len(sessions) > 0:
         ndb.delete_multi(sessions)
     logging.info('%s sessions cleared' % len(sessions))