示例#1
0
 def dispatch(self, request, *args, **kwargs):
     self.request = request
     self.args = args
     self.kwargs = kwargs
     if is_authenticated(request.user):
         return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)
     return self.redirect_to_login()
示例#2
0
 def get_redirect_url(self):
     if is_authenticated(self.user):
         if not settings.ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL:
             return settings.ACCOUNT_LOGIN_REDIRECT_URL
         return settings.ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL
     else:
         return settings.ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL
示例#3
0
    def process_request(self, request):
        if is_authenticated(request.user) and not request.user.is_staff:
            next_url = resolve(request.path).url_name
            # Authenticated users must be allowed to access
            # "change password" page and "log out" page.
            # even if password is expired.
            if next_url not in [settings.ACCOUNT_PASSWORD_CHANGE_REDIRECT_URL,
                                settings.ACCOUNT_LOGOUT_URL,
                                ]:
                if check_password_expired(request.user):
                    signals.password_expired.send(sender=self, user=request.user)
                    messages.add_message(
                        request,
                        messages.WARNING,
                        _("Your password has expired. Please save a new password.")
                    )
                    redirect_field_name = REDIRECT_FIELD_NAME

                    change_password_url = reverse(settings.ACCOUNT_PASSWORD_CHANGE_REDIRECT_URL)
                    url_bits = list(urlparse(change_password_url))
                    querystring = QueryDict(url_bits[4], mutable=True)
                    querystring[redirect_field_name] = next_url
                    url_bits[4] = querystring.urlencode(safe="/")

                    return HttpResponseRedirect(urlunparse(url_bits))
示例#4
0
 def get_redirect_url(self):
     if is_authenticated(self.user):
         if not settings.ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL:
             return settings.ACCOUNT_LOGIN_REDIRECT_URL
         return settings.ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL
     else:
         return settings.ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL
示例#5
0
    def process_request(self, request):
        if is_authenticated(request.user) and not request.user.is_staff:
            next_url = resolve(request.path).url_name
            # Authenticated users must be allowed to access
            # "change password" page and "log out" page.
            # even if password is expired.
            if next_url not in [
                    settings.ACCOUNT_PASSWORD_CHANGE_REDIRECT_URL,
                    settings.ACCOUNT_LOGOUT_URL,
            ]:
                if check_password_expired(request.user):
                    signals.password_expired.send(sender=self,
                                                  user=request.user)
                    messages.add_message(
                        request, messages.WARNING,
                        _("Your password has expired. Please save a new password."
                          ))
                    redirect_field_name = REDIRECT_FIELD_NAME

                    change_password_url = reverse(
                        settings.ACCOUNT_PASSWORD_CHANGE_REDIRECT_URL)
                    url_bits = list(urlparse(change_password_url))
                    querystring = QueryDict(url_bits[4], mutable=True)
                    querystring[redirect_field_name] = next_url
                    url_bits[4] = querystring.urlencode(safe="/")

                    return HttpResponseRedirect(urlunparse(url_bits))
示例#6
0
 def _wrapped_view(request, *args, **kwargs):
     if is_authenticated(request.user):
         return view_func(request, *args, **kwargs)
     return handle_redirect_to_login(
         request,
         redirect_field_name=redirect_field_name,
         login_url=login_url
     )
示例#7
0
 def dispatch(self, request, *args, **kwargs):
     self.request = request
     self.args = args
     self.kwargs = kwargs
     if is_authenticated(request.user):
         return super(LoginRequiredMixin,
                      self).dispatch(request, *args, **kwargs)
     return self.redirect_to_login()
 def for_request(cls, request):
     user = getattr(request, "user", None)
     if user and is_authenticated(user):
         try:
             return Account._default_manager.get(user=user)
         except Account.DoesNotExist:
             pass
     return AnonymousAccount(request)
示例#9
0
 def get_language_for_user(self, request):
     if is_authenticated(request.user):
         try:
             account = Account.objects.get(user=request.user)
             return account.language
         except Account.DoesNotExist:
             pass
     return translation.get_language_from_request(request)
示例#10
0
 def get_language_for_user(self, request):
     if is_authenticated(request.user):
         try:
             account = Account.objects.get(user=request.user)
             return account.language
         except Account.DoesNotExist:
             pass
     return translation.get_language_from_request(request)
示例#11
0
 def get(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         return redirect(
             default_redirect(self.request,
                              settings.ACCOUNT_LOGIN_REDIRECT_URL))
     if not self.is_open():
         return self.closed()
     return super(SignupView, self).get(*args, **kwargs)
示例#12
0
def vacancies_for_offer(member, current_user):
    if not is_authenticated(current_user):
        return None
    companies = current_user.companies.filter(
        id__in=[i.id for i in current_user.companies if current_user in i.collaborators]) \
        .exclude(id__in=[i.id for i in member.companies])
    qs = Vacancy.objects.filter(company__in=companies)
    return qs.exclude(id__in=member.vacancies.values_list('id'))
示例#13
0
 def post(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         raise Http404()
     try:
         validate_password(password=args[0].POST['password'])
     except ValidationError as e:
         form = SignupForm()
         form.username = args[0].POST['username']
         form.email = args[0].POST['email']
         messages.warning(self.request, 'A senha informada não atende aos requisitos mínimos. Tente uma outra senha.')
         # return render(self.request, 'account/signup.html', {'form': form})
         return redirect(reverse('account_signup'))
     return super(account.views.SignupView, self).post(*args, **kwargs)
示例#14
0
 def set_filter_for_relevant_vacancies(self):
     if is_authenticated(self.request.user):
         specs_list = list(
             set([
                 i.id
                 for i in self.request.user.profile.specialisations.all()
             ]))
         keywords_list = list(
             set([i.id for i in self.request.user.profile.keywords.all()]))
         vacs = self.vacancies.filter(
             Q(specialisations__in=specs_list)
             | Q(keywords__in=keywords_list)).distinct()
         self.vacancies_filter = vacs
     else:
         self.vacancies_filter = self.vacancies
     self.context.update({'all': self.vacancies})
示例#15
0
 def set_filter_for_relevant_profiles(self):
     if is_authenticated(self.request.user):
         vacs = Vacancy.objects.filter(
             company__in=self.request.user.companies, enabled=True)
         specs_list = list(
             set([
                 item['specialisations__id']
                 for item in vacs.values('specialisations__id')
                 if item['specialisations__id'] is not None
             ]))
         keywords_list = list(
             set([
                 item['keywords__id']
                 for item in vacs.values('keywords__id')
                 if item['keywords__id'] is not None
             ]))
         profiles = self.profiles.filter(
             Q(specialisations__in=specs_list)
             | Q(keywords__in=keywords_list)).exclude(
                 member__contract_address=None).distinct()
         self.profiles_filter = profiles
     else:
         self.profiles_filter = self.profiles
     self.context.update({'all': self.profiles})
示例#16
0
 def get(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return redirect("account_password_reset")
     return super(ChangePasswordView, self).get(*args, **kwargs)
示例#17
0
 def post(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return HttpResponseForbidden()
     return super(ChangePasswordView, self).post(*args, **kwargs)
示例#18
0
 def post(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         auth.logout(self.request)
     return redirect(self.get_redirect_url())
示例#19
0
 def get(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         auth.logout(self.request)
         return render(self.request, self.template_name, {})
     if not is_authenticated(self.request.user):
         return HttpResponseRedirect(reverse('login'))
示例#20
0
 def get(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         return redirect(self.get_success_url())
     return super(LoginView, self).get(*args, **kwargs)
示例#21
0
 def get(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return redirect(self.get_redirect_url())
     ctx = self.get_context_data()
     return self.render_to_response(ctx)
示例#22
0
 def get(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return redirect(self.get_redirect_url())
     ctx = self.get_context_data()
     return self.render_to_response(ctx)
示例#23
0
 def post(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         raise Http404()
     if not self.is_open():
         return self.closed()
     return super(SignupView, self).post(*args, **kwargs)
示例#24
0
 def post(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         auth.logout(self.request)
     return redirect(self.get_redirect_url())
示例#25
0
 def get(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         return redirect(self.get_success_url())
     return super(LoginView, self).get(*args, **kwargs)
示例#26
0
 def get(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         return redirect(default_redirect(self.request, settings.ACCOUNT_LOGIN_REDIRECT_URL))
     if not self.is_open():
         return self.closed()
     return super(SignupView, self).get(*args, **kwargs)
示例#27
0
 def get(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return redirect("account_password_reset")
     return super(ChangePasswordView, self).get(*args, **kwargs)
示例#28
0
 def post(self, *args, **kwargs):
     if not is_authenticated(self.request.user):
         return HttpResponseForbidden()
     return super(ChangePasswordView, self).post(*args, **kwargs)
示例#29
0
 def dispatch(self, request, *args, **kwargs):
     if not is_authenticated(request.user):
         return HttpResponse(status=403)
     return super().dispatch(request, *args, **kwargs)
示例#30
0
 def post(self, *args, **kwargs):
     if is_authenticated(self.request.user):
         raise Http404()
     if not self.is_open():
         return self.closed()
     return super(SignupView, self).post(*args, **kwargs)