Example #1
0
def feedback(request):
    data = {'page_class': 'meta'}
    form = None

    if openode_settings.ALLOW_ANONYMOUS_FEEDBACK is False:
        if request.user.is_anonymous():
            message = _('Please sign in or register to send your feedback')
            request.user.message_set.create(message=message)
            redirect_url = get_login_url() + '?next=' + request.path
            return HttpResponseRedirect(redirect_url)

    if request.method == "POST":
        form = FeedbackForm(
            is_auth=request.user.is_authenticated(),
            data=request.POST
        )
        if form.is_valid():
            if not request.user.is_authenticated():
                data['email'] = form.cleaned_data.get('email',None)
            data['message'] = form.cleaned_data['message']
            data['name'] = form.cleaned_data.get('name',None)
            template = get_template('email/feedback_email.txt', request)
            message = template.render(RequestContext(request, data))
            mail_moderators(_('Q&A forum feedback'), message)
            msg = _('Thanks for the feedback!')
            request.user.message_set.create(message=msg)
            return HttpResponseRedirect(get_next_url(request))
    else:
        form = FeedbackForm(is_auth = request.user.is_authenticated(),
                            initial={'next':get_next_url(request)})

    data['form'] = form
    return render_into_skin('feedback.html', data, request)
Example #2
0
def feedback(request):
    data = {'page_class': 'meta'}
    form = None

    if openode_settings.ALLOW_ANONYMOUS_FEEDBACK is False:
        if request.user.is_anonymous():
            message = _('Please sign in or register to send your feedback')
            request.user.message_set.create(message=message)
            redirect_url = get_login_url() + '?next=' + request.path
            return HttpResponseRedirect(redirect_url)

    if request.method == "POST":
        form = FeedbackForm(is_auth=request.user.is_authenticated(),
                            data=request.POST)
        if form.is_valid():
            if not request.user.is_authenticated():
                data['email'] = form.cleaned_data.get('email', None)
            data['message'] = form.cleaned_data['message']
            data['name'] = form.cleaned_data.get('name', None)
            template = get_template('email/feedback_email.txt', request)
            message = template.render(RequestContext(request, data))
            mail_moderators(_('Q&A forum feedback'), message)
            msg = _('Thanks for the feedback!')
            request.user.message_set.create(message=msg)
            return HttpResponseRedirect(get_next_url(request))
    else:
        form = FeedbackForm(is_auth=request.user.is_authenticated(),
                            initial={'next': get_next_url(request)})

    data['form'] = form
    return render_into_skin('feedback.html', data, request)
Example #3
0
 def process_view(self, request, view_func, view_args, view_kwargs):
     if 'cancel' in request.REQUEST:
         #todo use session messages for the anonymous users
         try:
             msg = getattr(view_func, 'CANCEL_MESSAGE')
         except AttributeError:
             msg = 'action canceled'
         request.user.message_set.create(message=msg)
         return HttpResponseRedirect(get_next_url(request))
     else:
         return None
Example #4
0
 def process_view(self, request, view_func, view_args, view_kwargs):
     if 'cancel' in request.REQUEST:
         #todo use session messages for the anonymous users
         try:
             msg = getattr(view_func, 'CANCEL_MESSAGE')
         except AttributeError:
             msg = 'action canceled'
         request.user.message_set.create(message=msg)
         return HttpResponseRedirect(get_next_url(request))
     else:
         return None
Example #5
0
 def decorated_function(request):
     login_provider = request.REQUEST.get('login_provider', '').strip()
     try:
         forms.PasswordLoginProviderField().clean(login_provider)
         return view_func(request)
     except ValidationError:
         redirect_url = reverse('user_signin')
         next = get_next_url(request)
         if next:
             redirect_url += '?next=%s' % next
         return HttpResponseRedirect(redirect_url)
Example #6
0
 def decorated_function(request):
     login_provider = request.REQUEST.get('login_provider', '').strip()
     try:
         forms.PasswordLoginProviderField().clean(login_provider)
         return view_func(request)
     except ValidationError:
         redirect_url = reverse('user_signin')
         next = get_next_url(request)
         if next:
             redirect_url += '?next=%s' % next
         return HttpResponseRedirect(redirect_url)