def login_and_forward(request, user, forward=None, message=None): if user.is_suspended(): return forward_suspended_user(request, user) user.backend = "django.contrib.auth.backends.ModelBackend" login(request, user) if message is None: message = _("Welcome back %s, you are now logged in") % user.username request.user.message_set.create(message=message) if not forward: forward = request.session.get(ON_SIGNIN_SESSION_ATTR, reverse('index')) pending_data = request.session.get(PENDING_SUBMISSION_SESSION_ATTR, None) if pending_data and (user.email_isvalid or pending_data['type'] not in settings.REQUIRE_EMAIL_VALIDATION_TO): submission_time = pending_data['time'] if submission_time < datetime.datetime.now() - datetime.timedelta(minutes=int(settings.HOLD_PENDING_POSTS_MINUTES)): del request.session[PENDING_SUBMISSION_SESSION_ATTR] elif submission_time < datetime.datetime.now() - datetime.timedelta(minutes=int(settings.WARN_PENDING_POSTS_MINUTES)): user.message_set.create(message=(_("You have a %s pending submission.") % pending_data['data_name']) + " %s, %s, %s" % ( html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('save')}), _("save it")), html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('review')}), _("review")), html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('cancel')}), _("cancel")) )) else: return manage_pending_data(request, _('save'), forward) return HttpResponseRedirect(forward)
def login_and_forward(request, user, forward=None, message=None): if user.is_suspended(): return forward_suspended_user(request, user) user.backend = "django.contrib.auth.backends.ModelBackend" login(request, user) if message is None: message = _("Welcome back %s, you are now logged in") % smart_unicode(user.username) request.user.message_set.create(message=message) if not forward: forward = request.session.get(ON_SIGNIN_SESSION_ATTR, reverse('index')) pending_data = request.session.get(PENDING_SUBMISSION_SESSION_ATTR, None) if pending_data and (user.email_isvalid or pending_data['type'] not in settings.REQUIRE_EMAIL_VALIDATION_TO): submission_time = pending_data['time'] if submission_time < datetime.datetime.now() - datetime.timedelta(minutes=int(settings.HOLD_PENDING_POSTS_MINUTES)): del request.session[PENDING_SUBMISSION_SESSION_ATTR] elif submission_time < datetime.datetime.now() - datetime.timedelta(minutes=int(settings.WARN_PENDING_POSTS_MINUTES)): user.message_set.create(message=(_("You have a %s pending submission.") % pending_data['data_name']) + " %s, %s, %s" % ( html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('save')}), _("save it")), html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('review')}), _("review")), html.hyperlink(reverse('manage_pending_data', kwargs={'action': _('cancel')}), _("cancel")) )) else: return manage_pending_data(request, _('save'), forward) return HttpResponseRedirect(forward)
def login_and_forward(request, user, forward=None, message=None): if user.is_suspended(): return forward_suspended_user(request, user) user.backend = "django.contrib.auth.backends.ModelBackend" login(request, user) # Store the login action UserLoginAction(user=user, ip=request.META['REMOTE_ADDR']).save() if message is None: message = _("Welcome back %s, you are now logged in") % smart_unicode( user.username) request.user.message_set.create(message=message) if not forward: forward = request.session.get(ON_SIGNIN_SESSION_ATTR, reverse('index')) pending_data = request.session.get(PENDING_SUBMISSION_SESSION_ATTR, None) if pending_data and (user.email_isvalid or pending_data['type'] not in settings.REQUIRE_EMAIL_VALIDATION_TO): submission_time = pending_data['time'] if submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.HOLD_PENDING_POSTS_MINUTES)): del request.session[PENDING_SUBMISSION_SESSION_ATTR] elif submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.WARN_PENDING_POSTS_MINUTES)): user.message_set.create( message=(_("You have a %s pending submission.") % pending_data['data_name']) + " %s, %s, %s" % (html.hyperlink( reverse('manage_pending_data', kwargs={'action': _('save')}), _("save it")), html.hyperlink( reverse('manage_pending_data', kwargs={'action': _('review')}), _("review")), html.hyperlink( reverse('manage_pending_data', kwargs={'action': _('cancel')}), _("cancel")))) else: return manage_pending_data(request, _('save'), forward) additional_get_params = urllib.urlencode( dict([k, v.encode('utf-8')] for k, v in request.GET.items())) parsed_forward = urlparse(forward) # If there is already some parsed query in the URL then change the forward URL if parsed_forward.query: forward_url = forward + "&%s" % additional_get_params else: forward_url = forward + "?%s" % additional_get_params return HttpResponseRedirect(forward_url)
def login_and_forward(request, user, forward=None, message=None): if user.is_suspended(): return forward_suspended_user(request, user) user.backend = "django.contrib.auth.backends.ModelBackend" login(request, user) # Store the login action UserLoginAction(user=user, ip=request.META["REMOTE_ADDR"]).save() if message is None: message = _("Welcome back %s, you are now logged in") % smart_unicode(user.username) messages.success(request, message) if not forward: forward = request.session.get(ON_SIGNIN_SESSION_ATTR, reverse("index")) pending_data = request.session.get(PENDING_SUBMISSION_SESSION_ATTR, None) if pending_data and (user.email_isvalid or pending_data["type"] not in settings.REQUIRE_EMAIL_VALIDATION_TO): submission_time = pending_data["time"] if submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.HOLD_PENDING_POSTS_MINUTES) ): del request.session[PENDING_SUBMISSION_SESSION_ATTR] elif submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.WARN_PENDING_POSTS_MINUTES) ): messages.success( request, (_("You have a %s pending submission.") % pending_data["data_name"]) + " %s, %s, %s" % ( html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("save")}), _("save it")), html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("review")}), _("review")), html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("cancel")}), _("cancel")), ), ) else: return manage_pending_data(request, _("save"), forward) additional_get_params = urllib.urlencode(dict([k, v.encode("utf-8")] for k, v in request.GET.items())) parsed_forward = urlparse(forward) # If there is already some parsed query in the URL then change the forward URL if parsed_forward.query: forward_url = forward + "&%s" % additional_get_params else: forward_url = forward + "?%s" % additional_get_params return HttpResponseRedirect(forward_url)
def user_questions(request, mode, user, slug): user = get_object_or_404(User, id=user) if mode == _('asked-by'): questions = Question.objects.filter(author=user) description = _("Questions asked by %s") elif mode == _('answered-by'): questions = Question.objects.filter(children__author=user, children__node_type='answer').distinct() description = _("Questions answered by %s") elif mode == _('subscribed-by'): if not (request.user.is_superuser or request.user == user): return HttpResponseUnauthorized(request) questions = user.subscriptions if request.user == user: description = _("Questions you subscribed %s") else: description = _("Questions subscribed by %s") else: raise Http404 return question_list(request, questions, mark_safe(description % hyperlink(user.get_profile_url(), user.username)), page_title=description % user.username)
def create_user(request): if request.POST: form = CreateUserForm(request.POST) if form.is_valid(): user_ = User(username=form.cleaned_data['username'], email=form.cleaned_data['email']) user_.set_password(form.cleaned_data['password1']) if not form.cleaned_data.get('validate_email', False): user_.email_isvalid = True user_.save() UserJoinsAction(user=user_).save() request.user.message_set.create( message=_("New user created sucessfully. %s.") % html.hyperlink(user_.get_profile_url(), _("See %s profile") % user_.username, target="_blank")) return HttpResponseRedirect( reverse("admin_tools", kwargs={'name': 'createuser'})) else: form = CreateUserForm() return ('osqaadmin/createuser.html', { 'form': form, })
def render(self, context): return html.buildtag( "li", html.buildtag("span", self.span_label(context), **self.span_attrs(context)) + html.hyperlink(self.url(context), self.label(context), **self.a_attrs(context)), **{"class": "item"} )
def login_and_forward(request, user, forward=None, message=None): if user.is_suspended(): return forward_suspended_user(request, user) user.backend = "django.contrib.auth.backends.ModelBackend" login(request, user) # Store the login action UserLoginAction(user=user, ip=request.META["REMOTE_ADDR"]).save() if message is None: message = _("Welcome back %s, you are now logged in") % smart_unicode(user.username) request.user.message_set.create(message=message) if not forward: forward = request.session.get(ON_SIGNIN_SESSION_ATTR, reverse("index")) pending_data = request.session.get(PENDING_SUBMISSION_SESSION_ATTR, None) if pending_data and (user.email_isvalid or pending_data["type"] not in settings.REQUIRE_EMAIL_VALIDATION_TO): submission_time = pending_data["time"] if submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.HOLD_PENDING_POSTS_MINUTES) ): del request.session[PENDING_SUBMISSION_SESSION_ATTR] elif submission_time < datetime.datetime.now() - datetime.timedelta( minutes=int(settings.WARN_PENDING_POSTS_MINUTES) ): user.message_set.create( message=(_("You have a %s pending submission.") % pending_data["data_name"]) + " %s, %s, %s" % ( html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("save")}), _("save it")), html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("review")}), _("review")), html.hyperlink(reverse("manage_pending_data", kwargs={"action": _("cancel")}), _("cancel")), ) ) else: return manage_pending_data(request, _("save"), forward) return HttpResponseRedirect(forward)
def create_user(request): if request.POST: form = CreateUserForm(request.POST) if form.is_valid(): user_ = User(username=form.cleaned_data['username'], email=form.cleaned_data['email']) user_.set_password(form.cleaned_data['password1']) if not form.cleaned_data.get('validate_email', False): user_.email_isvalid = True user_.save() UserJoinsAction(user=user_).save() messages.info(request, _("New user created sucessfully. %s.") % html.hyperlink( user_.get_profile_url(), _("See %s profile") % user_.username, target="_blank")) return HttpResponseRedirect(reverse("admin_tools", kwargs={'name': 'createuser'})) else: form = CreateUserForm() return ('osqaadmin/createuser.html', { 'form': form, })
def create_user(request): if request.POST: form = CreateUserForm(request.POST) if form.is_valid(): user_ = User(username=form.cleaned_data["username"], email=form.cleaned_data["email"]) user_.set_password(form.cleaned_data["password1"]) if not form.cleaned_data.get("validate_email", False): user_.email_isvalid = True user_.save() UserJoinsAction(user=user_).save() request.user.message_set.create( message=_("New user created sucessfully. %s.") % html.hyperlink(user_.get_profile_url(), _("See %s profile") % user_.username, target="_blank") ) return HttpResponseRedirect(reverse("admin_tools", kwargs={"name": "createuser"})) else: form = CreateUserForm() return ("podporaadmin/createuser.html", {"form": form})
def render(self, context): return html.buildtag('li', html.buildtag('span', self.span_label(context), **self.span_attrs(context)) + \ html.hyperlink(self.url(context), self.label(context), **self.a_attrs(context)), **{'class': 'item'})
def render(self, context): return "%s %s %s" % (self.pre_code(context), html.hyperlink(self.url(context), self.text(context), **self.attrs(context)), self.post_code(context))
def hyperlink(self, url, title, **attrs): return html.hyperlink(url, title, **attrs)
def get_manage_link(action, title): result = django_settings.APP_URL + reverse("manage_pending_data", prefix="/", kwargs={"action": _(action)}) return html.hyperlink(result, _(title))