From 73b3d46ef3d08d8ea2b9865b383ca4a3cad568c3 Mon Sep 17 00:00:00 2001 From: Artur Barseghyan Date: Mon, 31 Jul 2017 04:15:46 +0200 Subject: [PATCH] prepare 0.12.1 --- .gitignore | 1 + .hgignore | 1 + CHANGELOG.rst | 3 +- docs/changelog.rst | 3 +- examples/requirements/django_1_10.txt | 1 + examples/requirements/django_1_5.txt | 1 - examples/requirements/django_1_6.txt | 1 - examples/requirements/django_1_7.txt | 3 +- examples/requirements/django_1_8.txt | 5 +- examples/requirements/django_1_9.txt | 2 +- setup.py | 2 +- src/fobi/__init__.py | 4 +- .../contrib/themes/bootstrap3/fobi_themes.py | 1 + src/fobi/contrib/themes/simple/fobi_themes.py | 109 ++++++-- .../simple/templates/simple/dashboard.html | 3 + .../simple/edit_form_wizard_entry.html | 7 + .../simple/edit_form_wizard_entry_ajax.html | 252 ++++++++++++++++++ .../simple/form_wizards_dashboard.html | 116 ++++++++ .../form_wizard_properties_snippet.html | 30 +++ .../simple/snippets/form_wizard_snippet.html | 23 ++ .../simple/view_form_wizard_entry.html | 1 + .../simple/view_form_wizard_entry_ajax.html | 1 + 22 files changed, 531 insertions(+), 39 deletions(-) create mode 100644 src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry_ajax.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/form_wizards_dashboard.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_properties_snippet.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_snippet.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry.html create mode 100644 src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry_ajax.html diff --git a/.gitignore b/.gitignore index 2b10a9f9..48c0ed66 100644 --- a/.gitignore +++ b/.gitignore @@ -64,6 +64,7 @@ README_PARTS.rst /examples/quick_start/db.sqlite3 /examples/quickstart/ /examples/static/ +/examples/_static/ /examples/requirements/wagtail.txt #/examples/wagtaildemo/ /examples/wagtail_example_/ diff --git a/.hgignore b/.hgignore index 77bcf7fc..baacaec8 100644 --- a/.hgignore +++ b/.hgignore @@ -31,6 +31,7 @@ syntax: regexp ^examples/media/fobi_plugins/content_image/ ^examples/media/fobi_plugins/file/ ^examples/static/ +^examples/_static/ ^examples/simple/settings/local_settings\.py ^examples/simple/settings/local_settings_foundation5\.py ^examples/mezzanine_example/static/media/fobi_plugins/ diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e65d041e..66b0ccca 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -17,8 +17,9 @@ are used for versioning (schema follows below): 0.12.1 ------ -yyyy-mm-dd (not released yet) +2017-07-31 +- Reflect form-wizards support changes in the `simple` theme. - Fixes in docs. 0.12 diff --git a/docs/changelog.rst b/docs/changelog.rst index e65d041e..66b0ccca 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -17,8 +17,9 @@ are used for versioning (schema follows below): 0.12.1 ------ -yyyy-mm-dd (not released yet) +2017-07-31 +- Reflect form-wizards support changes in the `simple` theme. - Fixes in docs. 0.12 diff --git a/examples/requirements/django_1_10.txt b/examples/requirements/django_1_10.txt index 9c0e8e20..047a327f 100644 --- a/examples/requirements/django_1_10.txt +++ b/examples/requirements/django_1_10.txt @@ -7,4 +7,5 @@ Django>=1.10,<1.11 django-admin-tools>=0.8.0 django-debug-toolbar==1.5 django-registration-redux>=1.4 +django-simple-captcha==0.5.5 sqlparse==0.2.2 diff --git a/examples/requirements/django_1_5.txt b/examples/requirements/django_1_5.txt index ccfa5147..fef6c29f 100644 --- a/examples/requirements/django_1_5.txt +++ b/examples/requirements/django_1_5.txt @@ -6,6 +6,5 @@ Django>=1.5,<1.6 South>=0.8.2 django-admin-tools==0.5.2 django-debug-toolbar>=0.11.0 -#django-localeurl>=2.0.2 django-registration-redux==1.2 sqlparse==0.1.9 diff --git a/examples/requirements/django_1_6.txt b/examples/requirements/django_1_6.txt index 24bdabc9..97fdf117 100644 --- a/examples/requirements/django_1_6.txt +++ b/examples/requirements/django_1_6.txt @@ -6,6 +6,5 @@ Django>=1.6,<1.7 South>=0.8.2 django-admin-tools==0.5.2 django-debug-toolbar>=0.11.0 -#django-localeurl>=2.0.2 django-registration-redux==1.2 sqlparse==0.1.9 diff --git a/examples/requirements/django_1_7.txt b/examples/requirements/django_1_7.txt index 0305cc16..6e84b4fd 100644 --- a/examples/requirements/django_1_7.txt +++ b/examples/requirements/django_1_7.txt @@ -5,6 +5,5 @@ Django>=1.7,<1.8 django-admin-tools>=0.6.0 django-debug-toolbar==0.11.0 -#django-localeurl>=2.0.2 django-registration-redux==1.3 -sqlparse==0.1.9 \ No newline at end of file +sqlparse==0.1.9 diff --git a/examples/requirements/django_1_8.txt b/examples/requirements/django_1_8.txt index 2ce3cb65..358d1375 100644 --- a/examples/requirements/django_1_8.txt +++ b/examples/requirements/django_1_8.txt @@ -5,7 +5,8 @@ Django>=1.8,<1.9 django-admin-tools>=0.6.0 -django-debug-toolbar==0.11.0 -django-formtools +django-debug-toolbar==1.4 +#django-formtools django-registration-redux>=1.4 +django-simple-captcha==0.5.5 sqlparse==0.1.9 diff --git a/examples/requirements/django_1_9.txt b/examples/requirements/django_1_9.txt index 68aca202..4bb61a80 100644 --- a/examples/requirements/django_1_9.txt +++ b/examples/requirements/django_1_9.txt @@ -8,10 +8,10 @@ django-admin-tools>=0.7.1 django-autoslug==1.9.3 django-debug-toolbar==1.5 django-formtools==1.0 -django-localeurl==2.0.2 django-nine>=0.1.10 django-nonefield>=0.1 django-registration-redux>=1.4 +django-simple-captcha==0.5.5 easy-thumbnails==2.3 vishap>=0.1.5 sqlparse==0.2.2 \ No newline at end of file diff --git a/setup.py b/setup.py index b3a4898f..09f151ac 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ import sys from distutils.version import LooseVersion from setuptools import setup, find_packages -version = '0.12' +version = '0.12.1' # *************************************************************************** # ************************** Python version ********************************* diff --git a/src/fobi/__init__.py b/src/fobi/__init__.py index 7bde7a8a..4d79d25c 100644 --- a/src/fobi/__init__.py +++ b/src/fobi/__init__.py @@ -1,6 +1,6 @@ __title__ = 'django-fobi' -__version__ = '0.12' -__build__ = 0x000089 +__version__ = '0.12.1' +__build__ = 0x00008a __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2017 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' diff --git a/src/fobi/contrib/themes/bootstrap3/fobi_themes.py b/src/fobi/contrib/themes/bootstrap3/fobi_themes.py index 3820c5df..ec67ba97 100644 --- a/src/fobi/contrib/themes/bootstrap3/fobi_themes.py +++ b/src/fobi/contrib/themes/bootstrap3/fobi_themes.py @@ -89,6 +89,7 @@ class Bootstrap3Theme(BaseTheme): form_wizard_properties_snippet_template_name = \ 'bootstrap3/snippets/form_wizard_properties_snippet.html' + # *********************************************************************** # **************************** Form entry CRUD ************************** # *********************************************************************** diff --git a/src/fobi/contrib/themes/simple/fobi_themes.py b/src/fobi/contrib/themes/simple/fobi_themes.py index 7d38a539..88c09a3d 100644 --- a/src/fobi/contrib/themes/simple/fobi_themes.py +++ b/src/fobi/contrib/themes/simple/fobi_themes.py @@ -35,9 +35,11 @@ class SimpleTheme(BaseTheme): # footer_text = '© django-fobi example site 2014' - # ************************************************************************* - # ********************** Form HTML specific ******************************* - # ************************************************************************* + # *********************************************************************** + # *********************************************************************** + # ********************** Form HTML specific ***************************** + # *********************************************************************** + # *********************************************************************** form_element_html_class = 'vTextField' form_radio_element_html_class = 'radiolist' form_element_checkbox_html_class = 'checkbox' @@ -54,54 +56,107 @@ class SimpleTheme(BaseTheme): # Important form_list_container_class = 'list-inline' - # ************************************************************************* - # ********************** Templates specific ******************************* - # ************************************************************************* + # *********************************************************************** + # *********************************************************************** + # **************************** Templates ******************************** + # *********************************************************************** + # *********************************************************************** + + # *********************************************************************** + # *************************** Base templates **************************** + # *********************************************************************** + master_base_template = 'simple/_base.html' base_template = 'simple/base.html' base_view_template = 'simple/base_view.html' base_edit_template = 'simple/base_edit.html' - form_ajax = 'simple/snippets/form_ajax.html' + # *********************************************************************** + # ***************************** Snippets ******************************** + # *********************************************************************** form_snippet_template_name = 'simple/snippets/form_snippet.html' - form_view_snippet_template_name = 'simple/snippets/form_view_snippet.html' - form_edit_ajax = 'simple/snippets/form_edit_ajax.html' - form_edit_snippet_template_name = 'simple/snippets/form_edit_snippet.html' form_properties_snippet_template_name = \ 'simple/snippets/form_properties_snippet.html' messages_snippet_template_name = 'simple/snippets/messages_snippet.html' + form_ajax = 'simple/snippets/form_ajax.html' + form_view_snippet_template_name = 'simple/snippets/form_view_snippet.html' - add_form_element_entry_template = 'simple/add_form_element_entry.html' - add_form_element_entry_ajax_template = \ - 'simple/add_form_element_entry_ajax.html' + form_edit_ajax = 'simple/snippets/form_edit_ajax.html' + form_edit_snippet_template_name = 'simple/snippets/form_edit_snippet.html' - add_form_handler_entry_template = 'simple/add_form_handler_entry.html' - add_form_handler_entry_ajax_template = \ - 'simple/add_form_handler_entry_ajax.html' + form_wizard_snippet_template_name = \ + 'simple/snippets/form_wizard_snippet.html' + form_wizard_properties_snippet_template_name = \ + 'simple/snippets/form_wizard_properties_snippet.html' + + # *********************************************************************** + # **************************** Form entry CRUD ************************** + # *********************************************************************** create_form_entry_template = 'simple/create_form_entry.html' create_form_entry_ajax_template = 'simple/create_form_entry_ajax.html' - dashboard_template = 'simple/dashboard.html' - forms_list_template = 'simple/forms_list.html' - - edit_form_element_entry_template = 'simple/edit_form_element_entry.html' - edit_form_element_entry_ajax_template = \ - 'simple/edit_form_element_entry_ajax.html' - edit_form_entry_template = 'simple/edit_form_entry.html' edit_form_entry_ajax_template = 'simple/edit_form_entry_ajax.html' - edit_form_handler_entry_template = 'simple/edit_form_handler_entry.html' - edit_form_handler_entry_ajax_template = \ - 'simple/edit_form_handler_entry_ajax.html' - form_entry_submitted_template = 'simple/form_entry_submitted.html' form_entry_submitted_ajax_template = \ 'simple/form_entry_submitted_ajax.html' view_form_entry_template = 'simple/view_form_entry.html' view_form_entry_ajax_template = 'simple/view_form_entry_ajax.html' + # *********************************************************************** + # *********************** Form element entry CUD ************************ + # *********************************************************************** + add_form_element_entry_template = 'simple/add_form_element_entry.html' + add_form_element_entry_ajax_template = \ + 'simple/add_form_element_entry_ajax.html' + + edit_form_element_entry_template = 'simple/edit_form_element_entry.html' + edit_form_element_entry_ajax_template = \ + 'simple/edit_form_element_entry_ajax.html' + # *********************************************************************** + # *********************** Form handler entry CUD ************************ + # *********************************************************************** + add_form_handler_entry_template = 'simple/add_form_handler_entry.html' + add_form_handler_entry_ajax_template = \ + 'simple/add_form_handler_entry_ajax.html' + + edit_form_handler_entry_template = 'simple/edit_form_handler_entry.html' + edit_form_handler_entry_ajax_template = \ + 'simple/edit_form_handler_entry_ajax.html' + + # *********************************************************************** + # ******************* Form wizard handler entry CUD ********************* + # *********************************************************************** + + # *********************************************************************** + # ***************************** Dashboard ******************************* + # *********************************************************************** + dashboard_template = 'simple/dashboard.html' + forms_list_template = 'simple/forms_list.html' + + # *********************************************************************** + # ************************ Form wizard entry CUD ************************ + # *********************************************************************** + create_form_wizard_entry_template = \ + 'simple/create_form_wizard_entry.html' + create_form_wizard_entry_ajax_template = \ + 'simple/create_form_wizard_entry_ajax.html' + + edit_form_wizard_entry_template = \ + 'simple/edit_form_wizard_entry.html' + edit_form_wizard_entry_ajax_template = \ + 'simple/edit_form_wizard_entry_ajax.html' + + view_form_wizard_entry_template = \ + 'simple/view_form_wizard_entry.html' + view_form_wizard_entry_ajax_template = \ + 'simple/view_form_wizard_entry_ajax.html' + + # *********************************************************************** + # ************************* Form importer templates ********************* + # *********************************************************************** import_form_entry_template = 'simple/import_form_entry.html' import_form_entry_ajax_template = 'simple/import_form_entry_ajax.html' diff --git a/src/fobi/contrib/themes/simple/templates/simple/dashboard.html b/src/fobi/contrib/themes/simple/templates/simple/dashboard.html index 0810c9bc..b9bf6277 100644 --- a/src/fobi/contrib/themes/simple/templates/simple/dashboard.html +++ b/src/fobi/contrib/themes/simple/templates/simple/dashboard.html @@ -34,6 +34,9 @@ {{ form_importer_name }} {% endfor %} +
  • + {% trans "Wizards"%} +
  • diff --git a/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry.html b/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry.html new file mode 100644 index 00000000..6bb6dd75 --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry.html @@ -0,0 +1,7 @@ +{% extends "fobi/generic/edit_form_wizard_entry.html" %} + +{% load i18n admin_static %} + +{% block stylesheets %} + +{% endblock stylesheets %} diff --git a/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry_ajax.html b/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry_ajax.html new file mode 100644 index 00000000..49c469bb --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/edit_form_wizard_entry_ajax.html @@ -0,0 +1,252 @@ +{% load i18n fobi_tags %} + +

    {% trans "Edit form wizard" %}

    + +
    + + +
    + +
    +

    {% trans "Change form elements" %}

    +
    + +
    +
    + + +
    +
    +
    + {% csrf_token %} + {% for form_wizard_form_entry in form_wizard_entry_forms %} +
    + + +
    +

    {{ form_wizard_form_entry.form_entry.name }}

    + + + + + + +
    +
    + {#% include fobi_theme.form_edit_snippet_template_name %#} + {% endfor %} + + {{ form_wizard_form_entry_formset.management_form }} +
    + +
    + +
    +
    +
    + +
    +
    + +
    + + +
    + + +
    +

    {% trans "Change form wizard handlers" %}

    +
    + +
    +
    + + +
    + + {% if form_wizard_handlers %} +
    +
    + + + + + {% comment %} + + {% endcomment %} + + + + + {% for form_wizard_handler in form_wizard_handlers %} + {% with form_wizard_handler.get_plugin as plugin %} + {% if plugin %} + + + + + {% endif %} + {% endwith %} + {% endfor %} + +
    +
    {% trans "Handler" %}
    +
    +
    +
    {% trans "Settings" %}
    +
    +
    +
    {% trans "Actions" %}
    +
    +
    {{ form_wizard_handler.plugin_name }} + {% if form_wizard_handler.plugin_data or plugin.plugin_data_repr %} + + ? + + {% endif %} + +
      + {% if form_wizard_handler.plugin_data %} +
    • {% trans "Edit" %}
    • + {% endif %} +
    • {% trans "Delete" %}
    • + {% get_fobi_form_wizard_handler_plugin_custom_actions plugin form_wizard_entry as form_wizard_handler_plugin_custom_actions %} + {#% for action in plugin.get_custom_actions %#} + {% for action in form_wizard_handler_plugin_custom_actions %} +
    • {{ action.1 }}
    • + {% endfor %} +
    +
    +
    +
    + {% endif %} +
    +
    +
    + + +
    + +
    +

    {% trans "Change form wizard properties" %}

    +
    +
    +
    + +
    +
    +
    + {% csrf_token %} + {% include fobi_theme.form_wizard_properties_snippet_template_name %} +
    +
    + +
    +
    +
    + +
    +
    + + +
    + +
    + +
    +

    {% trans "Service" %}

    +
    +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    +

    {% trans "Export your form wizard as JSON" %}

    +

    {% trans "Export your form into JSON format and import it again any time!" %}

    +

    + + {% trans "Export form wizard" %} + +

    +
    + +
    + +
    +

    {% trans "Delete your form wizard" %}

    +

    {% trans "Once deleted, can't be undone!" %}

    + +
    + +
    + +
    + +
    +
    + +
    + +
    diff --git a/src/fobi/contrib/themes/simple/templates/simple/form_wizards_dashboard.html b/src/fobi/contrib/themes/simple/templates/simple/form_wizards_dashboard.html new file mode 100644 index 00000000..91359983 --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/form_wizards_dashboard.html @@ -0,0 +1,116 @@ +{% extends fobi_theme.base_edit_template %} + +{% load i18n admin_static %} + +{% block page-title %}{% trans "Form wizards dashboard" %}{% endblock page-title %} + +{% block stylesheets %} + +{% endblock stylesheets %} + +{% block navbar-menu-content %} +{% endblock navbar-menu-content %} + +{% block bodyclass %}{% if is_popup %}popup {% endif %}change-list{% if fobi_theme %} theme {{ fobi_theme.html_class }}{% endif %}{% endblock %} + +{% block main-content-inner-attrs %}{% endblock main-content-inner-attrs %} + +{% block coltype %}flex{% endblock %} + +{% block content-wrapper %} + +

    {% trans "Your form wizards" %}

    + +
    + + +
    + + + +
    + + + + + + + {% comment %}{% endcomment %} + + + + + {% for form_wizard_entry in form_wizard_entries %} + + + + {##} + + + {% endfor %} + +
    +
    + {% trans "Name" %} +
    +
    +
    +
    + {% trans "Public?" %} +
    +
    +
    +
    + {% trans "Cloneable?" %} +
    +
    +
    +
    + {% trans "Actions" %} +
    +
    +
    {{ form_wizard_entry.name }}{{ form_wizard_entry.is_public }}{{ form_wizard_entry.is_cloneable }} + +
    +
    + +
    + +
    +{% endblock content-wrapper %} + +{% block sidebar-wrapper %} +{% endblock sidebar-wrapper %} diff --git a/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_properties_snippet.html b/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_properties_snippet.html new file mode 100644 index 00000000..51c82486 --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_properties_snippet.html @@ -0,0 +1,30 @@ +{% load i18n %} + {% comment %} +
    + {% blocktrans %}Fields marked with * are required{% endblocktrans %} +
    + {% endcomment %} + + {% for field in form %} +
    + {% if form.fields|length_is:'1' %}{{ form.errors }}{% endif %} + + + {% if not form.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} + {% if field.is_checkbox %} + {{ field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +

    {{ field.contents|linebreaksbr }}

    + {% else %} + {{ field }} + {% endif %} + {% endif %} + {% if field.field.help_text %} +

    {{ field.field.help_text|safe }}

    + {% endif %} +
    + +
    + {% endfor %} diff --git a/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_snippet.html b/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_snippet.html new file mode 100644 index 00000000..79af05a9 --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/snippets/form_wizard_snippet.html @@ -0,0 +1,23 @@ +{% extends "fobi/generic/snippets/form_wizard_snippet.html" %} + +{% load i18n fobi_tags %} + +{% block form_required_fields_message_wrapper_class %}well well-sm{% endblock %} + +{% block form_element_wrapper_hidden_html_class %}hidden{% endblock %} + +{% block form_element_wrapper_html_class %}form-group{% endblock %} + +{% block form_element_wrapper_error_html_class%}has-error{% endblock %} + +{% block form_element_label_html_class %}col-sm-3 control-label{% endblock %} + +{% block form_element_required_field_sign_html_class %}required-field{% endblock %} + +{% block form_element_field_wrapper_html_class %}col-sm-9{% endblock %} + +{% block form_element_error_html_class %}help-block has-error{% endblock %} + +{% block form_element_help_text_html_class %}help-block{% endblock %} + +{% block hidden_form_element_wrapper_html_class %}form-group{% endblock %} diff --git a/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry.html b/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry.html new file mode 100644 index 00000000..a5541014 --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry.html @@ -0,0 +1 @@ +{% extends "fobi/generic/view_form_wizard_entry.html" %} \ No newline at end of file diff --git a/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry_ajax.html b/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry_ajax.html new file mode 100644 index 00000000..dca6ad4a --- /dev/null +++ b/src/fobi/contrib/themes/simple/templates/simple/view_form_wizard_entry_ajax.html @@ -0,0 +1 @@ +{% extends "fobi/generic/view_form_wizard_entry_ajax.html" %} \ No newline at end of file