From 8044c73af157c724cd601bfb5ce90c41ca9cbca0 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Benoi=CC=82t=20Pin?= <benoit.pin@gmail.com>
Date: Wed, 3 Sep 2014 23:23:50 +0200
Subject: [PATCH] Prise en charge du mode d'enregistrement anonyme avec mot de
 passe.

---
 locales/en/LC_MESSAGES/photoprint.po |  22 +++++++++++++---------
 locales/fr/LC_MESSAGES/photoprint.mo | Bin 13368 -> 13531 bytes
 locales/fr/LC_MESSAGES/photoprint.po |  24 ++++++++++++++----------
 locales/photoprint.pot               |  24 ++++++++++++++----------
 skins/customer_add_control.py        |  10 +++++++++-
 5 files changed, 50 insertions(+), 30 deletions(-)

diff --git a/locales/en/LC_MESSAGES/photoprint.po b/locales/en/LC_MESSAGES/photoprint.po
index f0d7834..10842db 100644
--- a/locales/en/LC_MESSAGES/photoprint.po
+++ b/locales/en/LC_MESSAGES/photoprint.po
@@ -20,42 +20,46 @@ msgstr ""
 msgid "Log in"
 msgstr ""
 
-#: t/skins/customer_add_control.py:19
+#: t/skins/customer_add_control.py:21
 msgid "Please enter a given name."
 msgstr ""
 
-#: t/skins/customer_add_control.py:20
+#: t/skins/customer_add_control.py:22
 msgid "Please enter a name."
 msgstr ""
 
-#: t/skins/customer_add_control.py:21
+#: t/skins/customer_add_control.py:23
 msgid "Please enter an email."
 msgstr ""
 
-#: t/skins/customer_add_control.py:22
+#: t/skins/customer_add_control.py:24
 msgid "Please enter a member id."
 msgstr ""
 
-#: t/skins/customer_add_control.py:23
+#: t/skins/customer_add_control.py:25
 msgid "Please enter a billing address."
 msgstr ""
 
-#: t/skins/customer_add_control.py:24
+#: t/skins/customer_add_control.py:26
 msgid "Please enter a city."
 msgstr ""
 
-#: t/skins/customer_add_control.py:25
+#: t/skins/customer_add_control.py:27
 msgid "Please enter zip code."
 msgstr ""
 
-#: t/skins/customer_add_control.py:26
+#: t/skins/customer_add_control.py:28
 msgid "Please enter a country."
 msgstr ""
 
-#: t/skins/customer_add_control.py:27
+#: t/skins/customer_add_control.py:29
 msgid "Please enter a phone."
 msgstr ""
 
+#: t/skins/customer_add_control.py:56
+msgid "Wrong private collection credentials."
+msgstr ""
+
 #: t/skins/customer_join_template.pt:11
 msgid "New customer account"
 msgstr ""
diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo
index b480a57512ef20573544d7d2d5b6ff385ff00de1..351787e9922f0fc3473a340d812a242f7d6addd8 100644
GIT binary patch
delta 3556
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

delta 3468
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

diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po
index e2a0659..bb0f5b3 100644
--- a/locales/fr/LC_MESSAGES/photoprint.po
+++ b/locales/fr/LC_MESSAGES/photoprint.po
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: Mon Sep  1 23:37:28 2014\n"
+"POT-Creation-Date: Wed Sep  3 23:10:26 2014\n"
 "PO-Revision-Date: 2014-09-01 23:39+0200\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
@@ -40,42 +40,46 @@ msgstr "Cliquez sur le bouton pour vous connecter immédiatement."
 msgid "Log in"
 msgstr "Connexion"
 
-#: t/skins/customer_add_control.py:19
+#: t/skins/customer_add_control.py:21
 msgid "Please enter a given name."
 msgstr "Veuillez entrer un prénom."
 
-#: t/skins/customer_add_control.py:20
+#: t/skins/customer_add_control.py:22
 msgid "Please enter a name."
 msgstr "Veuillez entrer un nom."
 
-#: t/skins/customer_add_control.py:21
+#: t/skins/customer_add_control.py:23
 msgid "Please enter an email."
 msgstr "Veuillez entrer un email."
 
-#: t/skins/customer_add_control.py:22
+#: t/skins/customer_add_control.py:24
 msgid "Please enter a member id."
 msgstr "Veuillez entrer un login."
 
-#: t/skins/customer_add_control.py:23
+#: t/skins/customer_add_control.py:25
 msgid "Please enter a billing address."
 msgstr "Veuillez entrer une addresse de facturation."
 
-#: t/skins/customer_add_control.py:24
+#: t/skins/customer_add_control.py:26
 msgid "Please enter a city."
 msgstr "Veuillez entrer une ville."
 
-#: t/skins/customer_add_control.py:25
+#: t/skins/customer_add_control.py:27
 msgid "Please enter zip code."
 msgstr "Veuillez entrer un code postal."
 
-#: t/skins/customer_add_control.py:26
+#: t/skins/customer_add_control.py:28
 msgid "Please enter a country."
 msgstr "Veuillez entrer un pays."
 
-#: t/skins/customer_add_control.py:27
+#: t/skins/customer_add_control.py:29
 msgid "Please enter a phone."
 msgstr "Veuillez entrer un numéro de téléphone."
 
+#: t/skins/customer_add_control.py:56
+msgid "Wrong private collection credentials."
+msgstr "Identifiant ou mot de passe de collection privée incorrect."
+
 #: t/skins/customer_join_template.pt:11
 msgid "New customer account"
 msgstr "Nouveau compte client"
diff --git a/locales/photoprint.pot b/locales/photoprint.pot
index 9965dd2..3ade077 100644
--- a/locales/photoprint.pot
+++ b/locales/photoprint.pot
@@ -14,7 +14,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Meaningless\n"
-"POT-Creation-Date: Mon Sep  1 23:37:28 2014\n"
+"POT-Creation-Date: Wed Sep  3 23:10:26 2014\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Zope 3 Developers <zope-dev@zope.org>\n"
@@ -43,42 +43,46 @@ msgstr ""
 msgid "Log in"
 msgstr ""
 
-#: t/skins/customer_add_control.py:19
+#: t/skins/customer_add_control.py:21
 msgid "Please enter a given name."
 msgstr ""
 
-#: t/skins/customer_add_control.py:20
+#: t/skins/customer_add_control.py:22
 msgid "Please enter a name."
 msgstr ""
 
-#: t/skins/customer_add_control.py:21
+#: t/skins/customer_add_control.py:23
 msgid "Please enter an email."
 msgstr ""
 
-#: t/skins/customer_add_control.py:22
+#: t/skins/customer_add_control.py:24
 msgid "Please enter a member id."
 msgstr ""
 
-#: t/skins/customer_add_control.py:23
+#: t/skins/customer_add_control.py:25
 msgid "Please enter a billing address."
 msgstr ""
 
-#: t/skins/customer_add_control.py:24
+#: t/skins/customer_add_control.py:26
 msgid "Please enter a city."
 msgstr ""
 
-#: t/skins/customer_add_control.py:25
+#: t/skins/customer_add_control.py:27
 msgid "Please enter zip code."
 msgstr ""
 
-#: t/skins/customer_add_control.py:26
+#: t/skins/customer_add_control.py:28
 msgid "Please enter a country."
 msgstr ""
 
-#: t/skins/customer_add_control.py:27
+#: t/skins/customer_add_control.py:29
 msgid "Please enter a phone."
 msgstr ""
 
+#: t/skins/customer_add_control.py:56
+msgid "Wrong private collection credentials."
+msgstr ""
+
 #: t/skins/customer_join_template.pt:11
 msgid "New customer account"
 msgstr ""
diff --git a/skins/customer_add_control.py b/skins/customer_add_control.py
index 00b4de3..6efd42b 100755
--- a/skins/customer_add_control.py
+++ b/skins/customer_add_control.py
@@ -2,6 +2,8 @@
 from Products.CMFCore.utils import getToolByName
 from Products.photoprint.utils import translate
 from Products.CMFDefault.utils import translate as cmf_translate
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.Plinn.RegistrationTool import MODE_PASS_ANONYMOUS
 rtool = getToolByName(context, 'portal_registration')
 ptool = getToolByName(context, 'portal_properties')
 _ = lambda msg : translate(msg, context)
@@ -44,9 +46,15 @@ try:
 								,'billing_city'     : kg('billing_city')
 								,'billing_zipcode'	: kg('billing_zipcode')
 								,'country'			: kg('country')
-								,'phone'			: kg('phone')} )
+								,'phone'			: kg('phone')
+                                ,'collection_id'    : kg('collection_id')
+                                ,'collection_password': kg('collection_password')} )
 except ValueError, errmsg:
 	return context.setStatus(False, _(errmsg))
+except AccessControl_Unauthorized :
+    if rtool.getMode() == MODE_PASS_ANONYMOUS :
+        return context.setStatus(False, _('Wrong private collection credentials.'))
+    raise
 
 
 if kg('send_password') or ptool.getProperty('validate_email') :
-- 
2.20.1