Exemple #1
0
 def test_flatpage_requires_leading_slash(self):
     form = FlatpageForm(
         data=dict(url="no_leading_slash/", **self.form_data))
     with translation.override("en"):
         self.assertFalse(form.is_valid())
         self.assertEqual(form.errors["url"],
                          ["URL is missing a leading slash."])
Exemple #2
0
 def test_flatpage_requires_trailing_slash_with_append_slash(self):
     form = FlatpageForm(
         data=dict(url='/no_trailing_slash', **self.form_data))
     with translation.override('en'):
         self.assertFalse(form.is_valid())
         self.assertEqual(form.errors['url'],
                          ["URL is missing a trailing slash."])
Exemple #3
0
def add_flatpage(request):
	context_instance = RequestContext(request)
	info = {}

	form = FlatpageForm()

	if request.method == 'POST':
		data = request.POST.copy()
		data['sites'] = 1
		data['flatPage'] = FlatPage()
		res = validate_flatpage(data)
		if res:
			form = FlatpageForm(data)
			if form.is_valid():
				try:				
					form.save()
					messages.success(request, 'Created new site page.')
					return redirect('add_flatpage')
				except Exception as e:
					print e
					messages.error(request, 'An error has occurred.')
		else:
			messages.error(request, 'Site page with url %s already exists.' % data['url'])

	info['form'] = form
	info['mod'] = 'Create'

	return render_to_response('admin/flatpages/add_flatpage.html',info,context_instance)
Exemple #4
0
 def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(self):
     form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
     self.assertTrue(form.is_valid())
     with translation.override('en'):
         self.assertEqual(
             form.fields['url'].help_text,
             "Example: '/about/contact'. Make sure to have a leading slash."
         )
Exemple #5
0
    def test_flatpage_nosites(self):
        data = dict(url='/myflatpage1/', **self.form_data)
        data.update({'sites': ''})

        f = FlatpageForm(data=data)

        self.assertFalse(f.is_valid())

        self.assertEqual(f.errors, {'sites': [translation.gettext('This field is required.')]})
Exemple #6
0
 def test_flatpage_requires_trailing_slash_with_append_slash(self):
     form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
     with translation.override('en'):
         self.assertEqual(
             form.fields['url'].help_text,
             "Example: '/about/contact/'. Make sure to have leading and "
             "trailing slashes."
         )
         self.assertFalse(form.is_valid())
         self.assertEqual(form.errors['url'], ["URL is missing a trailing slash."])
Exemple #7
0
 def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(
         self):
     form = FlatpageForm(
         data=dict(url="/no_trailing_slash", **self.form_data))
     self.assertTrue(form.is_valid())
     with translation.override("en"):
         self.assertEqual(
             form.fields["url"].help_text,
             "Example: “/about/contact”. Make sure to have a leading slash.",
         )
Exemple #8
0
    def test_flatpage_nosites(self):
        data = dict(url='/myflatpage1/', **self.form_data)
        data.update({'sites': ''})

        f = FlatpageForm(data=data)

        self.assertFalse(f.is_valid())

        self.assertEqual(
            f.errors,
            {'sites': [translation.ugettext('This field is required.')]})
Exemple #9
0
 def test_flatpage_requires_trailing_slash_with_append_slash(self):
     form = FlatpageForm(
         data=dict(url='/no_trailing_slash', **self.form_data))
     with translation.override('en'):
         self.assertEqual(
             form.fields['url'].help_text,
             "Example: '/about/contact/'. Make sure to have leading and "
             "trailing slashes.")
         self.assertFalse(form.is_valid())
         self.assertEqual(form.errors['url'],
                          ["URL is missing a trailing slash."])
Exemple #10
0
    def test_flatpage_nosites(self):
        data = dict(url="/myflatpage1/", **self.form_data)
        data.update({"sites": ""})

        f = FlatpageForm(data=data)

        self.assertFalse(f.is_valid())

        self.assertEqual(
            f.errors,
            {"sites": [translation.gettext("This field is required.")]})
Exemple #11
0
    def test_flatpage_admin_form_url_uniqueness_validation(self):
        "The flatpage admin form correctly enforces url uniqueness among flatpages of the same site"
        data = dict(url='/myflatpage1', **self.form_data)

        FlatpageForm(data=data).save()

        f = FlatpageForm(data=data)

        self.assertFalse(f.is_valid())

        self.assertEqual(
            f.errors,
            {'__all__': [u'Flatpage with url /myflatpage1 already exists for site example.com']})
Exemple #12
0
    def test_flatpage_admin_form_url_validation(self):
        "The flatpage admin form correctly validates urls"
        self.assertTrue(
            FlatpageForm(
                data=dict(url='/new_flatpage/', **self.form_data)).is_valid())
        self.assertTrue(
            FlatpageForm(data=dict(url='/some.special~chars/',
                                   **self.form_data)).is_valid())
        self.assertTrue(
            FlatpageForm(data=dict(url='/some.very_special~chars-here/',
                                   **self.form_data)).is_valid())

        self.assertFalse(
            FlatpageForm(
                data=dict(url='/a space/', **self.form_data)).is_valid())
        self.assertFalse(
            FlatpageForm(
                data=dict(url='/a % char/', **self.form_data)).is_valid())
        self.assertFalse(
            FlatpageForm(
                data=dict(url='/a ! char/', **self.form_data)).is_valid())
        self.assertFalse(
            FlatpageForm(
                data=dict(url='/a & char/', **self.form_data)).is_valid())
        self.assertFalse(
            FlatpageForm(
                data=dict(url='/a ? char/', **self.form_data)).is_valid())
Exemple #13
0
    def test_flatpage_admin_form_edit(self):
        """
        Existing flatpages can be edited in the admin form without triggering
        the url-uniqueness validation.
        """
        existing = FlatPage.objects.create(
            url="/myflatpage1/", title="Some page", content="The content")
        existing.sites.add(settings.SITE_ID)

        data = dict(url='/myflatpage1/', **self.form_data)

        f = FlatpageForm(data=data, instance=existing)

        self.assertTrue(f.is_valid(), f.errors)

        updated = f.save()

        self.assertEqual(updated.title, "A test page")
Exemple #14
0
    def test_flatpage_admin_form_edit(self):
        """
        Existing flatpages can be edited in the admin form without triggering
        the url-uniqueness validation.
        """
        existing = FlatPage.objects.create(
            url="/myflatpage1/", title="Some page", content="The content")
        existing.sites.add(settings.SITE_ID)

        data = dict(url='/myflatpage1/', **self.form_data)

        f = FlatpageForm(data=data, instance=existing)

        self.assertTrue(f.is_valid(), f.errors)

        updated = f.save()

        self.assertEqual(updated.title, "A test page")
Exemple #15
0
    def test_flatpage_admin_form_url_uniqueness_validation(self):
        """
        The flatpage admin form correctly enforces url uniqueness among
        flatpages of the same site.
        """
        data = dict(url="/myflatpage1/", **self.form_data)

        FlatpageForm(data=data).save()

        f = FlatpageForm(data=data)

        with translation.override("en"):
            self.assertFalse(f.is_valid())

            self.assertEqual(
                f.errors,
                {
                    "__all__": [
                        "Flatpage with url /myflatpage1/ already exists for site "
                        "example.com"
                    ]
                },
            )
Exemple #16
0
def privacy_edit(request):
    """Privacy statements page"""
    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse('index'))

    page_model = FlatPage.objects.get(url='/legal/privacy/')

    if request.method == 'POST':
        form = FlatpageForm(request.POST or None, instance=page_model)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('privacy'))
    else:
        form = FlatpageForm(instance=page_model)

    return render(request, 'om/legal/edit_privacy.html', {'form': form})
Exemple #17
0
def imprint_edit(request):
    """Imprint and contact information page"""
    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse('index'))

    page_model = FlatPage.objects.get(url='/legal/imprint/')

    if request.method == 'POST':
        form = FlatpageForm(request.POST or None, instance=page_model)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('imprint'))
    else:
        form = FlatpageForm(instance=page_model)

    return render(request, 'om/legal/edit_imprint.html', {'form': form})
Exemple #18
0
 def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(self):
     form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
     self.assertTrue(form.is_valid())
Exemple #19
0
 def test_flatpage_requires_trailing_slash_with_append_slash(self):
     form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
     with translation.override('en'):
         self.assertFalse(form.is_valid())
         self.assertEqual(form.errors['url'], ["URL is missing a trailing slash."])
Exemple #20
0
 def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(
         self):
     form = FlatpageForm(
         data=dict(url='/no_trailing_slash', **self.form_data))
     self.assertTrue(form.is_valid())