Prise en charge du mode d'enregistrement anonyme avec mot de passe.
[photoprint.git] / skins / customer_add_control.py
index 8280dbc..6efd42b 100755 (executable)
@@ -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)
@@ -25,7 +27,6 @@ mandatoryFields = [
        , ('billing_zipcode', _('Please enter zip code.'))
        , ('country', _('Please enter a country.'))
        , ('phone', _('Please enter a phone.'))
-       , ('accept_gcs', _('Please accept general conditions of sales.'))
        ]
 
 for name, failMessage in mandatoryFields :
@@ -46,9 +47,14 @@ try:
                                                                ,'billing_zipcode'      : kg('billing_zipcode')
                                                                ,'country'                      : kg('country')
                                                                ,'phone'                        : kg('phone')
-                                                               ,'accept_gcs'           : kg('accep_gcs')} )
+                                ,'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') :