示例#1
0
    def post(self):
        from csrffilter import CSRFFilter

        user = users.get_current_user()
        mode = self.request.get('mode')

        #CSRF Protection
        filter = CSRFFilter(self, user)
        if not filter.checkCSRFToken():
            return filter.redirectCSRFWarning()

        user_prefs_query = UserPrefs.all()
        user_prefs_query.filter("google_id =", user)
        user_prefs = user_prefs_query.get()

        if user_prefs is not None:
            logging.info('Mode: %s' % mode)
            if mode == 'add':
                keyword = self.request.get('keyword')
                search_keywords = SearchKeywords()
                search_keywords.user_id = user_prefs.key()
                search_keywords.keyword = keyword
                search_keywords.put()

            elif mode == 'delete':
                deletes = self.request.get_all('deletes[]')
                for delete in deletes:
                    search_keywords = SearchKeywords.get_by_id(int(delete))
                    logging.info('Delete keyword: %s' %
                                 search_keywords.keyword)
                    if search_keywords is not None:
                        if search_keywords.user_id.key() == user_prefs.key():
                            search_keywords.delete()

        self.redirect('/config')
示例#2
0
    def post(self):
        from csrffilter import CSRFFilter
        
        user = users.get_current_user()
        mode = self.request.get('mode')

        #CSRF Protection
        filter = CSRFFilter(self, user)
        if not filter.checkCSRFToken():
            return filter.redirectCSRFWarning()

        user_prefs_query = UserPrefs.all()
        user_prefs_query.filter("google_id =", user)
        user_prefs = user_prefs_query.get()
        
        if user_prefs is not None:
            logging.info('Mode: %s' % mode)
            if mode == 'add':
                keyword = self.request.get('keyword')
                search_keywords = SearchKeywords()
                search_keywords.user_id = user_prefs.key()
                search_keywords.keyword = keyword
                search_keywords.put()
                
            elif mode == 'delete':
                deletes = self.request.get_all('deletes[]')
                for delete in deletes:
                    search_keywords = SearchKeywords.get_by_id(int(delete))
                    logging.info('Delete keyword: %s' % search_keywords.keyword)
                    if search_keywords is not None:
                        if search_keywords.user_id.key() == user_prefs.key():
                            search_keywords.delete()
        
        self.redirect('/config')
示例#3
0
    def post(self):
        from csrffilter import CSRFFilter
        
        user = users.get_current_user()

        #CSRF Protection
        filter = CSRFFilter(self, user)
        if not filter.checkCSRFToken():
            return filter.redirectCSRFWarning()

        user_prefs_query = UserPrefs.all()
        user_prefs_query.filter("google_id =", user)
        user_prefs = user_prefs_query.get()
        
        template_values = {
            'nickname': user.nickname(),
            'user_prefs': user_prefs,
            }
        
        path = os.path.join(os.path.dirname(__file__), 'templates/config.html')
        self.response.out.write(template.render(path, template_values))
示例#4
0
    def get(self):
        from csrffilter import CSRFFilter

        user = users.get_current_user()

        user_prefs_query = UserPrefs.all()
        user_prefs_query.filter("google_id =", user)
        user_prefs = user_prefs_query.get()

        mode = self.request.get('mode')

        if mode == 'add_twitter_account':
            self.redirect('/oauth/twitter/login')

        elif mode == 'delete_twitter_account':
            if user_prefs.oauth_access_token_key:
                oauth_access_token_query = OAuthAccessToken.get_by_key_name(
                    user_prefs.oauth_access_token_key.key().name())
                oauth_access_token_query.delete()
                user_prefs.oauth_access_token_key = None
                user_prefs.put()

        keywords = []
        if user_prefs is not None:
            search_keywords_query = SearchKeywords.all()
            search_keywords_query.filter('user_id =', user_prefs.key())
            search_keywords = search_keywords_query.fetch(30)

            for search_keyword in search_keywords:
                keywords.append({
                    'id': search_keyword.key().id(),
                    'keyword': search_keyword.keyword
                })

        template_values = {
            'nickname': user.nickname(),
            'user_prefs': user_prefs,
            'keywords': keywords
        }

        path = os.path.join(os.path.dirname(__file__), 'templates/config.html')
        html = template.render(path, template_values)
        self.response.out.write(CSRFFilter(self, user).insertCSRFToken(html))