prepare 0.4.21; add select multiple model objects plugin; docs updated;

This commit is contained in:
Artur Barseghyan 2015-02-28 00:04:17 +01:00
parent 8d421ddce1
commit b9486acd4d
42 changed files with 2041 additions and 1804 deletions

View file

@ -15,6 +15,13 @@ are used for versioning (schema follows below):
0.3.4 to 0.4).
- All backwards incompatible changes are mentioned in this document.
0.4.21
-------------------------------------
2015-02-28
- The ``fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects``
plugin added.
0.4.20
-------------------------------------
2015-02-27

View file

@ -63,6 +63,7 @@ Add ``fobi`` core and the plugins to the ``INSTALLED_APPS`` of the your
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -109,6 +110,7 @@ Putting all together, you would have something like this.
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -223,4 +225,4 @@ Also, make sure to have the Django model permissions set for following models:
Part 2: Integration with DjangoCMS
===============================================
Coming soon...
Coming soon...

View file

@ -211,6 +211,7 @@ Or latest stable version from BitBucket:
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -1266,6 +1267,8 @@ Fields
<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/>`_
- `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/>`_
- `Text
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/text/>`_
- `Textarea

View file

@ -204,6 +204,8 @@ Must haves
+ Add a quickstart documentation.
+ Make a Django-CMS dedicated theme (for the admin) using `djangocms-admin-style
<https://github.com/divio/djangocms-admin-style>`_.
+ Clean up the Input plugin (some properties of it, like "type" aren't anyhow
used, while they should be).
- Translate German and Russian URLs.
- See if it's possible to make the "simple" theme base template (for Django
admin) as much generic so that change between versions doesn't cause
@ -228,8 +230,6 @@ Must haves
example as much as possible.
- Improve the "simple" theme for Django 1.6 and Django 1.7 (tiny bits of
styling).
- Finish the Input plugin (some properties of it, like "type" aren't anyhow
used, while they should be).
- Edit form test.
- Edit form element tests.
- Edit from handler tests.
@ -305,6 +305,8 @@ Could haves
+ Add Dutch translation.
+ Add Russian translation.
+ Add more HTML5 fields?
+ Finish select multiple model objects plugin (issue with processing form data
on form submit).
- Make it possible for themes to override the ``fobi.forms.FormEntryForm``
form?
- Make it possible to design a form based on existing models.
@ -318,8 +320,6 @@ Could haves
- TinyMCE form element cosmetic plugin.
- In the cosmetic image plugin, render the sized image.
- Add Armenian translation.
- Finish select multiple model objects plugin (issue with processing form data
on form submit).
- Add option to redirect to another page.
- Conditional inputs.
- Form wizards (combine forms with each other, having one at a step, finally -

View file

@ -211,6 +211,7 @@ Or latest stable version from BitBucket:
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -1266,6 +1267,8 @@ Fields
<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/>`_
- `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/>`_
- `Text
<https://github.com/barseghyanartur/django-fobi/tree/stable/src/fobi/contrib/plugins/form_elements/fields/text/>`_
- `Textarea
@ -1374,9 +1377,9 @@ It's possible to provide initial data for the form using the GET arguments.
In that case, along with the field values, you should be providing
an additional argument named "fobi_initial_data", which doesn't have to
hold a value. For example, if your form contains "email" and "age" field names
and you want to provide initial values for those using GET arguments, you
should be constructing your URL to the form in as follows:
hold a value. For example, if your form contains of fields named "email" and
"age" and you want to provide initial values for those using GET arguments, you
should be constructing your URL to the form as follows:
http://127.0.0.1:8001/fobi/view/test-form/?fobi_initial_data&email=test@example.com&age=19

View file

@ -63,6 +63,7 @@ Add ``fobi`` core and the plugins to the ``INSTALLED_APPS`` of the your
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -109,6 +110,7 @@ Putting all together, you would have something like this.
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
@ -223,4 +225,4 @@ Also, make sure to have the Django model permissions set for following models:
Part 2: Integration with DjangoCMS
===============================================
Coming soon...
Coming soon...

View file

@ -56,11 +56,13 @@ INSTALLED_APPS = (
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',
# Form element plugins
'easy_thumbnails', # Required by `content_image` plugin
'fobi.contrib.plugins.form_elements.content.content_image',
'fobi.contrib.plugins.form_elements.content.content_text',
'fobi.contrib.plugins.form_elements.content.content_video',

View file

@ -0,0 +1,17 @@
Django>=1.6,<1.7
Jinja2
MarkupSafe
MySQL-python
Sphinx
django-autoslug==1.7.1
django-debug-toolbar==0.11.0
django-registration-redux>=1.1
docutils
ipdb
ipython
ordereddict>=1.1
# Selenium shall always be upgraded
selenium
simple-timer>=0.2
tox

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"POT-Creation-Date: 2015-02-27 23:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View file

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"PO-Revision-Date: 2014-11-05 02:29+0100\n"
"POT-Creation-Date: 2015-02-27 23:49+0100\n"
"PO-Revision-Date: 2015-02-27 23:52+0100\n"
"Last-Translator: Artur Barseghyan <artur.barseghyan@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: Dutch\n"
@ -37,19 +37,23 @@ msgstr ""
msgid "German"
msgstr ""
#: settings.py:306 settings.py:320
#: settings.py:306
#: settings.py:320
msgid "Custom bootstrap3 embed form view template"
msgstr ""
#: settings.py:312 settings.py:326
#: settings.py:312
#: settings.py:326
msgid "Custom bootstrap3 embed form entry submitted template"
msgstr ""
#: settings.py:342 settings.py:356
#: settings.py:342
#: settings.py:356
msgid "Custom foundation5 embed form view template"
msgstr ""
#: settings.py:348 settings.py:362
#: settings.py:348
#: settings.py:362
msgid "Custom foundation5 embed form entry submitted template"
msgstr ""
@ -57,43 +61,53 @@ msgstr ""
msgid "&copy; django-fobi example site 2014"
msgstr ""
#: admin_tools_dashboard/__init__.py:29 admin_tools_dashboard/menu.py:28
#: admin_tools_dashboard/__init__.py:29
#: admin_tools_dashboard/menu.py:28
msgid "Foo"
msgstr ""
#: admin_tools_dashboard/__init__.py:37 admin_tools_dashboard/menu.py:34
#: admin_tools_dashboard/__init__.py:37
#: admin_tools_dashboard/menu.py:34
msgid "Fobi"
msgstr ""
#: admin_tools_dashboard/__init__.py:40 admin_tools_dashboard/menu.py:36
#: admin_tools_dashboard/__init__.py:40
#: admin_tools_dashboard/menu.py:36
msgid "Plugins"
msgstr ""
#: admin_tools_dashboard/__init__.py:41 admin_tools_dashboard/menu.py:37
#: admin_tools_dashboard/__init__.py:41
#: admin_tools_dashboard/menu.py:37
msgid "Forms"
msgstr ""
#: admin_tools_dashboard/__init__.py:42 admin_tools_dashboard/menu.py:38
#: admin_tools_dashboard/__init__.py:42
#: admin_tools_dashboard/menu.py:38
msgid "Data"
msgstr ""
#: admin_tools_dashboard/__init__.py:49 admin_tools_dashboard/menu.py:45
#: admin_tools_dashboard/__init__.py:49
#: admin_tools_dashboard/menu.py:45
msgid "FeinCMS Pages"
msgstr ""
#: admin_tools_dashboard/__init__.py:58 admin_tools_dashboard/menu.py:52
#: admin_tools_dashboard/__init__.py:58
#: admin_tools_dashboard/menu.py:52
msgid "DjangoCMS Pages"
msgstr ""
#: admin_tools_dashboard/__init__.py:66 admin_tools_dashboard/menu.py:58
#: admin_tools_dashboard/__init__.py:66
#: admin_tools_dashboard/menu.py:58
msgid "Administration"
msgstr ""
#: admin_tools_dashboard/__init__.py:73 admin_tools_dashboard/__init__.py:87
#: admin_tools_dashboard/__init__.py:73
#: admin_tools_dashboard/__init__.py:87
msgid "Recent Actions"
msgstr ""
#: admin_tools_dashboard/menu.py:24 templates/home/base.html:38
#: admin_tools_dashboard/menu.py:24
#: templates/home/base.html:38
#: templates/home/foundation5.html:32
msgid "Dashboard"
msgstr ""
@ -137,7 +151,8 @@ msgstr ""
msgid "DjangoCMS Foundation 5 example"
msgstr ""
#: templates/cms_page/foundation5/base.html:99 templates/home/base.html:12
#: templates/cms_page/foundation5/base.html:99
#: templates/home/base.html:12
msgid "Home"
msgstr ""
@ -155,26 +170,26 @@ msgid ""
" template for rendering the form for the theme %(fobi_theme_uid)s given."
msgstr ""
#: templates/home/base.html:13 templates/page/base.html:13
#: templates/home/base.html:13
#: templates/page/base.html:13
msgid "django-fobi example site"
msgstr ""
#: templates/home/base.html:22 templates/home/foundation5.html:16
#: templates/home/base.html:22
#: templates/home/foundation5.html:16
msgid ""
"\n"
" <p>\n"
" Welcome to `django-fobi` (later on named just `Fobi`) - a customisable, "
"modular, developer-friendly form\n"
" builder application for Django. With `Fobi` you can build Django forms "
"using a user-friendly GUI,\n"
" save or mail posted form data. Developer-friendly API allows you to "
"build your own form elements\n"
" Welcome to `django-fobi` (later on named just `Fobi`) - a customisable, modular, developer-friendly form\n"
" builder application for Django. With `Fobi` you can build Django forms using a user-friendly GUI,\n"
" save or mail posted form data. Developer-friendly API allows you to build your own form elements\n"
" and form handlers (mechanisms for handling the submitted form data).\n"
" </p>\n"
" "
msgstr ""
#: templates/home/base.html:30 templates/home/foundation5.html:24
#: templates/home/base.html:30
#: templates/home/foundation5.html:24
msgid "Learn more"
msgstr ""
@ -182,15 +197,14 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have "
"created, edit them (add/remove elements,\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have created, edit them (add/remove elements,\n"
" form handlers), create new forms as well as remove existing ones.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role="
"\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
msgstr ""
#: templates/home/base.html:47 templates/home/foundation5.html:41
#: templates/home/base.html:47
#: templates/home/foundation5.html:41
msgid "Create a form"
msgstr ""
@ -198,14 +212,13 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what "
"to do with the posted data.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" "
"role=\"button\">Create form &raquo;</a></p>\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what to do with the posted data.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" "
msgstr ""
#: templates/home/base.html:55 templates/home/foundation5.html:49
#: templates/home/base.html:55
#: templates/home/foundation5.html:49
msgid "See the admin part"
msgstr ""
@ -213,11 +226,9 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>See the Django-admin for saved data, as well as choose who to grant "
"with permissions of using\n"
" <p>See the Django-admin for saved data, as well as choose who to grant with permissions of using\n"
" one or another `Fobi` plugin (form element or form handler).</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button"
"\">Go to admin &raquo;</a></p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button\">Go to admin &raquo;</a></p>\n"
" "
msgstr ""
@ -225,11 +236,9 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have "
"created, edit them (add/remove elements,\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have created, edit them (add/remove elements,\n"
" form handlers), create new forms as well as remove existing ones.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" "
"role=\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
msgstr ""
@ -237,10 +246,8 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what "
"to do with the posted data.</p>\n"
" <p><a class=\"button secondary radius\" href="
"\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what to do with the posted data.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" "
msgstr ""
@ -248,11 +255,9 @@ msgstr ""
#, python-format
msgid ""
"\n"
" <p>See the Django-admin for saved data, as well as choose who to grant "
"with permissions of using\n"
" <p>See the Django-admin for saved data, as well as choose who to grant with permissions of using\n"
" one or another `Fobi` plugin (form element or form handler).</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(admin_url)s\" role="
"\"button\">Go to admin &raquo;</a></p>\n"
" <p><a class=\"button secondary radius\" href=\"%(admin_url)s\" role=\"button\">Go to admin &raquo;</a></p>\n"
" "
msgstr ""
@ -273,23 +278,19 @@ msgstr ""
msgid ""
"\n"
" Thanks %(account)s, activation complete!\n"
" You may now <a href='%(auth_login_url)s'>login</a> using the username "
"and password you set at registration.\n"
" You may now <a href='%(auth_login_url)s'>login</a> using the username and password you set at registration.\n"
" "
msgstr ""
#: templates/registration/activate.html:22
msgid ""
"Oops &ndash; it seems that your activation key is invalid. Please check the "
"url again."
msgid "Oops &ndash; it seems that your activation key is invalid. Please check the url again."
msgstr ""
#: templates/registration/activation_complete.html:16
#, python-format
msgid ""
"\n"
" Thanks, activation complete! You may now <a href=\"%(auth_login_url)s"
"\">login</a> using the username and password you set at registration.\n"
" Thanks, activation complete! You may now <a href=\"%(auth_login_url)s\">login</a> using the username and password you set at registration.\n"
" "
msgstr ""
@ -301,15 +302,13 @@ msgid ""
"<p>\n"
"You (or someone pretending to be you) have asked to register an account at\n"
"<b>%(sitename)s</b>.<br/>\n"
"If this wasn't you, please ignore this email and your address will be "
"removed\n"
"If this wasn't you, please ignore this email and your address will be removed\n"
"from our records.\n"
"</p>\n"
"<p>\n"
"To activate this account, please click the following link within the next \n"
"<b>%(expiration_days)s</b> days:<br/>\n"
"<a href=\"http://%(sitedomain)s%(activation_key_url)s\">http://%(sitedomain)s"
"%(activation_key_url)s</a>\n"
"<a href=\"http://%(sitedomain)s%(activation_key_url)s\">http://%(sitedomain)s%(activation_key_url)s</a>\n"
"</p>\n"
"<p>\n"
"Sincerely,<br/>\n"
@ -356,7 +355,8 @@ msgid ""
" <a href=\"%(register_url)s\">Need an account</a>?"
msgstr ""
#: templates/registration/logout.html:5 templates/registration/logout.html:12
#: templates/registration/logout.html:5
#: templates/registration/logout.html:12
msgid "Logged out"
msgstr ""
@ -432,12 +432,10 @@ msgstr ""
#, python-format
msgid ""
"You are receiving this email because you (or someone pretending to be you)\n"
"requested that your password be reset on the %(domain)s site. If you do "
"not \n"
"requested that your password be reset on the %(domain)s site. If you do not \n"
"wish to reset your password, please ignore this message.\n"
"\n"
"To reset your password, please click the following link, or copy and paste "
"it\n"
"To reset your password, please click the following link, or copy and paste it\n"
"into your web browser:"
msgstr ""
@ -460,8 +458,7 @@ msgstr ""
#: templates/registration/password_reset_form_ajax.html:10
msgid ""
"\n"
" Forgot your password? Enter your email in the form below and we'll "
"send you\n"
" Forgot your password? Enter your email in the form below and we'll send you\n"
" instructions for creating a new one.\n"
" "
msgstr ""
@ -487,3 +484,4 @@ msgstr ""
#: templates/registration/registration_form_ajax.html:12
msgid "Send activation email"
msgstr ""

View file

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"PO-Revision-Date: 2014-11-05 02:28+0100\n"
"POT-Creation-Date: 2015-02-27 23:49+0100\n"
"PO-Revision-Date: 2015-02-27 23:52+0100\n"
"Last-Translator: Artur Barseghyan <artur.barseghyan@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: settings.py:43
msgid "English"
@ -38,19 +37,23 @@ msgstr ""
msgid "German"
msgstr ""
#: settings.py:306 settings.py:320
#: settings.py:306
#: settings.py:320
msgid "Custom bootstrap3 embed form view template"
msgstr ""
#: settings.py:312 settings.py:326
#: settings.py:312
#: settings.py:326
msgid "Custom bootstrap3 embed form entry submitted template"
msgstr ""
#: settings.py:342 settings.py:356
#: settings.py:342
#: settings.py:356
msgid "Custom foundation5 embed form view template"
msgstr ""
#: settings.py:348 settings.py:362
#: settings.py:348
#: settings.py:362
msgid "Custom foundation5 embed form entry submitted template"
msgstr ""
@ -58,43 +61,53 @@ msgstr ""
msgid "&copy; django-fobi example site 2014"
msgstr "&copy; пример django-fobi сайта 2014"
#: admin_tools_dashboard/__init__.py:29 admin_tools_dashboard/menu.py:28
#: admin_tools_dashboard/__init__.py:29
#: admin_tools_dashboard/menu.py:28
msgid "Foo"
msgstr ""
#: admin_tools_dashboard/__init__.py:37 admin_tools_dashboard/menu.py:34
#: admin_tools_dashboard/__init__.py:37
#: admin_tools_dashboard/menu.py:34
msgid "Fobi"
msgstr ""
#: admin_tools_dashboard/__init__.py:40 admin_tools_dashboard/menu.py:36
#: admin_tools_dashboard/__init__.py:40
#: admin_tools_dashboard/menu.py:36
msgid "Plugins"
msgstr ""
#: admin_tools_dashboard/__init__.py:41 admin_tools_dashboard/menu.py:37
#: admin_tools_dashboard/__init__.py:41
#: admin_tools_dashboard/menu.py:37
msgid "Forms"
msgstr ""
#: admin_tools_dashboard/__init__.py:42 admin_tools_dashboard/menu.py:38
#: admin_tools_dashboard/__init__.py:42
#: admin_tools_dashboard/menu.py:38
msgid "Data"
msgstr ""
#: admin_tools_dashboard/__init__.py:49 admin_tools_dashboard/menu.py:45
#: admin_tools_dashboard/__init__.py:49
#: admin_tools_dashboard/menu.py:45
msgid "FeinCMS Pages"
msgstr ""
#: admin_tools_dashboard/__init__.py:58 admin_tools_dashboard/menu.py:52
#: admin_tools_dashboard/__init__.py:58
#: admin_tools_dashboard/menu.py:52
msgid "DjangoCMS Pages"
msgstr ""
#: admin_tools_dashboard/__init__.py:66 admin_tools_dashboard/menu.py:58
#: admin_tools_dashboard/__init__.py:66
#: admin_tools_dashboard/menu.py:58
msgid "Administration"
msgstr ""
#: admin_tools_dashboard/__init__.py:73 admin_tools_dashboard/__init__.py:87
#: admin_tools_dashboard/__init__.py:73
#: admin_tools_dashboard/__init__.py:87
msgid "Recent Actions"
msgstr ""
#: admin_tools_dashboard/menu.py:24 templates/home/base.html:38
#: admin_tools_dashboard/menu.py:24
#: templates/home/base.html:38
#: templates/home/foundation5.html:32
msgid "Dashboard"
msgstr ""
@ -138,7 +151,8 @@ msgstr ""
msgid "DjangoCMS Foundation 5 example"
msgstr ""
#: templates/cms_page/foundation5/base.html:99 templates/home/base.html:12
#: templates/cms_page/foundation5/base.html:99
#: templates/home/base.html:12
msgid "Home"
msgstr ""
@ -156,37 +170,34 @@ msgid ""
" template for rendering the form for the theme %(fobi_theme_uid)s given."
msgstr ""
#: templates/home/base.html:13 templates/page/base.html:13
#: templates/home/base.html:13
#: templates/page/base.html:13
msgid "django-fobi example site"
msgstr ""
#: templates/home/base.html:22 templates/home/foundation5.html:16
#: templates/home/base.html:22
#: templates/home/foundation5.html:16
msgid ""
"\n"
" <p>\n"
" Welcome to `django-fobi` (later on named just `Fobi`) - a customisable, "
"modular, developer-friendly form\n"
" builder application for Django. With `Fobi` you can build Django forms "
"using a user-friendly GUI,\n"
" save or mail posted form data. Developer-friendly API allows you to "
"build your own form elements\n"
" Welcome to `django-fobi` (later on named just `Fobi`) - a customisable, modular, developer-friendly form\n"
" builder application for Django. With `Fobi` you can build Django forms using a user-friendly GUI,\n"
" save or mail posted form data. Developer-friendly API allows you to build your own form elements\n"
" and form handlers (mechanisms for handling the submitted form data).\n"
" </p>\n"
" "
msgstr ""
"\n"
" <p>\n"
" Добро пожаловать в `django-fobi` (далее просто `Fobi`) настраиваемый, "
"модульный, удобный разработчику пакет \n"
" для создания форм в Django. С помощью `Fobi` вы можете создать форму для "
"Django используя удобный графический интерфейс,\n"
" сохранить или отослать отправленные данные по эл. почте. Дружелюбный "
"разработчику API позволит вам создать ваши собственные элементы- и \n"
" Добро пожаловать в `django-fobi` (далее просто `Fobi`) настраиваемый, модульный, удобный разработчику пакет \n"
" для создания форм в Django. С помощью `Fobi` вы можете создать форму для Django используя удобный графический интерфейс,\n"
" сохранить или отослать отправленные данные по эл. почте. Дружелюбный разработчику API позволит вам создать ваши собственные элементы- и \n"
" обработчики- форм (механизм для обработки отправленых данных).\n"
" </p>\n"
" "
#: templates/home/base.html:30 templates/home/foundation5.html:24
#: templates/home/base.html:30
#: templates/home/foundation5.html:24
msgid "Learn more"
msgstr "Узнать подробнее"
@ -194,22 +205,19 @@ msgstr "Узнать подробнее"
#, python-format
msgid ""
"\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have "
"created, edit them (add/remove elements,\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have created, edit them (add/remove elements,\n"
" form handlers), create new forms as well as remove existing ones.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role="
"\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
msgstr ""
"\n"
" <p>Приборная панель `Fobi`, в которой вы можете просмотреть ранее "
"созданные формы изменить их (добавить/удалить элементы,\n"
" <p>Приборная панель `Fobi`, в которой вы можете просмотреть ранее созданные формы изменить их (добавить/удалить элементы,\n"
" обработчики), создать новые формы или удалить существующие.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role="
"\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"btn btn-default\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
#: templates/home/base.html:47 templates/home/foundation5.html:41
#: templates/home/base.html:47
#: templates/home/foundation5.html:41
msgid "Create a form"
msgstr "Создать форму"
@ -217,20 +225,17 @@ msgstr "Создать форму"
#, python-format
msgid ""
"\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what "
"to do with the posted data.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" "
"role=\"button\">Create form &raquo;</a></p>\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what to do with the posted data.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" "
msgstr ""
"\n"
" <p>Создайте свою первую форму, используя удобный графический "
"интерфейс. Выберите что делать с отправленными данными.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" "
"role=\"button\">Создать форму &raquo;</a></p>\n"
" <p>Создайте свою первую форму, используя удобный графический интерфейс. Выберите что делать с отправленными данными.</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(create_form_entry_url)s\" role=\"button\">Создать форму &raquo;</a></p>\n"
" "
#: templates/home/base.html:55 templates/home/foundation5.html:49
#: templates/home/base.html:55
#: templates/home/foundation5.html:49
msgid "See the admin part"
msgstr "Перейти к административной части"
@ -238,67 +243,52 @@ msgstr "Перейти к административной части"
#, python-format
msgid ""
"\n"
" <p>See the Django-admin for saved data, as well as choose who to grant "
"with permissions of using\n"
" <p>See the Django-admin for saved data, as well as choose who to grant with permissions of using\n"
" one or another `Fobi` plugin (form element or form handler).</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button"
"\">Go to admin &raquo;</a></p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button\">Go to admin &raquo;</a></p>\n"
" "
msgstr ""
"\n"
" <p>Используйте Django-admin для просмотра сохраненных данных, а также "
"для распределения доступа \n"
" к тому или иному `Fobi` плагину (элемента- или обработчика- формы).</"
"p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button"
"\">Go to admin &raquo;</a></p>\n"
" <p>Используйте Django-admin для просмотра сохраненных данных, а также для распределения доступа \n"
" к тому или иному `Fobi` плагину (элемента- или обработчика- формы).</p>\n"
" <p><a class=\"btn btn-default\" href=\"%(admin_url)s\" role=\"button\">Go to admin &raquo;</a></p>\n"
" "
#: templates/home/foundation5.html:34
#, python-format
msgid ""
"\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have "
"created, edit them (add/remove elements,\n"
" <p>The `Fobi` dashboard, where you can see all the forms you have created, edit them (add/remove elements,\n"
" form handlers), create new forms as well as remove existing ones.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" "
"role=\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
msgstr ""
"\n"
" <p>Приборная панель `Fobi`, в которой вы можете просмотреть ранее "
"созданные формы изменить их (добавить/удалить элементы,\n"
" <p>Приборная панель `Fobi`, в которой вы можете просмотреть ранее созданные формы изменить их (добавить/удалить элементы,\n"
" обработчики), создать новые формы или удалить существующие.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" "
"role=\"button\">Go to dashboard &raquo;</a></p>\n"
" <p><a class=\"button secondary radius\" href=\"%(dashboard_url)s\" role=\"button\">Go to dashboard &raquo;</a></p>\n"
" "
#: templates/home/foundation5.html:43
#, python-format
msgid ""
"\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what "
"to do with the posted data.</p>\n"
" <p><a class=\"button secondary radius\" href="
"\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" <p>Create your first form using awesome user-friendly GUI. Choose what to do with the posted data.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(create_form_entry_url)s\" role=\"button\">Create form &raquo;</a></p>\n"
" "
msgstr ""
"\n"
" <p>Создайте свою первую форму, используя удобный графический "
"интерфейс. Выберите что делать с отправленными данными.</p>\n"
" <p><a class=\"button secondary radius\" href="
"\"%(create_form_entry_url)s\" role=\"button\">Создать форму &raquo;</a></p>\n"
" <p>Создайте свою первую форму, используя удобный графический интерфейс. Выберите что делать с отправленными данными.</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(create_form_entry_url)s\" role=\"button\">Создать форму &raquo;</a></p>\n"
" "
#: templates/home/foundation5.html:51
#, python-format
msgid ""
"\n"
" <p>See the Django-admin for saved data, as well as choose who to grant "
"with permissions of using\n"
" <p>See the Django-admin for saved data, as well as choose who to grant with permissions of using\n"
" one or another `Fobi` plugin (form element or form handler).</p>\n"
" <p><a class=\"button secondary radius\" href=\"%(admin_url)s\" role="
"\"button\">Go to admin &raquo;</a></p>\n"
" <p><a class=\"button secondary radius\" href=\"%(admin_url)s\" role=\"button\">Go to admin &raquo;</a></p>\n"
" "
msgstr ""
@ -319,23 +309,19 @@ msgstr ""
msgid ""
"\n"
" Thanks %(account)s, activation complete!\n"
" You may now <a href='%(auth_login_url)s'>login</a> using the username "
"and password you set at registration.\n"
" You may now <a href='%(auth_login_url)s'>login</a> using the username and password you set at registration.\n"
" "
msgstr ""
#: templates/registration/activate.html:22
msgid ""
"Oops &ndash; it seems that your activation key is invalid. Please check the "
"url again."
msgid "Oops &ndash; it seems that your activation key is invalid. Please check the url again."
msgstr ""
#: templates/registration/activation_complete.html:16
#, python-format
msgid ""
"\n"
" Thanks, activation complete! You may now <a href=\"%(auth_login_url)s"
"\">login</a> using the username and password you set at registration.\n"
" Thanks, activation complete! You may now <a href=\"%(auth_login_url)s\">login</a> using the username and password you set at registration.\n"
" "
msgstr ""
@ -347,15 +333,13 @@ msgid ""
"<p>\n"
"You (or someone pretending to be you) have asked to register an account at\n"
"<b>%(sitename)s</b>.<br/>\n"
"If this wasn't you, please ignore this email and your address will be "
"removed\n"
"If this wasn't you, please ignore this email and your address will be removed\n"
"from our records.\n"
"</p>\n"
"<p>\n"
"To activate this account, please click the following link within the next \n"
"<b>%(expiration_days)s</b> days:<br/>\n"
"<a href=\"http://%(sitedomain)s%(activation_key_url)s\">http://%(sitedomain)s"
"%(activation_key_url)s</a>\n"
"<a href=\"http://%(sitedomain)s%(activation_key_url)s\">http://%(sitedomain)s%(activation_key_url)s</a>\n"
"</p>\n"
"<p>\n"
"Sincerely,<br/>\n"
@ -402,7 +386,8 @@ msgid ""
" <a href=\"%(register_url)s\">Need an account</a>?"
msgstr ""
#: templates/registration/logout.html:5 templates/registration/logout.html:12
#: templates/registration/logout.html:5
#: templates/registration/logout.html:12
msgid "Logged out"
msgstr ""
@ -478,12 +463,10 @@ msgstr ""
#, python-format
msgid ""
"You are receiving this email because you (or someone pretending to be you)\n"
"requested that your password be reset on the %(domain)s site. If you do "
"not \n"
"requested that your password be reset on the %(domain)s site. If you do not \n"
"wish to reset your password, please ignore this message.\n"
"\n"
"To reset your password, please click the following link, or copy and paste "
"it\n"
"To reset your password, please click the following link, or copy and paste it\n"
"into your web browser:"
msgstr ""
@ -506,8 +489,7 @@ msgstr ""
#: templates/registration/password_reset_form_ajax.html:10
msgid ""
"\n"
" Forgot your password? Enter your email in the form below and we'll "
"send you\n"
" Forgot your password? Enter your email in the form below and we'll send you\n"
" instructions for creating a new one.\n"
" "
msgstr ""
@ -533,3 +515,4 @@ msgstr ""
#: templates/registration/registration_form_ajax.html:12
msgid "Send activation email"
msgstr ""

View file

@ -220,7 +220,7 @@ INSTALLED_APPS = (
'fobi.contrib.plugins.form_elements.fields.select',
'fobi.contrib.plugins.form_elements.fields.select_model_object',
'fobi.contrib.plugins.form_elements.fields.select_multiple',
#'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
'fobi.contrib.plugins.form_elements.fields.text',
'fobi.contrib.plugins.form_elements.fields.textarea',
'fobi.contrib.plugins.form_elements.fields.url',

16
scripts/compile_messages.sh Executable file
View file

@ -0,0 +1,16 @@
#cd ..
echo 'Compiling messages for django-fobi...'
cd src/fobi/
#django-admin.py compilemessages -l hy
django-admin.py compilemessages -l de
django-admin.py compilemessages -l nl
django-admin.py compilemessages -l ru
echo 'Compiling messages for example projects...'
cd ../../examples/simple/
#django-admin.py compilemessages -l hy
django-admin.py compilemessages -l de
django-admin.py compilemessages -l nl
django-admin.py compilemessages -l ru
#cd ../../scripts

11
scripts/install_django16.sh Executable file
View file

@ -0,0 +1,11 @@
#pip install -r examples/requirements.txt --allow-all-external --allow-unverified django-admin-tools
#cd ..
pip install -r examples/requirements_django16.txt
python setup.py install
mkdir -p examples/logs examples/db examples/media examples/media/static examples/media/fobi_plugins/content_image
mkdir -p examples/media/fobi_plugins/file
python examples/simple/manage.py collectstatic --noinput --traceback -v 3
python examples/simple/manage.py syncdb --noinput --traceback -v 3
python examples/simple/manage.py migrate --noinput --traceback -v 3
python examples/simple/manage.py fobi_create_test_data --traceback -v 3
#cd scripts

View file

@ -1,13 +1,15 @@
#cd ..
echo 'Making messages for django-fobi...'
cd src/fobi/
django-admin.py makemessages -l hy
#django-admin.py makemessages -l hy
django-admin.py makemessages -l de
django-admin.py makemessages -l nl
django-admin.py makemessages -l ru
echo 'Making messages for example projects...'
cd ../../examples/simple/
django-admin.py makemessages -l hy
#django-admin.py makemessages -l hy
django-admin.py makemessages -l de
django-admin.py makemessages -l nl
django-admin.py makemessages -l ru

3
scripts/reinstall_django16.sh Executable file
View file

@ -0,0 +1,3 @@
reset
./scripts/uninstall.sh
./scripts/install_django16.sh

View file

@ -63,7 +63,7 @@ for static_dir in static_dirs:
for locale_dir in locale_dirs:
locale_files += [os.path.join(locale_dir, f) for f in os.listdir(locale_dir)]
version = '0.4.20'
version = '0.4.21'
install_requires = [
'Pillow>=2.0.0',

View file

@ -1,6 +1,6 @@
__title__ = 'django-fobi'
__version__ = '0.4.20'
__build__ = 0x000023
__version__ = '0.4.21'
__build__ = 0x000024
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = '2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'

View file

@ -26,7 +26,8 @@ Installation
3. Assign appropriate permissions to the target users/groups to be using
the plugin if ``FOBI_RESTRICT_PLUGIN_ACCESS`` is set to True.
4. Make sure to take a look at ``fobi.contrib.plugins.form_elements.fields.select_model_object.defaults.IGNORED_MODELS``.
4. Make sure to take a look at
``fobi.contrib.plugins.form_elements.fields.select_model_object.defaults.IGNORED_MODELS``.
If necessary, override it in your `settings` as shown in the example below:
.. code-block:: python

View file

@ -10,13 +10,15 @@ from fobi.contrib.plugins.form_elements.fields.select_model_object import defaul
def get_setting(setting, override=None):
"""
Get a setting from `fobi.contrib.plugins.form_elements.fields.select_model_object`
conf module, falling back to the default.
Get a setting from
`fobi.contrib.plugins.form_elements.fields.select_model_object` conf
module, falling back to the default.
If override is not None, it will be used instead of the setting.
:param setting: String with setting name
:param override: Value to use when no setting is available. Defaults to None.
:param override: Value to use when no setting is available. Defaults
to None.
:return: Setting value.
"""
if override is not None:

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_model_object.fobi_form_elements'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('SelectModelObjectInputPlugin',)

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_model_object.forms'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('SelectModelObjectInputForm',)

View file

@ -0,0 +1,40 @@
=======================================================================
fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects
=======================================================================
A ``Fobi`` Select Model Object form field plugin. Makes use of the
``django.forms.models.ModelMultipleChoiceField`` and
``django.forms.widgets.SelectMultiple``.
Installation
===============================================
1. Add
``fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects``
to the ``INSTALLED_APPS`` in your ``settings.py``.
.. code-block:: python
INSTALLED_APPS = (
# ...
'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects',
# ...
)
2. In the terminal type:
.. code-block:: none
$ ./manage.py fobi_sync_plugins
3. Assign appropriate permissions to the target users/groups to be using
the plugin if ``FOBI_RESTRICT_PLUGIN_ACCESS`` is set to True.
4. Make sure to take a look at
``fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.defaults.IGNORED_MODELS``.
If necessary, override it in your `settings` as shown in the example below:
.. code-block:: python
FOBI_FORM_ELEMENT_SELECT_MULTIPLE_MODEL_OBJECTS_IGNORED_MODELS = [
'auth.User',
'auth.Group',
]

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('default_app_config', 'UID',)

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.conf'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('get_setting',)
@ -10,13 +10,15 @@ from fobi.contrib.plugins.form_elements.fields.select_model_object import defaul
def get_setting(setting, override=None):
"""
Get a setting from `fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects`
Get a setting from
`fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects`
conf module, falling back to the default.
If override is not None, it will be used instead of the setting.
:param setting: String with setting name
:param override: Value to use when no setting is available. Defaults to None.
:param override: Value to use when no setting is available. Defaults
to None.
:return: Setting value.
"""
if override is not None:

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.default'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('IGNORED_MODELS',)

View file

@ -1,16 +1,18 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.fobi_form_elements'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('SelectMultipleModelObjectsInputPlugin',)
import json
from django.db import models
from django.forms.models import ModelChoiceField
from django.forms.models import ModelMultipleChoiceField
from django.forms.widgets import SelectMultiple
from django.utils.translation import ugettext_lazy as _
from fobi.base import FormFieldPlugin, form_element_plugin_registry, get_theme
from fobi.helpers import admin_change_url
from fobi.helpers import safe_text #, admin_change_url
from fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects \
import UID
from fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.forms import (
@ -45,9 +47,9 @@ class SelectMultipleModelObjectsInputPlugin(FormFieldPlugin):
'widget': SelectMultiple(attrs={'class': theme.form_element_html_class}),
}
return [(self.data.name, ModelChoiceField, kwargs)]
return [(self.data.name, ModelMultipleChoiceField, kwargs)]
def __submit_plugin_form_data(self, form_entry, request, form):
def submit_plugin_form_data(self, form_entry, request, form):
"""
Submit plugin form data/process.
@ -56,21 +58,26 @@ class SelectMultipleModelObjectsInputPlugin(FormFieldPlugin):
:param django.forms.Form form:
"""
# Get the object
obj = form.cleaned_data.get(self.data.name, None)
objs = form.cleaned_data.get(self.data.name, [])
if obj:
# Handle the upload
admin_url = admin_change_url(
app_label = obj._meta.app_label,
module_name = obj._meta.module_name,
object_id = obj.pk
)
repr = '<a href="{0}">{1}</a>'.format(admin_url, str(obj))
values = []
# Overwrite ``cleaned_data`` of the ``form`` with object qualifier.
form.cleaned_data[self.data.name] = repr
for obj in objs:
if objs:
# Handle the submitted form value
value = '{0}.{1}.{2}.{3}'.format(
obj._meta.app_label,
obj._meta.module_name,
obj.pk,
safe_text(obj)
)
values.append(value)
# It's critically important to return the ``form`` with updated ``cleaned_data``
# Overwrite ``cleaned_data`` of the ``form`` with object qualifier.
form.cleaned_data[self.data.name] = json.dumps(values)
# It's critically important to return the ``form`` with updated
# ``cleaned_data``
return form

View file

@ -1,6 +1,6 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.forms'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('SelectMultipleModelObjectsInputForm',)
@ -66,4 +66,4 @@ class SelectMultipleModelObjectsInputForm(forms.Form, BaseFormFieldPluginForm):
super(SelectMultipleModelObjectsInputForm, self).__init__(*args, **kwargs)
self.fields['model'].choices = get_registered_models(
ignore = IGNORED_MODELS
)
)

View file

@ -1,9 +1,10 @@
__title__ = 'fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.settings'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('IGNORED_MODELS',)
from fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.conf import get_setting
from fobi.contrib.plugins.form_elements.fields.select_multiple_model_objects.conf \
import get_setting
IGNORED_MODELS = get_setting('IGNORED_MODELS')

View file

@ -176,6 +176,9 @@ class IntegrationProcessor(object):
)
else:
# Providing initial form data by feeding entire GET dictionary
# to the form, if ``GET_PARAM_INITIAL_DATA`` is present in the
# GET.
kwargs = {}
if GET_PARAM_INITIAL_DATA in request.GET:
kwargs = {'initial': request.GET}

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"POT-Creation-Date: 2015-02-27 23:37+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -64,11 +64,11 @@ msgstr ""
msgid "POST required when changing in bulk!"
msgstr ""
#: base.py:102
#: base.py:108
msgid "Build your forms"
msgstr ""
#: base.py:515 models.py:217 models.py:265 models.py:318
#: base.py:521 models.py:217 models.py:265 models.py:318
#: contrib/plugins/form_elements/fields/boolean/forms.py:32
#: contrib/plugins/form_elements/fields/date/forms.py:33
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:42
@ -95,7 +95,7 @@ msgstr ""
msgid "Name"
msgstr ""
#: base.py:520 contrib/plugins/form_elements/fields/boolean/forms.py:27
#: base.py:526 contrib/plugins/form_elements/fields/boolean/forms.py:27
#: contrib/plugins/form_elements/fields/date/forms.py:28
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37
#: contrib/plugins/form_elements/fields/datetime/forms.py:28
@ -119,7 +119,7 @@ msgstr ""
msgid "Label"
msgstr ""
#: base.py:525 contrib/plugins/form_elements/fields/boolean/forms.py:37
#: base.py:531 contrib/plugins/form_elements/fields/boolean/forms.py:37
#: contrib/plugins/form_elements/fields/date/forms.py:38
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47
#: contrib/plugins/form_elements/fields/datetime/forms.py:38
@ -141,7 +141,7 @@ msgstr ""
msgid "Help text"
msgstr ""
#: base.py:530 contrib/plugins/form_elements/fields/boolean/forms.py:47
#: base.py:536 contrib/plugins/form_elements/fields/boolean/forms.py:47
#: contrib/plugins/form_elements/fields/date/forms.py:53
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72
#: contrib/plugins/form_elements/fields/datetime/forms.py:53
@ -165,27 +165,27 @@ msgstr ""
msgid "Required"
msgstr ""
#: base.py:552
#: base.py:558
msgid "Duplicate field name!"
msgstr ""
#: base.py:557
#: base.py:563
msgid "Duplicate label name!"
msgstr ""
#: base.py:636
#: base.py:642
msgid "General"
msgstr ""
#: base.py:2128
#: base.py:2134
msgid "Theme `{0}` does not exist!"
msgstr ""
#: constants.py:17
#: constants.py:18
msgid "Append"
msgstr ""
#: constants.py:18
#: constants.py:19
msgid "Replace"
msgstr ""
@ -405,8 +405,8 @@ msgstr ""
msgid "Errors occured while saving the form: {0}."
msgstr ""
#: views.py:224 views.py:365 views.py:603 views.py:823 views.py:928
#: views.py:970
#: views.py:224 views.py:365 views.py:603 views.py:823 views.py:934
#: views.py:976
msgid "Form entry not found."
msgstr ""
@ -466,11 +466,11 @@ msgstr ""
msgid "The form handler plugin \"{0}\" was deleted successfully."
msgstr ""
#: views.py:876 integration/processors.py:155
#: views.py:876 integration/processors.py:156
msgid "Form {0} was submitted successfully."
msgstr ""
#: views.py:976
#: views.py:982
msgid "The form \"{0}\" was deleted successfully."
msgstr ""
@ -704,7 +704,7 @@ msgstr ""
#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24
#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:28
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30
#: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30
@ -907,7 +907,7 @@ msgstr ""
msgid "Select multiple"
msgstr ""
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:27
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29
msgid "Select multiple model objects"
msgstr ""

View file

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"PO-Revision-Date: 2015-02-13 01:07+0100\n"
"POT-Creation-Date: 2015-02-27 23:49+0100\n"
"PO-Revision-Date: 2015-02-27 23:51+0100\n"
"Last-Translator: Artur Barseghyan <artur.barseghyan@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: Dutch\n"
@ -77,11 +77,11 @@ msgstr "{0} plugins zijn succesvol bijgewerkt."
msgid "POST required when changing in bulk!"
msgstr "POST vereist bij het veranderen in bulk!"
#: base.py:102
#: base.py:108
msgid "Build your forms"
msgstr "Bouw je formulieren"
#: base.py:515
#: base.py:521
#: models.py:217
#: models.py:265
#: models.py:318
@ -111,7 +111,7 @@ msgstr "Bouw je formulieren"
msgid "Name"
msgstr "Naam"
#: base.py:520
#: base.py:526
#: contrib/plugins/form_elements/fields/boolean/forms.py:27
#: contrib/plugins/form_elements/fields/date/forms.py:28
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37
@ -136,7 +136,7 @@ msgstr "Naam"
msgid "Label"
msgstr "Label"
#: base.py:525
#: base.py:531
#: contrib/plugins/form_elements/fields/boolean/forms.py:37
#: contrib/plugins/form_elements/fields/date/forms.py:38
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47
@ -159,7 +159,7 @@ msgstr "Label"
msgid "Help text"
msgstr "Helptekst"
#: base.py:530
#: base.py:536
#: contrib/plugins/form_elements/fields/boolean/forms.py:47
#: contrib/plugins/form_elements/fields/date/forms.py:53
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72
@ -184,27 +184,27 @@ msgstr "Helptekst"
msgid "Required"
msgstr "Verplicht"
#: base.py:552
#: base.py:558
msgid "Duplicate field name!"
msgstr "Veldnaam is al in gebruik!"
#: base.py:557
#: base.py:563
msgid "Duplicate label name!"
msgstr "Labelnaam is al in gebruik!"
#: base.py:636
#: base.py:642
msgid "General"
msgstr "Algemeen"
#: base.py:2128
#: base.py:2134
msgid "Theme `{0}` does not exist!"
msgstr "Theme `{0}` niet gevonden!"
#: constants.py:17
#: constants.py:18
msgid "Append"
msgstr "Toevoegen"
#: constants.py:18
#: constants.py:19
msgid "Replace"
msgstr "Vervangen"
@ -436,8 +436,8 @@ msgstr "Er zijn fouten opgetreden tijdens het opslaan van het formulier: {0}."
#: views.py:365
#: views.py:603
#: views.py:823
#: views.py:928
#: views.py:970
#: views.py:934
#: views.py:976
msgid "Form entry not found."
msgstr "Formulier niet gevonden."
@ -498,11 +498,11 @@ msgid "The form handler plugin \"{0}\" was deleted successfully."
msgstr "Het formulier afhandelaar \"{0}\" is met succes verwijdert."
#: views.py:876
#: integration/processors.py:155
#: integration/processors.py:156
msgid "Form {0} was submitted successfully."
msgstr "Formulier {0} is met succes verstuurd."
#: views.py:976
#: views.py:982
msgid "The form \"{0}\" was deleted successfully."
msgstr "Het formulier \"{0}\" is met succes verwijdert."
@ -739,7 +739,7 @@ msgstr "Selectievakje"
#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24
#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:28
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30
#: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30
@ -929,7 +929,7 @@ msgstr "Model"
msgid "Select multiple"
msgstr "Keuzelijst meerkeuze"
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:27
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29
msgid "Select multiple model objects"
msgstr "Keuzelijst meerkeuze model objecten"

View file

@ -7,18 +7,21 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 00:52+0100\n"
"PO-Revision-Date: 2014-12-05 22:57+0100\n"
"POT-Creation-Date: 2015-02-27 23:49+0100\n"
"PO-Revision-Date: 2015-02-27 23:51+0100\n"
"Last-Translator: Artur Barseghyan <artur.barseghyan@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: admin.py:124 admin.py:193 admin.py:226 models.py:316 models.py:344
#: admin.py:124
#: admin.py:193
#: admin.py:226
#: models.py:316
#: models.py:344
#: contrib/apps/djangocms_integration/models.py:26
#: contrib/apps/feincms_integration/widgets.py:30
#: contrib/apps/mezzanine_integration/models.py:24
@ -34,7 +37,10 @@ msgstr "Форма"
msgid "Custom"
msgstr "Дополнительно"
#: admin.py:135 models.py:78 models.py:216 models.py:264
#: admin.py:135
#: models.py:78
#: models.py:216
#: models.py:264
#: contrib/plugins/form_handlers/db_store/models.py:49
msgid "User"
msgstr "Пользователь"
@ -43,17 +49,23 @@ msgstr "Пользователь"
msgid "Additional"
msgstr "Дополнительно"
#: admin.py:147 admin.py:171 admin.py:199 admin.py:266
#: admin.py:147
#: admin.py:171
#: admin.py:199
#: admin.py:266
#: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/base_edit.html:84
#: contrib/themes/simple/templates/simple/base_edit.html:76
msgid "Fobi"
msgstr ""
#: admin.py:190 admin.py:223 models.py:121
#: admin.py:190
#: admin.py:223
#: models.py:121
msgid "Plugin"
msgstr "Плагин"
#: admin.py:232 models.py:472
#: admin.py:232
#: models.py:472
msgid "Form handler entry"
msgstr "Обработчик формы"
@ -65,11 +77,14 @@ msgstr "{0} плагинов были изменены успешно."
msgid "POST required when changing in bulk!"
msgstr "Для множественных изменений необходим POST!"
#: base.py:102
#: base.py:108
msgid "Build your forms"
msgstr "Разработчик форм"
#: base.py:515 models.py:217 models.py:265 models.py:318
#: base.py:521
#: models.py:217
#: models.py:265
#: models.py:318
#: contrib/plugins/form_elements/fields/boolean/forms.py:32
#: contrib/plugins/form_elements/fields/date/forms.py:33
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:42
@ -96,7 +111,8 @@ msgstr "Разработчик форм"
msgid "Name"
msgstr "Название"
#: base.py:520 contrib/plugins/form_elements/fields/boolean/forms.py:27
#: base.py:526
#: contrib/plugins/form_elements/fields/boolean/forms.py:27
#: contrib/plugins/form_elements/fields/date/forms.py:28
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37
#: contrib/plugins/form_elements/fields/datetime/forms.py:28
@ -120,7 +136,8 @@ msgstr "Название"
msgid "Label"
msgstr "Ярлык"
#: base.py:525 contrib/plugins/form_elements/fields/boolean/forms.py:37
#: base.py:531
#: contrib/plugins/form_elements/fields/boolean/forms.py:37
#: contrib/plugins/form_elements/fields/date/forms.py:38
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47
#: contrib/plugins/form_elements/fields/datetime/forms.py:38
@ -142,7 +159,8 @@ msgstr "Ярлык"
msgid "Help text"
msgstr "Помощь"
#: base.py:530 contrib/plugins/form_elements/fields/boolean/forms.py:47
#: base.py:536
#: contrib/plugins/form_elements/fields/boolean/forms.py:47
#: contrib/plugins/form_elements/fields/date/forms.py:53
#: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72
#: contrib/plugins/form_elements/fields/datetime/forms.py:53
@ -166,27 +184,27 @@ msgstr "Помощь"
msgid "Required"
msgstr "Обязательно"
#: base.py:552
#: base.py:558
msgid "Duplicate field name!"
msgstr "Название поля должно быть уникальным!"
#: base.py:557
#: base.py:563
msgid "Duplicate label name!"
msgstr "Ярлык поля должен быть уникальым!"
#: base.py:636
#: base.py:642
msgid "General"
msgstr "Основное"
#: base.py:2128
#: base.py:2134
msgid "Theme `{0}` does not exist!"
msgstr "Темы `{0}` не существует!"
#: constants.py:17
#: constants.py:18
msgid "Append"
msgstr "Добавить"
#: constants.py:18
#: constants.py:19
msgid "Replace"
msgstr "Заменить"
@ -198,11 +216,10 @@ msgstr "Выбранные плагины"
msgid "Users action"
msgstr "Действие над пользователями"
#: forms.py:115 forms.py:122
#: forms.py:115
#: forms.py:122
msgid "If set to ``replace``, the groups are replaced; otherwise - appended."
msgstr ""
"Если вы выберете ``заменить``, группы будут перезаписаны; в обратном случае "
"- добавлены."
msgstr "Если вы выберете ``заменить``, группы будут перезаписаны; в обратном случае - добавлены."
#: forms.py:120
msgid "Groups action"
@ -212,7 +229,8 @@ msgstr "Действие над группами"
msgid "Group"
msgstr "Группа"
#: models.py:113 models.py:414
#: models.py:113
#: models.py:414
msgid "UID"
msgstr ""
@ -224,7 +242,8 @@ msgstr "Группы"
msgid "Users"
msgstr "Пользователи"
#: models.py:160 models.py:191
#: models.py:160
#: models.py:191
msgid "Plugin UID"
msgstr "UID плагина"
@ -244,7 +263,8 @@ msgstr "Плагин обработчика формы"
msgid "Form handler plugins"
msgstr "Плагины обработчиков формы"
#: models.py:218 models.py:267
#: models.py:218
#: models.py:267
msgid "Slug"
msgstr "Слаг"
@ -294,7 +314,8 @@ msgstr "Можно клонировать?"
msgid "Makes your form cloneable by other users."
msgstr "Другие пользователи смогут клонировать вашу форму."
#: models.py:278 models.py:438
#: models.py:278
#: models.py:438
msgid "Position"
msgstr "Порядок"
@ -346,11 +367,13 @@ msgstr ""
msgid "Form fieldset entries"
msgstr ""
#: models.py:345 contrib/plugins/form_handlers/db_store/models.py:53
#: models.py:345
#: contrib/plugins/form_handlers/db_store/models.py:53
msgid "Plugin data"
msgstr "Данные плагина"
#: models.py:433 models.py:467
#: models.py:433
#: models.py:467
msgid "Plugin name"
msgstr "Название плагина"
@ -404,12 +427,17 @@ msgstr "{0} не найдено."
msgid "Form {0} was created successfully."
msgstr "Форма {0} успешно создана."
#: views.py:173 views.py:280
#: views.py:173
#: views.py:280
msgid "Errors occured while saving the form: {0}."
msgstr "Во время сохранения данных формы произошли следующие ошибки: {0}."
#: views.py:224 views.py:365 views.py:603 views.py:823 views.py:928
#: views.py:970
#: views.py:224
#: views.py:365
#: views.py:603
#: views.py:823
#: views.py:934
#: views.py:976
msgid "Form entry not found."
msgstr "Форма не найдена"
@ -469,11 +497,12 @@ msgstr "Обработчик формы \"{0}\" успешно изменен."
msgid "The form handler plugin \"{0}\" was deleted successfully."
msgstr "Oработчик формы \"{0}\" успешно удален."
#: views.py:876 integration/processors.py:155
#: views.py:876
#: integration/processors.py:156
msgid "Form {0} was submitted successfully."
msgstr "Форма {0} успешно отправлена."
#: views.py:976
#: views.py:982
msgid "The form \"{0}\" was deleted successfully."
msgstr "Форма \"{0}\" успешно удалена."
@ -601,9 +630,8 @@ msgstr ""
"<a href=\"%(login_url)s\">Авторизируйтесь</a> здесь.\n"
#: contrib/apps/mezzanine_integration/models.py:71
#, fuzzy
msgid "Fobi forms"
msgstr "Форма"
msgstr "Формы fobi"
#: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:8
#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:74
@ -617,9 +645,8 @@ msgid "History"
msgstr ""
#: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:10
#, fuzzy
msgid "View on site"
msgstr "Просмотреть записи"
msgstr "Посмотреть на сайте"
#: contrib/plugins/form_elements/content/content_image/defaults.py:24
msgid "Smart crop"
@ -712,7 +739,7 @@ msgstr "Галочка"
#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24
#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:28
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30
#: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23
#: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30
@ -882,35 +909,8 @@ msgstr "Варианы"
#: contrib/plugins/form_elements/fields/radio/forms.py:40
#: contrib/plugins/form_elements/fields/select/forms.py:40
#: contrib/plugins/form_elements/fields/select_multiple/forms.py:40
msgid ""
"Enter single values/pairs per line. Example:<code><br/>&nbsp;&nbsp;&nbsp;"
"&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;alpha, "
"Alpha<br/>&nbsp;&nbsp;&nbsp;&nbsp;beta, Beta<br/>&nbsp;&nbsp;&nbsp;&nbsp;"
"omega</code><br/>It finally transforms into the following HTML code:"
"<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;select id=\"id_NAME_OF_THE_ELEMENT\" "
"name=\"NAME_OF_THE_ELEMENT\"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
"&nbsp;&nbsp;&lt;option value=\"1\"&gt;1&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;"
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"2\"&gt;2&lt;/option&gt;<br/"
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"alpha"
"\"&gt;Alpha&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
"&nbsp;&lt;option value=\"beta\"&gt;Beta&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;"
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"omega\"&gt;omega&lt;/"
"option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;</code>"
msgstr ""
"Введите либо отдельные, либо партные значения - по одному на строку. Пример: "
"<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;2<br/>&nbsp;"
"&nbsp;&nbsp;&nbsp;alpha, Alpha<br/>&nbsp;&nbsp;&nbsp;&nbsp;beta, Beta<br/"
">&nbsp;&nbsp;&nbsp;&nbsp;omega</code><br/>В результате получится следующий "
"HTML код:<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;select id="
"\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\"&gt;<br/>&nbsp;&nbsp;"
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"1\"&gt;1&lt;/"
"option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option "
"value=\"2\"&gt;2&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
"&nbsp;&nbsp;&lt;option value=\"alpha\"&gt;Alpha&lt;/option&gt;<br/>&nbsp;"
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"beta\"&gt;"
"Beta&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;"
"option value=\"omega\"&gt;omega&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;"
"&lt;/select&gt;</code>"
msgid "Enter single values/pairs per line. Example:<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;alpha, Alpha<br/>&nbsp;&nbsp;&nbsp;&nbsp;beta, Beta<br/>&nbsp;&nbsp;&nbsp;&nbsp;omega</code><br/>It finally transforms into the following HTML code:<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"1\"&gt;1&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"2\"&gt;2&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"alpha\"&gt;Alpha&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"beta\"&gt;Beta&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"omega\"&gt;omega&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;</code>"
msgstr "Введите либо отдельные, либо партные значения - по одному на строку. Пример: <code><br/>&nbsp;&nbsp;&nbsp;&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;alpha, Alpha<br/>&nbsp;&nbsp;&nbsp;&nbsp;beta, Beta<br/>&nbsp;&nbsp;&nbsp;&nbsp;omega</code><br/>В результате получится следующий HTML код:<code><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"1\"&gt;1&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"2\"&gt;2&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"alpha\"&gt;Alpha&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"beta\"&gt;Beta&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value=\"omega\"&gt;omega&lt;/option&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;</code>"
#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:23
msgid "Select"
@ -929,7 +929,7 @@ msgstr "Модель"
msgid "Select multiple"
msgstr "Выпадающий список множественного выбора"
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:27
#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29
msgid "Select multiple model objects"
msgstr "Выпадающий список множественного выбора объектов моделей"
@ -1086,9 +1086,8 @@ msgid "Error"
msgstr "Ошибка"
#: contrib/themes/djangocms_admin_style_theme/fobi_themes.py:17
#, fuzzy
msgid "DjangoCMS admin style"
msgstr "Администрация джанго"
msgstr ""
#: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/add_form_element_entry.html:10
#: contrib/themes/simple/templates/simple/add_form_element_entry.html:10
@ -1308,8 +1307,7 @@ msgstr "Сохранить изменения"
#: templates/fobi/generic/snippets/form_properties_snippet.html:4
#: templates/fobi/generic/snippets/form_snippet.html:4
msgid "Fields marked with <span class=\"required-field\">*</span> are required"
msgstr ""
"Поля помеченные <span class=\"required-field\">*</span> заполнять обязательно"
msgstr "Поля помеченные <span class=\"required-field\">*</span> заполнять обязательно"
#: contrib/themes/simple/fobi_themes.py:17
msgid "Simple"
@ -1400,9 +1398,7 @@ msgid "^forms/delete/(?P<form_entry_id>\\d+)/$"
msgstr ""
#: urls/edit.py:34
msgid ""
"^forms/elements/add/(?P<form_entry_id>\\d+)/(?P<form_element_plugin_uid>[\\w_"
"\\-]+)/$"
msgid "^forms/elements/add/(?P<form_entry_id>\\d+)/(?P<form_element_plugin_uid>[\\w_\\-]+)/$"
msgstr ""
#: urls/edit.py:39
@ -1414,9 +1410,7 @@ msgid "^forms/elements/delete/(?P<form_element_entry_id>\\d+)/$"
msgstr ""
#: urls/edit.py:49
msgid ""
"^forms/handlers/add/(?P<form_entry_id>\\d+)/(?P<form_handler_plugin_uid>[\\w_"
"\\-]+)/$"
msgid "^forms/handlers/add/(?P<form_entry_id>\\d+)/(?P<form_handler_plugin_uid>[\\w_\\-]+)/$"
msgstr ""
#: urls/edit.py:54

View file

@ -884,6 +884,9 @@ def view_form_entry(request, form_entry_slug, theme=None, template_name=None):
form=form, stage=CALLBACK_FORM_INVALID)
else:
# Providing initial form data by feeding entire GET dictionary
# to the form, if ``GET_PARAM_INITIAL_DATA`` is present in the
# GET.
kwargs = {}
if GET_PARAM_INITIAL_DATA in request.GET:
kwargs = {'initial': request.GET}