diff options
author | ttt | 2017-05-13 00:29:47 +0530 |
---|---|---|
committer | ttt | 2017-05-13 00:29:47 +0530 |
commit | abf599be33b383a6a5baf9493093b2126a622ac8 (patch) | |
tree | 4c5ab6e0d935d5e65fabcf0258e4a00dd20a5afa /lib/python2.7/site-packages/django/contrib/formtools | |
download | SBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.tar.gz SBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.tar.bz2 SBHS-2018-Rpi-abf599be33b383a6a5baf9493093b2126a622ac8.zip |
added all server files
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/formtools')
186 files changed, 5366 insertions, 0 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/formtools/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/__init__.py diff --git a/lib/python2.7/site-packages/django/contrib/formtools/exceptions.py b/lib/python2.7/site-packages/django/contrib/formtools/exceptions.py new file mode 100644 index 0000000..f07ac9f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/exceptions.py @@ -0,0 +1,6 @@ +from django.core.exceptions import SuspiciousOperation + + +class WizardViewCookieModified(SuspiciousOperation): + """Signature of cookie modified""" + pass diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..05d932c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..fc13ed9 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# dado_eyad <d.eyad.t@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-28 09:54+0000\n" +"Last-Translator: dado_eyad <d.eyad.t@gmail.com>\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/django/language/" +"ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "الخطوة الأولى" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "الخطوة السابقة" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "أرسل" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..3d7060f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.po new file mode 100644 index 0000000..9d749d3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/az/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/django/" +"language/az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..ac79538 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.po new file mode 100644 index 0000000..9373d80 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/be/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/django/" +"language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "першы крок" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "папярэдні крок" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "падаць" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..acd8ff3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 0000000..fe104fe --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Georgi Kostadinov <grgkostadinov@gmail.com>, 2012 +# Todor Lube <tlubenov@gmail.com>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/django/" +"language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "първа стъпка" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "предишна стъпка" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "запази" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..f08a75b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.po new file mode 100644 index 0000000..78d62f2 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bn/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Bengali (http://www.transifex.com/projects/p/django/language/" +"bn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..cf43088 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.po new file mode 100644 index 0000000..c7d3313 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/br/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Fulup <fulup.jakez@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Breton (http://www.transifex.com/projects/p/django/language/" +"br/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: br\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "pazenn gentañ" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "pazenn gent" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "kas" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..6be7f4c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.po new file mode 100644 index 0000000..ab3549f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/bs/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/django/language/" +"bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..1efc93e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 0000000..d270091 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Carles Barrobés <carles@barrobes.com>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/django/language/" +"ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primer pas" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "pas anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..71a16cf --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.po new file mode 100644 index 0000000..114a7af --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/cs/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Vlada Macek <macek@sandbox.cz>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-13 11:48+0000\n" +"Last-Translator: Vlada Macek <macek@sandbox.cz>\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/django/language/" +"cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "první krok" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "předchozí krok" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "odeslat" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Data objektu ManagementForm chybí nebo byla pozměněna." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..197a0ac --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.po new file mode 100644 index 0000000..b5468ea --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/cy/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Welsh (http://www.transifex.com/projects/p/django/language/" +"cy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cy\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " +"11) ? 2 : 3;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..83f2fc3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000..1068519 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Christian Joergensen <christian@gmta.info>, 2012 +# Erik Wognsen <r4mses@gmail.com>, 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-10 11:08+0000\n" +"Last-Translator: Erik Wognsen <r4mses@gmail.com>\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/django/language/" +"da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "første skridt" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "forrige skridt" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "send" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm-data mangler eller er blevet manipuleret." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..1e506c0 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..7b1d5d2 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Hagenbruch <ahagenbruch@googlemail.com>, 2012 +# Jannis , 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-23 08:25+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: German (http://www.transifex.com/projects/p/django/language/" +"de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "Erster Schritt" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "Vorheriger Schritt" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "Abschicken" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm-Daten fehlen oder wurden manipuliert." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..607322f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.po new file mode 100644 index 0000000..654b11d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Yorgos Pagles <y.pagles@gmail.com>, 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/django/language/" +"el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "πρώτο βήμα" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "επόμενο βήμα" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "αποδοχή" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..684b735 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..caea4ba --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2010-05-13 15:35+0200\n" +"Last-Translator: Django team\n" +"Language-Team: English <en@li.org>\n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..3c20106 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.po new file mode 100644 index 0000000..b47b800 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/en_GB/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# jon_atkinson <jon@jonatkinson.co.uk>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/" +"django/language/en_GB/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_GB\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "first step" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "prev step" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "submit" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..cf7f95e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.po new file mode 100644 index 0000000..e612912 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/eo/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Baptiste <baptiste+transifex@darthenay.fr>, 2011 +# Baptiste <baptiste+transifex@darthenay.fr>, 2013 +# sagittarian <adam.raizen@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-23 14:26+0000\n" +"Last-Translator: Baptiste <baptiste+transifex@darthenay.fr>\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/django/" +"language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "unua paŝo" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "antaŭa paŝo" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "sendi" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm datumoj mankas, aŭ estas tuŝaĉitaj." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..2d9d587 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..86215f3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antoni Aloy <aaloy@apsl.net>, 2012-2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-04 20:33+0000\n" +"Last-Translator: Antoni Aloy <aaloy@apsl.net>\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/django/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primer paso" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "paso anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Los datos de ManagementForm no están o han sido manipulados" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..4a44940 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.po new file mode 100644 index 0000000..41b8310 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_AR/LC_MESSAGES/django.po @@ -0,0 +1,37 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Ramiro Morales <cramm0@gmail.com>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-26 20:48+0000\n" +"Last-Translator: Ramiro Morales <cramm0@gmail.com>\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/" +"django/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primer paso" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "paso previo" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" +"Los datos correspondientes al ManagementForm no existen o han sido " +"modificados" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..689459b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.po new file mode 100644 index 0000000..87d05eb --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/es_MX/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abraham Estrada <abraham.estrada@gmail.com>, 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/django/" +"language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primer paso" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "paso anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..26eb330 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.po new file mode 100644 index 0000000..4924a11 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/et/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# jannolii <jannolii@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-06 12:24+0000\n" +"Last-Translator: jannolii <jannolii@gmail.com>\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/django/language/" +"et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "esimene samm" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "eelmine samm" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "kinnita" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm andmed puuduvad või on muudetud." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..790d0fe --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.po new file mode 100644 index 0000000..120dbbf --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/eu/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aitzol Naberan <anaberan@codesyntax.com>, 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-31 11:33+0000\n" +"Last-Translator: Aitzol Naberan <anaberan@codesyntax.com>\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/django/language/" +"eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "lehen pausua" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "aurreko pausua" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "bidali" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm daturik ez dago edo baliogabeak dira." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..8b8adfe --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..8a7cb0c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ali Nikneshan <ali@nikneshan.com>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Reza Mohammadi <reza@teeleh.ir>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-05 08:52+0000\n" +"Last-Translator: Reza Mohammadi <reza@teeleh.ir>\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/django/language/" +"fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "گام اول" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "گام قبل" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "ارسال" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "اطلاعات ManagementForm ناقص است و یا دستکاری شده است." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..2cd4b6b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..63cb09d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# nanook <klaus.dahlen@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/django/language/" +"fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "ensimmäinen vaihe" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "edellinen vaihe" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "lähetä" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..25d58fc --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..c4dd26b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# claudep <claude@2xlibre.net>, 2013 +# claudep <claude@2xlibre.net>, 2011 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-22 07:10+0000\n" +"Last-Translator: claudep <claude@2xlibre.net>\n" +"Language-Team: French (http://www.transifex.com/projects/p/django/language/" +"fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "première étape" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "étape précédente" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "soumettre" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" +"Les données du formulaire ManagementForm sont manquantes ou ont été " +"manipulées." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..cf97e52 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.po new file mode 100644 index 0000000..8fcb19c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/fy_NL/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Western Frisian (Netherlands) (http://www.transifex.com/" +"projects/p/django/language/fy_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fy_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..53c83b8 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.po new file mode 100644 index 0000000..6edce56 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ga/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Michael Thornhill <michael@maithu.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Irish (http://www.transifex.com/projects/p/django/language/" +"ga/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ga\n" +"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " +"4);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "chéad chéim" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "chéim roimhe seo" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "chur faoi bhráid" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..b1b34d5 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.po new file mode 100644 index 0000000..5068e15 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/gl/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# fasouto <fsoutomoure@gmail.com>, 2011 +# fonso <fonzzo@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-07 11:30+0000\n" +"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/django/language/" +"gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primeiro paso" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "paso anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..c2bc32a --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.po new file mode 100644 index 0000000..bcf78c4 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/he/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Alex Gaynor <alex.gaynor@gmail.com>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Meir Kriheli <mkriheli@gmail.com>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-02 12:33+0000\n" +"Last-Translator: Meir Kriheli <mkriheli@gmail.com>\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/django/language/" +"he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "צעד ראשון" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "צעד אחרון" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "שלח" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "מידע ManagementForm חסר או התעסקו איתו." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..ca46fcd --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.po new file mode 100644 index 0000000..30b2318 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hi/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Chandan kumar <chandankumar.093047@gmail.com>, 2012 +# Sandeep Satavlekar <sandysat@gmail.com>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Hindi (http://www.transifex.com/projects/p/django/language/" +"hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "पहला कदम" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "पिछला कदम" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "प्रस्तुत करे " + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..48cdfec --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.po new file mode 100644 index 0000000..ed35511 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hr/LC_MESSAGES/django.po @@ -0,0 +1,37 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# berislavlopac <berislav.lopac@gmail.com>, 2012 +# Dimitris Glezos <glezos@transifex.com>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/django/language/" +"hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "prvi korak" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "prethodni korak" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "pošalji" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..4583998 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.po new file mode 100644 index 0000000..8f5c694 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/hu/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Attila Nagy <>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/django/" +"language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "első" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "előző" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "küldés" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..b0af1f4 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.po new file mode 100644 index 0000000..325d8fb --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ia/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Martijn Dekker <mcdutchie@hotmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Interlingua (http://www.transifex.com/projects/p/django/" +"language/ia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "prime passo" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "previe passo" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "submitter" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..cc76794 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.po new file mode 100644 index 0000000..9b7b68e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# rodin <romihardiyanto@gmail.com>, 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/django/" +"language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "langkah pertama" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "langkah pertama" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "langkah sebelumnya" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..f3c4c76 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.po new file mode 100644 index 0000000..f912f52 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/is/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Hafsteinn Einarsson <haffi67@gmail.com>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/django/" +"language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "fyrsta skref" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "fyrra skref" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "Senda" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..335f669 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..c346d0f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Flavio Curella <flavio.curella@gmail.com>, 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Nicola Larosa <transifex@teknico.net>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-23 16:36+0000\n" +"Last-Translator: Flavio Curella <flavio.curella@gmail.com>\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/django/language/" +"it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primo passo" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "passo precedente" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "invia" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "I dati del ManagementForm sono mancanti oppure sono stati manomessi." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..d063d97 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.po new file mode 100644 index 0000000..0b695e4 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ja/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Shinya Okano <tokibito@gmail.com>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-05 06:49+0000\n" +"Last-Translator: Shinya Okano <tokibito@gmail.com>\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/django/language/" +"ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "最初のステップ" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "前のステップ" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "送信" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementFormデータが見つからないか、改竄されています。" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..8a0bc62 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.po new file mode 100644 index 0000000..cb6a646 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ka/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Bouatchidzé <a@anbz.net>, 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Georgian (http://www.transifex.com/projects/p/django/language/" +"ka/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "პირველი ეტაპი" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "წინა ეტაპი" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "გაგზავნა" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..dced094 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.po new file mode 100644 index 0000000..cb061a0 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/kk/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Kazakh (http://www.transifex.com/projects/p/django/language/" +"kk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kk\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..e714bcd --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.po new file mode 100644 index 0000000..df66594 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/km/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Khmer (http://www.transifex.com/projects/p/django/language/" +"km/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: km\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..25b028e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.po new file mode 100644 index 0000000..2f35b34 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/kn/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Kannada (http://www.transifex.com/projects/p/django/language/" +"kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..985db2d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 0000000..474e179 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/django/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..ce083a9 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.po new file mode 100644 index 0000000..a349475 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/lt/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# lauris <lauris@runbox.com>, 2011 +# Simonas Kazlauskas <simonas@kazlauskas.me>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-23 16:04+0000\n" +"Last-Translator: Simonas Kazlauskas <simonas@kazlauskas.me>\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/django/" +"language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "pirmas žingsnis" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "praeitas žingsnis" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "pateikti" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm duomenys yra sugadinti arba neegzistuoja." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..2694677 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.po new file mode 100644 index 0000000..6bbb6bf --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/lv/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Latvian (http://www.transifex.com/projects/p/django/language/" +"lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..b78b8bc --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.po new file mode 100644 index 0000000..70323d9 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/mk/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# vvangelovski <vvangelovski@gmail.com>, 2013 +# vvangelovski <vvangelovski@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-23 11:29+0000\n" +"Last-Translator: vvangelovski <vvangelovski@gmail.com>\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/django/" +"language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "прв чекор" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "претходен чекор" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "готово" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "податоците од ManagementForm недостасуваат или се менувани." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..6d8e26e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.po new file mode 100644 index 0000000..0dd6857 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ml/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Rajeesh Nair <rajeeshrnair@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Malayalam (http://www.transifex.com/projects/p/django/" +"language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "ആദ്യ ഘട്ടം" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "തൊട്ടു മുമ്പിലെ ഘട്ടം" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "സമര്പ്പിക്കൂ" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..951230f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.po new file mode 100644 index 0000000..e66f0ae --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/mn/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jacara <baskhuujacara@gmail.com>, 2011 +# zorig <zorig_ezd@yahoo.com>, 2013 +# Анхбаяр Анхаа <l.ankhbayar@gmail.com>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-30 18:06+0000\n" +"Last-Translator: zorig <zorig_ezd@yahoo.com>\n" +"Language-Team: Mongolian (http://www.transifex.com/projects/p/django/" +"language/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "эхний алхам" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "өмнөх алхам" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "илгээх" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "УдирдахФормын мэдээлэл олдсонгүй эсвэл өөрчлөгдсөн байна" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..db031a8 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 0000000..cac007a --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# jonklo <jonklo@gmail.com>, 2013 +# jonklo <jonklo@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-02 16:48+0000\n" +"Last-Translator: jonklo <jonklo@gmail.com>\n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/django/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "første steg" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "forrige steg" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "lagre" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm-data mangler eller har blitt tuklet med." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..c564d5e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.po new file mode 100644 index 0000000..4dfae46 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ne/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Paras Nath Chaudhary <opnchaudhary@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Nepali (http://www.transifex.com/projects/p/django/language/" +"ne/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ne\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "प्रथम चाल " + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "अघिल्लो चाल " + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "जम्मा गर्नु " + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..bdbc57f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.po new file mode 100644 index 0000000..a1a8107 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nl/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bouke Haarsma <bouke@webatoom.nl>, 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Jeffrey Gelens <jeffrey@noppo.pro>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-30 08:12+0000\n" +"Last-Translator: Bouke Haarsma <bouke@webatoom.nl>\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/django/language/" +"nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "eerste stap" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "vorige stap" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "verzenden" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm ontbreekt of is mee gesjoemeld." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..f13137b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.po new file mode 100644 index 0000000..5bfc7c1 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/nn/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# velmont <odin.omdal@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Norwegian Nynorsk (http://www.transifex.com/projects/p/django/" +"language/nn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "fyrste steg" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "førre steg" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "lagre" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..afdf864 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.po new file mode 100644 index 0000000..71d39e2 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/os/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Soslan Khubulov <soslanx@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Ossetic (http://www.transifex.com/projects/p/django/language/" +"os/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: os\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "фыццаг къахцӕф" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "ай размӕ къахцӕф" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "арвитын" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..6ec6ed5 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.po new file mode 100644 index 0000000..2b3366b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pa/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# A S Alam <apreet.alam@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/django/" +"language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "ਪਹਿਲਾਂ ਪਗ" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "ਪਿਛਲਾ ਪਗ਼" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "ਭੇਜੋ" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..a80242f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..4de198f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# angularcircle, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/django/language/" +"pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "Pierwszy krok" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "Poprzedni krok" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "Wyślij" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..e4ed29b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.po new file mode 100644 index 0000000..eaa7a1b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Nuno Mariz <nmariz@gmail.com>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-31 16:28+0000\n" +"Last-Translator: Nuno Mariz <nmariz@gmail.com>\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/django/" +"language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primeiro passo" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "passo anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "submeter" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Os dados do ManagementForm está omisso ou foi adulterado." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..f522244 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 0000000..e9be26f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Elyézer Rezende <elyezermr@gmail.com>, 2013 +# Guilherme Gondim <semente@taurinus.org>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-21 13:05+0000\n" +"Last-Translator: Elyézer Rezende <elyezermr@gmail.com>\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"django/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primeiro passo" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "passo anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "enviar" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Os dados do ManagementForm não foram encontrados ou foram adulterados." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..df1ae6c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 0000000..57695e3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# mihneasim <contact@mesimian.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-09-02 13:28+0000\n" +"Last-Translator: mihneasim <contact@mesimian.com>\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/django/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "primul pas" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "pasul anterior" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "confirmă" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..0b77ff8 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..bbbdb14 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,37 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Eugene MechanisM <contact@mechanism.name>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Алексей Борискин <sun.void@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-27 16:14+0000\n" +"Last-Translator: Алексей Борискин <sun.void@gmail.com>\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/django/language/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "первый шаг" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "предыдущий шаг" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "отправить" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Данные управляющей формы отсутствуют или были повреждены." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..d0c2be1 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.po new file mode 100644 index 0000000..e3aef73 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sk/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Juraj Bubniak <translations@jbub.eu>, 2013 +# Marian Andre <marian@andre.sk>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-30 15:51+0000\n" +"Last-Translator: Juraj Bubniak <translations@jbub.eu>\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/django/language/" +"sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "prvý krok" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "predchádzajúci krok" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "odoslať" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Dáta ManagementForm chýbajú alebo boli sfalšované." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..d7c374f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.po new file mode 100644 index 0000000..10ccb74 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sl/LC_MESSAGES/django.po @@ -0,0 +1,37 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# zejn <zejn@kiberpipa.org>, 2013 +# zejn <zejn@kiberpipa.org>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-23 14:28+0000\n" +"Last-Translator: zejn <zejn@kiberpipa.org>\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/django/" +"language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "prvi korak" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "predhodni korak" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "pošlji" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Podatki iz ManagementForm manjkajo ali pa so bili spreminjani." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..653096f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.po new file mode 100644 index 0000000..b9fcf6d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sq/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Besnik <besnik@programeshqip.org>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/django/language/" +"sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "hapi i parë" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "hapi i mëparshëm" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "parashtroje" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..9649270 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.po new file mode 100644 index 0000000..9abae40 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Janos Guljas <janos@resenje.org>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/django/language/" +"sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "први корак" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "претходни корак" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "постави" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..95e68d7 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.po new file mode 100644 index 0000000..a456b20 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sr_Latn/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Janos Guljas <janos@resenje.org>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/django/" +"language/sr@latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr@latin\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "prvi korak" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "prethodni korak" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "postavi" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..06752ec --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 0000000..3af5f3a --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Andreas Pelme <andreas@pelme.se>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +# biljettshop <thomas@biljettshop.se>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-10-28 10:07+0000\n" +"Last-Translator: biljettshop <thomas@biljettshop.se>\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/django/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "första steget" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "föregående steg" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "spara" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm data saknas eller har manipulerats" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..f036372 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.po new file mode 100644 index 0000000..b3f2995 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/sw/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# machaku <bmachaku@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-11-12 07:35+0000\n" +"Last-Translator: machaku <bmachaku@gmail.com>\n" +"Language-Team: Swahili (http://www.transifex.com/projects/p/django/language/" +"sw/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "hatua ya kwanza" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "hatua iliyopita" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "wasilisha" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Data za uratibu zimekosekana au zimechakachuliwa." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..41cef4b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.po new file mode 100644 index 0000000..191f5db --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ta/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Tamil (http://www.transifex.com/projects/p/django/language/" +"ta/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ta\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..e3a40fd --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.po new file mode 100644 index 0000000..c73fc99 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/te/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Telugu (http://www.transifex.com/projects/p/django/language/" +"te/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..af95be5 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.po new file mode 100644 index 0000000..d44474c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/th/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Vichai Vongvorakul <vongvichai@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/django/language/" +"th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "ขั้นตอนแรก" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "ขั้นตอนก่อนหน้านี้" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "ดำเนินการส่ง" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..9036db1 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.po new file mode 100644 index 0000000..6a4d429 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/tr/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# cihad <cihadgundogdu@gmail.com>, 2013 +# Jannis Leidel <jannis@leidel.info>, 2011 +# Murat Çorlu <muratcorlu@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-20 11:19+0000\n" +"Last-Translator: cihad <cihadgundogdu@gmail.com>\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/django/language/" +"tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "ilk adım" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "önceki adım" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "gönder" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm verisi eksik veya bozulmuş." diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..a1b54eb --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.po new file mode 100644 index 0000000..3b9cf6d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/tt/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Tatar (http://www.transifex.com/projects/p/django/language/" +"tt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tt\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..3bc9293 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.po new file mode 100644 index 0000000..c78252b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/uk/LC_MESSAGES/django.po @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Sergey Lysach <sergikoff88@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/django/" +"language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\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" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "перший крок" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "попередній крок" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "відправити" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..c384b75 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.po new file mode 100644 index 0000000..0200477 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/ur/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-04-24 18:55+0000\n" +"Last-Translator: Django team\n" +"Language-Team: Urdu (http://www.transifex.com/projects/p/django/language/" +"ur/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..09d65f1 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.po new file mode 100644 index 0000000..2639373 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/vi/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Vietnamese (http://www.transifex.com/projects/p/django/" +"language/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..378c27b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.po new file mode 100644 index 0000000..c3119e7 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_CN/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel <jannis@leidel.info>, 2011 +# Ziang Song <songziang@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django/" +"language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "第一步" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "上一步" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "提交" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.mo b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000..eb07917 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.mo diff --git a/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.po b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.po new file mode 100644 index 0000000..820d6c3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/locale/zh_TW/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# ilay <ilay@ilay.tw>, 2012 +# Jannis Leidel <jannis@leidel.info>, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django-core\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-16 15:07+0200\n" +"PO-Revision-Date: 2013-08-17 09:27+0000\n" +"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/django/" +"language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/formtools/wizard/wizard_form.html:15 +msgid "first step" +msgstr "第一步" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "prev step" +msgstr "下一步" + +#: templates/formtools/wizard/wizard_form.html:18 +msgid "submit" +msgstr "送出" + +#: wizard/views.py:275 +msgid "ManagementForm data is missing or has been tampered." +msgstr "" diff --git a/lib/python2.7/site-packages/django/contrib/formtools/models.py b/lib/python2.7/site-packages/django/contrib/formtools/models.py new file mode 100644 index 0000000..13990e2 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/models.py @@ -0,0 +1 @@ +""" models.py (even empty) currently required by the runtests.py to enable unit tests """ diff --git a/lib/python2.7/site-packages/django/contrib/formtools/preview.py b/lib/python2.7/site-packages/django/contrib/formtools/preview.py new file mode 100644 index 0000000..d2e6987 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/preview.py @@ -0,0 +1,148 @@ +""" +Formtools Preview application. +""" + +from django.http import Http404 +from django.shortcuts import render_to_response +from django.template.context import RequestContext +from django.utils.crypto import constant_time_compare +from django.contrib.formtools.utils import form_hmac + +AUTO_ID = 'formtools_%s' # Each form here uses this as its auto_id parameter. + +class FormPreview(object): + preview_template = 'formtools/preview.html' + form_template = 'formtools/form.html' + + # METHODS SUBCLASSES SHOULDN'T OVERRIDE ################################### + + def __init__(self, form): + # form should be a Form class, not an instance. + self.form, self.state = form, {} + + def __call__(self, request, *args, **kwargs): + stage = {'1': 'preview', '2': 'post'}.get(request.POST.get(self.unused_name('stage')), 'preview') + self.parse_params(*args, **kwargs) + try: + method = getattr(self, stage + '_' + request.method.lower()) + except AttributeError: + raise Http404 + return method(request) + + def unused_name(self, name): + """ + Given a first-choice name, adds an underscore to the name until it + reaches a name that isn't claimed by any field in the form. + + This is calculated rather than being hard-coded so that no field names + are off-limits for use in the form. + """ + while 1: + try: + f = self.form.base_fields[name] + except KeyError: + break # This field name isn't being used by the form. + name += '_' + return name + + def preview_get(self, request): + "Displays the form" + f = self.form(auto_id=self.get_auto_id(), initial=self.get_initial(request)) + return render_to_response(self.form_template, + self.get_context(request, f), + context_instance=RequestContext(request)) + + def preview_post(self, request): + "Validates the POST data. If valid, displays the preview page. Else, redisplays form." + f = self.form(request.POST, auto_id=self.get_auto_id()) + context = self.get_context(request, f) + if f.is_valid(): + self.process_preview(request, f, context) + context['hash_field'] = self.unused_name('hash') + context['hash_value'] = self.security_hash(request, f) + return render_to_response(self.preview_template, context, context_instance=RequestContext(request)) + else: + return render_to_response(self.form_template, context, context_instance=RequestContext(request)) + + def _check_security_hash(self, token, request, form): + expected = self.security_hash(request, form) + return constant_time_compare(token, expected) + + def post_post(self, request): + "Validates the POST data. If valid, calls done(). Else, redisplays form." + f = self.form(request.POST, auto_id=self.get_auto_id()) + if f.is_valid(): + if not self._check_security_hash(request.POST.get(self.unused_name('hash'), ''), + request, f): + return self.failed_hash(request) # Security hash failed. + return self.done(request, f.cleaned_data) + else: + return render_to_response(self.form_template, + self.get_context(request, f), + context_instance=RequestContext(request)) + + # METHODS SUBCLASSES MIGHT OVERRIDE IF APPROPRIATE ######################## + + def get_auto_id(self): + """ + Hook to override the ``auto_id`` kwarg for the form. Needed when + rendering two form previews in the same template. + """ + return AUTO_ID + + def get_initial(self, request): + """ + Takes a request argument and returns a dictionary to pass to the form's + ``initial`` kwarg when the form is being created from an HTTP get. + """ + return {} + + def get_context(self, request, form): + "Context for template rendering." + return {'form': form, 'stage_field': self.unused_name('stage'), 'state': self.state} + + + def parse_params(self, *args, **kwargs): + """ + Given captured args and kwargs from the URLconf, saves something in + self.state and/or raises Http404 if necessary. + + For example, this URLconf captures a user_id variable: + + (r'^contact/(?P<user_id>\d{1,6})/$', MyFormPreview(MyForm)), + + In this case, the kwargs variable in parse_params would be + {'user_id': 32} for a request to '/contact/32/'. You can use that + user_id to make sure it's a valid user and/or save it for later, for + use in done(). + """ + pass + + def process_preview(self, request, form, context): + """ + Given a validated form, performs any extra processing before displaying + the preview page, and saves any extra data in context. + """ + pass + + def security_hash(self, request, form): + """ + Calculates the security hash for the given HttpRequest and Form instances. + + Subclasses may want to take into account request-specific information, + such as the IP address. + """ + return form_hmac(form) + + def failed_hash(self, request): + "Returns an HttpResponse in the case of an invalid security hash." + return self.preview_post(request) + + # METHODS SUBCLASSES MUST OVERRIDE ######################################## + + def done(self, request, cleaned_data): + """ + Does something with the cleaned_data and returns an + HttpResponseRedirect. + """ + raise NotImplementedError('You must define a done() method on your %s subclass.' % self.__class__.__name__) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/form.html b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/form.html new file mode 100644 index 0000000..2f2de1f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/form.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} + +{% block content %} + +{% if form.errors %}<h1>Please correct the following errors</h1>{% else %}<h1>Submit</h1>{% endif %} + +<form action="" method="post">{% csrf_token %} +<table> +{{ form }} +</table> +<input type="hidden" name="{{ stage_field }}" value="1" /> +<p><input type="submit" value="Preview" /></p> +</form> + +{% endblock %} diff --git a/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/preview.html b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/preview.html new file mode 100644 index 0000000..eb88b1e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/preview.html @@ -0,0 +1,36 @@ +{% extends "base.html" %} + +{% block content %} + +<h1>Preview your submission</h1> + +<table> +{% for field in form %} +<tr> +<th>{{ field.label }}:</th> +<td>{{ field.data }}</td> +</tr> +{% endfor %} +</table> + +<p>Security hash: {{ hash_value }}</p> + +<form action="" method="post">{% csrf_token %} +{% for field in form %}{{ field.as_hidden }} +{% endfor %} +<input type="hidden" name="{{ stage_field }}" value="2" /> +<input type="hidden" name="{{ hash_field }}" value="{{ hash_value }}" /> +<p><input type="submit" value="Submit" /></p> +</form> + +<h1>Or edit it again</h1> + +<form action="" method="post">{% csrf_token %} +<table> +{{ form }} +</table> +<input type="hidden" name="{{ stage_field }}" value="1" /> +<p><input type="submit" value="Preview" /></p> +</form> + +{% endblock %} diff --git a/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/wizard/wizard_form.html b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/wizard/wizard_form.html new file mode 100644 index 0000000..95bc576 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/templates/formtools/wizard/wizard_form.html @@ -0,0 +1,18 @@ +{% load i18n %} +{% csrf_token %} +{{ wizard.form.media }} +{{ wizard.management_form }} +{% if wizard.form.forms %} + {{ wizard.form.management_form }} + {% for form in wizard.form.forms %} + {{ form.as_p }} + {% endfor %} +{% else %} + {{ wizard.form.as_p }} +{% endif %} + +{% if wizard.steps.prev %} +<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.first }}">{% trans "first step" %}</button> +<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "prev step" %}</button> +{% endif %} +<input type="submit" name="submit" value="{% trans "submit" %}" /> diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py new file mode 100644 index 0000000..6f3ce4b --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py @@ -0,0 +1,15 @@ +from django import forms + +class TestForm(forms.Form): + field1 = forms.CharField() + field1_ = forms.CharField() + bool1 = forms.BooleanField(required=False) + date1 = forms.DateField(required=False) + +class HashTestForm(forms.Form): + name = forms.CharField() + bio = forms.CharField() + +class HashTestBlankForm(forms.Form): + name = forms.CharField(required=False) + bio = forms.CharField(required=False) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html new file mode 100644 index 0000000..4aa1203 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html @@ -0,0 +1 @@ +Not found. diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html new file mode 100644 index 0000000..c6afe66 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html @@ -0,0 +1,2 @@ +{% block content %} +{% endblock %}
\ No newline at end of file diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html new file mode 100644 index 0000000..c911c3c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html @@ -0,0 +1,13 @@ +<html> + <body> + <p>Step {{ step }} of {{ step_count }}</p> + <form action="." method="post"> + <table> + {{ form }} + </table> + <input type="hidden" name="{{ step_field }}" value="{{ step0 }}" /> + {{ previous_fields|safe }} + <input type="submit"> + </form> + </body> +</html> diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py new file mode 100644 index 0000000..58c59f4 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py @@ -0,0 +1,183 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import datetime +import os +import warnings + +from django import http +from django.contrib.formtools import preview, utils +from django.test import TestCase +from django.test.utils import override_settings +from django.utils._os import upath +from django.utils import unittest + +from django.contrib.formtools.tests.forms import * + +success_string = "Done was called!" +success_string_encoded = success_string.encode() + +class TestFormPreview(preview.FormPreview): + def get_context(self, request, form): + context = super(TestFormPreview, self).get_context(request, form) + context.update({'custom_context': True}) + return context + + def get_initial(self, request): + return {'field1': 'Works!'} + + def done(self, request, cleaned_data): + return http.HttpResponse(success_string) + +@override_settings( + TEMPLATE_DIRS=( + os.path.join(os.path.dirname(upath(__file__)), 'templates'), + ), +) +class PreviewTests(TestCase): + urls = 'django.contrib.formtools.tests.urls' + + def setUp(self): + super(PreviewTests, self).setUp() + # Create a FormPreview instance to share between tests + self.preview = preview.FormPreview(TestForm) + input_template = '<input type="hidden" name="%s" value="%s" />' + self.input = input_template % (self.preview.unused_name('stage'), "%d") + self.test_data = {'field1': 'foo', 'field1_': 'asdf'} + + def test_unused_name(self): + """ + Verifies name mangling to get uniue field name. + """ + self.assertEqual(self.preview.unused_name('field1'), 'field1__') + + def test_form_get(self): + """ + Test contrib.formtools.preview form retrieval. + + Use the client library to see if we can sucessfully retrieve + the form (mostly testing the setup ROOT_URLCONF + process). Verify that an additional hidden input field + is created to manage the stage. + + """ + response = self.client.get('/preview/') + stage = self.input % 1 + self.assertContains(response, stage, 1) + self.assertEqual(response.context['custom_context'], True) + self.assertEqual(response.context['form'].initial, {'field1': 'Works!'}) + + def test_form_preview(self): + """ + Test contrib.formtools.preview form preview rendering. + + Use the client library to POST to the form to see if a preview + is returned. If we do get a form back check that the hidden + value is correctly managing the state of the form. + + """ + # Pass strings for form submittal and add stage variable to + # show we previously saw first stage of the form. + self.test_data.update({'stage': 1, 'date1': datetime.date(2006, 10, 25)}) + response = self.client.post('/preview/', self.test_data) + # Check to confirm stage is set to 2 in output form. + stage = self.input % 2 + self.assertContains(response, stage, 1) + + def test_form_submit(self): + """ + Test contrib.formtools.preview form submittal. + + Use the client library to POST to the form with stage set to 3 + to see if our forms done() method is called. Check first + without the security hash, verify failure, retry with security + hash and verify sucess. + + """ + # Pass strings for form submittal and add stage variable to + # show we previously saw first stage of the form. + self.test_data.update({'stage': 2, 'date1': datetime.date(2006, 10, 25)}) + response = self.client.post('/preview/', self.test_data) + self.assertNotEqual(response.content, success_string_encoded) + hash = self.preview.security_hash(None, TestForm(self.test_data)) + self.test_data.update({'hash': hash}) + response = self.client.post('/preview/', self.test_data) + self.assertEqual(response.content, success_string_encoded) + + def test_bool_submit(self): + """ + Test contrib.formtools.preview form submittal when form contains: + BooleanField(required=False) + + Ticket: #6209 - When an unchecked BooleanField is previewed, the preview + form's hash would be computed with no value for ``bool1``. However, when + the preview form is rendered, the unchecked hidden BooleanField would be + rendered with the string value 'False'. So when the preview form is + resubmitted, the hash would be computed with the value 'False' for + ``bool1``. We need to make sure the hashes are the same in both cases. + + """ + self.test_data.update({'stage':2}) + hash = self.preview.security_hash(None, TestForm(self.test_data)) + self.test_data.update({'hash': hash, 'bool1': 'False'}) + with warnings.catch_warnings(record=True): + response = self.client.post('/preview/', self.test_data) + self.assertEqual(response.content, success_string_encoded) + + def test_form_submit_good_hash(self): + """ + Test contrib.formtools.preview form submittal, using a correct + hash + """ + # Pass strings for form submittal and add stage variable to + # show we previously saw first stage of the form. + self.test_data.update({'stage':2}) + response = self.client.post('/preview/', self.test_data) + self.assertNotEqual(response.content, success_string_encoded) + hash = utils.form_hmac(TestForm(self.test_data)) + self.test_data.update({'hash': hash}) + response = self.client.post('/preview/', self.test_data) + self.assertEqual(response.content, success_string_encoded) + + + def test_form_submit_bad_hash(self): + """ + Test contrib.formtools.preview form submittal does not proceed + if the hash is incorrect. + """ + # Pass strings for form submittal and add stage variable to + # show we previously saw first stage of the form. + self.test_data.update({'stage':2}) + response = self.client.post('/preview/', self.test_data) + self.assertEqual(response.status_code, 200) + self.assertNotEqual(response.content, success_string_encoded) + hash = utils.form_hmac(TestForm(self.test_data)) + "bad" + self.test_data.update({'hash': hash}) + response = self.client.post('/previewpreview/', self.test_data) + self.assertNotEqual(response.content, success_string_encoded) + + +class FormHmacTests(unittest.TestCase): + + def test_textfield_hash(self): + """ + Regression test for #10034: the hash generation function should ignore + leading/trailing whitespace so as to be friendly to broken browsers that + submit it (usually in textareas). + """ + f1 = HashTestForm({'name': 'joe', 'bio': 'Speaking español.'}) + f2 = HashTestForm({'name': ' joe', 'bio': 'Speaking español. '}) + hash1 = utils.form_hmac(f1) + hash2 = utils.form_hmac(f2) + self.assertEqual(hash1, hash2) + + def test_empty_permitted(self): + """ + Regression test for #10643: the security hash should allow forms with + empty_permitted = True, or forms where data has not changed. + """ + f1 = HashTestBlankForm({}) + f2 = HashTestForm({}, empty_permitted=True) + hash1 = utils.form_hmac(f1) + hash2 = utils.form_hmac(f2) + self.assertEqual(hash1, hash2) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py new file mode 100644 index 0000000..f96f89e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py @@ -0,0 +1,15 @@ +""" +This is a URLconf to be loaded by tests.py. Add any URLs needed for tests only. +""" + +from __future__ import absolute_import + +from django.conf.urls import patterns, url +from django.contrib.formtools.tests.tests import TestFormPreview + +from django.contrib.formtools.tests.forms import TestForm + + +urlpatterns = patterns('', + url(r'^preview/', TestFormPreview(TestForm)), +) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py new file mode 100644 index 0000000..81de44e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py @@ -0,0 +1,19 @@ +from django.contrib.formtools.tests.wizard.test_cookiestorage import TestCookieStorage +from django.contrib.formtools.tests.wizard.test_forms import FormTests, SessionFormTests, CookieFormTests +from django.contrib.formtools.tests.wizard.test_loadstorage import TestLoadStorage +from django.contrib.formtools.tests.wizard.namedwizardtests.tests import ( + NamedSessionWizardTests, + NamedCookieWizardTests, + TestNamedUrlSessionWizardView, + TestNamedUrlCookieWizardView, + NamedSessionFormTests, + NamedCookieFormTests, +) +from django.contrib.formtools.tests.wizard.test_sessionstorage import TestSessionStorage +from django.contrib.formtools.tests.wizard.wizardtests.tests import ( + SessionWizardTests, + CookieWizardTests, + WizardTestKwargs, + WizardTestGenericViewInterface, + WizardFormKwargsOverrideTests, +) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py new file mode 100644 index 0000000..39e914d --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py @@ -0,0 +1,52 @@ +import os +import tempfile + +from django import forms +from django.core.files.storage import FileSystemStorage +from django.forms.formsets import formset_factory +from django.http import HttpResponse +from django.template import Template, Context + +from django.contrib.auth.models import User + +from django.contrib.formtools.wizard.views import NamedUrlWizardView + +temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR')) +temp_storage = FileSystemStorage(location=temp_storage_location) + +class Page1(forms.Form): + name = forms.CharField(max_length=100) + user = forms.ModelChoiceField(queryset=User.objects.all()) + thirsty = forms.NullBooleanField() + +class Page2(forms.Form): + address1 = forms.CharField(max_length=100) + address2 = forms.CharField(max_length=100) + file1 = forms.FileField() + +class Page3(forms.Form): + random_crap = forms.CharField(max_length=100) + +Page4 = formset_factory(Page3, extra=2) + +class ContactWizard(NamedUrlWizardView): + file_storage = temp_storage + + def done(self, form_list, **kwargs): + c = Context({ + 'form_list': [x.cleaned_data for x in form_list], + 'all_cleaned_data': self.get_all_cleaned_data() + }) + + for form in self.form_list.keys(): + c[form] = self.get_cleaned_data_for_step(form) + + c['this_will_fail'] = self.get_cleaned_data_for_step('this_will_fail') + return HttpResponse(Template('').render(c)) + +class SessionContactWizard(ContactWizard): + storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' + +class CookieContactWizard(ContactWizard): + storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' + diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py new file mode 100644 index 0000000..b6125db --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py @@ -0,0 +1,382 @@ +from __future__ import unicode_literals + +from django.core.urlresolvers import reverse +from django.http import QueryDict +from django.test import TestCase + +from django.contrib.auth.models import User +from django.contrib.auth.tests.utils import skipIfCustomUser + +from django.contrib.formtools.wizard.views import (NamedUrlSessionWizardView, + NamedUrlCookieWizardView) +from django.contrib.formtools.tests.wizard.test_forms import get_request, Step1, Step2 + + +class NamedWizardTests(object): + urls = 'django.contrib.formtools.tests.wizard.namedwizardtests.urls' + + def setUp(self): + self.testuser, created = User.objects.get_or_create(username='testuser1') + self.wizard_step_data[0]['form1-user'] = self.testuser.pk + + def test_initial_call(self): + response = self.client.get(reverse('%s_start' % self.wizard_urlname)) + self.assertEqual(response.status_code, 302) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + wizard = response.context['wizard'] + self.assertEqual(wizard['steps'].current, 'form1') + self.assertEqual(wizard['steps'].step0, 0) + self.assertEqual(wizard['steps'].step1, 1) + self.assertEqual(wizard['steps'].last, 'form4') + self.assertEqual(wizard['steps'].prev, None) + self.assertEqual(wizard['steps'].next, 'form2') + self.assertEqual(wizard['steps'].count, 4) + self.assertEqual(wizard['url_name'], self.wizard_urlname) + + def test_initial_call_with_params(self): + get_params = {'getvar1': 'getval1', 'getvar2': 'getval2'} + response = self.client.get(reverse('%s_start' % self.wizard_urlname), + get_params) + self.assertEqual(response.status_code, 302) + + # Test for proper redirect GET parameters + location = response.url + self.assertNotEqual(location.find('?'), -1) + querydict = QueryDict(location[location.find('?') + 1:]) + self.assertEqual(dict(querydict.items()), get_params) + + def test_form_post_error(self): + response = self.client.post( + reverse(self.wizard_urlname, kwargs={'step': 'form1'}), + self.wizard_step_1_data) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + self.assertEqual(response.context['wizard']['form'].errors, + {'name': ['This field is required.'], + 'user': ['This field is required.']}) + + def test_form_post_success(self): + response = self.client.post( + reverse(self.wizard_urlname, kwargs={'step': 'form1'}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + wizard = response.context['wizard'] + self.assertEqual(wizard['steps'].current, 'form2') + self.assertEqual(wizard['steps'].step0, 1) + self.assertEqual(wizard['steps'].prev, 'form1') + self.assertEqual(wizard['steps'].next, 'form3') + + def test_form_stepback(self): + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form1'})) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.post( + reverse(self.wizard_urlname, kwargs={'step': 'form1'}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + response = self.client.post( + reverse(self.wizard_urlname, kwargs={ + 'step': response.context['wizard']['steps'].current + }), {'wizard_goto_step': response.context['wizard']['steps'].prev}) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + def test_form_jump(self): + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form1'})) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form3'})) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form3') + + def test_form_finish(self): + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form1'})) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + post_data = self.wizard_step_data[1] + post_data['form2-file1'].close() + post_data['form2-file1'] = open(__file__, 'rb') + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + post_data) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form3') + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[2]) + response = self.client.get(response.url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form4') + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[3]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + all_data = response.context['form_list'] + with open(__file__, 'rb') as f: + self.assertEqual(all_data[1]['file1'].read(), f.read()) + all_data[1]['file1'].close() + del all_data[1]['file1'] + self.assertEqual(all_data, [ + {'name': 'Pony', 'thirsty': True, 'user': self.testuser}, + {'address1': '123 Main St', 'address2': 'Djangoland'}, + {'random_crap': 'blah blah'}, + [{'random_crap': 'blah blah'}, {'random_crap': 'blah blah'}]]) + + def test_cleaned_data(self): + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form1'})) + self.assertEqual(response.status_code, 200) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + post_data = self.wizard_step_data[1] + post_data['form2-file1'] = open(__file__, 'rb') + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + post_data) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + step2_url = reverse(self.wizard_urlname, kwargs={'step': 'form2'}) + response = self.client.get(step2_url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + with open(__file__, 'rb') as f: + self.assertEqual( + response.context['wizard']['form'].files['form2-file1'].read(), + f.read()) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[2]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[3]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + all_data = response.context['all_cleaned_data'] + with open(__file__, 'rb') as f: + self.assertEqual(all_data['file1'].read(), f.read()) + all_data['file1'].close() + del all_data['file1'] + self.assertEqual( + all_data, + {'name': 'Pony', 'thirsty': True, 'user': self.testuser, + 'address1': '123 Main St', 'address2': 'Djangoland', + 'random_crap': 'blah blah', 'formset-form4': [ + {'random_crap': 'blah blah'}, + {'random_crap': 'blah blah'} + ]}) + + def test_manipulated_data(self): + response = self.client.get( + reverse(self.wizard_urlname, kwargs={'step': 'form1'})) + self.assertEqual(response.status_code, 200) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + post_data = self.wizard_step_data[1] + post_data['form2-file1'].close() + post_data['form2-file1'] = open(__file__, 'rb') + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + post_data) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[2]) + loc = response.url + response = self.client.get(loc) + self.assertEqual(response.status_code, 200, loc) + + self.client.cookies.pop('sessionid', None) + self.client.cookies.pop('wizard_cookie_contact_wizard', None) + + response = self.client.post( + reverse(self.wizard_urlname, + kwargs={'step': response.context['wizard']['steps'].current}), + self.wizard_step_data[3]) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + def test_form_reset(self): + response = self.client.post( + reverse(self.wizard_urlname, kwargs={'step': 'form1'}), + self.wizard_step_data[0]) + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + response = self.client.get( + '%s?reset=1' % reverse('%s_start' % self.wizard_urlname)) + self.assertEqual(response.status_code, 302) + + response = self.client.get(response.url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + +@skipIfCustomUser +class NamedSessionWizardTests(NamedWizardTests, TestCase): + wizard_urlname = 'nwiz_session' + wizard_step_1_data = { + 'session_contact_wizard-current_step': 'form1', + } + wizard_step_data = ( + { + 'form1-name': 'Pony', + 'form1-thirsty': '2', + 'session_contact_wizard-current_step': 'form1', + }, + { + 'form2-address1': '123 Main St', + 'form2-address2': 'Djangoland', + 'session_contact_wizard-current_step': 'form2', + }, + { + 'form3-random_crap': 'blah blah', + 'session_contact_wizard-current_step': 'form3', + }, + { + 'form4-INITIAL_FORMS': '0', + 'form4-TOTAL_FORMS': '2', + 'form4-MAX_NUM_FORMS': '0', + 'form4-0-random_crap': 'blah blah', + 'form4-1-random_crap': 'blah blah', + 'session_contact_wizard-current_step': 'form4', + } + ) + + +@skipIfCustomUser +class NamedCookieWizardTests(NamedWizardTests, TestCase): + wizard_urlname = 'nwiz_cookie' + wizard_step_1_data = { + 'cookie_contact_wizard-current_step': 'form1', + } + wizard_step_data = ( + { + 'form1-name': 'Pony', + 'form1-thirsty': '2', + 'cookie_contact_wizard-current_step': 'form1', + }, + { + 'form2-address1': '123 Main St', + 'form2-address2': 'Djangoland', + 'cookie_contact_wizard-current_step': 'form2', + }, + { + 'form3-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form3', + }, + { + 'form4-INITIAL_FORMS': '0', + 'form4-TOTAL_FORMS': '2', + 'form4-MAX_NUM_FORMS': '0', + 'form4-0-random_crap': 'blah blah', + 'form4-1-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form4', + } + ) + + +class NamedFormTests(object): + urls = 'django.contrib.formtools.tests.wizard.namedwizardtests.urls' + + def test_revalidation(self): + request = get_request() + + testform = self.formwizard_class.as_view( + [('start', Step1), ('step2', Step2)], + url_name=self.wizard_urlname) + response, instance = testform(request, step='done') + + instance.render_done(None) + self.assertEqual(instance.storage.current_step, 'start') + + +class TestNamedUrlSessionWizardView(NamedUrlSessionWizardView): + + def dispatch(self, request, *args, **kwargs): + response = super(TestNamedUrlSessionWizardView, self).dispatch(request, *args, **kwargs) + return response, self + + +class TestNamedUrlCookieWizardView(NamedUrlCookieWizardView): + + def dispatch(self, request, *args, **kwargs): + response = super(TestNamedUrlCookieWizardView, self).dispatch(request, *args, **kwargs) + return response, self + + +@skipIfCustomUser +class NamedSessionFormTests(NamedFormTests, TestCase): + formwizard_class = TestNamedUrlSessionWizardView + wizard_urlname = 'nwiz_session' + + +@skipIfCustomUser +class NamedCookieFormTests(NamedFormTests, TestCase): + formwizard_class = TestNamedUrlCookieWizardView + wizard_urlname = 'nwiz_cookie' diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py new file mode 100644 index 0000000..ac2cadc --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py @@ -0,0 +1,24 @@ +from django.conf.urls import patterns, url +from django.contrib.formtools.tests.wizard.namedwizardtests.forms import ( + SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) + +def get_named_session_wizard(): + return SessionContactWizard.as_view( + [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)], + url_name='nwiz_session', + done_step_name='nwiz_session_done' + ) + +def get_named_cookie_wizard(): + return CookieContactWizard.as_view( + [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)], + url_name='nwiz_cookie', + done_step_name='nwiz_cookie_done' + ) + +urlpatterns = patterns('', + url(r'^nwiz_session/(?P<step>.+)/$', get_named_session_wizard(), name='nwiz_session'), + url(r'^nwiz_session/$', get_named_session_wizard(), name='nwiz_session_start'), + url(r'^nwiz_cookie/(?P<step>.+)/$', get_named_cookie_wizard(), name='nwiz_cookie'), + url(r'^nwiz_cookie/$', get_named_cookie_wizard(), name='nwiz_cookie_start'), +) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py new file mode 100644 index 0000000..17968df --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py @@ -0,0 +1,87 @@ +from datetime import datetime + +from django.http import HttpRequest +from django.conf import settings +from django.utils.importlib import import_module + +from django.contrib.auth.models import User + + +def get_request(): + request = HttpRequest() + engine = import_module(settings.SESSION_ENGINE) + request.session = engine.SessionStore(None) + return request + + +class TestStorage(object): + def setUp(self): + self.testuser, created = User.objects.get_or_create(username='testuser1') + + def test_current_step(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + my_step = 2 + + self.assertEqual(storage.current_step, None) + + storage.current_step = my_step + self.assertEqual(storage.current_step, my_step) + + storage.reset() + self.assertEqual(storage.current_step, None) + + storage.current_step = my_step + storage2 = self.get_storage()('wizard2', request, None) + self.assertEqual(storage2.current_step, None) + + def test_step_data(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + step1 = 'start' + step_data1 = {'field1': 'data1', + 'field2': 'data2', + 'field3': datetime.now(), + 'field4': self.testuser} + + self.assertEqual(storage.get_step_data(step1), None) + + storage.set_step_data(step1, step_data1) + self.assertEqual(storage.get_step_data(step1), step_data1) + + storage.reset() + self.assertEqual(storage.get_step_data(step1), None) + + storage.set_step_data(step1, step_data1) + storage2 = self.get_storage()('wizard2', request, None) + self.assertEqual(storage2.get_step_data(step1), None) + + def test_extra_context(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + extra_context = {'key1': 'data1', + 'key2': 'data2', + 'key3': datetime.now(), + 'key4': self.testuser} + + self.assertEqual(storage.extra_data, {}) + + storage.extra_data = extra_context + self.assertEqual(storage.extra_data, extra_context) + + storage.reset() + self.assertEqual(storage.extra_data, {}) + + storage.extra_data = extra_context + storage2 = self.get_storage()('wizard2', request, None) + self.assertEqual(storage2.extra_data, {}) + + def test_extra_context_key_persistence(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + + self.assertFalse('test' in storage.extra_data) + + storage.extra_data['test'] = True + + self.assertTrue('test' in storage.extra_data) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py new file mode 100644 index 0000000..4c1ff97 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py @@ -0,0 +1,47 @@ +from django.test import TestCase +from django.core import signing +from django.core.exceptions import SuspiciousOperation +from django.http import HttpResponse + +from django.contrib.auth.tests.utils import skipIfCustomUser +from django.contrib.formtools.wizard.storage.cookie import CookieStorage +from django.contrib.formtools.tests.wizard.storage import get_request, TestStorage + + +@skipIfCustomUser +class TestCookieStorage(TestStorage, TestCase): + def get_storage(self): + return CookieStorage + + def test_manipulated_cookie(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + + cookie_signer = signing.get_cookie_signer(storage.prefix) + + storage.request.COOKIES[storage.prefix] = cookie_signer.sign( + storage.encoder.encode({'key1': 'value1'})) + + self.assertEqual(storage.load_data(), {'key1': 'value1'}) + + storage.request.COOKIES[storage.prefix] = 'i_am_manipulated' + self.assertRaises(SuspiciousOperation, storage.load_data) + + def test_reset_cookie(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + + storage.data = {'key1': 'value1'} + + response = HttpResponse() + storage.update_response(response) + + cookie_signer = signing.get_cookie_signer(storage.prefix) + signed_cookie_data = cookie_signer.sign(storage.encoder.encode(storage.data)) + self.assertEqual(response.cookies[storage.prefix].value, signed_cookie_data) + + storage.init_data() + storage.update_response(response) + unsigned_cookie_data = cookie_signer.unsign(response.cookies[storage.prefix].value) + self.assertJSONEqual(unsigned_cookie_data, + {"step_files": {}, "step": None, "extra_data": {}, "step_data": {}}) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py new file mode 100644 index 0000000..2191782 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py @@ -0,0 +1,253 @@ +from __future__ import unicode_literals + +from django import forms, http +from django.conf import settings +from django.db import models +from django.test import TestCase +from django.template.response import TemplateResponse +from django.utils.importlib import import_module + +from django.contrib.auth.models import User + +from django.contrib.formtools.wizard.views import (WizardView, + SessionWizardView, + CookieWizardView) + + +class DummyRequest(http.HttpRequest): + def __init__(self, POST=None): + super(DummyRequest, self).__init__() + self.method = "POST" if POST else "GET" + if POST is not None: + self.POST.update(POST) + self.session = {} + self._dont_enforce_csrf_checks = True + + +def get_request(*args, **kwargs): + request = DummyRequest(*args, **kwargs) + engine = import_module(settings.SESSION_ENGINE) + request.session = engine.SessionStore(None) + return request + + +class Step1(forms.Form): + name = forms.CharField() + + +class Step2(forms.Form): + name = forms.CharField() + + +class Step3(forms.Form): + data = forms.CharField() + + +class CustomKwargsStep1(Step1): + + def __init__(self, test=None, *args, **kwargs): + self.test = test + return super(CustomKwargsStep1, self).__init__(*args, **kwargs) + + +class TestModel(models.Model): + name = models.CharField(max_length=100) + + class Meta: + app_label = 'formtools' + + +class TestModelForm(forms.ModelForm): + class Meta: + model = TestModel + fields = '__all__' + + +TestModelFormSet = forms.models.modelformset_factory(TestModel, form=TestModelForm, extra=2, + fields='__all__') + + +class TestWizard(WizardView): + storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' + + def dispatch(self, request, *args, **kwargs): + response = super(TestWizard, self).dispatch(request, *args, **kwargs) + return response, self + + def get_form_kwargs(self, step, *args, **kwargs): + kwargs = super(TestWizard, self).get_form_kwargs(step, *args, **kwargs) + if step == 'kwargs_test': + kwargs['test'] = True + return kwargs + +class TestWizardWithInitAttrs(TestWizard): + form_list = [Step1, Step2] + condition_dict = {'step2': True} + initial_dict = {'start': {'name': 'value1'}} + instance_dict = {'start': User()} + +class FormTests(TestCase): + def test_form_init(self): + testform = TestWizard.get_initkwargs([Step1, Step2]) + self.assertEqual(testform['form_list'], {'0': Step1, '1': Step2}) + + testform = TestWizard.get_initkwargs([('start', Step1), ('step2', Step2)]) + self.assertEqual( + testform['form_list'], {'start': Step1, 'step2': Step2}) + + testform = TestWizard.get_initkwargs([Step1, Step2, ('finish', Step3)]) + self.assertEqual( + testform['form_list'], {'0': Step1, '1': Step2, 'finish': Step3}) + + testform = TestWizardWithInitAttrs.get_initkwargs() + self.assertEqual(testform['form_list'], {'0': Step1, '1': Step2}) + + def test_first_step(self): + request = get_request() + + testform = TestWizard.as_view([Step1, Step2]) + response, instance = testform(request) + self.assertEqual(instance.steps.current, '0') + + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + response, instance = testform(request) + + self.assertEqual(instance.steps.current, 'start') + + def test_persistence(self): + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + request = get_request({'test_wizard-current_step': 'start', + 'name': 'data1'}) + response, instance = testform(request) + self.assertEqual(instance.steps.current, 'start') + + instance.storage.current_step = 'step2' + + testform2 = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + request.POST = {'test_wizard-current_step': 'step2'} + response, instance = testform2(request) + self.assertEqual(instance.steps.current, 'step2') + + def test_form_condition(self): + request = get_request() + + testform = TestWizard.as_view( + [('start', Step1), ('step2', Step2), ('step3', Step3)], + condition_dict={'step2': True}) + response, instance = testform(request) + self.assertEqual(instance.get_next_step(), 'step2') + + testform = TestWizard.as_view( + [('start', Step1), ('step2', Step2), ('step3', Step3)], + condition_dict={'step2': False}) + response, instance = testform(request) + self.assertEqual(instance.get_next_step(), 'step3') + + testform = TestWizardWithInitAttrs.as_view( + [('start', Step1), ('step2', Step2), ('step3', Step3)]) + response, instance = testform(request) + self.assertEqual(instance.get_next_step(), 'step2') + + def test_form_kwargs(self): + request = get_request() + + testform = TestWizard.as_view([('start', Step1), + ('kwargs_test', CustomKwargsStep1)]) + response, instance = testform(request) + + self.assertEqual(instance.get_form_kwargs('start'), {}) + self.assertEqual(instance.get_form_kwargs('kwargs_test'), {'test': True}) + self.assertEqual(instance.get_form('kwargs_test').test, True) + + def test_form_prefix(self): + request = get_request() + + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + response, instance = testform(request) + + self.assertEqual(instance.get_form_prefix(), 'start') + self.assertEqual(instance.get_form_prefix('another'), 'another') + + def test_form_initial(self): + request = get_request() + + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)], + initial_dict={'start': {'name': 'value1'}}) + response, instance = testform(request) + + self.assertEqual(instance.get_form_initial('start'), {'name': 'value1'}) + self.assertEqual(instance.get_form_initial('step2'), {}) + + testform = TestWizardWithInitAttrs.as_view( + [('start', Step1), ('step2', Step2)]) + response, instance = testform(request) + + self.assertEqual(instance.get_form_initial('start'), {'name': 'value1'}) + self.assertEqual(instance.get_form_initial('step2'), {}) + + def test_form_instance(self): + request = get_request() + the_instance = TestModel() + testform = TestWizard.as_view([('start', TestModelForm), ('step2', Step2)], + instance_dict={'start': the_instance}) + response, instance = testform(request) + + self.assertEqual( + instance.get_form_instance('start'), + the_instance) + self.assertEqual( + instance.get_form_instance('non_exist_instance'), + None) + + testform = TestWizardWithInitAttrs.as_view( + [('start', TestModelForm), ('step2', Step2)]) + response, instance = testform(request) + + self.assertEqual( + instance.get_form_instance('start'), + TestWizardWithInitAttrs.instance_dict['start']) + + def test_formset_instance(self): + request = get_request() + the_instance1, created = TestModel.objects.get_or_create( + name='test object 1') + the_instance2, created = TestModel.objects.get_or_create( + name='test object 2') + testform = TestWizard.as_view([('start', TestModelFormSet), ('step2', Step2)], + instance_dict={'start': TestModel.objects.filter(name='test object 1')}) + response, instance = testform(request) + + self.assertEqual(list(instance.get_form_instance('start')), [the_instance1]) + self.assertEqual(instance.get_form_instance('non_exist_instance'), None) + + self.assertEqual(instance.get_form().initial_form_count(), 1) + + def test_done(self): + request = get_request() + + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + response, instance = testform(request) + + self.assertRaises(NotImplementedError, instance.done, None) + + def test_revalidation(self): + request = get_request() + + testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) + response, instance = testform(request) + instance.render_done(None) + self.assertEqual(instance.storage.current_step, 'start') + + +class SessionFormTests(TestCase): + def test_init(self): + request = get_request() + testform = SessionWizardView.as_view([('start', Step1)]) + self.assertTrue(isinstance(testform(request), TemplateResponse)) + + +class CookieFormTests(TestCase): + def test_init(self): + request = get_request() + testform = CookieWizardView.as_view([('start', Step1)]) + self.assertTrue(isinstance(testform(request), TemplateResponse)) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py new file mode 100644 index 0000000..bb0b06e --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py @@ -0,0 +1,18 @@ +from django.test import TestCase + +from django.contrib.formtools.wizard.storage import get_storage, MissingStorage +from django.contrib.formtools.wizard.storage.base import BaseStorage + + +class TestLoadStorage(TestCase): + def test_load_storage(self): + self.assertEqual( + type(get_storage('django.contrib.formtools.wizard.storage.base.BaseStorage', 'wizard1')), + BaseStorage) + + def test_missing_storage(self): + self.assertRaises(MissingStorage, get_storage, + 'django.contrib.formtools.wizard.storage.idontexist.IDontExistStorage', 'wizard1') + self.assertRaises(MissingStorage, get_storage, + 'django.contrib.formtools.wizard.storage.base.IDontExistStorage', 'wizard1') + diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py new file mode 100644 index 0000000..0bd9fd8 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py @@ -0,0 +1,11 @@ +from django.test import TestCase + +from django.contrib.auth.tests.utils import skipIfCustomUser +from django.contrib.formtools.tests.wizard.storage import TestStorage +from django.contrib.formtools.wizard.storage.session import SessionStorage + + +@skipIfCustomUser +class TestSessionStorage(TestStorage, TestCase): + def get_storage(self): + return SessionStorage diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py new file mode 100644 index 0000000..6a81329 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py @@ -0,0 +1,67 @@ +import os +import tempfile + +from django import forms +from django.contrib.auth.models import User +from django.core.files.storage import FileSystemStorage +from django.forms.formsets import formset_factory +from django.forms.models import modelformset_factory +from django.http import HttpResponse +from django.template import Template, Context + +from django.contrib.auth.models import User + +from django.contrib.formtools.wizard.views import WizardView + +temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR')) +temp_storage = FileSystemStorage(location=temp_storage_location) + +class Page1(forms.Form): + name = forms.CharField(max_length=100) + user = forms.ModelChoiceField(queryset=User.objects.all()) + thirsty = forms.NullBooleanField() + +class Page2(forms.Form): + address1 = forms.CharField(max_length=100) + address2 = forms.CharField(max_length=100) + file1 = forms.FileField() + +class Page3(forms.Form): + random_crap = forms.CharField(max_length=100) + +Page4 = formset_factory(Page3, extra=2) + +class ContactWizard(WizardView): + file_storage = temp_storage + + def done(self, form_list, **kwargs): + c = Context({ + 'form_list': [x.cleaned_data for x in form_list], + 'all_cleaned_data': self.get_all_cleaned_data(), + }) + + for form in self.form_list.keys(): + c[form] = self.get_cleaned_data_for_step(form) + + c['this_will_fail'] = self.get_cleaned_data_for_step('this_will_fail') + return HttpResponse(Template('').render(c)) + + def get_context_data(self, form, **kwargs): + context = super(ContactWizard, self).get_context_data(form, **kwargs) + if self.storage.current_step == 'form2': + context.update({'another_var': True}) + return context + +class UserForm(forms.ModelForm): + class Meta: + model = User + fields = ('username', 'email') + +UserFormSet = modelformset_factory(User, form=UserForm) + +class SessionContactWizard(ContactWizard): + storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' + +class CookieContactWizard(ContactWizard): + storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' + diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html new file mode 100644 index 0000000..45f812c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html @@ -0,0 +1 @@ +{% extends "formtools/wizard/wizard_form.html" %} diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py new file mode 100644 index 0000000..3c2dbc3 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py @@ -0,0 +1,407 @@ +from __future__ import unicode_literals + +import os + +from django import forms +from django.test import TestCase +from django.test.client import RequestFactory +from django.conf import settings +from django.contrib.auth.models import User +from django.contrib.auth.tests.utils import skipIfCustomUser +from django.contrib.formtools.wizard.views import CookieWizardView +from django.utils._os import upath + + +class UserForm(forms.ModelForm): + class Meta: + model = User + fields = '__all__' + + +UserFormSet = forms.models.modelformset_factory(User, form=UserForm, extra=2) + + +class WizardTests(object): + urls = 'django.contrib.formtools.tests.wizard.wizardtests.urls' + + def setUp(self): + self.testuser, created = User.objects.get_or_create(username='testuser1') + self.wizard_step_data[0]['form1-user'] = self.testuser.pk + + def test_initial_call(self): + response = self.client.get(self.wizard_url) + wizard = response.context['wizard'] + self.assertEqual(response.status_code, 200) + self.assertEqual(wizard['steps'].current, 'form1') + self.assertEqual(wizard['steps'].step0, 0) + self.assertEqual(wizard['steps'].step1, 1) + self.assertEqual(wizard['steps'].last, 'form4') + self.assertEqual(wizard['steps'].prev, None) + self.assertEqual(wizard['steps'].next, 'form2') + self.assertEqual(wizard['steps'].count, 4) + + def test_form_post_error(self): + response = self.client.post(self.wizard_url, self.wizard_step_1_data) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + self.assertEqual(response.context['wizard']['form'].errors, + {'name': ['This field is required.'], + 'user': ['This field is required.']}) + + def test_form_post_success(self): + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + wizard = response.context['wizard'] + self.assertEqual(response.status_code, 200) + self.assertEqual(wizard['steps'].current, 'form2') + self.assertEqual(wizard['steps'].step0, 1) + self.assertEqual(wizard['steps'].prev, 'form1') + self.assertEqual(wizard['steps'].next, 'form3') + + def test_form_stepback(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + response = self.client.post(self.wizard_url, { + 'wizard_goto_step': response.context['wizard']['steps'].prev}) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + def test_template_context(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + self.assertEqual(response.context.get('another_var', None), None) + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + self.assertEqual(response.context.get('another_var', None), True) + + # ticket #19025: `form` should be included in context + form = response.context_data['wizard']['form'] + self.assertEqual(response.context_data['form'], form) + + def test_form_finish(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + post_data = self.wizard_step_data[1] + post_data['form2-file1'] = open(upath(__file__), 'rb') + response = self.client.post(self.wizard_url, post_data) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form3') + + response = self.client.post(self.wizard_url, self.wizard_step_data[2]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form4') + + response = self.client.post(self.wizard_url, self.wizard_step_data[3]) + self.assertEqual(response.status_code, 200) + + all_data = response.context['form_list'] + with open(upath(__file__), 'rb') as f: + self.assertEqual(all_data[1]['file1'].read(), f.read()) + all_data[1]['file1'].close() + del all_data[1]['file1'] + self.assertEqual(all_data, [ + {'name': 'Pony', 'thirsty': True, 'user': self.testuser}, + {'address1': '123 Main St', 'address2': 'Djangoland'}, + {'random_crap': 'blah blah'}, + [{'random_crap': 'blah blah'}, + {'random_crap': 'blah blah'}]]) + + def test_cleaned_data(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + + post_data = self.wizard_step_data[1] + with open(upath(__file__), 'rb') as post_file: + post_data['form2-file1'] = post_file + response = self.client.post(self.wizard_url, post_data) + self.assertEqual(response.status_code, 200) + + response = self.client.post(self.wizard_url, self.wizard_step_data[2]) + self.assertEqual(response.status_code, 200) + + response = self.client.post(self.wizard_url, self.wizard_step_data[3]) + self.assertEqual(response.status_code, 200) + + all_data = response.context['all_cleaned_data'] + with open(upath(__file__), 'rb') as f: + self.assertEqual(all_data['file1'].read(), f.read()) + all_data['file1'].close() + del all_data['file1'] + self.assertEqual(all_data, { + 'name': 'Pony', 'thirsty': True, 'user': self.testuser, + 'address1': '123 Main St', 'address2': 'Djangoland', + 'random_crap': 'blah blah', 'formset-form4': [ + {'random_crap': 'blah blah'}, + {'random_crap': 'blah blah'}]}) + + def test_manipulated_data(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + + post_data = self.wizard_step_data[1] + post_data['form2-file1'].close() + post_data['form2-file1'] = open(upath(__file__), 'rb') + response = self.client.post(self.wizard_url, post_data) + self.assertEqual(response.status_code, 200) + + response = self.client.post(self.wizard_url, self.wizard_step_data[2]) + self.assertEqual(response.status_code, 200) + self.client.cookies.pop('sessionid', None) + self.client.cookies.pop('wizard_cookie_contact_wizard', None) + + response = self.client.post(self.wizard_url, self.wizard_step_data[3]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + def test_form_refresh(self): + response = self.client.get(self.wizard_url) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form1') + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + post_data = self.wizard_step_data[1] + post_data['form2-file1'].close() + post_data['form2-file1'] = open(upath(__file__), 'rb') + response = self.client.post(self.wizard_url, post_data) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form3') + + response = self.client.post(self.wizard_url, self.wizard_step_data[2]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form4') + + response = self.client.post(self.wizard_url, self.wizard_step_data[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['wizard']['steps'].current, 'form2') + + response = self.client.post(self.wizard_url, self.wizard_step_data[3]) + self.assertEqual(response.status_code, 200) + + +@skipIfCustomUser +class SessionWizardTests(WizardTests, TestCase): + wizard_url = '/wiz_session/' + wizard_step_1_data = { + 'session_contact_wizard-current_step': 'form1', + } + wizard_step_data = ( + { + 'form1-name': 'Pony', + 'form1-thirsty': '2', + 'session_contact_wizard-current_step': 'form1', + }, + { + 'form2-address1': '123 Main St', + 'form2-address2': 'Djangoland', + 'session_contact_wizard-current_step': 'form2', + }, + { + 'form3-random_crap': 'blah blah', + 'session_contact_wizard-current_step': 'form3', + }, + { + 'form4-INITIAL_FORMS': '0', + 'form4-TOTAL_FORMS': '2', + 'form4-MAX_NUM_FORMS': '0', + 'form4-0-random_crap': 'blah blah', + 'form4-1-random_crap': 'blah blah', + 'session_contact_wizard-current_step': 'form4', + } + ) + + +@skipIfCustomUser +class CookieWizardTests(WizardTests, TestCase): + wizard_url = '/wiz_cookie/' + wizard_step_1_data = { + 'cookie_contact_wizard-current_step': 'form1', + } + wizard_step_data = ( + { + 'form1-name': 'Pony', + 'form1-thirsty': '2', + 'cookie_contact_wizard-current_step': 'form1', + }, + { + 'form2-address1': '123 Main St', + 'form2-address2': 'Djangoland', + 'cookie_contact_wizard-current_step': 'form2', + }, + { + 'form3-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form3', + }, + { + 'form4-INITIAL_FORMS': '0', + 'form4-TOTAL_FORMS': '2', + 'form4-MAX_NUM_FORMS': '0', + 'form4-0-random_crap': 'blah blah', + 'form4-1-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form4', + } + ) + + +@skipIfCustomUser +class WizardTestKwargs(TestCase): + wizard_url = '/wiz_other_template/' + wizard_step_1_data = { + 'cookie_contact_wizard-current_step': 'form1', + } + wizard_step_data = ( + { + 'form1-name': 'Pony', + 'form1-thirsty': '2', + 'cookie_contact_wizard-current_step': 'form1', + }, + { + 'form2-address1': '123 Main St', + 'form2-address2': 'Djangoland', + 'cookie_contact_wizard-current_step': 'form2', + }, + { + 'form3-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form3', + }, + { + 'form4-INITIAL_FORMS': '0', + 'form4-TOTAL_FORMS': '2', + 'form4-MAX_NUM_FORMS': '0', + 'form4-0-random_crap': 'blah blah', + 'form4-1-random_crap': 'blah blah', + 'cookie_contact_wizard-current_step': 'form4', + } + ) + urls = 'django.contrib.formtools.tests.wizard.wizardtests.urls' + + def setUp(self): + self.testuser, created = User.objects.get_or_create(username='testuser1') + self.wizard_step_data[0]['form1-user'] = self.testuser.pk + + def test_template(self): + templates = os.path.join(os.path.dirname(upath(__file__)), 'templates') + with self.settings( + TEMPLATE_DIRS=list(settings.TEMPLATE_DIRS) + [templates]): + response = self.client.get(self.wizard_url) + self.assertTemplateUsed(response, 'other_wizard_form.html') + + +class WizardTestGenericViewInterface(TestCase): + def test_get_context_data_inheritance(self): + class TestWizard(CookieWizardView): + """ + A subclass that implements ``get_context_data`` using the standard + protocol for generic views (accept only **kwargs). + + See ticket #17148. + """ + def get_context_data(self, **kwargs): + context = super(TestWizard, self).get_context_data(**kwargs) + context['test_key'] = 'test_value' + return context + + factory = RequestFactory() + view = TestWizard.as_view([forms.Form]) + + response = view(factory.get('/')) + self.assertEqual(response.context_data['test_key'], 'test_value') + + def test_get_context_data_with_mixin(self): + class AnotherMixin(object): + def get_context_data(self, **kwargs): + context = super(AnotherMixin, self).get_context_data(**kwargs) + context['another_key'] = 'another_value' + return context + + class TestWizard(AnotherMixin, CookieWizardView): + """ + A subclass that implements ``get_context_data`` using the standard + protocol for generic views (accept only **kwargs). + + See ticket #17148. + """ + def get_context_data(self, **kwargs): + context = super(TestWizard, self).get_context_data(**kwargs) + context['test_key'] = 'test_value' + return context + + factory = RequestFactory() + + view = TestWizard.as_view([forms.Form]) + + response = view(factory.get('/')) + self.assertEqual(response.context_data['test_key'], 'test_value') + self.assertEqual(response.context_data['another_key'], 'another_value') + + +@skipIfCustomUser +class WizardFormKwargsOverrideTests(TestCase): + def setUp(self): + super(WizardFormKwargsOverrideTests, self).setUp() + self.rf = RequestFactory() + + # Create two users so we can filter by is_staff when handing our + # wizard a queryset keyword argument. + self.normal_user = User.objects.create(username='test1', email='normal@example.com') + self.staff_user = User.objects.create(username='test2', email='staff@example.com', is_staff=True) + + def test_instance_is_maintained(self): + self.assertEqual(2, User.objects.count()) + queryset = User.objects.get(pk=self.staff_user.pk) + + class InstanceOverrideWizard(CookieWizardView): + def get_form_kwargs(self, step): + return {'instance': queryset} + + view = InstanceOverrideWizard.as_view([UserForm]) + response = view(self.rf.get('/')) + + form = response.context_data['wizard']['form'] + + self.assertNotEqual(form.instance.pk, None) + self.assertEqual(form.instance.pk, self.staff_user.pk) + self.assertEqual('staff@example.com', form.initial.get('email', None)) + + def test_queryset_is_maintained(self): + queryset = User.objects.filter(pk=self.staff_user.pk) + + class QuerySetOverrideWizard(CookieWizardView): + def get_form_kwargs(self, step): + return {'queryset': queryset} + + view = QuerySetOverrideWizard.as_view([UserFormSet]) + response = view(self.rf.get('/')) + + formset = response.context_data['wizard']['form'] + + self.assertNotEqual(formset.queryset, None) + self.assertEqual(formset.initial_form_count(), 1) + self.assertEqual(['staff@example.com'], + list(formset.queryset.values_list('email', flat=True))) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py new file mode 100644 index 0000000..dabce53 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py @@ -0,0 +1,22 @@ +from django.conf.urls import patterns, url +from django.contrib.formtools.tests.wizard.wizardtests.forms import ( + SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) + +urlpatterns = patterns('', + url(r'^wiz_session/$', SessionContactWizard.as_view( + [('form1', Page1), + ('form2', Page2), + ('form3', Page3), + ('form4', Page4)])), + url(r'^wiz_cookie/$', CookieContactWizard.as_view( + [('form1', Page1), + ('form2', Page2), + ('form3', Page3), + ('form4', Page4)])), + url(r'^wiz_other_template/$', CookieContactWizard.as_view( + [('form1', Page1), + ('form2', Page2), + ('form3', Page3), + ('form4', Page4)], + template_name='other_wizard_form.html')), +) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/utils.py b/lib/python2.7/site-packages/django/contrib/formtools/utils.py new file mode 100644 index 0000000..76277c6 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/utils.py @@ -0,0 +1,28 @@ +from __future__ import unicode_literals + +# Do not try cPickle here (see #18340) +import pickle + +from django.utils.crypto import salted_hmac +from django.utils import six + + +def form_hmac(form): + """ + Calculates a security hash for the given Form instance. + """ + data = [] + for bf in form: + # Get the value from the form data. If the form allows empty or hasn't + # changed then don't call clean() to avoid trigger validation errors. + if form.empty_permitted and not form.has_changed(): + value = bf.data or '' + else: + value = bf.field.clean(bf.data) or '' + if isinstance(value, six.string_types): + value = value.strip() + data.append((bf.name, value)) + + pickled = pickle.dumps(data, pickle.HIGHEST_PROTOCOL) + key_salt = 'django.contrib.formtools' + return salted_hmac(key_salt, pickled).hexdigest() diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/__init__.py diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/forms.py new file mode 100644 index 0000000..bf46c5c --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/forms.py @@ -0,0 +1,7 @@ +from django import forms + +class ManagementForm(forms.Form): + """ + ``ManagementForm`` is used to keep track of the current wizard step. + """ + current_step = forms.CharField(widget=forms.HiddenInput) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/__init__.py new file mode 100644 index 0000000..8f57605 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/__init__.py @@ -0,0 +1,14 @@ +from django.core.exceptions import ImproperlyConfigured +from django.utils.module_loading import import_by_path + +from django.contrib.formtools.wizard.storage.base import BaseStorage +from django.contrib.formtools.wizard.storage.exceptions import ( + MissingStorage, NoFileStorageConfigured) + + +def get_storage(path, *args, **kwargs): + try: + storage_class = import_by_path(path) + except ImproperlyConfigured as e: + raise MissingStorage('Error loading storage: %s' % e) + return storage_class(*args, **kwargs) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/base.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/base.py new file mode 100644 index 0000000..6c155e0 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/base.py @@ -0,0 +1,109 @@ +from django.core.files.uploadedfile import UploadedFile +from django.utils.datastructures import MultiValueDict +from django.utils.functional import lazy_property +from django.utils import six + +from django.contrib.formtools.wizard.storage.exceptions import NoFileStorageConfigured + + +class BaseStorage(object): + step_key = 'step' + step_data_key = 'step_data' + step_files_key = 'step_files' + extra_data_key = 'extra_data' + + def __init__(self, prefix, request=None, file_storage=None): + self.prefix = 'wizard_%s' % prefix + self.request = request + self.file_storage = file_storage + + def init_data(self): + self.data = { + self.step_key: None, + self.step_data_key: {}, + self.step_files_key: {}, + self.extra_data_key: {}, + } + + def reset(self): + self.init_data() + + def _get_current_step(self): + return self.data[self.step_key] + + def _set_current_step(self, step): + self.data[self.step_key] = step + + current_step = lazy_property(_get_current_step, _set_current_step) + + def _get_extra_data(self): + return self.data[self.extra_data_key] + + def _set_extra_data(self, extra_data): + self.data[self.extra_data_key] = extra_data + + extra_data = lazy_property(_get_extra_data, _set_extra_data) + + def get_step_data(self, step): + # When reading the serialized data, upconvert it to a MultiValueDict, + # some serializers (json) don't preserve the type of the object. + values = self.data[self.step_data_key].get(step, None) + if values is not None: + values = MultiValueDict(values) + return values + + def set_step_data(self, step, cleaned_data): + # If the value is a MultiValueDict, convert it to a regular dict of the + # underlying contents. Some serializers call the public API on it (as + # opposed to the underlying dict methods), in which case the content + # can be truncated (__getitem__ returns only the first item). + if isinstance(cleaned_data, MultiValueDict): + cleaned_data = dict(cleaned_data.lists()) + self.data[self.step_data_key][step] = cleaned_data + + @property + def current_step_data(self): + return self.get_step_data(self.current_step) + + def get_step_files(self, step): + wizard_files = self.data[self.step_files_key].get(step, {}) + + if wizard_files and not self.file_storage: + raise NoFileStorageConfigured( + "You need to define 'file_storage' in your " + "wizard view in order to handle file uploads.") + + files = {} + for field, field_dict in six.iteritems(wizard_files): + field_dict = field_dict.copy() + tmp_name = field_dict.pop('tmp_name') + files[field] = UploadedFile( + file=self.file_storage.open(tmp_name), **field_dict) + return files or None + + def set_step_files(self, step, files): + if files and not self.file_storage: + raise NoFileStorageConfigured( + "You need to define 'file_storage' in your " + "wizard view in order to handle file uploads.") + + if step not in self.data[self.step_files_key]: + self.data[self.step_files_key][step] = {} + + for field, field_file in six.iteritems(files or {}): + tmp_filename = self.file_storage.save(field_file.name, field_file) + file_dict = { + 'tmp_name': tmp_filename, + 'name': field_file.name, + 'content_type': field_file.content_type, + 'size': field_file.size, + 'charset': field_file.charset + } + self.data[self.step_files_key][step][field] = file_dict + + @property + def current_step_files(self): + return self.get_step_files(self.current_step) + + def update_response(self, response): + pass diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/cookie.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/cookie.py new file mode 100644 index 0000000..9bf6503 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/cookie.py @@ -0,0 +1,33 @@ +import json + +from django.core.signing import BadSignature + +from django.contrib.formtools.exceptions import WizardViewCookieModified +from django.contrib.formtools.wizard import storage + + +class CookieStorage(storage.BaseStorage): + encoder = json.JSONEncoder(separators=(',', ':')) + + def __init__(self, *args, **kwargs): + super(CookieStorage, self).__init__(*args, **kwargs) + self.data = self.load_data() + if self.data is None: + self.init_data() + + def load_data(self): + try: + data = self.request.get_signed_cookie(self.prefix) + except KeyError: + data = None + except BadSignature: + raise WizardViewCookieModified('WizardView cookie manipulated') + if data is None: + return None + return json.loads(data, cls=json.JSONDecoder) + + def update_response(self, response): + if self.data: + response.set_signed_cookie(self.prefix, self.encoder.encode(self.data)) + else: + response.delete_cookie(self.prefix) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/exceptions.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/exceptions.py new file mode 100644 index 0000000..e273a86 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/exceptions.py @@ -0,0 +1,7 @@ +from django.core.exceptions import ImproperlyConfigured + +class MissingStorage(ImproperlyConfigured): + pass + +class NoFileStorageConfigured(ImproperlyConfigured): + pass diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/session.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/session.py new file mode 100644 index 0000000..9cfae50 --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/storage/session.py @@ -0,0 +1,19 @@ +from django.contrib.formtools.wizard import storage + + +class SessionStorage(storage.BaseStorage): + + def __init__(self, *args, **kwargs): + super(SessionStorage, self).__init__(*args, **kwargs) + if self.prefix not in self.request.session: + self.init_data() + + def _get_data(self): + self.request.session.modified = True + return self.request.session[self.prefix] + + def _set_data(self, value): + self.request.session[self.prefix] = value + self.request.session.modified = True + + data = property(_get_data, _set_data) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/wizard/views.py b/lib/python2.7/site-packages/django/contrib/formtools/wizard/views.py new file mode 100644 index 0000000..494d87a --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/formtools/wizard/views.py @@ -0,0 +1,730 @@ +import re + +from django import forms +from django.shortcuts import redirect +from django.core.urlresolvers import reverse +from django.forms import formsets, ValidationError +from django.views.generic import TemplateView +from django.utils.datastructures import SortedDict +from django.utils.decorators import classonlymethod +from django.utils.translation import ugettext as _ +from django.utils import six + +from django.contrib.formtools.wizard.storage import get_storage +from django.contrib.formtools.wizard.storage.exceptions import NoFileStorageConfigured +from django.contrib.formtools.wizard.forms import ManagementForm + + +def normalize_name(name): + """ + Converts camel-case style names into underscore seperated words. Example:: + + >>> normalize_name('oneTwoThree') + 'one_two_three' + >>> normalize_name('FourFiveSix') + 'four_five_six' + + """ + new = re.sub('(((?<=[a-z])[A-Z])|([A-Z](?![A-Z]|$)))', '_\\1', name) + return new.lower().strip('_') + +class StepsHelper(object): + + def __init__(self, wizard): + self._wizard = wizard + + def __dir__(self): + return self.all + + def __len__(self): + return self.count + + def __repr__(self): + return '<StepsHelper for %s (steps: %s)>' % (self._wizard, self.all) + + @property + def all(self): + "Returns the names of all steps/forms." + return list(self._wizard.get_form_list()) + + @property + def count(self): + "Returns the total number of steps/forms in this the wizard." + return len(self.all) + + @property + def current(self): + """ + Returns the current step. If no current step is stored in the + storage backend, the first step will be returned. + """ + return self._wizard.storage.current_step or self.first + + @property + def first(self): + "Returns the name of the first step." + return self.all[0] + + @property + def last(self): + "Returns the name of the last step." + return self.all[-1] + + @property + def next(self): + "Returns the next step." + return self._wizard.get_next_step() + + @property + def prev(self): + "Returns the previous step." + return self._wizard.get_prev_step() + + @property + def index(self): + "Returns the index for the current step." + return self._wizard.get_step_index() + + @property + def step0(self): + return int(self.index) + + @property + def step1(self): + return int(self.index) + 1 + + +class WizardView(TemplateView): + """ + The WizardView is used to create multi-page forms and handles all the + storage and validation stuff. The wizard is based on Django's generic + class based views. + """ + storage_name = None + form_list = None + initial_dict = None + instance_dict = None + condition_dict = None + template_name = 'formtools/wizard/wizard_form.html' + + def __repr__(self): + return '<%s: forms: %s>' % (self.__class__.__name__, self.form_list) + + @classonlymethod + def as_view(cls, *args, **kwargs): + """ + This method is used within urls.py to create unique wizardview + instances for every request. We need to override this method because + we add some kwargs which are needed to make the wizardview usable. + """ + initkwargs = cls.get_initkwargs(*args, **kwargs) + return super(WizardView, cls).as_view(**initkwargs) + + @classmethod + def get_initkwargs(cls, form_list=None, initial_dict=None, + instance_dict=None, condition_dict=None, *args, **kwargs): + """ + Creates a dict with all needed parameters for the form wizard instances. + + * `form_list` - is a list of forms. The list entries can be single form + classes or tuples of (`step_name`, `form_class`). If you pass a list + of forms, the wizardview will convert the class list to + (`zero_based_counter`, `form_class`). This is needed to access the + form for a specific step. + * `initial_dict` - contains a dictionary of initial data dictionaries. + The key should be equal to the `step_name` in the `form_list` (or + the str of the zero based counter - if no step_names added in the + `form_list`) + * `instance_dict` - contains a dictionary whose values are model + instances if the step is based on a ``ModelForm`` and querysets if + the step is based on a ``ModelFormSet``. The key should be equal to + the `step_name` in the `form_list`. Same rules as for `initial_dict` + apply. + * `condition_dict` - contains a dictionary of boolean values or + callables. If the value of for a specific `step_name` is callable it + will be called with the wizardview instance as the only argument. + If the return value is true, the step's form will be used. + """ + + kwargs.update({ + 'initial_dict': initial_dict or kwargs.pop('initial_dict', + getattr(cls, 'initial_dict', None)) or {}, + 'instance_dict': instance_dict or kwargs.pop('instance_dict', + getattr(cls, 'instance_dict', None)) or {}, + 'condition_dict': condition_dict or kwargs.pop('condition_dict', + getattr(cls, 'condition_dict', None)) or {} + }) + + form_list = form_list or kwargs.pop('form_list', + getattr(cls, 'form_list', None)) or [] + + computed_form_list = SortedDict() + + assert len(form_list) > 0, 'at least one form is needed' + + # walk through the passed form list + for i, form in enumerate(form_list): + if isinstance(form, (list, tuple)): + # if the element is a tuple, add the tuple to the new created + # sorted dictionary. + computed_form_list[six.text_type(form[0])] = form[1] + else: + # if not, add the form with a zero based counter as unicode + computed_form_list[six.text_type(i)] = form + + # walk through the new created list of forms + for form in six.itervalues(computed_form_list): + if issubclass(form, formsets.BaseFormSet): + # if the element is based on BaseFormSet (FormSet/ModelFormSet) + # we need to override the form variable. + form = form.form + # check if any form contains a FileField, if yes, we need a + # file_storage added to the wizardview (by subclassing). + for field in six.itervalues(form.base_fields): + if (isinstance(field, forms.FileField) and + not hasattr(cls, 'file_storage')): + raise NoFileStorageConfigured( + "You need to define 'file_storage' in your " + "wizard view in order to handle file uploads.") + + # build the kwargs for the wizardview instances + kwargs['form_list'] = computed_form_list + return kwargs + + def get_prefix(self, *args, **kwargs): + # TODO: Add some kind of unique id to prefix + return normalize_name(self.__class__.__name__) + + def get_form_list(self): + """ + This method returns a form_list based on the initial form list but + checks if there is a condition method/value in the condition_list. + If an entry exists in the condition list, it will call/read the value + and respect the result. (True means add the form, False means ignore + the form) + + The form_list is always generated on the fly because condition methods + could use data from other (maybe previous forms). + """ + form_list = SortedDict() + for form_key, form_class in six.iteritems(self.form_list): + # try to fetch the value from condition list, by default, the form + # gets passed to the new list. + condition = self.condition_dict.get(form_key, True) + if callable(condition): + # call the value if needed, passes the current instance. + condition = condition(self) + if condition: + form_list[form_key] = form_class + return form_list + + def dispatch(self, request, *args, **kwargs): + """ + This method gets called by the routing engine. The first argument is + `request` which contains a `HttpRequest` instance. + The request is stored in `self.request` for later use. The storage + instance is stored in `self.storage`. + + After processing the request using the `dispatch` method, the + response gets updated by the storage engine (for example add cookies). + """ + # add the storage engine to the current wizardview instance + self.prefix = self.get_prefix(*args, **kwargs) + self.storage = get_storage(self.storage_name, self.prefix, request, + getattr(self, 'file_storage', None)) + self.steps = StepsHelper(self) + response = super(WizardView, self).dispatch(request, *args, **kwargs) + + # update the response (e.g. adding cookies) + self.storage.update_response(response) + return response + + def get(self, request, *args, **kwargs): + """ + This method handles GET requests. + + If a GET request reaches this point, the wizard assumes that the user + just starts at the first step or wants to restart the process. + The data of the wizard will be resetted before rendering the first step. + """ + self.storage.reset() + + # reset the current step to the first step. + self.storage.current_step = self.steps.first + return self.render(self.get_form()) + + def post(self, *args, **kwargs): + """ + This method handles POST requests. + + The wizard will render either the current step (if form validation + wasn't successful), the next step (if the current step was stored + successful) or the done view (if no more steps are available) + """ + # Look for a wizard_goto_step element in the posted data which + # contains a valid step name. If one was found, render the requested + # form. (This makes stepping back a lot easier). + wizard_goto_step = self.request.POST.get('wizard_goto_step', None) + if wizard_goto_step and wizard_goto_step in self.get_form_list(): + return self.render_goto_step(wizard_goto_step) + + # Check if form was refreshed + management_form = ManagementForm(self.request.POST, prefix=self.prefix) + if not management_form.is_valid(): + raise ValidationError( + _('ManagementForm data is missing or has been tampered.'), + code='missing_management_form', + ) + + form_current_step = management_form.cleaned_data['current_step'] + if (form_current_step != self.steps.current and + self.storage.current_step is not None): + # form refreshed, change current step + self.storage.current_step = form_current_step + + # get the form for the current step + form = self.get_form(data=self.request.POST, files=self.request.FILES) + + # and try to validate + if form.is_valid(): + # if the form is valid, store the cleaned data and files. + self.storage.set_step_data(self.steps.current, self.process_step(form)) + self.storage.set_step_files(self.steps.current, self.process_step_files(form)) + + # check if the current step is the last step + if self.steps.current == self.steps.last: + # no more steps, render done view + return self.render_done(form, **kwargs) + else: + # proceed to the next step + return self.render_next_step(form) + return self.render(form) + + def render_next_step(self, form, **kwargs): + """ + This method gets called when the next step/form should be rendered. + `form` contains the last/current form. + """ + # get the form instance based on the data from the storage backend + # (if available). + next_step = self.steps.next + new_form = self.get_form(next_step, + data=self.storage.get_step_data(next_step), + files=self.storage.get_step_files(next_step)) + + # change the stored current step + self.storage.current_step = next_step + return self.render(new_form, **kwargs) + + def render_goto_step(self, goto_step, **kwargs): + """ + This method gets called when the current step has to be changed. + `goto_step` contains the requested step to go to. + """ + self.storage.current_step = goto_step + form = self.get_form( + data=self.storage.get_step_data(self.steps.current), + files=self.storage.get_step_files(self.steps.current)) + return self.render(form) + + def render_done(self, form, **kwargs): + """ + This method gets called when all forms passed. The method should also + re-validate all steps to prevent manipulation. If any form don't + validate, `render_revalidation_failure` should get called. + If everything is fine call `done`. + """ + final_form_list = [] + # walk through the form list and try to validate the data again. + for form_key in self.get_form_list(): + form_obj = self.get_form(step=form_key, + data=self.storage.get_step_data(form_key), + files=self.storage.get_step_files(form_key)) + if not form_obj.is_valid(): + return self.render_revalidation_failure(form_key, form_obj, **kwargs) + final_form_list.append(form_obj) + + # render the done view and reset the wizard before returning the + # response. This is needed to prevent from rendering done with the + # same data twice. + done_response = self.done(final_form_list, **kwargs) + self.storage.reset() + return done_response + + def get_form_prefix(self, step=None, form=None): + """ + Returns the prefix which will be used when calling the actual form for + the given step. `step` contains the step-name, `form` the form which + will be called with the returned prefix. + + If no step is given, the form_prefix will determine the current step + automatically. + """ + if step is None: + step = self.steps.current + return str(step) + + def get_form_initial(self, step): + """ + Returns a dictionary which will be passed to the form for `step` + as `initial`. If no initial data was provied while initializing the + form wizard, a empty dictionary will be returned. + """ + return self.initial_dict.get(step, {}) + + def get_form_instance(self, step): + """ + Returns a object which will be passed to the form for `step` + as `instance`. If no instance object was provied while initializing + the form wizard, None will be returned. + """ + return self.instance_dict.get(step, None) + + def get_form_kwargs(self, step=None): + """ + Returns the keyword arguments for instantiating the form + (or formset) on the given step. + """ + return {} + + def get_form(self, step=None, data=None, files=None): + """ + Constructs the form for a given `step`. If no `step` is defined, the + current step will be determined automatically. + + The form will be initialized using the `data` argument to prefill the + new form. If needed, instance or queryset (for `ModelForm` or + `ModelFormSet`) will be added too. + """ + if step is None: + step = self.steps.current + # prepare the kwargs for the form instance. + kwargs = self.get_form_kwargs(step) + kwargs.update({ + 'data': data, + 'files': files, + 'prefix': self.get_form_prefix(step, self.form_list[step]), + 'initial': self.get_form_initial(step), + }) + if issubclass(self.form_list[step], forms.ModelForm): + # If the form is based on ModelForm, add instance if available + # and not previously set. + kwargs.setdefault('instance', self.get_form_instance(step)) + elif issubclass(self.form_list[step], forms.models.BaseModelFormSet): + # If the form is based on ModelFormSet, add queryset if available + # and not previous set. + kwargs.setdefault('queryset', self.get_form_instance(step)) + return self.form_list[step](**kwargs) + + def process_step(self, form): + """ + This method is used to postprocess the form data. By default, it + returns the raw `form.data` dictionary. + """ + return self.get_form_step_data(form) + + def process_step_files(self, form): + """ + This method is used to postprocess the form files. By default, it + returns the raw `form.files` dictionary. + """ + return self.get_form_step_files(form) + + def render_revalidation_failure(self, step, form, **kwargs): + """ + Gets called when a form doesn't validate when rendering the done + view. By default, it changes the current step to failing forms step + and renders the form. + """ + self.storage.current_step = step + return self.render(form, **kwargs) + + def get_form_step_data(self, form): + """ + Is used to return the raw form data. You may use this method to + manipulate the data. + """ + return form.data + + def get_form_step_files(self, form): + """ + Is used to return the raw form files. You may use this method to + manipulate the data. + """ + return form.files + + def get_all_cleaned_data(self): + """ + Returns a merged dictionary of all step cleaned_data dictionaries. + If a step contains a `FormSet`, the key will be prefixed with + 'formset-' and contain a list of the formset cleaned_data dictionaries. + """ + cleaned_data = {} + for form_key in self.get_form_list(): + form_obj = self.get_form( + step=form_key, + data=self.storage.get_step_data(form_key), + files=self.storage.get_step_files(form_key) + ) + if form_obj.is_valid(): + if isinstance(form_obj.cleaned_data, (tuple, list)): + cleaned_data.update({ + 'formset-%s' % form_key: form_obj.cleaned_data + }) + else: + cleaned_data.update(form_obj.cleaned_data) + return cleaned_data + + def get_cleaned_data_for_step(self, step): + """ + Returns the cleaned data for a given `step`. Before returning the + cleaned data, the stored values are revalidated through the form. + If the data doesn't validate, None will be returned. + """ + if step in self.form_list: + form_obj = self.get_form(step=step, + data=self.storage.get_step_data(step), + files=self.storage.get_step_files(step)) + if form_obj.is_valid(): + return form_obj.cleaned_data + return None + + def get_next_step(self, step=None): + """ + Returns the next step after the given `step`. If no more steps are + available, None will be returned. If the `step` argument is None, the + current step will be determined automatically. + """ + if step is None: + step = self.steps.current + form_list = self.get_form_list() + key = form_list.keyOrder.index(step) + 1 + if len(form_list.keyOrder) > key: + return form_list.keyOrder[key] + return None + + def get_prev_step(self, step=None): + """ + Returns the previous step before the given `step`. If there are no + steps available, None will be returned. If the `step` argument is + None, the current step will be determined automatically. + """ + if step is None: + step = self.steps.current + form_list = self.get_form_list() + key = form_list.keyOrder.index(step) - 1 + if key >= 0: + return form_list.keyOrder[key] + return None + + def get_step_index(self, step=None): + """ + Returns the index for the given `step` name. If no step is given, + the current step will be used to get the index. + """ + if step is None: + step = self.steps.current + return self.get_form_list().keyOrder.index(step) + + def get_context_data(self, form, **kwargs): + """ + Returns the template context for a step. You can overwrite this method + to add more data for all or some steps. This method returns a + dictionary containing the rendered form step. Available template + context variables are: + + * all extra data stored in the storage backend + * `wizard` - a dictionary representation of the wizard instance + + Example: + + .. code-block:: python + + class MyWizard(WizardView): + def get_context_data(self, form, **kwargs): + context = super(MyWizard, self).get_context_data(form=form, **kwargs) + if self.steps.current == 'my_step_name': + context.update({'another_var': True}) + return context + """ + context = super(WizardView, self).get_context_data(form=form, **kwargs) + context.update(self.storage.extra_data) + context['wizard'] = { + 'form': form, + 'steps': self.steps, + 'management_form': ManagementForm(prefix=self.prefix, initial={ + 'current_step': self.steps.current, + }), + } + return context + + def render(self, form=None, **kwargs): + """ + Returns a ``HttpResponse`` containing all needed context data. + """ + form = form or self.get_form() + context = self.get_context_data(form=form, **kwargs) + return self.render_to_response(context) + + def done(self, form_list, **kwargs): + """ + This method must be overridden by a subclass to process to form data + after processing all steps. + """ + raise NotImplementedError("Your %s class has not defined a done() " + "method, which is required." % self.__class__.__name__) + + +class SessionWizardView(WizardView): + """ + A WizardView with pre-configured SessionStorage backend. + """ + storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' + + +class CookieWizardView(WizardView): + """ + A WizardView with pre-configured CookieStorage backend. + """ + storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' + + +class NamedUrlWizardView(WizardView): + """ + A WizardView with URL named steps support. + """ + url_name = None + done_step_name = None + + @classmethod + def get_initkwargs(cls, *args, **kwargs): + """ + We require a url_name to reverse URLs later. Additionally users can + pass a done_step_name to change the URL name of the "done" view. + """ + assert 'url_name' in kwargs, 'URL name is needed to resolve correct wizard URLs' + extra_kwargs = { + 'done_step_name': kwargs.pop('done_step_name', 'done'), + 'url_name': kwargs.pop('url_name'), + } + initkwargs = super(NamedUrlWizardView, cls).get_initkwargs(*args, **kwargs) + initkwargs.update(extra_kwargs) + + assert initkwargs['done_step_name'] not in initkwargs['form_list'], \ + 'step name "%s" is reserved for "done" view' % initkwargs['done_step_name'] + return initkwargs + + def get_step_url(self, step): + return reverse(self.url_name, kwargs={'step': step}) + + def get(self, *args, **kwargs): + """ + This renders the form or, if needed, does the http redirects. + """ + step_url = kwargs.get('step', None) + if step_url is None: + if 'reset' in self.request.GET: + self.storage.reset() + self.storage.current_step = self.steps.first + if self.request.GET: + query_string = "?%s" % self.request.GET.urlencode() + else: + query_string = "" + return redirect(self.get_step_url(self.steps.current) + + query_string) + + # is the current step the "done" name/view? + elif step_url == self.done_step_name: + last_step = self.steps.last + return self.render_done(self.get_form(step=last_step, + data=self.storage.get_step_data(last_step), + files=self.storage.get_step_files(last_step) + ), **kwargs) + + # is the url step name not equal to the step in the storage? + # if yes, change the step in the storage (if name exists) + elif step_url == self.steps.current: + # URL step name and storage step name are equal, render! + return self.render(self.get_form( + data=self.storage.current_step_data, + files=self.storage.current_step_files, + ), **kwargs) + + elif step_url in self.get_form_list(): + self.storage.current_step = step_url + return self.render(self.get_form( + data=self.storage.current_step_data, + files=self.storage.current_step_files, + ), **kwargs) + + # invalid step name, reset to first and redirect. + else: + self.storage.current_step = self.steps.first + return redirect(self.get_step_url(self.steps.first)) + + def post(self, *args, **kwargs): + """ + Do a redirect if user presses the prev. step button. The rest of this + is super'd from WizardView. + """ + wizard_goto_step = self.request.POST.get('wizard_goto_step', None) + if wizard_goto_step and wizard_goto_step in self.get_form_list(): + return self.render_goto_step(wizard_goto_step) + return super(NamedUrlWizardView, self).post(*args, **kwargs) + + def get_context_data(self, form, **kwargs): + """ + NamedUrlWizardView provides the url_name of this wizard in the context + dict `wizard`. + """ + context = super(NamedUrlWizardView, self).get_context_data(form=form, **kwargs) + context['wizard']['url_name'] = self.url_name + return context + + def render_next_step(self, form, **kwargs): + """ + When using the NamedUrlWizardView, we have to redirect to update the + browser's URL to match the shown step. + """ + next_step = self.get_next_step() + self.storage.current_step = next_step + return redirect(self.get_step_url(next_step)) + + def render_goto_step(self, goto_step, **kwargs): + """ + This method gets called when the current step has to be changed. + `goto_step` contains the requested step to go to. + """ + self.storage.current_step = goto_step + return redirect(self.get_step_url(goto_step)) + + def render_revalidation_failure(self, failed_step, form, **kwargs): + """ + When a step fails, we have to redirect the user to the first failing + step. + """ + self.storage.current_step = failed_step + return redirect(self.get_step_url(failed_step)) + + def render_done(self, form, **kwargs): + """ + When rendering the done view, we have to redirect first (if the URL + name doesn't fit). + """ + if kwargs.get('step', None) != self.done_step_name: + return redirect(self.get_step_url(self.done_step_name)) + return super(NamedUrlWizardView, self).render_done(form, **kwargs) + + +class NamedUrlSessionWizardView(NamedUrlWizardView): + """ + A NamedUrlWizardView with pre-configured SessionStorage backend. + """ + storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' + + +class NamedUrlCookieWizardView(NamedUrlWizardView): + """ + A NamedUrlFormWizard with pre-configured CookieStorageBackend. + """ + storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' |