Ejemplo n.º 1
0
 def set_default_device(self, dev_id):
     dev_id = long(dev_id)
     user = social.get_current_user()
     devices = model.Device.filter_by_user(user).order('-name').fetch(100)
     for dev in devices:
         dev.default = dev.key().id() == dev_id
     model.db.put(devices)
Ejemplo n.º 2
0
 def facebook_login(self, access_token):
     current_user = social.get_current_user()
     auth = social.facebook_connect(access_token, current_user)
     if auth is not None:
         social.login(auth)
         return "success"
     return "failed"
Ejemplo n.º 3
0
 def get(self, *ignored_args):
     user = social.get_current_user()
     self.response.headers['Content-Type'] = "text/javascript"
     if user and model.default_device(user):
         self.response.out.write('var b2m_______last_action="auto_close";')
     else:
         self.response.out.write('var b2m_______last_action="no";')
Ejemplo n.º 4
0
    def post(self):
        user = social.get_current_user()
        url_keys = self.request.get("url", allow_multiple=True)

        url_keys = [db.GqlQuery("SELECT __key__ FROM Url WHERE email = :1 and __key__ = :2", user.email().lower(), db.Key(key)).get()
                    for key in url_keys];
        db.delete(url_keys)
        self.redirect("/ui/urls")
Ejemplo n.º 5
0
 def baseTemplateValues(self):
     bookmarklet = get_bookmarklet_launcher()
     user = social.get_current_user()
     return {
         "user": user,
         "bookmarklet": bookmarklet,
         "logout": social.create_logout_url("/"),
     }
Ejemplo n.º 6
0
    def auth_guard(self, *args, **kwargs):
        access_token = self.request.get("access_token")
        user = social.get_current_user(access_token)
        self.user = user
        if not user is None:
            return function(self, *args, **kwargs)

        self.response.set_status(403)
Ejemplo n.º 7
0
    def auth_guard(self, *args, **kwargs):
        user = social.get_current_user()
        if not user is None:
            self.user = user
            return function(self, *args, **kwargs)

        url = social.create_login_url(self.request.path)
        self.redirect(url)
Ejemplo n.º 8
0
 def google_login(self):
     google_user = users.get_current_user()
     if google_user != None:
         current_user = social.get_current_user()
         auth = social.connect_google(google_user, current_user)
         social.login(auth)
         return "success"
     return "failed"
Ejemplo n.º 9
0
 def get(self):
     dev_id = self.request.get('device_id')
     user = social.get_current_user()
     if dev_id is None or dev_id == '':
         devices = model.Device.filter_by_user(user).fetch(100)
         result = [{'id': dev.key().id(), 'name': dev.name, 'default': dev.default} for dev in devices]
     else:
         device = model.device_by(user, dev_id)
         result = device.script_properties()
     serialization.json_dump(self.response,result)
Ejemplo n.º 10
0
    def post(self):
        user = social.get_current_user()
        dev_id = self.request.get('device_id')
        default = self.request.get('default')
        if bool(default):
            device = self.set_default_device(dev_id)
        device = model.device_by(user, dev_id)
        device.name = self.request.get("name") or device.name

        serialization.json_dump(self.response, device.script_properties())
Ejemplo n.º 11
0
 def delete(self):
     user = social.get_current_user()
     dev_id = self.request.get('device_id')
     device = model.device_by(user, dev_id)
     if device:
         urls = model.Url.all().filter("device =", device)
         urls = db.GqlQuery("SELECT __key__ FROM Url WHERE device = :1", device)
         db.delete(urls)
         device.delete()
         serialization.json_dump(self.response, {'status': 'ok'})
     else:
         log.info("Unable to delete device. Device: '%s' not found", dev_id)
         serialization.json_dump(self.response, {'status': 'error'})
Ejemplo n.º 12
0
    def get(self):
        user = social.get_current_user()
        urls = [url for url in self.removeInvalidUrls(model.Url.filter_by_user(user).order('-created').fetch(100)) if not url.is_deleted]
        devices = model.Device.filter_by_user(user).order('-name').fetch(10)

        template_values = self.baseTemplateValues();
        template_values.update({
            'urls': urls,
            'devices': devices,
            "user": user,
            "logout": social.create_logout_url("/"),
            "since": (datetime.datetime.now() - datetime.timedelta(hours=2)).isoformat()
        })
        self.response.out.write(template.render("templates/ui/urls.html", template_values))
Ejemplo n.º 13
0
    def get(self):
        user = social.get_current_user()
        if user == None:
            self.response.set_status(403)
            return

        model.UserProfile.get_or_insert(user.email().lower())
        urls = model.Url.filter_by_user(user).order('-created').fetch(10)
        devices = model.Device.filter_by_user(user).order('-name').fetch(10)
        template_values = {
            'urls': urls,
            'devices': devices,
            "user": user,
            "logout": users.create_logout_url("/"),
            "since": (datetime.datetime.now() - datetime.timedelta(hours=2)).isoformat()
        }
        self.response.out.write(template.render("templates/developers_ui.html", template_values))
Ejemplo n.º 14
0
    def post(self):
        user = social.get_current_user()
        if not user:
            serialization.json_dump(self.response, dict(status="not-logged-in"))
            return
        #data = self.request.body
        #obj = json.loads(data)

        url = model.Url()
        url.device = None
        url.value = self.request.get('url')
        url.title = self.request.get('title')
        url.user = user
        if len(url.value) > 200:
            h = hashlib.sha1()
            h.update(url.value)
            url.hash = h.hexdigest()

        url.put()
        serialization.json_dump(self.response, dict(status="success"))
        return url #needed for tests
Ejemplo n.º 15
0
    def get(self):
        # logged in user goes to user home
        user = social.get_current_user()
        if user:
            self.redirect("/en/user")
            return

        if self.request.get("google_auth"):
            self.google_login()
            self.redirect("/en/user")
            return

        tempalte_values = self.baseTemplateValues()
        url = self.request.url
        if not "google_auth" in url:
            url += "?&google_auth=true" # to trigger account creation
        tempalte_values.update({
            "google_login": users.create_login_url(url),
            "google_user": users.get_current_user() # in case we have already google_user, if clicking the button will log user in directly
        })
        self.response.out.write(template.render("templates/ui/login.html", tempalte_values))
Ejemplo n.º 16
0
 def post(self):
     user = social.get_current_user()
     from b2m import mailing
     user.need_intro_email = True
     mailing._send_intro_email(user, "facebook", "device")
     self.redirect(self.request.url)
Ejemplo n.º 17
0
 def post(self):
     user = social.get_current_user()
     dev_id = self.request.get('device_id')
     url_value = self.request.get('url')
     post_url(user, url_value=url_value, dev_id=dev_id)
     self.redirect('/')
Ejemplo n.º 18
0
 def post(self, *ignored_args):
     user = social.get_current_user()
     if user:
         self._add_url(user)
     else:
         self._require_login()