A Django content management system focused on flexibility and user experience
Find a file
Matt Westcott 6c0f2235a4 Disable client-side validation on all admin forms #2942
* Revert "Disable client-side validation on Django 1.10 for multipart forms"

This reverts commit 197d85ce9f.

* Disable client-side validation on all admin forms

Client-side validation fails to handle all the nuances of how forms are
used in Wagtail, such as indicating errors across tabbed forms, and generally
results in a worse user experience than our existing server-side validation.

Fixes #2934

* Don't pre-emptively validate long-running forms if novalidate is set

We run checkValidity before enabling the spinner on long-running forms, so that we don't end up with a form that's been blocked from submission but still has the spinner running. Unfortunately, if novalidate is set, then checkValidity still returns False and aborts enabling the spinner, even though the 'real' validation (the one that prevents submission) never happens.

To make matters worse, if we abort before we've set up the cancelSpinner function, and then promptly encounter a custom onsubmit handler that recognises the error and attempts to call cancelSpinner, the JS breaks completely.

Eww.

To remedy this, we now only run checkValidity on forms that don't have novalidate, and only after setting up cancelSpinner.
2016-08-26 10:49:29 +03:00
.tx Set up translations for modeladmin and table_block apps 2016-05-11 21:17:56 +01:00
client Move version from wagtail.wagtailcore to wagtail 2016-08-18 12:05:33 +01:00
docs Release notes for #2937 2016-08-25 19:03:47 +03:00
etc etc: add sample uwsgi and nginx configuration files 2015-05-01 15:02:29 +01:00
gulpfile.js Modeladmin scss cleanups (#2481) 2016-04-16 17:15:47 +01:00
scripts Removed drone images 2016-06-20 15:57:30 +01:00
wagtail Disable client-side validation on all admin forms #2942 2016-08-26 10:49:29 +03:00
.babelrc Tooling for modern front-end components: React JS, ES6, and BEM CSS 2016-02-25 13:32:48 +00:00
.coveragerc Update .coveragerc 2015-12-23 00:09:44 +01:00
.drone.yml rollback to Drone 0.4 2016-07-19 15:20:29 +01:00
.editorconfig Fix indent_size typo 2016-06-19 11:59:49 +01:00
.eslintignore Tooling for modern front-end components: React JS, ES6, and BEM CSS 2016-02-25 13:32:48 +00:00
.eslintrc Tooling for modern front-end components: React JS, ES6, and BEM CSS 2016-02-25 13:32:48 +00:00
.gitignore gitignore clients nodemodules 2016-03-07 09:54:07 +00:00
.scss-lint.yml Modeladmin scss cleanups (#2481) 2016-04-16 17:15:47 +01:00
.travis.yml Disallow CI failures on Django 1.10 2016-06-28 16:44:20 +01:00
CHANGELOG.txt Release notes for #2937 2016-08-25 19:03:47 +03:00
CODE_OF_CONDUCT.md Add Contributor Covenant 2016-02-03 15:47:50 +00:00
conftest.py Implement support for using pytest (#2735) 2016-06-17 15:06:21 +01:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-02-03 07:59:29 +00:00
CONTRIBUTORS.rst Update translator credits 2016-08-18 11:57:36 +01:00
LICENSE Add an initially empty django-wagtail package 2014-01-22 12:27:23 +00:00
Makefile Run isort as part of 'make lint' 2016-06-23 16:31:44 +01:00
MANIFEST.in Improvements to MANIFEST.IN 2016-03-09 14:30:25 +00:00
npm-shrinkwrap.json freeze NPM packages at a point in time when they actually appear to collectively work 2016-05-04 16:24:37 +01:00
package.json freeze NPM packages at a point in time when they actually appear to collectively work 2016-05-04 16:24:37 +01:00
README.rst Fix URL under package version badge (#2806) 2016-06-30 19:12:02 +01:00
runtests.py Forcibly delete ELASTICSEARCH_URL from environment to skip those tests unless --elasticsearch specified 2016-05-03 17:19:29 +01:00
setup.cfg Move flake8 config to setup.cfg 2016-06-23 16:31:44 +01:00
setup.py Upgrade BeautifulSoup→4.5.1; restore html5lib import 2016-08-25 12:42:57 +01:00
tox.ini Make elasticsearch-specific tests from wagtailimages / wagtaildocs run under tox 2016-07-04 20:32:31 +01:00
webpack.base.config.js Fixing webpack config for production mode. 2016-06-21 12:36:39 +01:00
webpack.dev.config.js Fixing webpack config for production mode. 2016-06-21 12:36:39 +01:00
webpack.prd.config.js Tooling for modern front-end components: React JS, ES6, and BEM CSS 2016-02-25 13:32:48 +00:00

.. image:: https://api.travis-ci.org/torchbox/wagtail.svg?branch=master
    :target: https://travis-ci.org/torchbox/wagtail
.. image:: https://img.shields.io/pypi/l/wagtail.svg
    :target: https://pypi.python.org/pypi/wagtail/
.. image:: https://img.shields.io/pypi/v/wagtail.svg
    :target: https://pypi.python.org/pypi/wagtail/
.. image:: https://coveralls.io/repos/torchbox/wagtail/badge.svg?branch=master
    :target: https://coveralls.io/r/torchbox/wagtail?branch=master

Wagtail CMS
===========

Wagtail is a content management system built on Django. It's focused on user experience,
and offers precise control for designers and developers.

.. image:: http://i.imgur.com/U5MDa0l.jpg
   :width: 728 px

Features
~~~~~~~~

* A fast, attractive interface for authors and editors
* Complete control over design with standard Django templates
* Configure content types through standard Django models
* Fast out of the box. Cache-friendly if you need it
* Tightly integrated search
* Strong document and image management
* Wide support for embedded content
* Straightforward integration with existing Django apps
* Simple, configurable permissions
* Workflow support
* An extensible `form builder <http://docs.wagtail.io/en/latest/reference/contrib/forms.html>`_
* Multi-site and multi-language support
* Optional `static site generation <http://docs.wagtail.io/en/latest/reference/contrib/staticsitegen.html>`_
* Excellent `test coverage <https://coveralls.io/r/torchbox/wagtail?branch=master>`_

Find out more at `wagtail.io <http://wagtail.io/>`_.

Getting started
~~~~~~~~~~~~~~~

.. code-block:: sh

    pip install wagtail
    wagtail start mysite
    cd mysite
    python manage.py migrate
    python manage.py createsuperuser
    python manage.py runserver

then sign in at http://127.0.0.1:8000/admin/

For detailed installation and setup docs, see `docs.wagtail.io <http://docs.wagtail.io/>`_.

Who's using it?
~~~~~~~~~~~~~~~
`madewithwagtail.org <http://madewithwagtail.org>`_ lists some of the public Wagtail sites we know about; please `add your own <http://madewithwagtail.org/submit/>`_.

Documentation
~~~~~~~~~~~~~
`docs.wagtail.io <http://docs.wagtail.io/>`_ is the full reference for Wagtail, and includes guides for developers, designers and editors, alongside release notes and our roadmap.

Community Support
~~~~~~~~~~~~~~~~~
Ask your questions on our `Wagtail support group <https://groups.google.com/forum/#!forum/wagtail>`_.

Commercial Support
~~~~~~~~~~~~~~~~~~
Wagtail is sponsored by `Torchbox <https://torchbox.com/>`_. If you need help implementing or hosting Wagtail, please contact us: hello@torchbox.com.

Compatibility
~~~~~~~~~~~~~
Wagtail supports Django 1.8.1+ on Python 2.7, 3.3, 3.4 and 3.5. Supported database backends are PostgreSQL, MySQL and SQLite.

Contributing
~~~~~~~~~~~~
If you're a Python or Django developer, fork the repo and get stuck in! We run a separate group for developers of Wagtail itself at https://groups.google.com/forum/#!forum/wagtail-developers (please note that this is not for support requests).

You might like to start by reviewing the `coding guidelines <http://docs.wagtail.io/en/latest/contributing/developing.html#coding-guidelines>`_ and checking issues with the `Ready to develop <https://github.com/torchbox/wagtail/issues?q=is%3Aopen+is%3Aissue+label%3A%22Ready+to+develop%21%22>`_ label.

Send us a particularly useful pull request and we'll post you a `t-shirt <https://twitter.com/WagtailCMS/status/432166799464210432/photo/1>`_.

We also welcome translations for Wagtail's interface. Translation work should be submitted through `Transifex <https://www.transifex.com/projects/p/wagtail/>`_.