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')
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))
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))