Skip to content

Commit

Permalink
prepare 0.8.5; add range_select plugin; add slider plugin and corresp…
Browse files Browse the repository at this point in the history
…onding bootstrap3 widget; fixes in readme; fixed issue with form-wizard file storage; fixed too much of extreme data view- and export- restrictions of the db_store form handler plugin; minor fixes in select_multiple_with_max plugin; migration fixes for django 1.8 and 1.9
  • Loading branch information
barseghyanartur committed Oct 20, 2016
1 parent 7d8cced commit e8d0bc3
Show file tree
Hide file tree
Showing 114 changed files with 3,726 additions and 329 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -15,6 +15,19 @@ are used for versioning (schema follows below):
0.3.4 to 0.4).
- All backwards incompatible changes are mentioned in this document.

0.8.5
-----
2016-10-20

- Add `percentage` and `slider_percentage` form field plugins.
- Fixed custom CSS classes not appearing in the rendered HTML of the field
plugin/widget.
- Fixed issue with undefined file storage for form wizards. From now on
the `FileSystemStorage` storage is used for wizard uploads.
- Fixed too much of extreme data view/export security of the `db_store`
plugin.
- Backwards compatibility fixes for Django < 1.7.

0.8.4
-----
2016-10-19
Expand Down
66 changes: 44 additions & 22 deletions LICENSES.rst
@@ -1,49 +1,72 @@
==============================
========
Licenses
==============================
========
Below information about third-party packages used in the project is presented.

Bootstrap3
==============================
==========
http://getbootstrap.com/

Licensing information:

- Apache license 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Bootstrap 3 DateTime picker
==============================
===========================
http://eonasdan.github.io/bootstrap-datetimepicker/

- MIT (http://opensource.org/licenses/mit-license.html)

bootstrap-slider
================
https://github.com/seiyria/bootstrap-slider

- MIT (http://opensource.org/licenses/mit-license.html)

django-autoslug
==============================
===============
https://bitbucket.org/neithere/django-autoslug

Licensing information:

- LGPL 3 (https://www.gnu.org/licenses/lgpl.html)

django-formtools
================
https://github.com/django/django-formtools

Licensing information:

- BSD (http://opensource.org/licenses/BSD-3-Clause)

django-nine
==============================
===========
https://github.com/barseghyanartur/django-nine

Licensing information:

- GPL 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)
- LGPL 2.1 (https://www.gnu.org/licenses/lgpl-2.1.html)

django-nonefield
================
https://github.com/barseghyanartur/django-nonefield

Licensing information:

- GPL 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)
- LGPL 2.1 (https://www.gnu.org/licenses/lgpl-2.1.html)

easy-thumbnails
==============================
===============
https://github.com/SmileyChris/easy-thumbnails

Licensing information:

- BSD (http://opensource.org/licenses/BSD-3-Clause)

Font-awesome
==============================
============
http://fontawesome.io/

Licensing information:
Expand All @@ -53,31 +76,31 @@ Licensing information:
- MIT (http://opensource.org/licenses/mit-license.html)

Foundation 5
==============================
============
http://foundation.zurb.com/

Licensing information:

- MIT (http://opensource.org/licenses/mit-license.html)

Foundation 5 DateTime picker
==============================
============================
https://github.com/aliibrahim/foundation-datetimepicker-rails

Licensing information:

- MIT (http://opensource.org/licenses/mit-license.html)

jQuery Colorbox
==============================
===============
http://www.jacklmoore.com/colorbox/

Licensing information:

- MIT (http://www.opensource.org/licenses/mit-license.php)

jQuery
==============================
======
https://jquery.org

Licensing information:
Expand All @@ -86,75 +109,74 @@ Licensing information:
- MIT (http://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt)

jQueryUI
==============================
========
http://jqueryui.com/

Licensing information:

- MIT (https://github.com/jquery/jquery-ui/blob/master/MIT-LICENSE.txt)

jQuery-Slugify-Plugin
==============================
=====================
https://github.com/pmcelhaney/jQuery-Slugify-Plugin

Licensing information:

- BSD (https://github.com/pmcelhaney/jQuery-Slugify-Plugin/blob/master/LICENSE).

moment.js
==============================
=========
http://momentjs.com/

Licensing information:

- MIT (http://opensource.org/licenses/mit-license.html)

ordereddict
==============================
===========
https://pypi.python.org/pypi/ordereddict

Licensing information:

- MIT (http://opensource.org/licenses/mit-license.html)

Pillow
==============================
======
http://python-pillow.github.io/

Licensing information:

- Python Imaging Library license (http://www.pythonware.com/products/pil/)

Requests
==============================
========
https://python-requests.org

Licensing information:

- MIT (http://opensource.org/licenses/mit-license.html)

Six
==============================
===
https://bitbucket.org/gutworth/six/

Licensing information:

- Apache 2.0 (http://opensource.org/licenses/Apache-2.0)

Unidecode
==============================
=========
https://pypi.python.org/pypi/Unidecode

Licensing information:

- GPL 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

vishap
==============================
======
https://pypi.python.org/pypi/vishap

Licensing information:

- GPL 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)
- LGPL 2.1 (https://www.gnu.org/licenses/lgpl-2.1.html)

1 change: 1 addition & 0 deletions MANIFEST.in
Expand Up @@ -16,6 +16,7 @@ recursive-include src/fobi/contrib/themes/bootstrap3/static *
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/datetime_bootstrap3_widget/static *
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/date_bootstrap3_widget/static *
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/dummy_bootstrap3_widget/static *
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/slider_bootstrap3_widget/static *
recursive-include src/fobi/contrib/themes/foundation5/static *
recursive-include src/fobi/contrib/themes/foundation5/widgets/form_elements/datetime_foundation5_widget/static *
recursive-include src/fobi/contrib/themes/foundation5/widgets/form_elements/date_foundation5_widget/static *
Expand Down
34 changes: 17 additions & 17 deletions README.rst
Expand Up @@ -10,15 +10,9 @@ handling the submitted form data).

Prerequisites
=============
- Django 1.5, 1.6, 1.7, 1.8, 1.9
- Django 1.5, 1.6, 1.7, 1.8, 1.9, 1.10
- Python >= 2.6.8, >= 2.7, >= 3.3

Note, that Django 1.10 is not yet proclaimed to be flawlessly supported,
however it's in progress. The latest core and contrib packages (from master
branch, with no additional dependencies) have been tested against the latest
stable Django 1.10 release. All tests have successfully passed, although it's
yet too early to claim that Django 1.10 is fully supported.

Key concepts
============
- Each form consists of elements. Form elements are divided into two groups:
Expand Down Expand Up @@ -48,6 +42,9 @@ Main features and highlights
- User-friendly GUI to quickly build forms.
- Large variety of `Bundled form element plugins`_. Most of the Django fields
are supported. `HTML5 fields`_ are supported as well.
- `Form wizards`_. Combine your forms into wizards. Form wizards may contain
handlers. Handler processes the form wizard data (for example, saves it or
mails it). Number of the form wizard handlers is not limited.
- Anti-spam solutions like `CAPTCHA
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/security/captcha>`_,
`ReCAPTCHA
Expand All @@ -70,7 +67,6 @@ Main features and highlights
and "DjangoCMS admin style" theme (which is another simple theme with editing
interface in style of `djangocms-admin-style
<https://github.com/divio/djangocms-admin-style>`_).
- `Form wizards`_.
- Implemented `integration with FeinCMS
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/apps/feincms_integration>`_
(in a form of a FeinCMS page widget).
Expand Down Expand Up @@ -454,7 +450,7 @@ Why to have another file for defining forms? Just to keep the code clean and
less messy, although you could perfectly define all your plugin forms in the
module `fobi_form_elements.py`, it's recommended to keep it separate.

Take into consideration, that `forms.py` is not an autodiscovered file pattern.
Take into consideration, that `forms.py` is not an auto-discovered file pattern.
All your form element plugins should be registered in modules named
`fobi_form_elements.py`.

Expand Down Expand Up @@ -678,7 +674,7 @@ Why to have another file for defining forms? Just to keep the code clean and
less messy, although you could perfectly define all your plugin forms in the
module `fobi_form_handlers.py`, it's recommended to keep it separate.

Take into consideration, that `forms.py` is not an autodiscovered file pattern.
Take into consideration, that `forms.py` is not an auto-discovered file pattern.
All your form handler plugins should be registered in modules named
`fobi_form_handlers.py`.

Expand Down Expand Up @@ -1570,7 +1566,7 @@ in directory of each plugin for details.

Fields
~~~~~~
Fields marked with asterics (*) fall under the definition of text elements.
Fields marked with asterisk (*) fall under the definition of text elements.
It's possible to provide `Dynamic initial values`_ for text elements.

- `Boolean (checkbox)
Expand All @@ -1591,10 +1587,6 @@ It's possible to provide `Dynamic initial values`_ for text elements.
<https://github.com/barseghyanartur/django-fobi/tree/master/src/fobi/contrib/plugins/form_elements/fields/float>`_
- `Hidden*
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/hidden/>`_
- `Password*
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/password/>`_
- `Radio select (radio button)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/radio/>`_
- `Input
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/input/>`_
- `IP address*
Expand All @@ -1603,16 +1595,24 @@ It's possible to provide `Dynamic initial values`_ for text elements.
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/integer/>`_
- `Null boolean
<https://github.com/barseghyanartur/django-fobi/tree/master/src/fobi/contrib/plugins/form_elements/fields/null_boolean>`_
- `Password*
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/password/>`_
- `Radio select (radio button)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/radio/>`_
- `Range select
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/range_select/>`_
- `Select (drop-down)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/select/>`_
- `Select model object (drop-down)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/select_model_object/>`_
- `Select multiple (drop-down)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/select_multiple/>`_
- `Slug*
<https://github.com/barseghyanartur/django-fobi/tree/master/src/fobi/contrib/plugins/form_elements/fields/slug>`_
- `Select multiple model objects (drop-down)
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/select_multiple_model_objects/>`_
- `Slider
<https://github.com/barseghyanartur/django-fobi/tree/master/src/fobi/contrib/plugins/form_elements/fields/slider>`_
- `Slug*
<https://github.com/barseghyanartur/django-fobi/tree/master/src/fobi/contrib/plugins/form_elements/fields/slug>`_
- `Text*
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/text/>`_
- `Textarea*
Expand Down
17 changes: 14 additions & 3 deletions TODOS.rst
Expand Up @@ -22,16 +22,27 @@ Regarding the form wizards
in case of private forms/wizards, they should be visible to author only,
while being visible to everyone in case of public forms/wizards.
+ Update `fobi_update_plugin_data` module with form-wizard.
- Make sure to update the MANIFEST.in to include all additional templates.
+ Make sure to update the MANIFEST.in to include all additional templates.
+ Find a way to handle duplicates in saved form data in wizards (if labels
are same within a couple of forms of the wizard).
+ Add link/switch between forms and form wizards in the main template and
separate listing templates.
+ Make sure to include django-formtools package in the requirements.
- Add navigation buttons to the form wizards.
+ Add navigation buttons to the form wizards.
- Rethink the new navigation of forms and form wizards.
- Add support for form wizard conditions.

General
Roadmap
-------
- django-rest-framework integration.
- Reusable React app to communicate with django-rest-framework integration
app.

Uncategorised
-------------
- Make sure form element plugin widgets allow more customisations than
they do now. For instance, setting an additional class or additional data
attributes should be made really easy. A must!
+ Finish the NoneField.
+ At the moment, NoneField is imported in the function scope. See if that works
already to move
Expand Down
8 changes: 4 additions & 4 deletions examples/requirements/common_python2.txt
Expand Up @@ -20,10 +20,10 @@ pickleshare==0.5
Pillow==3.0.0
pluggy==0.3.1
ptyprocess==0.5
py==1.4.30
#py==1.4.31
Pygments==2.0.2
pytz==2015.6
requests==2.8.1
#requests==2.8.1
selenium==2.53.6
simplegeneric==0.8.1
simplejson==3.8.0
Expand All @@ -33,7 +33,7 @@ Sphinx==1.3.1
sphinx-rtd-theme==0.1.9
sqlparse==0.1.17
traitlets==4.0.0
Unidecode==0.4.18
#Unidecode==0.4.18
virtualenv==13.1.2
vishap==0.1.5
#vishap>=0.1.5
wheel==0.24.0
1 change: 0 additions & 1 deletion examples/requirements/common_test_requirements.txt
@@ -1,6 +1,5 @@
factory_boy==2.7.0
fake-factory==0.7.2
py==1.4.31
pytest==3.0.2
pytest-django==2.9.1
pytest-cov==2.2.1
Expand Down

0 comments on commit e8d0bc3

Please sign in to comment.