def get(self, request, *args, **kwargs):
        try:
            rs = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            return render(request, "404.html", {})

        result_set = rs.get_default_result_set()
        if permissions.user_can_edit_reading_system(request.user, rs):
            if result_set == None:
                result_set = ResultSet.objects.create_result_set(rs, TestSuite.objects.get_most_recent_testsuite(), rs.user)
        else:
            messages.add_message(request, messages.INFO, 'You do not have permission to create an accessibility evaluation.')
            return redirect("/manage/")

        
        action_url = "/rs/{0}/eval/".format(rs.id)
        testsuite = result_set.testsuite
        category_pages = []
        top_level_categories = testsuite.get_top_level_categories()
        
        # default to the first category
        cat = top_level_categories[0]

        cat_option = '-1'
        if kwargs.has_key('cat'):
            cat_option = kwargs['cat']

        for c in top_level_categories:
            # check if we are starting at a different category
            if c.id == int(cat_option):
                cat = c
            # collect category list data for other categories
            category_pages.append({"link": "{0}{1}".format(action_url, c.id), "name": c.name, "id": c.id})

        idx = 0
        next = ''
        for c in category_pages:
            if c['id'] == cat.id:
                if len(category_pages) > idx + 1:
                    next = category_pages[idx + 1]['link']
                    break
            idx += 1

        data = helper_functions.category_to_dict(cat)
        results_form = ResultFormSet(instance = result_set, queryset=result_set.get_results_for_category(cat))
        
        can_edit = permissions.user_can_edit_reading_system(request.user, rs)
        if can_edit == False:
            messages.add_message(request, messages.INFO, 'You do not have permission to edit that evaluation.')
            return redirect("/manage/")

        return render(request, self.template_name,
            {'result_set': result_set, 'results_form': results_form, 'data': data,
            'rs': rs, "action_url": action_url, "category_pages": category_pages, 'next': next})
Exemplo n.º 2
0
    def get(self, request, *args, **kwargs):
        form = None
        title = ""
        action_url = ""
        if "pk" in kwargs.keys(): #kwargs.has_key('pk'):
            try:
                reading_system = ReadingSystem.objects.get(id=kwargs['pk'])
            except:
                return render(request, "404.html", {})
            can_edit = permissions.user_can_edit_reading_system(request.user, reading_system)
            if can_edit == False:
                messages.add_message(request, messages.INFO, 'You do not have permission to edit that reading system.')
                return redirect("/manage/")
            form = ReadingSystemForm(instance = reading_system)
            action_url = request.path 
            title = "Edit Reading System"
        else:
            form = ReadingSystemForm()
            # read the query string for initial values
            for fieldname in form.fields.keys():
                value = request.GET.get(fieldname, '')
                form.initial[fieldname] = value
            action_url = request.path 
            title = "Add Reading System"

        return_url = request.GET.get('return', '/manage/')
        
        return render(request, self.template_name, {'reading_system_form': form,
            "title": title, "action_url": action_url, "return_url": return_url})
    def post(self, request, *args, **kwargs):
        try:
            rs = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            return render(request, "404.html", {})

        can_edit = permissions.user_can_edit_reading_system(request.user, rs)
        if can_edit == False:
            messages.add_message(request, messages.INFO, 'You do not have permission to edit that evaluation.')
            return redirect("/manage/")
        result_set = rs.get_default_result_set()
        formset = ResultFormSet(request.POST, instance=result_set)
        
        formset.save()
        result_set.save()
        
        # if we are auto-saving, don't redirect
        if not request.POST.has_key('auto') or request.POST['auto'] == "false":
            if 'save_continue' in request.POST and request.POST.has_key('next'):
                next = request.POST['next']
                print "Going to next section: {0}".format(next)
                # go to next section
                return redirect('{0}/'.format(next))
            else:
                # go back to the manage page
                return redirect('/manage/')
Exemplo n.º 4
0
    def get(self, request, *args, **kwargs):
        try:
            reading_system = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            return render(request, "404.html", {})

        return_url = request.GET.get('return', '/manage/')

        if permissions.user_can_edit_reading_system(request.user,
                                                    reading_system) == False:
            messages.add_message(
                request, messages.INFO,
                'You do not have permission to delete that reading system.')
            return redirect(return_url)

        rs_desc = "{0} {1} {2} {3}".format(reading_system.name, reading_system.version, \
            reading_system.operating_system, reading_system.operating_system_version)
        return render(
            request, self.template_name, {
                "header":
                'Confirm Delete Reading System',
                "warning":
                "You are about to delete '{0}'. Proceed?".format(rs_desc),
                "confirm_url":
                "/rs/{}/".format(kwargs['pk']),
                "return_url":
                return_url
            })
Exemplo n.º 5
0
    def delete(self, request, *args, **kwargs):
        try:
            reading_system = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            print("not found")
            return render(request, "404.html", {})

        if permissions.user_can_edit_reading_system(request.user, reading_system) == False:
            messages.add_message(request, messages.INFO, 'You do not have permission to delete that reading system.')
            return redirect("/manage/")
        
        reading_system.delete_associated()
        reading_system.delete()
        messages.add_message(request, messages.INFO, "Reading system deleted")
        return HttpResponse(status=204)
Exemplo n.º 6
0
    def delete(self, request, *args, **kwargs):
        try:
            reading_system = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            print("not found")
            return render(request, "404.html", {})

        if permissions.user_can_edit_reading_system(request.user,
                                                    reading_system) == False:
            messages.add_message(
                request, messages.INFO,
                'You do not have permission to delete that reading system.')
            return redirect("/manage/")

        reading_system.delete_associated()
        reading_system.delete()
        messages.add_message(request, messages.INFO, "Reading system deleted")
        return HttpResponse(status=204)
Exemplo n.º 7
0
    def get(self, request, *args, **kwargs):
        try:
            reading_system = ReadingSystem.objects.get(id=kwargs['pk'])
        except ReadingSystem.DoesNotExist:
            return render(request, "404.html", {})

        return_url = request.GET.get('return', '/manage/')

        if permissions.user_can_edit_reading_system(request.user, reading_system) == False:
            messages.add_message(request, messages.INFO, 'You do not have permission to delete that reading system.')
            return redirect(return_url)
        
        rs_desc = "{0} {1} {2} {3}".format(reading_system.name, reading_system.version, \
            reading_system.operating_system, reading_system.operating_system_version)
        return render(request, self.template_name,
            {"header": 'Confirm Delete Reading System',
            "warning": "You are about to delete '{0}'. Proceed?".format(rs_desc),
            "confirm_url": "/rs/{}/".format(kwargs['pk']),
            "return_url": return_url
            })
Exemplo n.º 8
0
def user_can_edit(user, reading_system):
    return permissions.user_can_edit_reading_system(user, reading_system)
Exemplo n.º 9
0
def user_can_edit(user, reading_system):
    return permissions.user_can_edit_reading_system(user, reading_system)