Example #1
0
    def update(self):
        user = getSecurityManager().getUser()
        self.came_from = self.request.get('came_from')
        if not self.came_from:
            self.came_from = self.request.environ.get("HTTP_REFERER")
        elif '@@reset-password' in self.came_from:
            self.came_from = None

        if self.came_from:
            if ":" not in self.came_from:
                # Mostly for mechanize/testbrowser which starts with a bogus 'localhost' as referer.
                self.came_from = None
            else:
                put = getToolByName(self.context, "portal_url")
                if not put.isURLInPortal(self.came_from):
                    self.came_from = None

        self.anonymous = isAnonymous(user)
        self.action = "%s/@@login" % aq_inner(self.context).absolute_url()

        if not self.anonymous and "login_attempt" in self.request:
            flash = IStatusMessage(self.request).addStatusMessage
            flash(_("message_logged_in", default="You have been logged in."),
                  "success")
            mt = getToolByName(self.context, "portal_membership")
            mt.loginUser(self.request)
            next = self.came_from or self.homeUrl(user)
            self.request.response.redirect(next)

        self.failed = self.anonymous and "login_attempt" in self.request
Example #2
0
    def update(self):
        user=getSecurityManager().getUser()

        if "came_from" in self.request:
            self.came_from=self.request.came_from
        else:
            self.came_from=self.request.environ.get("HTTP_REFERER")
        if self.came_from:
            if ":" not in self.came_from:
                # Mostly for mechanize/testbrowser which starts with a bogus 'localhost' as referer.
                self.came_from=None
            else:
                put=getToolByName(self.context, "portal_url")
                if not put.isURLInPortal(self.came_from):
                    self.came_from=None

        self.anonymous=isAnonymous(user)
        self.action="%s/@@login" % aq_inner(self.context).absolute_url()

        if not self.anonymous and "login_attempt" in self.request:
            flash=IStatusMessage(self.request).addStatusMessage
            flash(_(u"message_logged_in", default=u"You have been logged in."), "success")
            mt=getToolByName(self.context, "portal_membership")
            mt.loginUser(self.request)
            next=self.came_from or self.homeUrl(user)
            self.request.response.redirect(next)

        self.failed=self.anonymous and "login_attempt" in self.request
Example #3
0
 def render(self):
     flash=IStatusMessage(self.request).addStatusMessage
     if not isAnonymous():
         mt=getToolByName(self.context, "portal_membership")
         mt.logoutUser(self.request)
         flash(_(u"message_logged_out", default=u"You have been logged out."), "success")
     else:
         flash(_(u"message_already_logged_out", default=u"You were already logged out."), "notice")
     return self.request.response.redirect(aq_inner(self.context).absolute_url())
Example #4
0
 def __call__(self):
     self.account = self.data.get("account", None)
     if not self.account:
         return ''
     self.domain = self.data.get("domain", None)
     user = getSecurityManager().getUser()
     self.auth_status = 'anonymous' if isAnonymous(user) else 'authenticated'
     self.ga_queue = self._pop_ga_queue()
     return SimpleLiteral(self.index())
Example #5
0
 def __call__(self):
     self.account = self.data.get("account", None)
     if not self.account:
         return ''
     self.domain = self.data.get("domain", None)
     user = getSecurityManager().getUser()
     self.auth_status = 'anonymous' if isAnonymous(
         user) else 'authenticated'
     self.ga_queue = self._pop_ga_queue()
     return SimpleLiteral(self.index())
Example #6
0
 def render(self):
     flash = IStatusMessage(self.request).addStatusMessage
     if not isAnonymous():
         mt = getToolByName(self.context, "portal_membership")
         mt.logoutUser(self.request)
         flash(_("message_logged_out", default="You have been logged out."),
               "success")
     else:
         flash(
             _("message_already_logged_out",
               default="You were already logged out."), "notice")
     return self.request.response.redirect(
         aq_inner(self.context).absolute_url())
Example #7
0
    def __init__(self, context, request):
        from euphorie.client.session import SessionManager
        from euphorie.client.country import IClientCountry
        super(WebHelpers, self).__init__(context, request)
        for obj in aq_chain(aq_inner(context)):
            if IClientSector.providedBy(obj):
                self.sector = obj
                break
        self.debug_mode = Globals.DevelopmentMode
        user = getSecurityManager().getUser()
        self.anonymous = isAnonymous(user)
        account = getattr(user, 'account_type', None)
        self.is_guest_account = account == config.GUEST_ACCOUNT
        self.guest_session_id = self.is_guest_account and \
                SessionManager.session and SessionManager.session.id or None

        came_from = self.request.form.get("came_from")
        if came_from:
            if isinstance(came_from, list):
                # If came_from is both in the querystring and the form data
                self.came_from = came_from[0]
            self.came_from = came_from
        else:
            self.came_from = aq_parent(context).absolute_url()

        self.country_name = ''
        self.sector_name = ''
        self.tool_name = ''
        for obj in aq_chain(aq_inner(self.context)):
            if ISurvey.providedBy(obj):
                self.tool_name = obj.Title()
                if self.anonymous:
                    setattr(self.request, 'survey', obj)
            if IClientSector.providedBy(obj):
                self.sector_name = obj.Title()
            if IClientCountry.providedBy(obj):
                self.country_name = obj.Title()
                break
Example #8
0
 def anonymous(self):
     return isAnonymous(self._user)