示例#1
0
    def update(self):
        request = self.request
        principal = self.context.__principal__

        if 'form.remove' in request:
            internal = removeSecurityProxy(ITwitterPrincipal(principal))
            del internal.__parent__[internal.__name__]

            IStatusMessage(request).add(_('User has been removed.'))
            return self.redirect('../../../../')
示例#2
0
 def __call__(self):
     if not IUnauthenticatedPrincipal.providedBy(self.request.principal):
         self._redirectToRoot()
         return u''
     configlet = component.getUtility(IConfiglet, name="product.zojax-authentication-twitter")
     consumerKey = configlet.consumerKey
     consumerSecret = configlet.consumerSecret
     if not consumerKey or not consumerSecret:
         self._redirectToRoot()
         return u''
     twitter = oauthtwitter.OAuthApi(consumerKey, consumerSecret)
     try:
         requestToken = twitter.getRequestToken()
         session = ISession(self.request)[SESSION_KEY]
         session[REQUEST_TOKEN_KEY] = requestToken
         url = twitter.getSigninURL(requestToken)
     except (BadStatusLine, URLError):
         message = IStatusMessage(self.request)
         message.add(_(u"Can't connect to Twitter server. Try again later."), "error")
         self._redirectToRoot()
         return u''
     self.request.response.redirect(url)
     return u''