Example #1
0
def edit_support(request, obj_id):
    """TODO Add docstring."""
    ctx = {
        'user': request.user,
        'title': "Update Support",
        'support': Support.objects.get(id=obj_id)
    }

    if ctx['user'].is_staff:
        url = '/support/edit/admin/%s/' % str(ctx['support'].id)
        return HttpResponseRedirect(url)
    if ctx['user'] != ctx['support'].user:
        return render(request, 'no_edit.html', ctx)

    if ctx['support'].user == ctx['user']:
        if request.method == "POST":
            ctx['form'] = SupportForm(data=request.POST,
                                      files=request.FILES,
                                      instance=ctx['support'])
            if ctx['form'].is_valid():
                ctx['support'] = ctx['form'].save(commit=False)
                ctx['support'].last_modified_by = ctx['user'].username
                ctx['support'].save()
                url = '/support/show/%s/' % str(ctx['support'].id)
                return HttpResponseRedirect(url)
        else:
            ctx['form'] = SupportForm(instance=ctx['support'])
    else:
        ctx['url'] = '/accounts/not_authorized/'

    return render(request, 'edit/edit.html', ctx)
Example #2
0
def create_support(request):
    """TODO Add docstring."""
    ctx = {
        'user': request.user,
        'title': "Create a New Support Issue",
        'supports': Support.objects.all()
    }

    if request.method == "POST":
        ctx['form'] = SupportForm(data=request.POST, files=request.FILES)
        if ctx['form'].is_valid():
            if 'files' in request.FILES:
                ctx['files'] = request.FILES['files']
                ctx['files'].user = ctx['user']

            ctx['support'] = ctx['form'].save(commit=False)

            ctx['support'].user = ctx['user']
            ctx['support'].created_by = ctx['user'].username
            ctx['support'].last_modified_by = ctx['user'].username
            ctx['support'].save()
            desc = ctx['support'].the_description
            send_mail(
                'TRACI Support Request',
                'A TRACI Support Request Has Been Submitted. Here is the ' +
                f'description of the issue: {desc}',
                ctx['support'].weblink, ['*****@*****.**'],
                fail_silently=False)
            url = '/support/show/%s/' % str(ctx['support'].id)
            return HttpResponseRedirect(url)
    else:
        ctx['form'] = SupportForm()
    return render(request, 'create/create.html', ctx)
Example #3
0
 def test_invalid_form_message(self):
     data = {
         'name': 'TestSupport',
         'email': '*****@*****.**',
         'telephone': '123 000 00 00',
         'subject': 'Test case',
         'message': ''
     }
     request = self.factory.get('/support/')
     request.user = None
     form = SupportForm(data=data, request=request)
     self.assertFalse(form.is_valid())
Example #4
0
 def test_invalid_form(self):
     data_form = {
         'name': 'TestSupport',
         'email': '',
         'telephone': '123 000 00 00',
         'subject': 'Test case',
         'message': 'this is only a test'
     }
     request = self.factory.get('/support/')
     request.user = self.user
     form = SupportForm(data=data_form, request=request)
     self.assertFalse(form.is_valid())
Example #5
0
 def test_valid_form(self):
     data_form = {
         'name': 'TestSupport',
         'email': '*****@*****.**',
         'telephone': '123 000 00 00',
         'subject': 'Test case',
         'message': 'this is only a test',
         'unique_reference': 'mock',
     }
     request = self.factory.get('/support/')
     request.user = self.user
     form = SupportForm(data=data_form, request=request)
     self.assertTrue(form.is_valid())
Example #6
0
def ajax_form(request):
    if not request.is_ajax():
        raise Http404

    json = {'success': False}

    if request.method == 'POST':
        form = SupportForm(request.POST)
        if form.is_valid():
            try:
                send_support_mail(request, form)
                json['success'] = True
            except smtplib.SMTPException:
                pass

    return HttpResponse(simplejson.dumps(json), mimetype='application/json')
Example #7
0
def form(request):
#    if request.is_ajax():
#        return ajax_form(request)

    error = False

    if request.method == 'POST':
        form = SupportForm(request.user, request.POST)
        if form.is_valid():
            try:
                send_support_mail(request, form)
                return HttpResponseRedirect(reverse('support-success'))
            except smtplib.SMTPException:
                error = True
    else:
        form = SupportForm(request.user)

    return render_to_response('support/form.html', {
        'form': form,
        'error': error,
    }, context_instance=RequestContext(request))
Example #8
0
def support(request):
    if request.method == "POST":
        form = SupportForm(request.POST)
        if form.is_valid():
            model_instance = form.save(commit=False)
            model_instance.save()
            return redirect(reverse("supportdone"))
    else:
        form = SupportForm()
    return render(request, 'supports/support.html', {'form': form})
Example #9
0
# pylint: skip-file
# test_data/support_forms.py (GSC_ESSENR)
# !/usr/bin/env python3
# coding=utf-8
"""
This file contains static, pre-filled forms for running Hatch Test Cases
"""

from support.forms import SupportForm

SUPPORT_PASS_ONE = SupportForm()
SUPPORT_PASS_ONE.id = 1
SUPPORT_PASS_ONE.subject = "subject"
SUPPORT_PASS_ONE.the_description = "the_description"
SUPPORT_PASS_ONE.weblink = "main/support.html"