Esempio n. 1
0
    def update(self):
        request = self.request
        principal = self.context.__principal__

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

            IStatusMessage(request).add(_('User has been removed.'))
            return self.redirect('../../../../')
Esempio n. 2
0
    def __call__(self, *args, **kw):
        context = self.context
        request = self.request
        principal = request.principal
        auth = getUtility(IAuthentication)

        if IUnauthenticatedPrincipal.providedBy(principal):
            msg = auth.loginMessage
            if not msg:
                msg = _('Login failed.')

            IStatusMessage(request).add(msg, 'warning')

            request.response.redirect(u'%s/login.html'%absoluteURL(context, request))
        else:
            product = getUtility(IGoogleFCAuthenticationProduct)
            cookie = request.getCookies().get(product.cookieNames[0])
            if cookie:
                if getMultiAdapter((auth, request), ILoginService).success():
                    return u''

        request.response.redirect(u'%s/'%absoluteURL(getSite(), request))
        return u''
Esempio n. 3
0
        # notify about principal removing
        internal = self[id]

        auth = getUtility(IAuthentication)
        info = GoogleFCPrincipalInfo(self.prefix+id, internal)
        info.credentialsPlugin = None
        info.authenticatorPlugin = self
        principal = IFoundPrincipalFactory(info)(auth)
        principal.id = auth.prefix + self.prefix + id
        event.notify(PrincipalRemovingEvent(principal))

        # actual remove
        super(AuthenticatorPlugin, self).__delitem__(id)

        del self.__id_by_identifier[internal.identifier]


@component.adapter(IGoogleFCUsersPlugin, IObjectRemovedEvent)
def pluginRemovedHandler(plugin, event):
    plugin = removeAllProxies(plugin)

    for id in plugin:
        del plugin[id]


authenticatorFactory = AuthenticatorPluginFactory(
    "principal.googlefc", AuthenticatorPlugin, ((IGoogleFCUsersPlugin, ''),),
    _(u'Google Friend Connect plugin'),
    _(u'This plugin allow use googlefc login '
      u'like google, yahoo, lifejournal and many others'))