Esempio n. 1
0
def logout(request):
    online_middleware.remove_user(request)
    # TODO: leave a message saying "you've been logged out".
    # currently not possible (can't set messages for guest user) but will be
    # possible in django 1.2
    #    return pinaxlogout(request, next_page=reverse('home'))
    return pinaxlogout(request, next_page="http://www.tigweb.org/members/login.html?logout=logout&pushpath=my.ewb.ca")
Esempio n. 2
0
def impersonate (request, username):
    user = get_object_or_404(User, username=username)

    logout(request)
    online_middleware.remove_user(request)
    user.backend = "django.contrib.auth.backends.ModelBackend"
    login(request, user)
    
    request.user.message_set.create(message="Welcome, %s impersonator!" % user.visible_name())

    return HttpResponseRedirect(reverse(settings.LOGIN_REDIRECT_URLNAME))
Esempio n. 3
0
    def login(self, request):
        if self.is_valid():
            online_middleware.remove_user(request)
            login(request, self.user)

            # prompt to change password if too simple
            if self.user.google_username and not self.user.google_sync:
                self.user.message_set.create(
                    message="<b>Your password is too simple - you must change it before signing into your @ewb.ca email account<br/> \
                <a href='"
                    + reverse("acct_passwd")
                    + "'>click here to change your password</a></b>"
                )

            # update stats
            self.user.get_profile().login_count += 1

            if self.user.get_profile().current_login == None:
                self.user.get_profile().previous_login = datetime.now()
            else:
                self.user.get_profile().previous_login = self.user.get_profile().current_login

            self.user.get_profile().current_login = datetime.now()
            self.user.get_profile().save()

            # set message
            login_message = ugettext(u"Welcome back, %(name)s") % {"name": self.user.visible_name()}
            request.user.message_set.create(message=login_message)
            if self.cleaned_data["remember"]:
                request.session.set_expiry(60 * 60 * 24 * 7 * 3)
            else:
                request.session.set_expiry(0)

            # set account reminder messages
            # (should this be done somewhere else, probably profiles app, with a signal listener?)
            membership_expiry = self.user.get_profile().membership_expiry
            if membership_expiry:
                if date.today() + timedelta(days=7) > membership_expiry:
                    request.user.message_set.create(
                        message="Your membership expires within a week.<br/><a href='%s'>Renew it now!</a>"
                        % reverse("profile_pay_membership", kwargs={"username": request.user.username})
                    )
                elif date.today() + timedelta(days=30) > membership_expiry:
                    request.user.message_set.create(
                        message="Your membership expires within a month.<br/><a href='%s'>Renew it now!</a>"
                        % reverse("profile_pay_membership", kwargs={"username": request.user.username})
                    )

            signals.signin.send(sender=self.user, user=self.user)
            return True
        return False
Esempio n. 4
0
def impersonate (request, username):
    user = get_object_or_404(User, username=username)
    
    if user.get_profile().grandfathered:
        request.user.message_set.create(message="%s has not logged into the new myewb yet; you can't impersonate them." % user.visible_name())
        
    else:
        logout(request)
        online_middleware.remove_user(request)
        user.backend = "django.contrib.auth.backends.ModelBackend"
        login(request, user)
    
        request.user.message_set.create(message="Welcome, %s impersonator!" % user.visible_name())

    return HttpResponseRedirect(reverse('home'))
Esempio n. 5
0
def softdelete(request, username):
    user = get_object_or_404(User, username=username)

    if request.user == user or request.user.has_module_perms("profiles"):
        if request.method == 'POST':
            logout(request)
            online_middleware.remove_user(request)
            user.softdelete()
        
            return HttpResponseRedirect(reverse('home'))
        else:
            return render_to_response("profiles/delete_confirm.html", {
                "other_user": user,
            }, context_instance=RequestContext(request))
    else:
        return HttpResponseForbidden()
Esempio n. 6
0
def softdelete(request, username):
    user = get_object_or_404(User, username=username)

    if request.user == user or request.user.has_module_perms("profiles"):
        if request.method == 'POST':
            logout(request)
            online_middleware.remove_user(request)
            user.softdelete()

            return HttpResponseRedirect(reverse('home'))
        else:
            return render_to_response("profiles/delete_confirm.html", {
                "other_user": user,
            },
                                      context_instance=RequestContext(request))
    else:
        return HttpResponseForbidden()
Esempio n. 7
0
 def login(self, request):
     if self.is_valid():
         online_middleware.remove_user(request)
         login(request, self.user)
         
         # prompt to change password if too simple
         if self.user.google_username and not self.user.google_sync:
             self.user.message_set.create(message="<b>Your password is too simple - you must change it before signing into your @ewb.ca email account<br/> \
             <a href='" + reverse('acct_passwd') + "'>click here to change your password</a></b>")
         
         # update stats
         self.user.get_profile().login_count += 1
         
         if self.user.get_profile().current_login == None:
             self.user.get_profile().previous_login = datetime.now()
         else:
             self.user.get_profile().previous_login = self.user.get_profile().current_login
         
         self.user.get_profile().current_login = datetime.now()
         self.user.get_profile().save()
         
         # set message
         login_message=ugettext(u"Welcome back, %(name)s") % {
             'name': self.user.visible_name()
         }
         request.user.message_set.create(message=login_message)
         if self.cleaned_data['remember']:
             request.session.set_expiry(60 * 60 * 24 * 7 * 3)
         else:
             request.session.set_expiry(0)
             
         # set account reminder messages
         # (should this be done somewhere else, probably profiles app, with a signal listener?)
         membership_expiry = self.user.get_profile().membership_expiry
         if membership_expiry:
             if date.today() > membership_expiry:
                 request.user.message_set.create(message="Your membership has expired.<br/><a href='%s'>Renew it now!</a>" % reverse('profile_pay_membership', kwargs={'username': request.user.username}))
             elif date.today() + timedelta(days=7) > membership_expiry:
                 request.user.message_set.create(message="Your membership expires within a week.<br/><a href='%s'>Renew it now!</a>" % reverse('profile_pay_membership', kwargs={'username': request.user.username}))
             elif date.today() + timedelta(days=30) > membership_expiry:
                 request.user.message_set.create(message="Your membership expires within a month.<br/><a href='%s'>Renew it now!</a>" % reverse('profile_pay_membership', kwargs={'username': request.user.username}))
             
         signals.signin.send(sender=self.user, user=self.user)
         return True
     return False
Esempio n. 8
0
def impersonate(request, username):
    user = get_object_or_404(User, username=username)

    if user.get_profile().grandfathered:
        request.user.message_set.create(
            message=
            "%s has not logged into the new myewb yet; you can't impersonate them."
            % user.visible_name())

    else:
        logout(request)
        online_middleware.remove_user(request)
        user.backend = "django.contrib.auth.backends.ModelBackend"
        login(request, user)

        request.user.message_set.create(message="Welcome, %s impersonator!" %
                                        user.visible_name())

    return HttpResponseRedirect(reverse('home'))
Esempio n. 9
0
 def login(self, request):
     if self.is_valid():
         online_middleware.remove_user(request)
         login(request, self.user)
         
         # update stats
         self.user.get_profile().login_count += 1
         
         if self.user.get_profile().current_login == None:
             self.user.get_profile().previous_login = datetime.now()
         else:
             self.user.get_profile().previous_login = self.user.get_profile().current_login
         
         self.user.get_profile().current_login = datetime.now()
         self.user.get_profile().save()
         
         # set message
         login_message=ugettext(u"Welcome back, %(name)s") % {
             'name': self.user.visible_name()
         }
         request.user.message_set.create(message=login_message)
         if self.cleaned_data['remember']:
             request.session.set_expiry(60 * 60 * 24 * 7 * 3)
         else:
             request.session.set_expiry(0)
             
         # set account reminder messages
         # (should this be done somewhere else, probably profiles app, with a signal listener?)
         membership_expiry = self.user.get_profile().membership_expiry
         if membership_expiry:
             if date.today() + timedelta(days=7) > membership_expiry:
                 request.user.message_set.create(message="Your membership expires within a week.<br/><a href='%s'>Renew it now!</a>" % reverse('profile_pay_membership', kwargs={'username': request.user.username}))
             elif date.today() + timedelta(days=30) > membership_expiry:
                 request.user.message_set.create(message="Your membership expires within a month.<br/><a href='%s'>Renew it now!</a>" % reverse('profile_pay_membership', kwargs={'username': request.user.username}))
             
         signals.signin.send(sender=self.user, user=self.user)
         return True
     return False
Esempio n. 10
0
def logout(request):
    online_middleware.remove_user(request)
    return pinaxlogout(request, next_page=reverse("conference_schedule"))
Esempio n. 11
0
def logout(request):
    online_middleware.remove_user(request)
    return pinaxlogout(request, next_page=reverse('conference_schedule'))
Esempio n. 12
0
def logout(request):
    online_middleware.remove_user(request)
    # TODO: leave a message saying "you've been logged out".
    # currently not possible (can't set messages for guest user) but will be
    # possible in django 1.2 
    return pinaxlogout(request, next_page=reverse('home'))
Esempio n. 13
0
def logout(request):
    online_middleware.remove_user(request)
    return pinaxlogout(request, template_name="account/logout.html")