Пример #1
0
 def canAccessGoogleDocs(self):
   """Checks if user has a valid access token to access Google Documents.
   """
   self.isUser()
   access_token = oauth_helper.getAccessToken(self.data.user)
   if not access_token: #TODO(orc.avs):check token is valid
     next = self.data.request.get_full_path()
     raise GDocsLoginRequest(next)
Пример #2
0
 def get(self):
   access_token = oauth_helper.getAccessToken(self.data.user)
   if access_token:
     url = self.redirect.urlOf('gdata_popup_oauth_verified')
   else:
     service = oauth_helper.createDocsService(self.data)
     next = '%s?next=%s' % (self.redirect.urlOf('gdata_oauth_verify'),
                            self.redirect.urlOf('gdata_popup_oauth_verified'))
     url = oauth_helper.generateOAuthRedirectURL(
         service, self.data.user,
         next)
   self.redirect.toUrl(url)
   return self.response
Пример #3
0
def default(data):
  """Returns a context dictionary with default values set.

  The following values are available:
      app_version: the current version string of the application
      is_local: whether we are running locally
      posted: if this was a post/redirect-after-post request
      xsrf_token: the xstrf_token for this request
      google_api_key: the google api key for this website
      ga_tracking_num: the google tracking number for this website
      ds_write_disabled: if datastore writes are disabled
      css_path: part of the path to the css files to distinguish modules  
  """
  posted = data.request.POST or 'validated' in data.request.GET

  xsrf_secret_key = site.xsrfSecretKey(data.site)
  xsrf_token = xsrfutil.getGeneratedTokenForCurrentUser(xsrf_secret_key)

  if system.isSecondaryHostname(data):
    google_api_key = data.site.secondary_google_api_key
  else:
    google_api_key = data.site.google_api_key

  if data.user and oauth_helper.getAccessToken(data.user):
    gdata_is_logged_in = 'true'
  else:
    gdata_is_logged_in = 'false'

  css_path = '/'.join([
      'soc', 'content', system.getMelangeVersion(), 'css', 'v2',
      data.css_path])

  return {
      'app_version': system.getMelangeVersion(),
      'is_local': system.isLocal(),
      'posted': posted,
      'xsrf_token': xsrf_token,
      'google_api_key': google_api_key,
      'ga_tracking_num': data.site.ga_tracking_num,
      'ds_write_disabled': data.ds_write_disabled,
      'gdata_is_logged_in': gdata_is_logged_in,
      'css_path': css_path
  }