From 8db44a89ad1641ae718b6763c0af0a7f08476e03 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Wed, 16 Oct 2013 10:12:15 +0200 Subject: [PATCH 01/16] =?utf8?q?Ajout=20du=20minimum=20pour=20que=20zope?= =?utf8?q?=20d=C3=A9marre=20sans=20paypal=20install=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- order.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/order.py b/order.py index ea48483..66d17fa 100755 --- a/order.py +++ b/order.py @@ -45,7 +45,11 @@ from price import Price from xml.dom.minidom import Document from tool import COPIES_COUNTERS from App.config import getConfiguration -from paypal.interface import PayPalInterface +try : + from paypal.interface import PayPalInterface + paypalAvailable = True +except ImportError : + paypalAvailable = False from logging import getLogger console = getLogger('Products.photoprint.order') -- 2.20.1 From 5c9828e1adc12051dd1297dc63727161d1b0bb41 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Wed, 9 Jul 2014 15:22:04 +0200 Subject: [PATCH 02/16] luxia--. GPL++ --- __init__.py | 28 +++++++++++++++-------- _utils/import_printing_list.py | 2 +- cart.py | 2 +- interfaces.py | 28 +++++++++++++++-------- permissions.py | 28 +++++++++++++++-------- price.py | 28 +++++++++++++++-------- skins/order_printing_list_template_xml.pt | 2 +- tool.py | 28 +++++++++++++++-------- 8 files changed, 98 insertions(+), 48 deletions(-) diff --git a/__init__.py b/__init__.py index fbbbde2..0058631 100755 --- a/__init__.py +++ b/__init__.py @@ -1,13 +1,23 @@ # -*- coding: utf-8 -*- -############################################################ -# Copyright © 2009 Benoît PIN # -# Cliché - http://luxia.fr # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Photo print product. Used to order photo prints. diff --git a/_utils/import_printing_list.py b/_utils/import_printing_list.py index 45fa187..834599f 100755 --- a/_utils/import_printing_list.py +++ b/_utils/import_printing_list.py @@ -4,7 +4,7 @@ # Copyright © 2009 Luxia SAS. All rights reserved. # # # # Contributors: # -# - Benoît Pin # +# - Benoît Pin # #################################################### """ Downloads RSS based order description and make a local human readable file tree diff --git a/cart.py b/cart.py index fef5a85..58bebfd 100644 --- a/cart.py +++ b/cart.py @@ -3,7 +3,7 @@ # Copyright © 2009 Luxia SAS. All rights reserved. # # # # Contributors: # -# - Benoît Pin # +# - Benoît Pin # #################################################### """ Cart definition used to store buyable prints diff --git a/interfaces.py b/interfaces.py index 07819e8..c260970 100755 --- a/interfaces.py +++ b/interfaces.py @@ -1,13 +1,23 @@ # -*- coding: utf-8 -*- -############################################################ -# Copyright © 2009 Benoît PIN # -# Cliché - http://luxia.fr # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Printable objects interfaces diff --git a/permissions.py b/permissions.py index 7125e00..38a70ba 100755 --- a/permissions.py +++ b/permissions.py @@ -1,13 +1,23 @@ # -*- coding: utf-8 -*- -############################################################ -# Copyright © 2009 Benoît PIN # -# Cliché - http://luxia.fr # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ photoprint specific permissions diff --git a/price.py b/price.py index dae05fb..83a23bf 100755 --- a/price.py +++ b/price.py @@ -1,13 +1,23 @@ # -*- coding: utf-8 -*- -############################################################ -# Copyright © 2009 Benoît PIN # -# Cliché - http://luxia.fr # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Pricing types diff --git a/skins/order_printing_list_template_xml.pt b/skins/order_printing_list_template_xml.pt index 2c41205..2526e46 100644 --- a/skins/order_printing_list_template_xml.pt +++ b/skins/order_printing_list_template_xml.pt @@ -2,7 +2,7 @@ # -# Cliché - http://luxia.fr # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Photo print tool. Used to link photo to print orders. -- 2.20.1 From 2902c4fc625f6e3334aaf1b085b607870dba6177 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Wed, 9 Jul 2014 15:54:36 +0200 Subject: [PATCH 03/16] luxia-- --- __init__.py | 2 -- _utils/import_printing_list.py | 27 +++++++++++++++++++-------- cart.py | 27 +++++++++++++++++++-------- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/__init__.py b/__init__.py index 0058631..5017fd6 100755 --- a/__init__.py +++ b/__init__.py @@ -21,8 +21,6 @@ """ Photo print product. Used to order photo prints. - - """ from Products.CMFCore import utils as cmfutils import tool diff --git a/_utils/import_printing_list.py b/_utils/import_printing_list.py index 834599f..245e1e1 100755 --- a/_utils/import_printing_list.py +++ b/_utils/import_printing_list.py @@ -1,17 +1,28 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -#################################################### -# Copyright © 2009 Luxia SAS. All rights reserved. # -# # -# Contributors: # -# - Benoît Pin # -#################################################### +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Downloads RSS based order description and make a local human readable file tree to facilitate printing tasks. - - """ diff --git a/cart.py b/cart.py index 58bebfd..cbadc53 100644 --- a/cart.py +++ b/cart.py @@ -1,14 +1,25 @@ # -*- coding: utf-8 -*- -#################################################### -# Copyright © 2009 Luxia SAS. All rights reserved. # -# # -# Contributors: # -# - Benoît Pin # -#################################################### +####################################################################################### +# Copyright © 2009 Benoît Pin # +# Plinn - http://plinn.org # +# # +# # +# This program is free software; you can redistribute it and/or # +# modify it under the terms of the GNU General Public License # +# as published by the Free Software Foundation; either version 2 # +# of the License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +####################################################################################### """ Cart definition used to store buyable prints -$Id$ -$URL$ """ from Globals import InitializeClass, Persistent, PersistentMapping from Acquisition import Implicit -- 2.20.1 From 221f5fb59b37184372ba78fc765925758f5c0579 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 17:24:45 +0200 Subject: [PATCH 04/16] =?utf8?q?Bugfix=C2=A0:=20reduce=20non=20homog=C3=A8?= =?utf8?q?ne.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- order.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/order.py b/order.py index 66d17fa..db19cc0 100755 --- a/order.py +++ b/order.py @@ -337,12 +337,12 @@ class PrintOrder(PortalContent, DefaultDublinCoreImpl) : } if len(self.items) > 1 : - quantitySum = reduce(lambda a, b : a['quantity'] + b['quantity'], self.items) + quantitySum = reduce(lambda a, b : a + b, [item['quantity'] for item in self.items]) else : quantitySum = self.items[0]['quantity'] total = round(self.amountWithFees.getValues()['taxed'], 2) - options['L_PAYMENTREQUEST_0_NAME0'] = 'Commande realis photo ref. %s' % self.getId() + options['L_PAYMENTREQUEST_0_NAME0'] = 'Commande photo ref. %s' % self.getId() if quantitySum == 1 : options['L_PAYMENTREQUEST_0_DESC0'] = "Commande d'un tirage photographique" else : -- 2.20.1 From 4108abadea5456a9d832614c32b93925425f6904 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 20:50:28 +0200 Subject: [PATCH 05/16] =?utf8?q?Mise=20=C3=A0=20jour=20des=20templates=20/?= =?utf8?q?=20script=20pour=20les=20inscriptions=20client.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- skins/customer_add_control.py | 2 +- skins/customer_join_form.py | 8 ++++++-- skins/customer_join_template.pt | 30 +++++++++++++++++++++++++++++- skins/customer_login_form.pt | 2 +- skins/validatePrivateAccess.py | 16 ++++++++++++++++ 5 files changed, 53 insertions(+), 5 deletions(-) create mode 100755 skins/validatePrivateAccess.py diff --git a/skins/customer_add_control.py b/skins/customer_add_control.py index 274f4c6..8280dbc 100755 --- a/skins/customer_add_control.py +++ b/skins/customer_add_control.py @@ -1,6 +1,6 @@ ##parameters=**kw from Products.CMFCore.utils import getToolByName -from Products.realis.utils import translate +from Products.photoprint.utils import translate from Products.CMFDefault.utils import translate as cmf_translate rtool = getToolByName(context, 'portal_registration') ptool = getToolByName(context, 'portal_properties') diff --git a/skins/customer_join_form.py b/skins/customer_join_form.py index 4df2848..13422ea 100755 --- a/skins/customer_join_form.py +++ b/skins/customer_join_form.py @@ -1,6 +1,6 @@ ##parameters=add='' from Products.CMFCore.utils import getToolByName -from Products.realis.utils import translate +from Products.Plinn.utils import translate from ZTUtils import make_query as mq _ = lambda msg : translate(msg, context) ptool = getToolByName(script, 'portal_properties') @@ -17,7 +17,8 @@ fg = lambda name : form.get(name,'').strip() if add and \ context.validatePassword(**form) and \ - context.customer_add_control(**form) : + context.customer_add_control(**form) and \ + context.validatePrivateAccess(**form) : came_from = fg('came_from') if came_from : return context.setRedirect( atool, 'user/logged_in' @@ -39,6 +40,9 @@ continuationFields = [ , 'password' , 'confirm' , 'send_password' + , 'wedding_id' + , 'wedding_password' + , 'wedding_password_confirm' , 'billing_address' , 'billing_city' , 'billing_zipcode' diff --git a/skins/customer_join_template.pt b/skins/customer_join_template.pt index 7799f6f..acbf54c 100644 --- a/skins/customer_join_template.pt +++ b/skins/customer_join_template.pt @@ -2,7 +2,7 @@ -
@@ -69,6 +69,34 @@
+ + +

Accès à des images privées

+ veuillez entrer le code d'accès pour accéder / acheter les images
+ d'un événement privé couvert par les photographes de notre agence. + + + + Identifiant collection privée + + + + + + Mot de passe associé + + + + + + Confirmation du mot de passe + + + + + +
+

Billing informations

diff --git a/skins/customer_login_form.pt b/skins/customer_login_form.pt index d5fc2e5..7e9b601 100644 --- a/skins/customer_login_form.pt +++ b/skins/customer_login_form.pt @@ -4,7 +4,7 @@ - +
diff --git a/skins/validatePrivateAccess.py b/skins/validatePrivateAccess.py new file mode 100755 index 0000000..19e3a7d --- /dev/null +++ b/skins/validatePrivateAccess.py @@ -0,0 +1,16 @@ +##parameters=**kw +kg = lambda name : kw.get(name,'').strip() + +weddingId = kg('wedding_id') +if not weddingId : + return True + +else : + password = kg('wedding_password') + confirm = kg('wedding_password_confirm') + memberId = kg('member_id') + msg = context.grantAccess(context, weddingId, password, confirm, memberId) + if msg : + return context.setStatus(False, msg) + else : + return True -- 2.20.1 From 077104edcbc86919b1ba1bf6318e88201614faa4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 21:18:24 +0200 Subject: [PATCH 06/16] localisation --- locales/en/LC_MESSAGES/photoprint.po | 181 +++++++++++++++++++------ locales/fr/LC_MESSAGES/photoprint.mo | Bin 11231 -> 13187 bytes locales/fr/LC_MESSAGES/photoprint.po | 192 ++++++++++++++++++++------ locales/photoprint.pot | 194 +++++++++++++++++++++------ skins/customer_join_template.pt | 2 +- 5 files changed, 444 insertions(+), 125 deletions(-) diff --git a/locales/en/LC_MESSAGES/photoprint.po b/locales/en/LC_MESSAGES/photoprint.po index 7f97f28..ddc0a0d 100644 --- a/locales/en/LC_MESSAGES/photoprint.po +++ b/locales/en/LC_MESSAGES/photoprint.po @@ -1,4 +1,4 @@ -#: t/price.py:72 +#: t/price.py:82 msgid "${i}.${d}" msgstr "" @@ -60,6 +60,141 @@ msgstr "" msgid "Please accept general conditions of sales." msgstr "" +#: t/skins/customer_join_template.pt:11 +msgid "New customer account" +msgstr "" + +#: t/skins/customer_join_template.pt:17 +msgid "Customer informations" +msgstr "" + +#: t/skins/customer_join_template.pt:21 +msgid "First name" +msgstr "" + +#: t/skins/customer_join_template.pt:27 +msgid "Last name" +msgstr "" + +#: t/skins/customer_join_template.pt:33 +msgid "Email Address" +msgstr "" + +#: t/skins/customer_join_template.pt:40 +msgid "Member ID" +msgstr "" + +#: t/skins/customer_join_template.pt:48 t/skins/customer_login_form.pt:45 +msgid "Password" +msgstr "" + +#: t/skins/customer_join_template.pt:54 +msgid "Password (confirm)" +msgstr "" + +#: t/skins/customer_join_template.pt:60 +msgid "Mail Password?" +msgstr "" + +#: t/skins/customer_join_template.pt:64 +msgid "Check this box to have the password mailed." +msgstr "" + +#: t/skins/customer_join_template.pt:102 t/skins/personalize_form.pt:46 +msgid "Billing informations" +msgstr "" + +#: t/skins/customer_join_template.pt:106 t/skins/order_view_template.pt:35 +#: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 +msgid "Address" +msgstr "" + +#: t/skins/customer_join_template.pt:113 t/skins/order_view_template.pt:39 +#: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 +msgid "City" +msgstr "" + +#: t/skins/customer_join_template.pt:119 t/skins/order_view_template.pt:43 +#: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 +msgid "Zip code" +msgstr "" + +#: t/skins/customer_join_template.pt:125 t/skins/order_view_template.pt:47 +#: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 +msgid "Country" +msgstr "" + +#: t/skins/customer_join_template.pt:135 t/skins/personalize_form.pt:79 +msgid "Phone" +msgstr "" + +#: t/skins/customer_join_template.pt:144 +msgid "I accept general conditions of sales" +msgstr "" + +#: t/skins/customer_join_template.pt:152 +msgid "Register" +msgstr "" + +#: t/skins/customer_join_template.pt:153 +#: t/skins/photoprint_templates_edit_template.pt:142 +msgid "Cancel" +msgstr "" + +#: t/skins/customer_login_form.pt:16 +msgid "You already have an account?" +msgstr "" + +#: t/skins/customer_login_form.pt:17 +msgid "Please login to continue" +msgstr "" + +#: t/skins/customer_login_form.pt:20 +msgid "New customer?" +msgstr "" + +#: t/skins/customer_login_form.pt:21 +msgid "Welcome!
Please create an account to order." +msgstr "" + +#. Default: "Login" +#: t/skins/customer_login_form.pt:38 +msgid "user_name" +msgstr "" + +#: t/skins/customer_login_form.pt:55 +msgid "Remember my name." +msgstr "" + +#. Default: "Login" +#: t/skins/customer_login_form.pt:63 +msgid " Login " +msgstr "" + +#: t/skins/customer_login_form.pt:73 +msgid "Open new account >>" +msgstr "" + +#: t/skins/customer_login_form.pt:81 +msgid "Forgot your password?" +msgstr "" + +#: t/skins/customer_login_form.pt:87 +msgid "" +"Having trouble logging in? Make sure to enable cookies in your web browser." +msgstr "" + +#: t/skins/customer_login_form.pt:90 +msgid "Don't forget to logout or exit your browser when you're done." +msgstr "" + +#: t/skins/customer_login_form.pt:94 +msgid "" +"Setting the 'Remember my name' option will set a cookie with your username, " +"so that when you next log in, your user name will already be filled in for " +"you." +msgstr "" + #: t/skins/my_orders.py:17 t/skins/order_list.py:14 #: t/skins/order_view_template.pt:181 msgid "Date" @@ -234,26 +369,6 @@ msgstr "" msgid "Billing" msgstr "" -#: t/skins/order_view_template.pt:35 t/skins/order_view_template.pt:60 -#: t/skins/personalize_form.pt:50 -msgid "Address" -msgstr "" - -#: t/skins/order_view_template.pt:39 t/skins/order_view_template.pt:64 -#: t/skins/personalize_form.pt:57 -msgid "City" -msgstr "" - -#: t/skins/order_view_template.pt:43 t/skins/order_view_template.pt:68 -#: t/skins/personalize_form.pt:63 -msgid "Zip code" -msgstr "" - -#: t/skins/order_view_template.pt:47 t/skins/order_view_template.pt:72 -#: t/skins/personalize_form.pt:69 -msgid "Country" -msgstr "" - #: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:133 msgid "Shipping" msgstr "" @@ -344,14 +459,6 @@ msgstr "" msgid "Email address" msgstr "" -#: t/skins/personalize_form.pt:46 -msgid "Billing informations" -msgstr "" - -#: t/skins/personalize_form.pt:79 -msgid "Phone" -msgstr "" - #: t/skins/personalize_form.pt:88 msgid "Change" msgstr "" @@ -427,39 +534,35 @@ msgstr "" msgid "Add" msgstr "" -#: t/skins/photoprint_templates_edit_template.pt:142 -msgid "Cancel" -msgstr "" - #: t/skins/photoprint_templates_edit_template.pt:150 msgid "Save" msgstr "" -#: t/tool.py:109 +#: t/tool.py:119 msgid "No printing options found at %r" msgstr "" -#: t/tool.py:193 +#: t/tool.py:203 msgid "You must enter a title." msgstr "" -#: t/tool.py:197 +#: t/tool.py:207 msgid "" "You must enter an integer number\n" "for the maximum number of copies." msgstr "" -#: t/tool.py:199 +#: t/tool.py:209 msgid "" "You must enter a positive value\n" "for the maximum number of copies." msgstr "" -#: t/tool.py:203 +#: t/tool.py:213 msgid "You must enter a numeric value for the price." msgstr "" -#: t/tool.py:208 +#: t/tool.py:218 msgid "You must enter a numeric value for the VAT rate." msgstr "" diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo index 2246a9bffe8d35fed34dfd314503917f013b8bdf..3f692d0eb9b2b813809f231750e2c7f6502d1bcd 100644 GIT binary patch delta 5187 zcmZ{l3vg7`8OKj}m;y;q5D^J*fM60Z3BeZzNaSrQga{Q1wc=*?Cb_bEZ`emdM7zGw zYOU5Tlp?gIW1UW_wAze1t#pdXsI67|aOyZC+Ezs!>)6iNr&`XL@G8{hf36 z+;hJ3|Gw|;@3-94m3?*6n0xH{hotT;E!-Vd<#~NVz0^QFOM6z zwr;cmDoJASEO;%HBm3R&4?{lYDZb8t#~j~>%8l_%%Ha#34&30zmqRHPK<$4m)V_Pq zKz~W~111!+M<61Yqfj^gEmSC8cJs%fLhui$^&i25u#{c3{ywOKAA}deAGz^6P)hs- z%8@a6DWxW5=}5vkP#ZQtN!tXK#m%r0u7N7gU2q=U2N%M}VI6!IE{A7vEzU4kz!fkJ zL--i{9jr#yTKI3+471hK$w)e#a3*{WveuMvnr<{5syeFR9M}q#tZ}Ft?S@k9E;s%T zlmm}IJ^vikO<#0;6H39qLy|LVKBOZ_N@o<5m;!ac97tGABUBczb=(BC!FD%}K`GY* zb>MEO18;^>a4*z;hoGK&0BXO7;5gO)5jwvvA*tLC`^iYf{61I%4@2e1i;k~AZTtpQ zS-tDVr`y7OCDetgpblCD5!Ez9J+}?2Tsz?8ES05ACLR@!s$@!ABR%rN%&d#OE*5F zt{{0OROrrydcGBw!ELY{c0od%H5oectRL!TH$W=U{1h&NFT)kEf|^kbFN3S#tx(E6 z3zx&UVF2ehuyKho2Oz$iZ}FO327dt)u#^OnG8t%9|NH1nVB%3IsfHm1VBUb`uoN#& zgHxbxQth}H>V~aQNw^&XHFdItBMmKJTa-a=Xz%5V*cS0S!6Y9Y0Ai|i-F(si|R!O6#8=`dn&qZT3 zg<&~H^5*|EB%9hL1(&7==KB3mPOB+TlslituE8!;{M8iKHf%Dcn-m*4 zWj0{SaKdM9z`l&BwDw^9`<`g`&{Lcd&3IU0XF9aoF@^FFmcyjBa_0+LC20;~k~)eN z+jcr#SbcE#_6P%x0+i z?{H&5Z$h<;umtu+4QQ>{{(R4v7Pt%hnj3G0Td)+?i4l5pC8h*dOJi4K*(DmewijOJ z`g%KE;rd^PA$B)*8#WjFDyFs%tHCB|KvM!L>Ar&9g{fVNjmNITR%1J{o3V?FQCh&@ zR4j>Y#Pk9>fc0W(kpj$}@B&Qb*^TMdeFs)-zU!=n4X%Hc<68JR>?W)X>%&Twl2vrn zMq!QlUg7In*Uvb96K-<-6>yd78@n#-@&h|`$%Jtw^Siz14x8@wQ??`AWz(VUj`Vs= zc(x~!O7(@wm`z0dxEHI>Z7A!QvNDrOhY2rf{h%{UCL(D+3{ts=%G#HPL3P?P*X5

nN?FU7Nc-Cm%X>ZE65Vc^y0J}wKg%VV*mmr9w{I?qPj zXboqZHGVRcwm~F8mlHy_U(v%B&Ekt~u<8CD&#d)(IiO9;FNyT}L6=P@!%RoqlUH25 z3-4R(`p6E?rZV_|yI!z1q6N_~+~IpE78G3W^E!%d*PGTvq{}nwB1K=&k%eZx{B3t? zwdB5CUN@?BRc@rbYPQ#Bqea0Y(P)?n(x&aC$(Etx<)ca__26y5v|D1En{&r2E|^x3 z-xPPYHPJBW^plC&p))5wHF|2?i=^^5!dGsYk?wilzPgb=I%{#qj>^Ql+T|Vd5OLdMPRn|Lb!rXY^-R*X2`VdA<%k>lKD;{AjoDB~5#BWH1O5 zX8p-`$h$K#I6Uy_8Z55ftV<@nK8BEz8y&3Q%8fJ@Pw%E-h zgGs+r_xwb=lWswwcs)oQXERr^^{zVG@bE-f%xVdX4pjEZ(#zfUh)1BIGZ1`QSSPgl|xt0++H$$L#8+BCvApe zE-orONiOGme zr|RgmO}xrCRXdxe!TzZVk$$L?hVOBg$x@=Vu^du>hh#!!>tW5Lz z@16Jb))mN${~2$1Ks8UvpHP5{IbmHa@;O7F(B&&XpJcq?NUxE>t8pXmslrBphL)av L-`G>~aW(%1NQACN delta 3165 zcmY+_4NO*59LMp)o2H;33IYONTGFLNN?wKu@Yb&$VX0x2>bkTNs7m5yoU=BI*Ve$e2tu4#g#yfwibHZbv=vH5`s_I{ojV zt~-hvz{i-1-y)APe_(_08grk@FghAI=mHO_-OWJ{+=iNIA8J5*P!HONG58@yQ-*()C5C0hC|{&o||&V4HJd4_dSjIiA9J+5@N*o5(=Qeb%yIN;WIv1utjQfzs=}F00;ZrIT#8z=WvCf9V=VSM z?!_$HM^O*Dh8pM%Wb)>3)P09C8r^R^Dib9m$-h!OhYp@?7NOR(7L`gjDwQ3m-*q|X zdr=SCiBqx9X`e;@%y|xa@J(cr=66)4f|-Tx6N%ci38TorHcv7gX_$_AScy5f31{OG z)C_*b$1sdEv|>44#7}Sn?jkLvYU2jHi^F0B0`CXWeh&P>#rFLqpp+{bHHQPJ*i z40M=R9p6CBU?1wn{m7p=&OrmXh`D$T{TbuyHIKH18gK(@kF=t$Ux(AN2bGaeF;wsW zX)2o8In)TR`A@KU(Enk=Z2H5K0ymn5owVnoGH?Plpl?tEzTmX4qXuvbm5JM^=lq2v z#|&X(#OwV}p`r_CqITs1%*QI6h&|}vG^m*#!x?x6XJHucuwKV9EW(wJHZpc|29@Cf z)PROtfe+Rw^cK^RK}DNwHL}5t2esLDpi;LVr(r+3_;3uMGE$im_)c^q+r_+&tcK}F z&F~EBJ~vPkx##q!v-KH^nUzZZHIrI8w29uvbli`8Gt6n!53iz@;vOp1Noj%2nTE

X-;w#)f;%yUx8$CeN){dWGr0+7@fB%CH)`gW(89Z@ znZ=PuWg->z-6%s1%#B*YPSn76IPOJF=m=^LeU93MXPxujD^!Nk@eAq!cbpT!j4F)w zNYn-K$bK^uP$@5WT!DjVw_!MTqJH0t%AD=A-$f1JBh*`S9C@zSoTd^^#|0!K{&ie~ z4aC!ge*6USIH3W&M5wGK9wpWhT9Q!W|FW3MDq^A2@swjbK0_!YS_ZG)f0bN9>E29i zAvD7dVi}=XkQ9HGlyVK$MW`s{W&T>=|A+R_3a7mZmlJwZ<~x0C2UAXH3121(_54c0 zBDCXG^v+Hp^pA+7JXE@AX?>>?YzecPSW4*iQ+Ymse@Qk{UrA^qs%V2QBD5h@dI;}} z9M-Ev@erl{T3{2_P|qQrBPKij`tqr?5)1sbz+nT-BB}z-hmQ5M+{By*di8zi)e1CG z(MPB5fs<3IR}i&?K0K*}iZ)O%p;v4xkwR#*sZHlrtnvz>51!sM zl_&Mf1S%y&CXqy_EFpL^{qL;W`iebR<~fbQj%|)FU?ZVdGN16}4I2_G zYa^Q?>gwy;T^${!%-!U&Bcl=`Dw^vWU8b_N(Q>!gd!usf@1hb9MvVxvQ==#QJkcjZ z?CRLvku`PeU8cs>Qg6AM>)cKDfzgM2yW=v#?5~pY_v7nd;Tek*m1Z*%IZAp3sWJYRGA Yu24HY>ofb`tYrH{_9@@hoC9J10qSE!3IG5A diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po index 31b0546..3fc5946 100644 --- a/locales/fr/LC_MESSAGES/photoprint.po +++ b/locales/fr/LC_MESSAGES/photoprint.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Plinn 2.0\n" -"POT-Creation-Date: Fri Oct 4 21:36:58 2013\n" -"PO-Revision-Date: 2013-10-03 17:55+0200\n" +"POT-Creation-Date: Mon Sep 1 20:58:12 2014\n" +"PO-Revision-Date: 2014-09-01 21:00+0200\n" "Last-Translator: Benoît PIN\n" "Language-Team: CRI http://cri.ensmp.fr\n" "Language: \n" @@ -16,7 +16,7 @@ msgstr "" "Domain: plinn\n" "X-Is-Fallback-For: fr-fr, fr-be fr-ca fr-lu fr-mc fr-ch\n" -#: t/price.py:72 +#: t/price.py:82 msgid "${i}.${d}" msgstr "${i},${d}" @@ -80,6 +80,148 @@ msgstr "Veuillez entrer un numéro de téléphone." msgid "Please accept general conditions of sales." msgstr "Veuillez accepter les conditions générales des ventes." +#: t/skins/customer_join_template.pt:11 +msgid "New customer account" +msgstr "Nouveau compte client" + +#: t/skins/customer_join_template.pt:17 +msgid "Customer informations" +msgstr "Informations client" + +#: t/skins/customer_join_template.pt:21 +msgid "First name" +msgstr "Prénom" + +#: t/skins/customer_join_template.pt:27 +msgid "Last name" +msgstr "Nom" + +#: t/skins/customer_join_template.pt:33 +msgid "Email Address" +msgstr "E-mail" + +#: t/skins/customer_join_template.pt:40 +msgid "Member ID" +msgstr "Login" + +#: t/skins/customer_join_template.pt:48 t/skins/customer_login_form.pt:45 +msgid "Password" +msgstr "Mot de passe" + +#: t/skins/customer_join_template.pt:54 +msgid "Password (confirm)" +msgstr "Mot de passe (confirmation)" + +#: t/skins/customer_join_template.pt:60 +msgid "Mail Password?" +msgstr "Envoyer le mot de passe ?" + +#: t/skins/customer_join_template.pt:64 +msgid "Check this box to have the password mailed." +msgstr "Cochez cette case afin que votre mot de passe vous soit envoyé par mail." + +#: t/skins/customer_join_template.pt:102 t/skins/personalize_form.pt:46 +msgid "Billing informations" +msgstr "Informations de facturation" + +#: t/skins/customer_join_template.pt:106 t/skins/order_view_template.pt:35 +#: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 +msgid "Address" +msgstr "Adresse" + +#: t/skins/customer_join_template.pt:113 t/skins/order_view_template.pt:39 +#: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 +msgid "City" +msgstr "Ville" + +#: t/skins/customer_join_template.pt:119 t/skins/order_view_template.pt:43 +#: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 +msgid "Zip code" +msgstr "Code postal" + +#: t/skins/customer_join_template.pt:125 t/skins/order_view_template.pt:47 +#: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 +msgid "Country" +msgstr "Pays" + +#: t/skins/customer_join_template.pt:135 t/skins/personalize_form.pt:79 +msgid "Phone" +msgstr "Téléphone" + +#: t/skins/customer_join_template.pt:144 +msgid "I accept general conditions of sales" +msgstr "" + +#: t/skins/customer_join_template.pt:152 +msgid "Register" +msgstr "" + +#: t/skins/customer_join_template.pt:153 +#: t/skins/photoprint_templates_edit_template.pt:142 +msgid "Cancel" +msgstr "Annuler" + +#: t/skins/customer_login_form.pt:16 +msgid "You already have an account?" +msgstr "Vous avez déjà un compte ?" + +#: t/skins/customer_login_form.pt:17 +msgid "Please login to continue" +msgstr "Veuillez vous authentifier pour continuer." + +#: t/skins/customer_login_form.pt:20 +msgid "New customer?" +msgstr "Nouveau client ?" + +#: t/skins/customer_login_form.pt:21 +msgid "Welcome!
Please create an account to order." +msgstr "Bienvenue !
Veuillez ouvrir un compte pour commander." + +#. Default: "Login" +#: t/skins/customer_login_form.pt:38 +msgid "user_name" +msgstr "Login" + +#: t/skins/customer_login_form.pt:55 +msgid "Remember my name." +msgstr "Se souvenir de mon login." + +#. Default: "Login" +#: t/skins/customer_login_form.pt:63 +msgid " Login " +msgstr " Connexion " + +#: t/skins/customer_login_form.pt:73 +msgid "Open new account >>" +msgstr "Ouvrir un nouveau compte >>" + +#: t/skins/customer_login_form.pt:81 +msgid "Forgot your password?" +msgstr "Mot de passe oublié ?" + +#: t/skins/customer_login_form.pt:87 +msgid "" +"Having trouble logging in? Make sure to enable cookies in your web browser." +msgstr "" +"Vous rencontrez des difficultés pour la connexion ? Vérifiez que votre " +"navigateur accepte les cookies." + +#: t/skins/customer_login_form.pt:90 +msgid "Don't forget to logout or exit your browser when you're done." +msgstr "" +"N'oubliez pas de vous déconnecter ou de fermer votre navigateur à la fin de " +"la session." + +#: t/skins/customer_login_form.pt:94 +msgid "" +"Setting the 'Remember my name' option will set a cookie with your username, " +"so that when you next log in, your user name will already be filled in for " +"you." +msgstr "" +"L'option « Se souvenir de mon login » permet de le sauvegarder dans un " +"cookie : vous n’aurez pas à le saisir de nouveau lors de votre prochaine " +"visite." + #: t/skins/my_orders.py:17 t/skins/order_list.py:14 #: t/skins/order_view_template.pt:181 msgid "Date" @@ -263,26 +405,6 @@ msgstr "Commande N° ${order_number}" msgid "Billing" msgstr "Facturation" -#: t/skins/order_view_template.pt:35 t/skins/order_view_template.pt:60 -#: t/skins/personalize_form.pt:50 -msgid "Address" -msgstr "Adresse" - -#: t/skins/order_view_template.pt:39 t/skins/order_view_template.pt:64 -#: t/skins/personalize_form.pt:57 -msgid "City" -msgstr "Ville" - -#: t/skins/order_view_template.pt:43 t/skins/order_view_template.pt:68 -#: t/skins/personalize_form.pt:63 -msgid "Zip code" -msgstr "Code postal" - -#: t/skins/order_view_template.pt:47 t/skins/order_view_template.pt:72 -#: t/skins/personalize_form.pt:69 -msgid "Country" -msgstr "Pays" - #: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:133 msgid "Shipping" msgstr "Livraison" @@ -382,14 +504,6 @@ msgstr "Prénom" msgid "Email address" msgstr "Adresse e-mail" -#: t/skins/personalize_form.pt:46 -msgid "Billing informations" -msgstr "Informations de facturation" - -#: t/skins/personalize_form.pt:79 -msgid "Phone" -msgstr "Téléphone" - #: t/skins/personalize_form.pt:88 msgid "Change" msgstr "Modifier" @@ -468,23 +582,19 @@ msgstr "La valeur 0 signifie illimité" msgid "Add" msgstr "Ajouter" -#: t/skins/photoprint_templates_edit_template.pt:142 -msgid "Cancel" -msgstr "Annuler" - #: t/skins/photoprint_templates_edit_template.pt:150 msgid "Save" msgstr "Enregistrer" -#: t/tool.py:109 +#: t/tool.py:119 msgid "No printing options found at %r" msgstr "Aucune option d'impression trouvée sur %r" -#: t/tool.py:193 +#: t/tool.py:203 msgid "You must enter a title." msgstr "Vous devez saisir un titre." -#: t/tool.py:197 +#: t/tool.py:207 msgid "" "You must enter an integer number\n" "for the maximum number of copies." @@ -492,7 +602,7 @@ msgstr "" "Vous devez saisir un nombre entier\n" "pour le nombre maxi de copies." -#: t/tool.py:199 +#: t/tool.py:209 msgid "" "You must enter a positive value\n" "for the maximum number of copies." @@ -500,11 +610,11 @@ msgstr "" "Vous devez saisir une valeur positive\n" "pour le nombre maxi de copies." -#: t/tool.py:203 +#: t/tool.py:213 msgid "You must enter a numeric value for the price." msgstr "Vous devez saisir une valeur numérique pour le prix." -#: t/tool.py:208 +#: t/tool.py:218 msgid "You must enter a numeric value for the VAT rate." msgstr "Vous devez saisir une valeur numérique pour la TVA (pourcentage)." diff --git a/locales/photoprint.pot b/locales/photoprint.pot index 2e1b21d..ce8cb2e 100644 --- a/locales/photoprint.pot +++ b/locales/photoprint.pot @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Meaningless\n" -"POT-Creation-Date: Fri Oct 4 21:36:58 2013\n" +"POT-Creation-Date: Mon Sep 1 20:58:12 2014\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" @@ -23,7 +23,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: zope/app/locales/extract.py\n" -#: t/price.py:72 +#: t/price.py:82 msgid "${i}.${d}" msgstr "" @@ -83,6 +83,148 @@ msgstr "" msgid "Please accept general conditions of sales." msgstr "" +#: t/skins/customer_join_template.pt:11 +msgid "New customer account" +msgstr "" + +#: t/skins/customer_join_template.pt:17 +msgid "Customer informations" +msgstr "" + +#: t/skins/customer_join_template.pt:21 +msgid "First name" +msgstr "" + +#: t/skins/customer_join_template.pt:27 +msgid "Last name" +msgstr "" + +#: t/skins/customer_join_template.pt:33 +msgid "Email Address" +msgstr "" + +#: t/skins/customer_join_template.pt:40 +msgid "Member ID" +msgstr "" + +#: t/skins/customer_join_template.pt:48 +#: t/skins/customer_login_form.pt:45 +msgid "Password" +msgstr "" + +#: t/skins/customer_join_template.pt:54 +msgid "Password (confirm)" +msgstr "" + +#: t/skins/customer_join_template.pt:60 +msgid "Mail Password?" +msgstr "" + +#: t/skins/customer_join_template.pt:64 +msgid "Check this box to have the password mailed." +msgstr "" + +#: t/skins/customer_join_template.pt:102 +#: t/skins/personalize_form.pt:46 +msgid "Billing informations" +msgstr "" + +#: t/skins/customer_join_template.pt:106 +#: t/skins/order_view_template.pt:35 +#: t/skins/order_view_template.pt:60 +#: t/skins/personalize_form.pt:50 +msgid "Address" +msgstr "" + +#: t/skins/customer_join_template.pt:113 +#: t/skins/order_view_template.pt:39 +#: t/skins/order_view_template.pt:64 +#: t/skins/personalize_form.pt:57 +msgid "City" +msgstr "" + +#: t/skins/customer_join_template.pt:119 +#: t/skins/order_view_template.pt:43 +#: t/skins/order_view_template.pt:68 +#: t/skins/personalize_form.pt:63 +msgid "Zip code" +msgstr "" + +#: t/skins/customer_join_template.pt:125 +#: t/skins/order_view_template.pt:47 +#: t/skins/order_view_template.pt:72 +#: t/skins/personalize_form.pt:69 +msgid "Country" +msgstr "" + +#: t/skins/customer_join_template.pt:135 +#: t/skins/personalize_form.pt:79 +msgid "Phone" +msgstr "" + +#: t/skins/customer_join_template.pt:144 +msgid "I accept general conditions of sales" +msgstr "" + +#: t/skins/customer_join_template.pt:152 +msgid "Register" +msgstr "" + +#: t/skins/customer_join_template.pt:153 +#: t/skins/photoprint_templates_edit_template.pt:142 +msgid "Cancel" +msgstr "" + +#: t/skins/customer_login_form.pt:16 +msgid "You already have an account?" +msgstr "" + +#: t/skins/customer_login_form.pt:17 +msgid "Please login to continue" +msgstr "" + +#: t/skins/customer_login_form.pt:20 +msgid "New customer?" +msgstr "" + +#: t/skins/customer_login_form.pt:21 +msgid "Welcome!
Please create an account to order." +msgstr "" + +#: t/skins/customer_login_form.pt:38 +#. Default: "Login" +msgid "user_name" +msgstr "" + +#: t/skins/customer_login_form.pt:55 +msgid "Remember my name." +msgstr "" + +#: t/skins/customer_login_form.pt:63 +#. Default: "Login" +msgid " Login " +msgstr "" + +#: t/skins/customer_login_form.pt:73 +msgid "Open new account >>" +msgstr "" + +#: t/skins/customer_login_form.pt:81 +msgid "Forgot your password?" +msgstr "" + +#: t/skins/customer_login_form.pt:87 +msgid "Having trouble logging in? Make sure to enable cookies in your web browser." +msgstr "" + +#: t/skins/customer_login_form.pt:90 +msgid "Don't forget to logout or exit your browser when you're done." +msgstr "" + +#: t/skins/customer_login_form.pt:94 +msgid "Setting the 'Remember my name' option will set a cookie with your username, so that when you next log in, your user name will already be filled in for you." +msgstr "" + #: t/skins/my_orders.py:17 #: t/skins/order_list.py:14 #: t/skins/order_view_template.pt:181 @@ -270,30 +412,6 @@ msgstr "" msgid "Billing" msgstr "" -#: t/skins/order_view_template.pt:35 -#: t/skins/order_view_template.pt:60 -#: t/skins/personalize_form.pt:50 -msgid "Address" -msgstr "" - -#: t/skins/order_view_template.pt:39 -#: t/skins/order_view_template.pt:64 -#: t/skins/personalize_form.pt:57 -msgid "City" -msgstr "" - -#: t/skins/order_view_template.pt:43 -#: t/skins/order_view_template.pt:68 -#: t/skins/personalize_form.pt:63 -msgid "Zip code" -msgstr "" - -#: t/skins/order_view_template.pt:47 -#: t/skins/order_view_template.pt:72 -#: t/skins/personalize_form.pt:69 -msgid "Country" -msgstr "" - #: t/skins/order_view_template.pt:53 #: t/skins/order_view_template.pt:133 msgid "Shipping" @@ -378,14 +496,6 @@ msgstr "" msgid "Email address" msgstr "" -#: t/skins/personalize_form.pt:46 -msgid "Billing informations" -msgstr "" - -#: t/skins/personalize_form.pt:79 -msgid "Phone" -msgstr "" - #: t/skins/personalize_form.pt:88 msgid "Change" msgstr "" @@ -459,39 +569,35 @@ msgstr "" msgid "Add" msgstr "" -#: t/skins/photoprint_templates_edit_template.pt:142 -msgid "Cancel" -msgstr "" - #: t/skins/photoprint_templates_edit_template.pt:150 msgid "Save" msgstr "" -#: t/tool.py:109 +#: t/tool.py:119 msgid "No printing options found at %r" msgstr "" -#: t/tool.py:193 +#: t/tool.py:203 msgid "You must enter a title." msgstr "" -#: t/tool.py:197 +#: t/tool.py:207 msgid "" "You must enter an integer number\n" "for the maximum number of copies." msgstr "" -#: t/tool.py:199 +#: t/tool.py:209 msgid "" "You must enter a positive value\n" "for the maximum number of copies." msgstr "" -#: t/tool.py:203 +#: t/tool.py:213 msgid "You must enter a numeric value for the price." msgstr "" -#: t/tool.py:208 +#: t/tool.py:218 msgid "You must enter a numeric value for the VAT rate." msgstr "" diff --git a/skins/customer_join_template.pt b/skins/customer_join_template.pt index acbf54c..3693f7b 100644 --- a/skins/customer_join_template.pt +++ b/skins/customer_join_template.pt @@ -2,7 +2,7 @@ -

-- 2.20.1 From c8d48896dcb3175772534fcb652c0356acbb4223 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 21:51:08 +0200 Subject: [PATCH 07/16] traductions++ --- locales/fr/LC_MESSAGES/photoprint.mo | Bin 13187 -> 13327 bytes locales/fr/LC_MESSAGES/photoprint.po | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo index 3f692d0eb9b2b813809f231750e2c7f6502d1bcd..4556162c1db81ee9dcdcd0af0122800151b8e5d9 100644 GIT binary patch delta 3448 zcmXxl3rv<(9LMp4?*+Mu@rHO01Vniu5iJn~6|Z;=6}8L~=@qb4^Q zT9z|)v$aUuwDQtr>E^T=n>DqJtW8&rthUrz-yiSc?EUjO=eeBcoc}q`LruxfQvbCW zXM>^aBYG2&E@QsM`(gZ{Oo}ol6!TGs3NRk$qZ`*Cx0o7q;CAeeJ5cu>L|ykD#^Eu0 z`~p5`jNi1_3vOZp7qnql^mH*M4U0RI zv~Qs9zlU)=-beH&e$@R(ZTkaM<~~IY_#Eni-=H%16RN+P=+yiF4;6LzA8L)mnf9d+HX`cy z4R)rEx8VT1huSMi@j<<)jx$lOSGH|0vMxbQr~=jBdL+4~4nujqIYdS8?fa+{{($50 z4r&I&6UYkYp*Bw)s-s;v9QUCzbs3e38>kuIL=E&Vs^1XSOXp*eL#8MC)2NK3q7KXO zajeFbcoEgX#Kd6ArlV%M!0JP-?NZbXH{0U@ET!FqgV3229QaUl(9T9>G&hO->;0a@ z0gbpAwb?3BGu>g^0n`JIqB=N<+6$*po2>=)R{V;o*dsZZxpAnOPs0&dgrjjU@`jsh z$>jeLDt~c6diw|0rU==%W-V$>8&N4fYtLUq7wucfN6xfiHafXj0~&?;kQJaZv>27) zb(n><=<8(6XMQSLf`JTMnV5sT%4P*>lhmRzauC(gY2;@v+v5&z@XOf;HNza#`Bmt| z1IXCSVbnk`A^X>~qV|B_!P7&jBx5+Hqf(ZITBE5Lfpbtxun0Ava(lcM^^M<+Z{oYC z`zEFbGgN?+Y0tIow^6A-ge;-ooT8!*S}+oS!6>|gTI&#A4GqwRnqd_3rkZ@r#1hQI zM${5s#c}9i=P85pa12)AGCYos5GKs$(yRA>AUh|A6NR`G1E>^*(0e>4pfZq$O4)Se z#W3Zlfd)`(z8^J_X6xt33{4B_HNJ(>_@_PZ974u;j z=)nr>7If2YMBTq1b^TFPCO@(5^QZxQk6o}8wbXxLtZw|5iXIp?lv(4P!1b^=KY48b z*8=TDNmruTvF-mclp_^=np6sia$=$ylxacCd|Yhnt5HK#nL=o%=!>(4(0ifsC^17j z!$U>m?kH>s^BAFh%^H~+qLvs=Y$dduLZwqFH+w{6cbMn^N4Dqlwf7e(}Xs# z%Jal?#7H%4*^M)8UEiPuwqB1bv>>TeULq2SorKCBVgM1N21Of8duj*qDxor!(1s(W zW&%-3Y$3)FDrtl^eibo`(D$W@c!5w^)c%(}@d}k;gkHZTL~r6{qN6-(D|-JkY`w@j z2@8qML?p2)a6QtKo=L5vth1Gs)<&Fd>tk_zb3#<1Bk)^HVslm3O1HbDtg^~i(fo6_ wsiB=RGn+H}ZgPc9PAMub_LW!p0)0~YHy=yP=p32iTUO!IwG~|4>U}Hpe~?)~3jhEB delta 3388 zcmX}t3rv+|9LMnoL5^}4L`o1*QEn>YU5t|uYGmG1lT1vxmZ+$R2KH(KrkQ3yWKiau zYfGu@Ox==}wyDe1E-vS$w#w_wS({zeF5e&LIX&ZlKF|A{_dJ*X^Sm$HN;i}^-$e#A z8A>Y=N8ArE<}6<9$_FJm)EF10pqer;0mot>&cn{Q2>r1PAHZ_d@9I(aZN(UDvh8iy z-5AFlus58(R&@O(6zh87ARM?1HVRf%hPPrp>muV>H*t zP`|%`F^q4%r;qcT#5VT^CKsDdr1j^0DvcmyNyq`kg`8u&VrI&%v(F~4rc490Nmjc(Kc^HB>b zLS?AJy2G{~MJItTPE(P$F$%*O^+D{1+RH3dYG)&VrhpIa^>PfsRhWz$kR+IW$lOdj zs=w2y4E%tpcpc+9(N`4t*NoFywpKJ1bw~=aC)S`Q(rmxqkNlbAeDuJJ);p-P5k#XV zJQ6kFRC_%Om8m7D{%cVEHufO@O4a)`XwMEHNiauHEB*$x6&Gy#Rn!*zfx7=bwxEk% zb^mVE!256%eq^t2qB8LdY9ay5QkjZ$s3?VfQ5~kEQk#i7#cs^N38=?&HTK6Q9D;{& z5Z=OU?8&ki!_31RT!~BZ5PpkEq%{TqMmIW1v7AUM#Tbu2BKI0UM$?L7QBOxA_QgEZ zVO@+`Q8g-K+wAo&)C3Noet#OZ(sR~ps0{v&98SmFqoS0!dU-PujT)dYvaKcqb&4li zXQDbNu-ApC%q>F=SdAL67L~z9RDZ3g-|a>9_aS!G^WRS8D?bjE{i2x@sXgC~$=HTE zBj>D_P#s@EJyy5ub@v2sdmL&(iKu~wB1tuF)bH|9kLyB=a;R*lG9LG!R`3(%;jgH} z{%)_CmqCy+mLiVwX}Z=?E)Wj~#{RFbGv;d)dD zf1y%l`gvy@ZjC|hZEw^HN7?rASjzQe)PxVBKenSXc?9)1pF~acD(Z~=){p$_2jPj{ zhGFAGHs56j_I%IQDPeU1|Vhbu`$5AW(6360Y9EZL8d*2faa0J&?);83ZT<%Z) zIe+F~8nl;j1H7rtMcptRJ7YQW(lRSB6YEhEI*NL6okeBl1}e4cY&3*mQ75(+mHNFr zd&q)yn#zF zHJy(AjM;(A-MqzXG7CS)a&&Qkl$lCQ(DUC!C76bTs8oH1JOJhjhN6pEbi-)WN|LOj zQ7g;7Nfq^A8PS*D0kMtx;76>VWF(LgB6Ix|lZ%18?ls9!9i;wuGIN{GR} z27J!e6Hw24H8Gh`sV6dt#l%M9b>anL8KLu$O1O!K2w!=T$~t1W8nlzZ&6tOAHSwywo{Mvc6+|(?CY$+$jE^KMU>9(%d&^%jz z4VNl~+o^0Kcu|{I2$d!xnTXT{MMq7?>t$jap)!dGBGwY)i3*~Y7)Pk25fQ|4Vg{i% z%?@G}q4G?}CtJUj%1A;FVkx1Q^cKQb%53EkOt=~Yz-o;Zf@NL(B_s21z diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po index 3fc5946..4854769 100644 --- a/locales/fr/LC_MESSAGES/photoprint.po +++ b/locales/fr/LC_MESSAGES/photoprint.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Plinn 2.0\n" "POT-Creation-Date: Mon Sep 1 20:58:12 2014\n" -"PO-Revision-Date: 2014-09-01 21:00+0200\n" +"PO-Revision-Date: 2014-09-01 21:22+0200\n" "Last-Translator: Benoît PIN\n" "Language-Team: CRI http://cri.ensmp.fr\n" "Language: \n" @@ -150,11 +150,11 @@ msgstr "Téléphone" #: t/skins/customer_join_template.pt:144 msgid "I accept general conditions of sales" -msgstr "" +msgstr "J'accepte les conditions générales des ventes" #: t/skins/customer_join_template.pt:152 msgid "Register" -msgstr "" +msgstr "S'enregistrer" #: t/skins/customer_join_template.pt:153 #: t/skins/photoprint_templates_edit_template.pt:142 -- 2.20.1 From 3c2f6847f02b7dc0b60fa586837e16635cef32cc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 23:09:14 +0200 Subject: [PATCH 08/16] Remise en route des inscriptions client. --- skins/customer_join_form.py | 6 +++--- skins/customer_join_template.pt | 6 +++--- skins/validatePrivateAccess.py | 11 ++++++----- utils.py | 35 +++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 11 deletions(-) diff --git a/skins/customer_join_form.py b/skins/customer_join_form.py index 13422ea..f5f0f7c 100755 --- a/skins/customer_join_form.py +++ b/skins/customer_join_form.py @@ -40,9 +40,9 @@ continuationFields = [ , 'password' , 'confirm' , 'send_password' - , 'wedding_id' - , 'wedding_password' - , 'wedding_password_confirm' + , 'collection_id' + , 'collection_password' + , 'collection_password_confirm' , 'billing_address' , 'billing_city' , 'billing_zipcode' diff --git a/skins/customer_join_template.pt b/skins/customer_join_template.pt index 3693f7b..503c825 100644 --- a/skins/customer_join_template.pt +++ b/skins/customer_join_template.pt @@ -79,19 +79,19 @@ Identifiant collection privée - + Mot de passe associé - + Confirmation du mot de passe - + diff --git a/skins/validatePrivateAccess.py b/skins/validatePrivateAccess.py index 19e3a7d..7fc6530 100755 --- a/skins/validatePrivateAccess.py +++ b/skins/validatePrivateAccess.py @@ -1,15 +1,16 @@ ##parameters=**kw +from Products.photoprint.utils import grantAccess kg = lambda name : kw.get(name,'').strip() -weddingId = kg('wedding_id') -if not weddingId : +collectionId = kg('collection_id') +if not collectionId : return True else : - password = kg('wedding_password') - confirm = kg('wedding_password_confirm') + password = kg('collection_password') + confirm = kg('collection_password_confirm') memberId = kg('member_id') - msg = context.grantAccess(context, weddingId, password, confirm, memberId) + msg = grantAccess(collectionId, password, confirm, memberId) if msg : return context.setStatus(False, msg) else : diff --git a/utils.py b/utils.py index 0982bc7..9f4706f 100755 --- a/utils.py +++ b/utils.py @@ -19,6 +19,10 @@ from AccessControl import ModuleSecurityInfo from zope.i18n import translate as i18ntranslate from zope.i18nmessageid import MessageFactory from zope.globalrequest import getRequest +from Products.CMFCore.utils import getUtilityByInterfaceName +from Products.Plinn.utils import _sudo +import transaction + security = ModuleSecurityInfo('Products.photoprint.utils') @@ -29,3 +33,34 @@ def translate(msgid, mapping=None, default=None) : security.declarePublic('Message') Message = _ = MessageFactory('photoprint') + +security.declarePublic('grantAccess') +def grantAccess(collectionId, password, confirm, memberId) : + utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool') + mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') + portal = utool.getPortalObject() + + data = portal.private_collections.data + lines = filter(None, [l.strip() for l in data.split('\n')]) + assert len(lines) % 3 == 0 + collecInfos = {} + for i in xrange(0, len(lines), 3) : + collecInfos[lines[i]] = {'pw' : lines[i+1], + 'path' : lines[i+2]} + + if not collecInfos.has_key(collectionId) : + transaction.abort() + return _('Wrong private collection identifier.') + elif password != confirm : + transaction.abort() + return _("Collection's password does not match confirmation.") + else : + if collecInfos[collectionId]['pw'] != password : + transaction.abort() + return _("Wrong collection's password.") + else : + collec = portal.unrestrictedTraverse(collecInfos[collectionId]['path']) + def do() : + mtool.setLocalRoles(collec, [memberId], 'Reader') + + _sudo(do) -- 2.20.1 From 46df770d58b2dbf154a3da4d62d82ae30d39bc86 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Mon, 1 Sep 2014 23:43:31 +0200 Subject: [PATCH 09/16] =?utf8?q?D=C3=A9sactivation=20d'options=20obsol?= =?utf8?q?=C3=A8tes.=20Mise=20en=20place=20du=20script=20d'annulation=20d'?= =?utf8?q?un=20paiement=20PayPal.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- locales/en/LC_MESSAGES/photoprint.po | 48 ++++++++++---------- locales/fr/LC_MESSAGES/photoprint.mo | Bin 13327 -> 13368 bytes locales/fr/LC_MESSAGES/photoprint.po | 65 ++++++++++++++++----------- locales/photoprint.pot | 50 ++++++++++----------- skins/customer_add_control.py | 4 +- skins/customer_join_form.py | 4 +- skins/customer_join_template.pt | 16 ------- skins/photoprint_order_cancel.py | 6 +++ 8 files changed, 96 insertions(+), 97 deletions(-) create mode 100644 skins/photoprint_order_cancel.py diff --git a/locales/en/LC_MESSAGES/photoprint.po b/locales/en/LC_MESSAGES/photoprint.po index ddc0a0d..f0d7834 100644 --- a/locales/en/LC_MESSAGES/photoprint.po +++ b/locales/en/LC_MESSAGES/photoprint.po @@ -56,10 +56,6 @@ msgstr "" msgid "Please enter a phone." msgstr "" -#: t/skins/customer_add_control.py:28 -msgid "Please accept general conditions of sales." -msgstr "" - #: t/skins/customer_join_template.pt:11 msgid "New customer account" msgstr "" @@ -92,51 +88,39 @@ msgstr "" msgid "Password (confirm)" msgstr "" -#: t/skins/customer_join_template.pt:60 -msgid "Mail Password?" -msgstr "" - -#: t/skins/customer_join_template.pt:64 -msgid "Check this box to have the password mailed." -msgstr "" - -#: t/skins/customer_join_template.pt:102 t/skins/personalize_form.pt:46 +#: t/skins/customer_join_template.pt:93 t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "" -#: t/skins/customer_join_template.pt:106 t/skins/order_view_template.pt:35 +#: t/skins/customer_join_template.pt:97 t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 msgid "Address" msgstr "" -#: t/skins/customer_join_template.pt:113 t/skins/order_view_template.pt:39 +#: t/skins/customer_join_template.pt:104 t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 msgid "City" msgstr "" -#: t/skins/customer_join_template.pt:119 t/skins/order_view_template.pt:43 +#: t/skins/customer_join_template.pt:110 t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "" -#: t/skins/customer_join_template.pt:125 t/skins/order_view_template.pt:47 +#: t/skins/customer_join_template.pt:116 t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 msgid "Country" msgstr "" -#: t/skins/customer_join_template.pt:135 t/skins/personalize_form.pt:79 +#: t/skins/customer_join_template.pt:126 t/skins/personalize_form.pt:79 msgid "Phone" msgstr "" -#: t/skins/customer_join_template.pt:144 -msgid "I accept general conditions of sales" -msgstr "" - -#: t/skins/customer_join_template.pt:152 +#: t/skins/customer_join_template.pt:136 msgid "Register" msgstr "" -#: t/skins/customer_join_template.pt:153 +#: t/skins/customer_join_template.pt:137 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "" @@ -463,6 +447,10 @@ msgstr "" msgid "Change" msgstr "" +#: t/skins/photoprint_order_cancel.py:5 +msgid "Your payment has been canceled. You can retry later." +msgstr "" + #: t/skins/photoprint_order_confirm.py:7 msgid "Your payment has been accepted by PayPal." msgstr "" @@ -566,6 +554,18 @@ msgstr "" msgid "You must enter a numeric value for the VAT rate." msgstr "" +#: t/utils.py:53 +msgid "Wrong private collection identifier." +msgstr "" + +#: t/utils.py:56 +msgid "Collection's password does not match confirmation." +msgstr "" + +#: t/utils.py:60 +msgid "Wrong collection's password." +msgstr "" + # from photoprint-manual.pot msgid "Your payment is complete." msgstr "" diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo index 4556162c1db81ee9dcdcd0af0122800151b8e5d9..b480a57512ef20573544d7d2d5b6ff385ff00de1 100644 GIT binary patch delta 3519 zcmZ|Qd2EzL7{~GHwiGCBEfk?#f_%&|+x`_^PW@Zdb3B(B(-S*lKK92h zcr}j0Sy+cVFav+O%tRA~W5{veG1N?J_|eG9_)V-wr3$Q=lfO>EfS@U1$kK-DLqmSPdA13&7) z8&DZ)LoMAtBnjq8)J$JNEzujc{+|8*6J!aZ<}3x>_#?LAdDM-q^r8Xm!!mr_)=!`^ zaSAn{-%*+B#3+@)9Mtm$qB2{I+Pqic2&}-q7{Gk`H+R{Fr*R-(yp6?p4hu1#X;$KF zq%X4@C*c7M;&=D~E+*eYaAY4kQys_SZd{G;V=i7#@7!Vn*opqlRth>U_u>G24z-Iv zM$PmzDy4tedS*X&AOldDDo15tvULt>ch{gcZ38M(5mbgYqMpAKqb#?1go1wfto2pY z1CH4GQB+DlLv?r>)!`4Q)Fv@4J+L$Cz8uu^`k~f-2)>(SOsQ>8aoqMShx`xb2fb;~ zCYo%Wj(Tu4>bNbm^$pf-s2Sah>gZ7+Y{9Ql_b^*S7D+2I_It$ouBIyL$jC#e+}-EJkgviKyS*XzRD4p0^5< zaVu)+qjyu#=Guok9?#-XJcU~8t^?hf_QtW)i*OOk0Y_&`YUQFiUzsIY&vQQ z>rolqiTZvIcF_5Mo&qm1^D>s>QPhCaxl3=fTvSF%Q7N5)K94c;QK^23Gp9G*8RW#8 z4vbzM(&#E$p^ zrr{yfo;ZS9k`vek&!AHOGipF7j9TrvsQ*7^D1}FHEb7KjkkpuyI32&S^-+ax$}3Q7 zHwX2`@mLk%FA7kwtCqdM+`x^EDw!xAJxW=7v#G<1{sB0Rb4RiysnixgsVi2av-AnGU z)p#4BU2q+dLa>%*6S18rBeoFA^~Gxsg$jbTG_|oW(h8#FE-}fysH80+bcKkUi8`W? z&=n(=CQ9xW$fmr8m|@$t;uvBXv5k0$SWg6r?!-_+TT1)bUcJp7lr|D9M&g>wUmbOC z?6EG{(b1F|iA992Yl+rG$^E~4JLUU`TZ#F^JR(B)2=ydO=;h9-wf& zt?0#bqb=`7PKU>=jg3q%o41Z?8ljV}!?c{ZlbAs08b)aEhKX53FQScTA#^QvF}rXi zp>twlhtjhP8&u+&L=+`T#@u4P24@qS32oe!v80Ub!eUDQzM5^r!&pu9AS#K;@yd*x zq}b-nF~b`heKiq(Fi;S7mV3kDmSCvXsSWzVP9PX@n!J&k2B#(%sPl&?^RxJinV%+I z-sG+KnJRBM;sm@+l!En+KM?;sYpy4LOLjwt@$*B$Kt1>U$HR+^`{nYGzu6n{{o_ZD zzt$Is`0M=f_M8trooc)RC*+HSV*C3Hj_>aClBZ*7d1+aB$>`XE-24>EW8&*`+dZ+n z^QtPVd`=U?t@S15;8Wr6&K+OG341S@g%b`2__@EX?(h>KIt|B<=M{OfrzPe!GuUJ% z2Ll1$O3imk{)puGk%G0U)z|%h5B@++Fccz@MP{0vgjXG0G7Qc5@Dn~VWq%x>S~My- Wt=YHA3DF)7$2N@^9*>M@^ZW%2yRE|j delta 3539 zcma*od2EzL7{~G1Z3|Lb3RDEk;ae#py=V(aDVEA576e2o;LWmq+g)vU%kH*-h)YyJ z2}Z-#s}&VBYKnE>@ymd^wimV!QzFLcQQ=)XZK$WooDO zm~HPv?+)#QtrIYx>&19JhHx0(nWUl=cO!r18UD$@S1||o;KleZk|c8ynS}Atn>rlK zKgz&GSd67O!f(t{)PNIATNCO;Elm#=;6Btql1Jxz{s2A)*b^IwRQ>RdS>NJuZlf_M%@K9talE$$O#i$!5pq64b>cP3#jSZ*= zPof5J8YiPhrR!>B(qP#L}l`|^IXg-Rt2oj3yD!7+FoE3hBa zDZ?6^jv?gT<^`OA`!R}HoG6 zf2Tp4rO5FtL3Lb(I$kyQdWH2C)Qn=N4%Z{uHCs^6J&!uJFQGE{InKsYs0mCdBr7|?$3`w*nb6ksV{is~Eb<0E5i_{1L8WvW>U>{;8gLM`+2W{) z-e<2o?{A zY6-?MYGq;xa+1wT)E?Q4%E+@gROf#$75>a&`$I;F_vsvonqe*K_cfS_&mdznJ*a^m zME0*aj@knmyuB}u!E7u;Wvm*tL|0;eT!Oj0->jgb5w+PLHlx1r58)H|9O}V2WnP9B z;askl+UuuKsec}Omk{;*Amf zYR$K!W|FqPg__|Z)H(hR^YCZ;d*%c$eqV`rT>i(IiPw_Pqn!UA&(U4EW zM(l%Ks1CNH9@v3O zEo=yL6`^g-8kxI@&BPR96QNyowme2<8o|s=bLz|NvB?{#X_DIrCCw$ymgQ8!#CY3~ zLTv>VhtNr0M=T&z?jf`lwVm!I9wF8fF+wX|Levr3R<;zFyQ$qtXpgEaCG=@%Ol|L< zpVY@AO58-K=*T?UTl2nHw^83p1c~d2Wkfp>B3L$aGoj6?(m}Kkm+Hcnhwy4!*9YcC zTkph`#`sNfYEsVRhAX+$)<_bU6LDfAF`ZB;CA3Eq#5IJz1l`1HLS==Ac>pI9Iw!ZJ z_T}W4-D-c)(X6obfb|M&AT|)%xNB0r-25_*$=~G;TU%xA!o{{e6KAKV=MM7~huq+; zP9hYJJ1e5AokY|L1v*?BT&FD%kFScx8lBcaxW#QOPc0oVHU0L0!@ki@AQ*Jp5>B%l zabtlNCm4-1h7;jvB<@6;oOqzcjiUXxK1z-cbz~}IO42q zcb$%CBIY`+(S+0JO+roWaVH)PCmc7@5nXejhsniy=T)9sUN}GfV_~WPrnzIi(YX%e z|L2^V5A;M1^e|DH8;K4#l5pduzBSP7ng!8TGcy{AxT~4JnXT^K7(M)J0Q;Y;OOG$A e%ouOqpd0?jE6USL#%}79t|*_Fk$$#vtN$;@d9)q? diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po index 4854769..e2a0659 100644 --- a/locales/fr/LC_MESSAGES/photoprint.po +++ b/locales/fr/LC_MESSAGES/photoprint.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Plinn 2.0\n" -"POT-Creation-Date: Mon Sep 1 20:58:12 2014\n" -"PO-Revision-Date: 2014-09-01 21:22+0200\n" +"POT-Creation-Date: Mon Sep 1 23:37:28 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" "Language: \n" @@ -76,10 +76,6 @@ msgstr "Veuillez entrer un pays." msgid "Please enter a phone." msgstr "Veuillez entrer un numéro de téléphone." -#: t/skins/customer_add_control.py:28 -msgid "Please accept general conditions of sales." -msgstr "Veuillez accepter les conditions générales des ventes." - #: t/skins/customer_join_template.pt:11 msgid "New customer account" msgstr "Nouveau compte client" @@ -112,51 +108,39 @@ msgstr "Mot de passe" msgid "Password (confirm)" msgstr "Mot de passe (confirmation)" -#: t/skins/customer_join_template.pt:60 -msgid "Mail Password?" -msgstr "Envoyer le mot de passe ?" - -#: t/skins/customer_join_template.pt:64 -msgid "Check this box to have the password mailed." -msgstr "Cochez cette case afin que votre mot de passe vous soit envoyé par mail." - -#: t/skins/customer_join_template.pt:102 t/skins/personalize_form.pt:46 +#: t/skins/customer_join_template.pt:93 t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "Informations de facturation" -#: t/skins/customer_join_template.pt:106 t/skins/order_view_template.pt:35 +#: t/skins/customer_join_template.pt:97 t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 msgid "Address" msgstr "Adresse" -#: t/skins/customer_join_template.pt:113 t/skins/order_view_template.pt:39 +#: t/skins/customer_join_template.pt:104 t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 msgid "City" msgstr "Ville" -#: t/skins/customer_join_template.pt:119 t/skins/order_view_template.pt:43 +#: t/skins/customer_join_template.pt:110 t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "Code postal" -#: t/skins/customer_join_template.pt:125 t/skins/order_view_template.pt:47 +#: t/skins/customer_join_template.pt:116 t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 msgid "Country" msgstr "Pays" -#: t/skins/customer_join_template.pt:135 t/skins/personalize_form.pt:79 +#: t/skins/customer_join_template.pt:126 t/skins/personalize_form.pt:79 msgid "Phone" msgstr "Téléphone" -#: t/skins/customer_join_template.pt:144 -msgid "I accept general conditions of sales" -msgstr "J'accepte les conditions générales des ventes" - -#: t/skins/customer_join_template.pt:152 +#: t/skins/customer_join_template.pt:136 msgid "Register" msgstr "S'enregistrer" -#: t/skins/customer_join_template.pt:153 +#: t/skins/customer_join_template.pt:137 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "Annuler" @@ -508,6 +492,10 @@ msgstr "Adresse e-mail" msgid "Change" msgstr "Modifier" +#: t/skins/photoprint_order_cancel.py:5 +msgid "Your payment has been canceled. You can retry later." +msgstr "Votre paiement a été annulé. Vous pouvez réessayer plus tard." + #: t/skins/photoprint_order_confirm.py:7 msgid "Your payment has been accepted by PayPal." msgstr "Votre paiement a été accepté par PayPal." @@ -618,6 +606,18 @@ msgstr "Vous devez saisir une valeur numérique pour le prix." msgid "You must enter a numeric value for the VAT rate." msgstr "Vous devez saisir une valeur numérique pour la TVA (pourcentage)." +#: t/utils.py:53 +msgid "Wrong private collection identifier." +msgstr "Identifiant de collection privée incorrect." + +#: t/utils.py:56 +msgid "Collection's password does not match confirmation." +msgstr "Le mot de passe de collection et sa confirmation sont différents." + +#: t/utils.py:60 +msgid "Wrong collection's password." +msgstr "Mot de passe de collection incorrect." + msgid "Your payment is complete." msgstr "Votre paiement a été accepté." @@ -705,6 +705,19 @@ msgstr "[%s] expédition de la commande %s" msgid "paypal_pay" msgstr "Paiement PayPal" +#~ msgid "Please accept general conditions of sales." +#~ msgstr "Veuillez accepter les conditions générales des ventes." + +#~ msgid "Mail Password?" +#~ msgstr "Envoyer le mot de passe ?" + +#~ msgid "Check this box to have the password mailed." +#~ msgstr "" +#~ "Cochez cette case afin que votre mot de passe vous soit envoyé par mail." + +#~ msgid "I accept general conditions of sales" +#~ msgstr "J'accepte les conditions générales des ventes" + #~ msgid "Use one of these button to pay:" #~ msgstr "Utilisez un de ces bouton pour payer :" diff --git a/locales/photoprint.pot b/locales/photoprint.pot index ce8cb2e..9965dd2 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 20:58:12 2014\n" +"POT-Creation-Date: Mon Sep 1 23:37:28 2014\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" @@ -79,10 +79,6 @@ msgstr "" msgid "Please enter a phone." msgstr "" -#: t/skins/customer_add_control.py:28 -msgid "Please accept general conditions of sales." -msgstr "" - #: t/skins/customer_join_template.pt:11 msgid "New customer account" msgstr "" @@ -116,61 +112,49 @@ msgstr "" msgid "Password (confirm)" msgstr "" -#: t/skins/customer_join_template.pt:60 -msgid "Mail Password?" -msgstr "" - -#: t/skins/customer_join_template.pt:64 -msgid "Check this box to have the password mailed." -msgstr "" - -#: t/skins/customer_join_template.pt:102 +#: t/skins/customer_join_template.pt:93 #: t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "" -#: t/skins/customer_join_template.pt:106 +#: t/skins/customer_join_template.pt:97 #: t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 #: t/skins/personalize_form.pt:50 msgid "Address" msgstr "" -#: t/skins/customer_join_template.pt:113 +#: t/skins/customer_join_template.pt:104 #: t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 #: t/skins/personalize_form.pt:57 msgid "City" msgstr "" -#: t/skins/customer_join_template.pt:119 +#: t/skins/customer_join_template.pt:110 #: t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 #: t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "" -#: t/skins/customer_join_template.pt:125 +#: t/skins/customer_join_template.pt:116 #: t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 #: t/skins/personalize_form.pt:69 msgid "Country" msgstr "" -#: t/skins/customer_join_template.pt:135 +#: t/skins/customer_join_template.pt:126 #: t/skins/personalize_form.pt:79 msgid "Phone" msgstr "" -#: t/skins/customer_join_template.pt:144 -msgid "I accept general conditions of sales" -msgstr "" - -#: t/skins/customer_join_template.pt:152 +#: t/skins/customer_join_template.pt:136 msgid "Register" msgstr "" -#: t/skins/customer_join_template.pt:153 +#: t/skins/customer_join_template.pt:137 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "" @@ -500,6 +484,10 @@ msgstr "" msgid "Change" msgstr "" +#: t/skins/photoprint_order_cancel.py:5 +msgid "Your payment has been canceled. You can retry later." +msgstr "" + #: t/skins/photoprint_order_confirm.py:7 msgid "Your payment has been accepted by PayPal." msgstr "" @@ -601,6 +589,18 @@ msgstr "" msgid "You must enter a numeric value for the VAT rate." msgstr "" +#: t/utils.py:53 +msgid "Wrong private collection identifier." +msgstr "" + +#: t/utils.py:56 +msgid "Collection's password does not match confirmation." +msgstr "" + +#: t/utils.py:60 +msgid "Wrong collection's password." +msgstr "" + # from photoprint-manual.pot msgid "Your payment is complete." diff --git a/skins/customer_add_control.py b/skins/customer_add_control.py index 8280dbc..00b4de3 100755 --- a/skins/customer_add_control.py +++ b/skins/customer_add_control.py @@ -25,7 +25,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 : @@ -45,8 +44,7 @@ try: ,'billing_city' : kg('billing_city') ,'billing_zipcode' : kg('billing_zipcode') ,'country' : kg('country') - ,'phone' : kg('phone') - ,'accept_gcs' : kg('accep_gcs')} ) + ,'phone' : kg('phone')} ) except ValueError, errmsg: return context.setStatus(False, _(errmsg)) diff --git a/skins/customer_join_form.py b/skins/customer_join_form.py index f5f0f7c..3f5beac 100755 --- a/skins/customer_join_form.py +++ b/skins/customer_join_form.py @@ -39,7 +39,6 @@ continuationFields = [ , 'member_id' , 'password' , 'confirm' - , 'send_password' , 'collection_id' , 'collection_password' , 'collection_password_confirm' @@ -47,8 +46,7 @@ continuationFields = [ , 'billing_city' , 'billing_zipcode' , 'country' - , 'phone' - , 'accept_gcs'] + , 'phone'] for name in continuationFields : diff --git a/skins/customer_join_template.pt b/skins/customer_join_template.pt index 503c825..ba4878a 100644 --- a/skins/customer_join_template.pt +++ b/skins/customer_join_template.pt @@ -56,15 +56,6 @@ - - Mail Password? - - - - -
@@ -137,13 +128,6 @@ - -
- - - I accept general conditions of sales - -   diff --git a/skins/photoprint_order_cancel.py b/skins/photoprint_order_cancel.py new file mode 100644 index 0000000..d5b5f81 --- /dev/null +++ b/skins/photoprint_order_cancel.py @@ -0,0 +1,6 @@ +##parameters=token=None +from Products.photoprint.utils import Message as _ +if token : + context.ppCancel(token) +context.setStatus(False, _('Your payment has been canceled. You can retry later.')) +return context.order_view() \ No newline at end of file -- 2.20.1 From 8044c73af157c724cd601bfb5ce90c41ca9cbca0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Wed, 3 Sep 2014 23:23:50 +0200 Subject: [PATCH 10/16] 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 zcmYk;c~F&A7{~D=i-K&ixFO0#5OG1}5)$N&Te;+t3uThR6>-B9MU%XySWuP_N*Jy+ zQBaQI0QA$c`kos|Ts*M*g)aYUzl_Ce#GJus^tr{Fys^bjMIWq>GQi zn2nlfA?ijIw!ICNp+?mBO{j4{LuIHPwR9cb$v;^!H|fxmK18ii2v?~cgZjQVY6;R& z7rL<#N1=Xq2{nNZ%*N}s?P7MyL@H`Rxu{G{L1l1(mx>1Tpi;XAb!^Ho11nI+@+kJl zuTh)zw(alEW2rwAhhsjb<7+q$Pa<_=3puA|QLUDTckVpjTHyfqbdz1z04QJKv{-Eamf_482~F2+cm|57Tta0_a{ z?WjGl3)?ywv)A@7cRBqVFpclGqBc{L^*Cza6R2bNscm1g{(*X+d#L*aC$X=%zlo-z z3)4~OISZA-BAkdDQBQCNwaLCh4bX}?cnP((v8;nKH4pVbg{UW9hMMR`)VN;zeI0ta z)-+HVf~QdfU&DO7gXK6q*%{y*Y6-qUO}O3qD{5_jM?GO+it~LmE~DKGHSuj2h*hWz z?@S^8nqfU1+FVEM56{~6m#6`+qAt9JTKhjyn=6E^uTv6_gK!!uQ{|{9-HMOnZXAnk z$O$*msbm?`Qpvw6i|Am(o88EUHpfwG*osQ&UHg3iox!yGA}>9Yg1MNDn$TL*o2?R+ zk-eylet@0;UdgCTCo@|Po|);T!cjIWP!p&`W#SNOfYZpI`Ofw~z(m?T20Krdjrx8a z2H^o@uI4?|1ka;>|1)Z-A7B?uWENe~JAjH(Ue3JGo+unyt`Map4JB7ObTMXCvze**7j+>}8{u?#Jhp4sd!jWLvOdgKJ z66Bud2=Xd0-=iCE<9JLN<}7J3PN2OXmDvs)hyUPe9Lwu6uoLTlj0#yX&Fm!o;0lhy zBt~6@1*jCZq6=@LG8CEVq%F6bHeD$1=O~Oq-bp4AV{x=~Hg=}H6m|V7)bBSTsW#QNU5}c;5%fk!>}#srs)xOYJ$^nvB{z+6Vr!kxDJ0JvLA8e-*8_zj&z3 zAhhdM-f}QcS;rt-z_+W%qBfm|SxPhzc|<;uMI0bh-XRtfI_fIV5R-^ldw)|;BZp9V zk$8pBZm%Z(U-UZFrkX?5+(u!V!~&bRefnUj%SU_mFaS4=4K4f db&qH+@7oX+P`bYESW-e=pP{kMfkU%8{|kR3LURBB delta 3468 zcmY+_dr($I7{~EPu8M#HN}`Cb3SLkMAw>~WQA;r|h<7qH6+sOxFO;`8yrg)yG$j-# z{%D#}D|@Z687os~Do3YGZF0=UsnHzEDRb=NsP+B5XZfQYp7Yr~?>T38pWSn~TyeDA z|3iG(E~C^F$wYLx*?GL*j00tOj9Da(K%FW=AC_PQu0U?FH5iID*ao+t?t2S$-8=XQ ze&EiZ#a3p1yXY>si5i7)uXBXW0 zpRhIUUs2BqX`uo6xtK~SCputr9Et;QESBL`WK4F~8OrGNfH>4Z5>XHCh`KJb02MvpguCE7jHmshYu`n6_%D(&3ybqQO2SOqU9kgBL_K&Z zY9cF98LDv}cIPjlkMq~iuSx{HC16)f!v3f=oPbJcCGuxg9JIz8F&ejGH>^XFW2cZY z+6C0}uAyfB4kmc zhYwKq)zXUw(15x4wrgKSW#T$&K=)9YYRV{;!8U#>dSDtVwOOd$`xy4ZeAH`MiQ1%_ zT>CvtqkR^$@D65RD$^W{9i8a}K8`zaIiAN997FHi zW0k0xZa@uW2X?{_kvGaNp=Npmm9hJ-9oya;NGH_&d8iBw@$_3U6{U72YS)&dQneVB zqSdGlwjs-H^{DHPIFF<5KjYfxP#L{~>hK1t!`rCLHeptJUNa2S``?C&9@rkW_TBO8 zCT2PAe3;KW-x9m=dt1~d8saQOJ-7(_?Jo2QZTU?Q<%6kH12t z@F5Pvcs_@k!DQ6tnt^)29PEdSP-}Y#m8suRnRtMjaR}?9fySern}qs31G&Vq(chEG zcq)2uHBP}TScN~M9#GoZOIaCerc0bFQJZWXYKHsV`2$!^JAfK^a;mqvJE1b%1vS8| zRPwLQHHZ_sa4M=j9reIv7>XNEYrh$_xf)P!#}Q1&>!?h{rFk=Li~VV5;vk%hys35o zd*cb`-)ZDuYmwQ-d(8?_Yd8m$(ru{U_hL96MLuHo3FhHB)PSP7Nnf-SR7P@886AnU zL(C?jGW{{{oIZ3nkvG=D{S03nq@ZS=hkC$x~2^SiMF?Zc>iZH_gzM1 z<{B2_FRtAu!%KNSYUzqm_g7#vF2fl5xAj!C#=B4>tVPZ6O=Owu3i3<~L-8IeqXQrHzJw)MNqZlLHlgz@?|(;2HqcpGIB(Eh@#=UHcAd0HJ*6V=)@F2il=uH+G?-4zrOA zSuvqqs-jJ$q8Uyhv?Ps1%Q1*xa|i#KC~GQDde~@GMu)k!_J_)3VrH;L{+ChFs8vP~ z+Ef#Xl(a!J0P{Ri7ucFGdkz1j}n{h>b)pv7S)+8_QlQ`2?$LvxsU!`!85F zbJSYa6T1kdTbpPOq0H*l^2LZAmsJuqZ4c5GUlR$k1G18sefc=PhL=CZr zcv<}~AX*XWgf^mfe`8roWi`PP2FrMk`aaC?n!%&q9+kete4<1R%5b7KSo8k1zeN32 zVmdL2m_Ya!bC^xAN$qJuJ6vT6Q9?XPq z@oG@C0k!A05IY+4zluf_p={_KUP!z`3?x)~5PD@65o3uYqK>E{R7yQ;JN72@da5K7 zTZ1+4Q10plm>H~d=QHl)6F81oM?@1Z5|KnIp%Ox51#AC5EOpH{u!u+`1`|UF3#^MN qZ61h9Iv$=dYC)y1c=ke{ua_@7Cod;AFS~ExO3I!Vf%h}JNBjpARWcg@ 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 \n" "Language-Team: Zope 3 Developers \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 From 4bb6988027b9396a5f0ed10509f15dc2a230c61c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Wed, 3 Sep 2014 23:39:33 +0200 Subject: [PATCH 11/16] Aide + localisation. --- locales/en/LC_MESSAGES/photoprint.po | 35 ++++++++++++++++------- locales/fr/LC_MESSAGES/photoprint.mo | Bin 13531 -> 14196 bytes locales/fr/LC_MESSAGES/photoprint.po | 40 +++++++++++++++++++-------- locales/photoprint.pot | 34 +++++++++++++++-------- skins/customer_join_template.pt | 17 ++++++++++-- 5 files changed, 91 insertions(+), 35 deletions(-) diff --git a/locales/en/LC_MESSAGES/photoprint.po b/locales/en/LC_MESSAGES/photoprint.po index 10842db..9dff8f9 100644 --- a/locales/en/LC_MESSAGES/photoprint.po +++ b/locales/en/LC_MESSAGES/photoprint.po @@ -84,47 +84,62 @@ msgstr "" msgid "Member ID" msgstr "" -#: t/skins/customer_join_template.pt:48 t/skins/customer_login_form.pt:45 +#: t/skins/customer_join_template.pt:45 +msgid "" +"Your login must starts with a letter, followed only by
letters, " +"numbers or _ (underscore).
No accent, nopunctuation or special chars." +"
Those restrictions are only for this login field." +msgstr "" + +#: t/skins/customer_join_template.pt:56 t/skins/customer_login_form.pt:45 msgid "Password" msgstr "" -#: t/skins/customer_join_template.pt:54 +#: t/skins/customer_join_template.pt:62 msgid "Password (confirm)" msgstr "" -#: t/skins/customer_join_template.pt:93 t/skins/personalize_form.pt:46 +#: t/skins/customer_join_template.pt:73 +msgid "Access to private Images" +msgstr "" + +#: t/skins/customer_join_template.pt:75 +msgid "Please enter the access code to view / purchase private images." +msgstr "" + +#: t/skins/customer_join_template.pt:104 t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "" -#: t/skins/customer_join_template.pt:97 t/skins/order_view_template.pt:35 +#: t/skins/customer_join_template.pt:108 t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 msgid "Address" msgstr "" -#: t/skins/customer_join_template.pt:104 t/skins/order_view_template.pt:39 +#: t/skins/customer_join_template.pt:115 t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 msgid "City" msgstr "" -#: t/skins/customer_join_template.pt:110 t/skins/order_view_template.pt:43 +#: t/skins/customer_join_template.pt:121 t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "" -#: t/skins/customer_join_template.pt:116 t/skins/order_view_template.pt:47 +#: t/skins/customer_join_template.pt:127 t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 msgid "Country" msgstr "" -#: t/skins/customer_join_template.pt:126 t/skins/personalize_form.pt:79 +#: t/skins/customer_join_template.pt:137 t/skins/personalize_form.pt:79 msgid "Phone" msgstr "" -#: t/skins/customer_join_template.pt:136 +#: t/skins/customer_join_template.pt:147 msgid "Register" msgstr "" -#: t/skins/customer_join_template.pt:137 +#: t/skins/customer_join_template.pt:148 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "" diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo index 351787e9922f0fc3473a340d812a242f7d6addd8..3bdcd3483c9a5c8b54eca738a6b1cef523f1411c 100644 GIT binary patch delta 4170 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 P-Cc8~SE|2kfZO#iZ`(f= diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po index bb0f5b3..840f7e4 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: Wed Sep 3 23:10:26 2014\n" +"POT-Creation-Date: Wed Sep 3 23:34:02 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" @@ -104,47 +104,65 @@ msgstr "E-mail" msgid "Member ID" msgstr "Login" -#: t/skins/customer_join_template.pt:48 t/skins/customer_login_form.pt:45 +#: t/skins/customer_join_template.pt:45 +msgid "" +"Your login must starts with a letter, followed only by
letters, " +"numbers or _ (underscore).
No accent, nopunctuation or special chars." +"
Those restrictions are only for this login field." +msgstr "" +"Votre login doit commencer par une lettre, suivi par des lettres,
\n" +"des chiffres ou _ (underscore). Pas d'accent, pas de ponctuation, pas de
\n" +"caractères spéciaux. Ces restrictions ne s'appliquent qu'à ce champ." + +#: t/skins/customer_join_template.pt:56 t/skins/customer_login_form.pt:45 msgid "Password" msgstr "Mot de passe" -#: t/skins/customer_join_template.pt:54 +#: t/skins/customer_join_template.pt:62 msgid "Password (confirm)" msgstr "Mot de passe (confirmation)" -#: t/skins/customer_join_template.pt:93 t/skins/personalize_form.pt:46 +#: t/skins/customer_join_template.pt:73 +msgid "Access to private Images" +msgstr "Accès à des images privées" + +#: t/skins/customer_join_template.pt:75 +msgid "Please enter the access code to view / purchase private images." +msgstr "Veuillez entrer le code d'accès pour voir / acheter des images privées." + +#: t/skins/customer_join_template.pt:104 t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "Informations de facturation" -#: t/skins/customer_join_template.pt:97 t/skins/order_view_template.pt:35 +#: t/skins/customer_join_template.pt:108 t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 msgid "Address" msgstr "Adresse" -#: t/skins/customer_join_template.pt:104 t/skins/order_view_template.pt:39 +#: t/skins/customer_join_template.pt:115 t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 msgid "City" msgstr "Ville" -#: t/skins/customer_join_template.pt:110 t/skins/order_view_template.pt:43 +#: t/skins/customer_join_template.pt:121 t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "Code postal" -#: t/skins/customer_join_template.pt:116 t/skins/order_view_template.pt:47 +#: t/skins/customer_join_template.pt:127 t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 msgid "Country" msgstr "Pays" -#: t/skins/customer_join_template.pt:126 t/skins/personalize_form.pt:79 +#: t/skins/customer_join_template.pt:137 t/skins/personalize_form.pt:79 msgid "Phone" msgstr "Téléphone" -#: t/skins/customer_join_template.pt:136 +#: t/skins/customer_join_template.pt:147 msgid "Register" msgstr "S'enregistrer" -#: t/skins/customer_join_template.pt:137 +#: t/skins/customer_join_template.pt:148 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "Annuler" diff --git a/locales/photoprint.pot b/locales/photoprint.pot index 3ade077..fef7ace 100644 --- a/locales/photoprint.pot +++ b/locales/photoprint.pot @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Meaningless\n" -"POT-Creation-Date: Wed Sep 3 23:10:26 2014\n" +"POT-Creation-Date: Wed Sep 3 23:34:02 2014\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" @@ -107,58 +107,70 @@ msgstr "" msgid "Member ID" msgstr "" -#: t/skins/customer_join_template.pt:48 +#: t/skins/customer_join_template.pt:45 +msgid "Your login must starts with a letter, followed only by
letters, numbers or _ (underscore).
No accent, nopunctuation or special chars.
Those restrictions are only for this login field." +msgstr "" + +#: t/skins/customer_join_template.pt:56 #: t/skins/customer_login_form.pt:45 msgid "Password" msgstr "" -#: t/skins/customer_join_template.pt:54 +#: t/skins/customer_join_template.pt:62 msgid "Password (confirm)" msgstr "" -#: t/skins/customer_join_template.pt:93 +#: t/skins/customer_join_template.pt:73 +msgid "Access to private Images" +msgstr "" + +#: t/skins/customer_join_template.pt:75 +msgid "Please enter the access code to view / purchase private images." +msgstr "" + +#: t/skins/customer_join_template.pt:104 #: t/skins/personalize_form.pt:46 msgid "Billing informations" msgstr "" -#: t/skins/customer_join_template.pt:97 +#: t/skins/customer_join_template.pt:108 #: t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 #: t/skins/personalize_form.pt:50 msgid "Address" msgstr "" -#: t/skins/customer_join_template.pt:104 +#: t/skins/customer_join_template.pt:115 #: t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 #: t/skins/personalize_form.pt:57 msgid "City" msgstr "" -#: t/skins/customer_join_template.pt:110 +#: t/skins/customer_join_template.pt:121 #: t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 #: t/skins/personalize_form.pt:63 msgid "Zip code" msgstr "" -#: t/skins/customer_join_template.pt:116 +#: t/skins/customer_join_template.pt:127 #: t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 #: t/skins/personalize_form.pt:69 msgid "Country" msgstr "" -#: t/skins/customer_join_template.pt:126 +#: t/skins/customer_join_template.pt:137 #: t/skins/personalize_form.pt:79 msgid "Phone" msgstr "" -#: t/skins/customer_join_template.pt:136 +#: t/skins/customer_join_template.pt:147 msgid "Register" msgstr "" -#: t/skins/customer_join_template.pt:137 +#: t/skins/customer_join_template.pt:148 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" msgstr "" diff --git a/skins/customer_join_template.pt b/skins/customer_join_template.pt index ba4878a..92680ff 100644 --- a/skins/customer_join_template.pt +++ b/skins/customer_join_template.pt @@ -41,6 +41,14 @@ +
+
+ Your login must starts with a letter, followed only by
+ letters, numbers or _ (underscore).
+ No accent, nopunctuation or special chars.
+ Those restrictions are only for this login field. +
+
@@ -62,9 +70,12 @@ -

Accès à des images privées

- veuillez entrer le code d'accès pour accéder / acheter les images
- d'un événement privé couvert par les photographes de notre agence. +

Access to private Images

+
+
+ Please enter the access code to view / purchase private images. +
+
-- 2.20.1 From e4159a95428accbd43f91f44d568d7afff72fc95 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Thu, 4 Sep 2014 23:18:05 +0200 Subject: [PATCH 12/16] =?utf8?q?Impl=C3=A9mentation=20de=20la=20remise.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- order.py | 8 +++++++- skins/order_view.py | 1 + skins/order_view_template.pt | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/order.py b/order.py index db19cc0..6966ff3 100755 --- a/order.py +++ b/order.py @@ -183,6 +183,7 @@ class PrintOrder(PortalContent, DefaultDublinCoreImpl) : self.id = id self.items = [] self.quantity = 0 + self.discount = 0 # discount ratio in percent self.price = Price(0, 0) # billing and shipping addresses self.billing = PersistentMapping() @@ -192,7 +193,8 @@ class PrintOrder(PortalContent, DefaultDublinCoreImpl) : @property def amountWithFees(self) : - return self.price + self.shippingFees + coeff = (100 - self.discount) / 100. + return self.price * coeff + self.shippingFees security.declareProtected(ModifyPortalContent, 'editBilling') @@ -223,6 +225,7 @@ class PrintOrder(PortalContent, DefaultDublinCoreImpl) : pptool = getToolByName(self, 'portal_photo_print') uidh = getToolByName(self, 'portal_uidhandler') mtool = getToolByName(self, 'portal_membership') + utool = getToolByName(self, 'portal_url') items = [] for item in cart : @@ -251,6 +254,9 @@ class PrintOrder(PortalContent, DefaultDublinCoreImpl) : counters.confirm(reference, quantity) self.items = tuple(items) + discount_script = getattr(utool.getPortalObject(), 'photoprint_discount', None) + if discount_script : + self.discount = discount_script(self.price, self.quantity) member = mtool.getAuthenticatedMember() mg = lambda name : member.getProperty(name, '') diff --git a/skins/order_view.py b/skins/order_view.py index 308844c..1930d31 100755 --- a/skins/order_view.py +++ b/skins/order_view.py @@ -55,6 +55,7 @@ for item in context.items : options['infos'] = infos options['quantity'] = quantity options['pricesSum'] = context.price +options['discount'] = getattr(context, 'discount', 0) options['shippingFees'] = shippingFees = context.shippingFees options['total'] = context.amountWithFees diff --git a/skins/order_view_template.pt b/skins/order_view_template.pt index 5f748b2..96e6c4a 100644 --- a/skins/order_view_template.pt +++ b/skins/order_view_template.pt @@ -129,6 +129,10 @@ + + Discount + % + Shipping -- 2.20.1 From 1c64d06aeb63ed19c799e296996d012067b3990e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Thu, 4 Sep 2014 23:27:50 +0200 Subject: [PATCH 13/16] maniaquerie --- skins/order_view_template.pt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skins/order_view_template.pt b/skins/order_view_template.pt index 96e6c4a..96c984a 100644 --- a/skins/order_view_template.pt +++ b/skins/order_view_template.pt @@ -131,7 +131,7 @@ Discount - % +  % Shipping -- 2.20.1 From f4c99bcdc9425cde32f0323811cf737e0d567070 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Fri, 5 Sep 2014 00:25:44 +0200 Subject: [PATCH 14/16] localisation++ --- locales/en/LC_MESSAGES/photoprint.po | 26 +++++++++++-------- locales/fr/LC_MESSAGES/photoprint.mo | Bin 14196 -> 14228 bytes locales/fr/LC_MESSAGES/photoprint.po | 36 ++++++++++++++++----------- locales/photoprint.pot | 30 ++++++++++++---------- 4 files changed, 53 insertions(+), 39 deletions(-) diff --git a/locales/en/LC_MESSAGES/photoprint.po b/locales/en/LC_MESSAGES/photoprint.po index 9dff8f9..ac41bf8 100644 --- a/locales/en/LC_MESSAGES/photoprint.po +++ b/locales/en/LC_MESSAGES/photoprint.po @@ -199,7 +199,7 @@ msgid "" msgstr "" #: t/skins/my_orders.py:17 t/skins/order_list.py:14 -#: t/skins/order_view_template.pt:181 +#: t/skins/order_view_template.pt:185 msgid "Date" msgstr "" @@ -229,7 +229,7 @@ msgstr "" #: t/skins/order_list_template.pt:37 t/skins/order_list_template.pt:50 #: t/skins/order_manual_payment_form.pt:19 #: t/skins/order_notify_done_form.pt:19 t/skins/order_notify_sent_form.pt:19 -#: t/skins/order_view_template.pt:86 t/skins/order_view_template.pt:191 +#: t/skins/order_view_template.pt:86 t/skins/order_view_template.pt:195 msgid "${DYNAMIC_CONTENT}" msgstr "" @@ -372,7 +372,7 @@ msgstr "" msgid "Billing" msgstr "" -#: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:133 +#: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:137 msgid "Shipping" msgstr "" @@ -402,23 +402,27 @@ msgstr "" msgid "image removed" msgstr "" -#: t/skins/order_view_template.pt:137 -msgid "VAT" +#: t/skins/order_view_template.pt:133 +msgid "Discount" msgstr "" #: t/skins/order_view_template.pt:141 +msgid "VAT" +msgstr "" + +#: t/skins/order_view_template.pt:145 msgid "Total amount to pay" msgstr "" -#: t/skins/order_view_template.pt:151 +#: t/skins/order_view_template.pt:155 msgid "Pay with PayPal:" msgstr "" -#: t/skins/order_view_template.pt:152 t/skins/order_view_template.pt:154 +#: t/skins/order_view_template.pt:156 t/skins/order_view_template.pt:158 msgid "Pay with PayPal" msgstr "" -#: t/skins/order_view_template.pt:164 +#: t/skins/order_view_template.pt:168 msgid "" "Please check the preceding table and proceed to payment. By clicking on the " "PayPal button, you will temporarily leave the site: you will be redirected " @@ -430,15 +434,15 @@ msgid "" "or by credit card." msgstr "" -#: t/skins/order_view_template.pt:176 +#: t/skins/order_view_template.pt:180 msgid "Order processing history" msgstr "" -#: t/skins/order_view_template.pt:182 +#: t/skins/order_view_template.pt:186 msgid "Actor" msgstr "" -#: t/skins/order_view_template.pt:183 +#: t/skins/order_view_template.pt:187 msgid "Action" msgstr "" diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/locales/fr/LC_MESSAGES/photoprint.mo index 3bdcd3483c9a5c8b54eca738a6b1cef523f1411c..01d5f9436723bc2c8b07edf997170631729ead78 100644 GIT binary patch delta 3619 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 diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/locales/fr/LC_MESSAGES/photoprint.po index 840f7e4..b442ec6 100644 --- a/locales/fr/LC_MESSAGES/photoprint.po +++ b/locales/fr/LC_MESSAGES/photoprint.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Plinn 2.0\n" -"POT-Creation-Date: Wed Sep 3 23:34:02 2014\n" -"PO-Revision-Date: 2014-09-01 23:39+0200\n" +"POT-Creation-Date: Fri Sep 5 00:21:28 2014\n" +"PO-Revision-Date: 2014-09-05 00:22+0200\n" "Last-Translator: Benoît PIN\n" "Language-Team: CRI http://cri.ensmp.fr\n" "Language: \n" @@ -111,7 +111,8 @@ msgid "" "
Those restrictions are only for this login field." msgstr "" "Votre login doit commencer par une lettre, suivi par des lettres,
\n" -"des chiffres ou _ (underscore). Pas d'accent, pas de ponctuation, pas de
\n" +"des chiffres ou _ (underscore). Pas d'accent, pas de ponctuation, pas de
\n" "caractères spéciaux. Ces restrictions ne s'appliquent qu'à ce champ." #: t/skins/customer_join_template.pt:56 t/skins/customer_login_form.pt:45 @@ -128,7 +129,8 @@ msgstr "Accès à des images privées" #: t/skins/customer_join_template.pt:75 msgid "Please enter the access code to view / purchase private images." -msgstr "Veuillez entrer le code d'accès pour voir / acheter des images privées." +msgstr "" +"Veuillez entrer le code d'accès pour voir / acheter des images privées." #: t/skins/customer_join_template.pt:104 t/skins/personalize_form.pt:46 msgid "Billing informations" @@ -229,7 +231,7 @@ msgstr "" "visite." #: t/skins/my_orders.py:17 t/skins/order_list.py:14 -#: t/skins/order_view_template.pt:181 +#: t/skins/order_view_template.pt:185 msgid "Date" msgstr "Date" @@ -259,7 +261,7 @@ msgstr "Mes commandes" #: t/skins/order_list_template.pt:37 t/skins/order_list_template.pt:50 #: t/skins/order_manual_payment_form.pt:19 #: t/skins/order_notify_done_form.pt:19 t/skins/order_notify_sent_form.pt:19 -#: t/skins/order_view_template.pt:86 t/skins/order_view_template.pt:191 +#: t/skins/order_view_template.pt:86 t/skins/order_view_template.pt:195 msgid "${DYNAMIC_CONTENT}" msgstr "" @@ -411,7 +413,7 @@ msgstr "Commande N° ${order_number}" msgid "Billing" msgstr "Facturation" -#: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:133 +#: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:137 msgid "Shipping" msgstr "Livraison" @@ -441,23 +443,27 @@ msgstr "Montant (TTC)" msgid "image removed" msgstr "image supprimée" -#: t/skins/order_view_template.pt:137 +#: t/skins/order_view_template.pt:133 +msgid "Discount" +msgstr "Remise" + +#: t/skins/order_view_template.pt:141 msgid "VAT" msgstr "TVA" -#: t/skins/order_view_template.pt:141 +#: t/skins/order_view_template.pt:145 msgid "Total amount to pay" msgstr "Montant total à payer" -#: t/skins/order_view_template.pt:151 +#: t/skins/order_view_template.pt:155 msgid "Pay with PayPal:" msgstr "Payer avec PayPal :" -#: t/skins/order_view_template.pt:152 t/skins/order_view_template.pt:154 +#: t/skins/order_view_template.pt:156 t/skins/order_view_template.pt:158 msgid "Pay with PayPal" msgstr "Payer avec PayPal" -#: t/skins/order_view_template.pt:164 +#: t/skins/order_view_template.pt:168 msgid "" "Please check the preceding table and proceed to payment. By clicking on the " "PayPal button, you will temporarily leave the site: you will be redirected " @@ -478,15 +484,15 @@ msgstr "" "vous pourrez, à votre convenance, payer par virement PayPal ou par carte " "bancaire." -#: t/skins/order_view_template.pt:176 +#: t/skins/order_view_template.pt:180 msgid "Order processing history" msgstr "Historique du traitement de la commande" -#: t/skins/order_view_template.pt:182 +#: t/skins/order_view_template.pt:186 msgid "Actor" msgstr "Acteur" -#: t/skins/order_view_template.pt:183 +#: t/skins/order_view_template.pt:187 msgid "Action" msgstr "Action" diff --git a/locales/photoprint.pot b/locales/photoprint.pot index fef7ace..2e7478b 100644 --- a/locales/photoprint.pot +++ b/locales/photoprint.pot @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Meaningless\n" -"POT-Creation-Date: Wed Sep 3 23:34:02 2014\n" +"POT-Creation-Date: Fri Sep 5 00:21:28 2014\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" @@ -227,7 +227,7 @@ msgstr "" #: t/skins/my_orders.py:17 #: t/skins/order_list.py:14 -#: t/skins/order_view_template.pt:181 +#: t/skins/order_view_template.pt:185 msgid "Date" msgstr "" @@ -266,7 +266,7 @@ msgstr "" #: t/skins/order_notify_done_form.pt:19 #: t/skins/order_notify_sent_form.pt:19 #: t/skins/order_view_template.pt:86 -#: t/skins/order_view_template.pt:191 +#: t/skins/order_view_template.pt:195 msgid "${DYNAMIC_CONTENT}" msgstr "" @@ -413,7 +413,7 @@ msgid "Billing" msgstr "" #: t/skins/order_view_template.pt:53 -#: t/skins/order_view_template.pt:133 +#: t/skins/order_view_template.pt:137 msgid "Shipping" msgstr "" @@ -443,36 +443,40 @@ msgstr "" msgid "image removed" msgstr "" -#: t/skins/order_view_template.pt:137 -msgid "VAT" +#: t/skins/order_view_template.pt:133 +msgid "Discount" msgstr "" #: t/skins/order_view_template.pt:141 +msgid "VAT" +msgstr "" + +#: t/skins/order_view_template.pt:145 msgid "Total amount to pay" msgstr "" -#: t/skins/order_view_template.pt:151 +#: t/skins/order_view_template.pt:155 msgid "Pay with PayPal:" msgstr "" -#: t/skins/order_view_template.pt:152 -#: t/skins/order_view_template.pt:154 +#: t/skins/order_view_template.pt:156 +#: t/skins/order_view_template.pt:158 msgid "Pay with PayPal" msgstr "" -#: t/skins/order_view_template.pt:164 +#: t/skins/order_view_template.pt:168 msgid "Please check the preceding table and proceed to payment. By clicking on the PayPal button, you will temporarily leave the site: you will be redirected to the payment provider PayPal. Please follow given instructions. The transaction will be final as soon as you are back on the ${site_name} site. For your information, there is no need to create a PayPal account, even if you will be prompted: you can simply use your credit card. If you already have a PayPal account, you can, at your convenience, pay by PayPal transfer or by credit card." msgstr "" -#: t/skins/order_view_template.pt:176 +#: t/skins/order_view_template.pt:180 msgid "Order processing history" msgstr "" -#: t/skins/order_view_template.pt:182 +#: t/skins/order_view_template.pt:186 msgid "Actor" msgstr "" -#: t/skins/order_view_template.pt:183 +#: t/skins/order_view_template.pt:187 msgid "Action" msgstr "" -- 2.20.1 From ccaba0f54cbd41250107d36a49154353425da8b3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Thu, 18 Sep 2014 15:10:21 +0200 Subject: [PATCH 15/16] + localisation anglais. --- locales/en/LC_MESSAGES/photoprint.mo | Bin 0 -> 13263 bytes locales/en/LC_MESSAGES/photoprint.po | 359 +++++++++++++++------------ 2 files changed, 206 insertions(+), 153 deletions(-) create mode 100644 locales/en/LC_MESSAGES/photoprint.mo diff --git a/locales/en/LC_MESSAGES/photoprint.mo b/locales/en/LC_MESSAGES/photoprint.mo new file mode 100644 index 0000000000000000000000000000000000000000..e93030cc0cb3b232c107fae70e522417caf24842 GIT binary patch literal 13263 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\n" +"Language-Team: Zope 3 Developers \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: zope/app/locales/extract.py\n" + #: t/price.py:82 msgid "${i}.${d}" -msgstr "" +msgstr "${i}.${d}" #: t/skins/confirm_join_template.pt:12 msgid "You have been registered as a member." -msgstr "" +msgstr "You have been registered as a member." #: t/skins/confirm_join_template.pt:14 msgid "" "You will receive an email shortly containing your password and instructions " "on how to activate your membership." msgstr "" +"You will receive an email shortly containing your password and instructions " +"on how to activate your membership." #: t/skins/confirm_join_template.pt:19 msgid "Click the button to log in immediately." -msgstr "" +msgstr "Click the button to log in immediately." #: t/skins/confirm_join_template.pt:26 msgid "Log in" -msgstr "" +msgstr "Log in" #: t/skins/customer_add_control.py:21 msgid "Please enter a given name." -msgstr "" +msgstr "Please enter a given name." #: t/skins/customer_add_control.py:22 msgid "Please enter a name." -msgstr "" +msgstr "Please enter a name." #: t/skins/customer_add_control.py:23 msgid "Please enter an email." -msgstr "" +msgstr "Please enter an email." #: t/skins/customer_add_control.py:24 msgid "Please enter a member id." -msgstr "" +msgstr "Please enter a member id." #: t/skins/customer_add_control.py:25 msgid "Please enter a billing address." -msgstr "" +msgstr "Please enter a billing address." #: t/skins/customer_add_control.py:26 msgid "Please enter a city." -msgstr "" +msgstr "Please enter a city." #: t/skins/customer_add_control.py:27 msgid "Please enter zip code." -msgstr "" +msgstr "Please enter zip code." #: t/skins/customer_add_control.py:28 msgid "Please enter a country." -msgstr "" +msgstr "Please enter a country." #: t/skins/customer_add_control.py:29 msgid "Please enter a phone." -msgstr "" +msgstr "Please enter a phone." #: t/skins/customer_add_control.py:56 msgid "Wrong private collection credentials." -msgstr "" +msgstr "Wrong private collection credentials." #: t/skins/customer_join_template.pt:11 msgid "New customer account" -msgstr "" +msgstr "New customer account" #: t/skins/customer_join_template.pt:17 msgid "Customer informations" -msgstr "" +msgstr "Customer informations" #: t/skins/customer_join_template.pt:21 msgid "First name" -msgstr "" +msgstr "First name" #: t/skins/customer_join_template.pt:27 msgid "Last name" -msgstr "" +msgstr "Last name" #: t/skins/customer_join_template.pt:33 msgid "Email Address" -msgstr "" +msgstr "Email Address" #: t/skins/customer_join_template.pt:40 msgid "Member ID" -msgstr "" +msgstr "Member ID" #: t/skins/customer_join_template.pt:45 msgid "" @@ -90,106 +117,110 @@ msgid "" "numbers or _ (underscore).
No accent, nopunctuation or special chars." "
Those restrictions are only for this login field." msgstr "" +"Your login must starts with a letter, followed only by
letters, " +"numbers or _ (underscore).
No accent, nopunctuation or special chars." +"
Those restrictions are only for this login field." #: t/skins/customer_join_template.pt:56 t/skins/customer_login_form.pt:45 msgid "Password" -msgstr "" +msgstr "Password" #: t/skins/customer_join_template.pt:62 msgid "Password (confirm)" -msgstr "" +msgstr "Password (confirm)" #: t/skins/customer_join_template.pt:73 msgid "Access to private Images" -msgstr "" +msgstr "Access to private Images" #: t/skins/customer_join_template.pt:75 msgid "Please enter the access code to view / purchase private images." -msgstr "" +msgstr "Please enter the access code to view / purchase private images." #: t/skins/customer_join_template.pt:104 t/skins/personalize_form.pt:46 msgid "Billing informations" -msgstr "" +msgstr "Billing informations" #: t/skins/customer_join_template.pt:108 t/skins/order_view_template.pt:35 #: t/skins/order_view_template.pt:60 t/skins/personalize_form.pt:50 msgid "Address" -msgstr "" +msgstr "Address" #: t/skins/customer_join_template.pt:115 t/skins/order_view_template.pt:39 #: t/skins/order_view_template.pt:64 t/skins/personalize_form.pt:57 msgid "City" -msgstr "" +msgstr "City" #: t/skins/customer_join_template.pt:121 t/skins/order_view_template.pt:43 #: t/skins/order_view_template.pt:68 t/skins/personalize_form.pt:63 msgid "Zip code" -msgstr "" +msgstr "Zip code" #: t/skins/customer_join_template.pt:127 t/skins/order_view_template.pt:47 #: t/skins/order_view_template.pt:72 t/skins/personalize_form.pt:69 msgid "Country" -msgstr "" +msgstr "Country" #: t/skins/customer_join_template.pt:137 t/skins/personalize_form.pt:79 msgid "Phone" -msgstr "" +msgstr "Phone" #: t/skins/customer_join_template.pt:147 msgid "Register" -msgstr "" +msgstr "Register" #: t/skins/customer_join_template.pt:148 #: t/skins/photoprint_templates_edit_template.pt:142 msgid "Cancel" -msgstr "" +msgstr "Cancel" #: t/skins/customer_login_form.pt:16 msgid "You already have an account?" -msgstr "" +msgstr "You already have an account?" #: t/skins/customer_login_form.pt:17 msgid "Please login to continue" -msgstr "" +msgstr "Please login to continue" #: t/skins/customer_login_form.pt:20 msgid "New customer?" -msgstr "" +msgstr "New customer?" #: t/skins/customer_login_form.pt:21 msgid "Welcome!
Please create an account to order." -msgstr "" +msgstr "Welcome!
Please create an account to order." #. Default: "Login" #: t/skins/customer_login_form.pt:38 msgid "user_name" -msgstr "" +msgstr "Login" #: t/skins/customer_login_form.pt:55 msgid "Remember my name." -msgstr "" +msgstr "Remember my name." #. Default: "Login" #: t/skins/customer_login_form.pt:63 msgid " Login " -msgstr "" +msgstr " Login " #: t/skins/customer_login_form.pt:73 msgid "Open new account >>" -msgstr "" +msgstr "Open new account >>" #: t/skins/customer_login_form.pt:81 msgid "Forgot your password?" -msgstr "" +msgstr "Forgot your password?" #: t/skins/customer_login_form.pt:87 msgid "" "Having trouble logging in? Make sure to enable cookies in your web browser." msgstr "" +"Having trouble logging in? Make sure to enable cookies in your web browser." #: t/skins/customer_login_form.pt:90 msgid "Don't forget to logout or exit your browser when you're done." -msgstr "" +msgstr "Don't forget to logout or exit your browser when you're done." #: t/skins/customer_login_form.pt:94 msgid "" @@ -197,32 +228,35 @@ msgid "" "so that when you next log in, your user name will already be filled in for " "you." msgstr "" +"Setting the 'Remember my name' option will set a cookie with your username, " +"so that when you next log in, your user name will already be filled in for " +"you." #: t/skins/my_orders.py:17 t/skins/order_list.py:14 #: t/skins/order_view_template.pt:185 msgid "Date" -msgstr "" +msgstr "Date" #: t/skins/my_orders.py:21 t/skins/order_list.py:22 #: t/skins/photoprint_templates_edit_template.pt:42 msgid "Reference" -msgstr "" +msgstr "Reference" #: t/skins/my_orders.py:25 t/skins/order_list.py:26 msgid "Prints" -msgstr "" +msgstr "Prints" #: t/skins/my_orders.py:29 t/skins/order_list.py:30 msgid "Amount" -msgstr "" +msgstr "Amount" #: t/skins/my_orders.py:33 t/skins/order_list.py:34 msgid "State" -msgstr "" +msgstr "State" #: t/skins/my_orders.py:69 msgid "My orders" -msgstr "" +msgstr "My orders" #: t/skins/my_orders_template.pt:34 t/skins/order_cancel_form.pt:19 #: t/skins/order_list_template.pt:33 t/skins/order_list_template.pt:35 @@ -231,105 +265,107 @@ msgstr "" #: t/skins/order_notify_done_form.pt:19 t/skins/order_notify_sent_form.pt:19 #: t/skins/order_view_template.pt:86 t/skins/order_view_template.pt:195 msgid "${DYNAMIC_CONTENT}" -msgstr "" +msgstr "${DYNAMIC_CONTENT}" #: t/skins/order_cancel_form.pt:11 msgid "Cancel order \"${order_reference}\"" -msgstr "" +msgstr "Cancel order \"${order_reference}\"" #: t/skins/order_cancel_form.pt:12 msgid "Cancel the order and relist reserved copies." -msgstr "" +msgstr "Cancel the order and relist reserved copies." #: t/skins/order_cancel_form.pt:18 t/skins/order_manual_payment_form.pt:18 #: t/skins/order_notify_done_form.pt:18 t/skins/order_notify_sent_form.pt:18 msgid "Current state:" -msgstr "" +msgstr "Current state:" #. Default: "Subject" #: t/skins/order_cancel_form.pt:23 t/skins/order_notify_sent_form.pt:24 msgid "mail_subject" -msgstr "" +msgstr "Subject" #: t/skins/order_cancel_form.pt:31 t/skins/order_notify_done_form.pt:21 #: t/skins/order_notify_sent_form.pt:32 msgid "Comments" -msgstr "" +msgstr "Comments" #: t/skins/order_cancel_form.pt:39 msgid "" "Due to a lack of payment since ${creation_date}, your order has been " "canceled. The ${store_name} team." msgstr "" +"Due to a lack of payment since ${creation_date}, your order has been " +"canceled. The ${store_name} team." #: t/skins/order_cancel_form.pt:46 t/skins/order_notify_sent_form.pt:59 msgid "Send email" -msgstr "" +msgstr "Send email" #: t/skins/order_cancel_form.pt:60 msgid "Cancel the order" -msgstr "" +msgstr "Cancel the order" #: t/skins/order_list.py:18 msgid "Customer" -msgstr "" +msgstr "Customer" #: t/skins/order_list.py:46 msgid "descending sort" -msgstr "" +msgstr "descending sort" #: t/skins/order_list.py:49 msgid "ascending sort" -msgstr "" +msgstr "ascending sort" #: t/skins/order_list_template.pt:17 t/skins/order_view_template.pt:31 #: t/skins/order_view_template.pt:56 t/skins/personalize_form.pt:33 msgid "Name" -msgstr "" +msgstr "Name" #: t/skins/order_manual_payment_form.pt:11 msgid "Pay order \"${order_reference}\" manually." -msgstr "" +msgstr "Pay order \"${order_reference}\" manually." #: t/skins/order_manual_payment_form.pt:12 msgid "Pay manually" -msgstr "" +msgstr "Pay manually" #: t/skins/order_manual_payment_form.pt:21 msgid "Payment description" -msgstr "" +msgstr "Payment description" #: t/skins/order_manual_payment_form.pt:24 msgid "Please indicate payment mean and references" -msgstr "" +msgstr "Please indicate payment mean and references" #: t/skins/order_manual_payment_form.pt:29 msgid "Pay" -msgstr "" +msgstr "Pay" #: t/skins/order_notify_done_form.pt:11 msgid "Notify order \"${order_reference}\" done." -msgstr "" +msgstr "Notify order \"${order_reference}\" done." #: t/skins/order_notify_done_form.pt:12 msgid "Notify that order has been made." -msgstr "" +msgstr "Notify that order has been made." #: t/skins/order_notify_done_form.pt:26 t/skins/order_notify_sent_form.pt:73 msgid "Notify" -msgstr "" +msgstr "Notify" #: t/skins/order_notify_sent_form.pt:11 msgid "Notify order \"${order_reference}\" sent." -msgstr "" +msgstr "Notify order \"${order_reference}\" sent." #: t/skins/order_notify_sent_form.pt:12 msgid "Notify that order has been sent." -msgstr "" +msgstr "Notify that order has been sent." #: t/skins/order_notify_sent_form.pt:21 msgid "Tracking info" -msgstr "" +msgstr "Tracking info" #: t/skins/order_notify_sent_form.pt:39 msgid "" @@ -337,90 +373,93 @@ msgid "" "able to track your parcel with the informations below. The ${store_name} " "team thanks you for your confidence and wish you receipt you order." msgstr "" +"Your order has been sent. You will receive your prints soon. You will be " +"able to track your parcel with the informations below. The ${store_name} " +"team thanks you for your confidence and wish you receipt you order." #: t/skins/order_notify_sent_form.pt:47 msgid "Tracking number" -msgstr "" +msgstr "Tracking number" #: t/skins/order_notify_sent_form.pt:53 msgid "Tracking url" -msgstr "" +msgstr "Tracking url" #: t/skins/order_printing_list_template.pt:22 #: t/skins/order_view_template.pt:96 msgid "Image" -msgstr "" +msgstr "Image" #: t/skins/order_printing_list_template.pt:23 msgid "File" -msgstr "" +msgstr "File" #: t/skins/order_printing_list_template.pt:24 msgid "Format / type" -msgstr "" +msgstr "Format / type" #: t/skins/order_printing_list_template.pt:25 #: t/skins/order_view_template.pt:98 msgid "Quantity" -msgstr "" +msgstr "Quantity" #: t/skins/order_view_template.pt:23 msgid "Order Nb. ${order_number}" -msgstr "" +msgstr "Order Nb. ${order_number}" #: t/skins/order_view_template.pt:28 msgid "Billing" -msgstr "" +msgstr "Billing" #: t/skins/order_view_template.pt:53 t/skins/order_view_template.pt:137 msgid "Shipping" -msgstr "" +msgstr "Shipping" #: t/skins/order_view_template.pt:83 msgid "Processing" -msgstr "" +msgstr "Processing" #: t/skins/order_view_template.pt:97 msgid "Printing format and type" -msgstr "" +msgstr "Printing format and type" #: t/skins/order_view_template.pt:99 msgid "Unit price" -msgstr "" +msgstr "Unit price" #: t/skins/order_view_template.pt:100 #: t/skins/photoprint_templates_edit_template.pt:45 #: t/skins/photoprint_templates_edit_template.pt:131 msgid "VAT (%)" -msgstr "" +msgstr "VAT (%)" #: t/skins/order_view_template.pt:101 msgid "Amount
(tax incl.)" -msgstr "" +msgstr "Amount
(tax incl.)" #: t/skins/order_view_template.pt:110 msgid "image removed" -msgstr "" +msgstr "image removed" #: t/skins/order_view_template.pt:133 msgid "Discount" -msgstr "" +msgstr "Discount" #: t/skins/order_view_template.pt:141 msgid "VAT" -msgstr "" +msgstr "VAT" #: t/skins/order_view_template.pt:145 msgid "Total amount to pay" -msgstr "" +msgstr "Total amount to pay" #: t/skins/order_view_template.pt:155 msgid "Pay with PayPal:" -msgstr "" +msgstr "Pay with PayPal:" #: t/skins/order_view_template.pt:156 t/skins/order_view_template.pt:158 msgid "Pay with PayPal" -msgstr "" +msgstr "Pay with PayPal" #: t/skins/order_view_template.pt:168 msgid "" @@ -433,246 +472,260 @@ msgid "" "have a PayPal account, you can, at your convenience, pay by PayPal transfer " "or by credit card." msgstr "" +"Please check the preceding table and proceed to payment. By clicking on the " +"PayPal button, you will temporarily leave the site: you will be redirected " +"to the payment provider PayPal. Please follow given instructions. The " +"transaction will be final as soon as you are back on the ${site_name} site. " +"For your information, there is no need to create a PayPal account, even if " +"you will be prompted: you can simply use your credit card. If you already " +"have a PayPal account, you can, at your convenience, pay by PayPal transfer " +"or by credit card." #: t/skins/order_view_template.pt:180 msgid "Order processing history" -msgstr "" +msgstr "Order processing history" #: t/skins/order_view_template.pt:186 msgid "Actor" -msgstr "" +msgstr "Actor" #: t/skins/order_view_template.pt:187 msgid "Action" -msgstr "" +msgstr "Action" #: t/skins/personalize_form.pt:21 msgid "Member Preferences" -msgstr "" +msgstr "Member Preferences" #: t/skins/personalize_form.pt:23 msgid "${link} to change your password." -msgstr "" +msgstr "${link} to change your password." #: t/skins/personalize_form.pt:23 msgid "Click here" -msgstr "" +msgstr "Click here" #: t/skins/personalize_form.pt:27 msgid "Given Name" -msgstr "" +msgstr "Given Name" #: t/skins/personalize_form.pt:39 msgid "Email address" -msgstr "" +msgstr "Email address" #: t/skins/personalize_form.pt:88 msgid "Change" -msgstr "" +msgstr "Change" #: t/skins/photoprint_order_cancel.py:5 msgid "Your payment has been canceled. You can retry later." -msgstr "" +msgstr "Your payment has been canceled. You can retry later." #: t/skins/photoprint_order_confirm.py:7 msgid "Your payment has been accepted by PayPal." -msgstr "" +msgstr "Your payment has been accepted by PayPal." #: t/skins/photoprint_order_confirm.py:11 msgid "" "Your payment has been canceled.
You can retry with an other account / " "credit card by cliking on the PayPal button.
" msgstr "" +"Your payment has been canceled.
You can retry with an other account / " +"credit card by cliking on the PayPal button.
" #: t/skins/photoprint_templates_edit_form.py:55 msgid "Printing options added." -msgstr "" +msgstr "Printing options added." #: t/skins/photoprint_templates_edit_form.py:59 msgid "Printing options deleted." -msgstr "" +msgstr "Printing options deleted." #: t/skins/photoprint_templates_edit_template.pt:19 msgid "No printing options are defined at this level." -msgstr "" +msgstr "No printing options are defined at this level." #: t/skins/photoprint_templates_edit_template.pt:23 msgid "The printing options that apply here are defined above:" -msgstr "" +msgstr "The printing options that apply here are defined above:" #: t/skins/photoprint_templates_edit_template.pt:28 msgid "Define printing options" -msgstr "" +msgstr "Define printing options" #: t/skins/photoprint_templates_edit_template.pt:41 #: t/skins/photoprint_templates_edit_template.pt:100 msgid "Title" -msgstr "" +msgstr "Title" #: t/skins/photoprint_templates_edit_template.pt:43 #: t/skins/photoprint_templates_edit_template.pt:118 msgid "Max. number of copies" -msgstr "" +msgstr "Max. number of copies" #: t/skins/photoprint_templates_edit_template.pt:44 #: t/skins/photoprint_templates_edit_template.pt:127 msgid "Price" -msgstr "" +msgstr "Price" #: t/skins/photoprint_templates_edit_template.pt:80 #: t/skins/photoprint_templates_edit_template.pt:81 msgid "Add print order template" -msgstr "" +msgstr "Add print order template" #: t/skins/photoprint_templates_edit_template.pt:91 msgid "Delete options defined at this level" -msgstr "" +msgstr "Delete options defined at this level" #: t/skins/photoprint_templates_edit_template.pt:106 msgid "Description" -msgstr "" +msgstr "Description" #: t/skins/photoprint_templates_edit_template.pt:112 msgid "Product reference" -msgstr "" +msgstr "Product reference" #. Default: "The 0 value means unlimited" #: t/skins/photoprint_templates_edit_template.pt:122 msgid "max_copies_field_help" -msgstr "" +msgstr "The 0 value means unlimited" #: t/skins/photoprint_templates_edit_template.pt:140 msgid "Add" -msgstr "" +msgstr "Add" #: t/skins/photoprint_templates_edit_template.pt:150 msgid "Save" -msgstr "" +msgstr "Save" #: t/tool.py:119 msgid "No printing options found at %r" -msgstr "" +msgstr "No printing options found at %r" #: t/tool.py:203 msgid "You must enter a title." -msgstr "" +msgstr "You must enter a title." #: t/tool.py:207 msgid "" "You must enter an integer number\n" "for the maximum number of copies." msgstr "" +"You must enter an integer number\n" +"for the maximum number of copies." #: t/tool.py:209 msgid "" "You must enter a positive value\n" "for the maximum number of copies." msgstr "" +"You must enter a positive value\n" +"for the maximum number of copies." #: t/tool.py:213 msgid "You must enter a numeric value for the price." -msgstr "" +msgstr "You must enter a numeric value for the price." #: t/tool.py:218 msgid "You must enter a numeric value for the VAT rate." -msgstr "" +msgstr "You must enter a numeric value for the VAT rate." #: t/utils.py:53 msgid "Wrong private collection identifier." -msgstr "" +msgstr "Wrong private collection identifier." #: t/utils.py:56 msgid "Collection's password does not match confirmation." -msgstr "" +msgstr "Collection's password does not match confirmation." #: t/utils.py:60 msgid "Wrong collection's password." -msgstr "" +msgstr "Wrong collection's password." # from photoprint-manual.pot msgid "Your payment is complete." -msgstr "" +msgstr "Your payment is complete." msgid "Your payment has been canceled. You will be able to pay later." -msgstr "" +msgstr "Your payment has been canceled. You will be able to pay later." msgid "Your payment has been refused." -msgstr "" +msgstr "Your payment has been refused." msgid "recorded-en.gif" -msgstr "" +msgstr "recorded-en.gif" msgid "done-en.gif" -msgstr "" +msgstr "done-en.gif" msgid "paid-en.gif" -msgstr "" +msgstr "paid-en.gif" msgid "refused-en.gif" -msgstr "" +msgstr "refused-en.gif" msgid "sent-en.gif" -msgstr "" +msgstr "sent-en.gif" msgid "canceled-en.gif" -msgstr "" +msgstr "canceled-en.gif" msgid "auto_accept_payment" -msgstr "" +msgstr "auto_accept_payment" msgid "auto_cancel_order" -msgstr "" +msgstr "auto_cancel_order" msgid "auto_refuse_payment" -msgstr "" +msgstr "auto_refuse_payment" msgid "auto_transaction_failed" -msgstr "" +msgstr "auto_transaction_failed" msgid "manual_payment" -msgstr "" +msgstr "manual_payment" msgid "notify_done" -msgstr "" +msgstr "notify_done" msgid "notify_sent" -msgstr "" +msgstr "notify_sent" msgid "canceled" -msgstr "" +msgstr "canceled" msgid "done" -msgstr "" +msgstr "done" msgid "paid" -msgstr "" +msgstr "paid" msgid "recorded" -msgstr "" +msgstr "recorded" msgid "refused" -msgstr "" +msgstr "refused" msgid "sent" -msgstr "" +msgstr "sent" msgid "Manual payment" -msgstr "" +msgstr "Manual payment" msgid "Notify done" -msgstr "" +msgstr "Notify done" msgid "Notify sent" -msgstr "" +msgstr "Notify sent" msgid "Printing list" -msgstr "" +msgstr "Printing list" msgid "[%s] order %s canceling notification" -msgstr "" +msgstr "[%s] order %s canceling notification" msgid "[%s] order %s sending notification" -msgstr "" +msgstr "[%s] order %s sending notification" msgid "paypal_pay" -msgstr "" +msgstr "paypal_pay" -- 2.20.1 From b521f0db73266a7bd6b69e6a9891046a03c482ee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Fri, 19 Dec 2014 17:51:14 +0100 Subject: [PATCH 16/16] eggification --- Products/__init__.py | 5 +++++ __init__.py => Products/photoprint/__init__.py | 0 .../photoprint/_utils}/import_printing_list.py | 0 cart.py => Products/photoprint/cart.py | 0 .../photoprint/compile-i18n.sh | 0 .../photoprint/configure.zcml | 0 .../photoprint/exceptions.py | 0 .../photoprint/graphics}/tampon.psd | Bin .../photoprint/interfaces.py | 0 .../locales}/en/LC_MESSAGES/photoprint.mo | Bin .../locales}/en/LC_MESSAGES/photoprint.po | 0 .../locales}/fr/LC_MESSAGES/photoprint.mo | Bin .../locales}/fr/LC_MESSAGES/photoprint.po | 0 .../photoprint/locales}/photoprint-manual.pot | 0 .../photoprint/locales}/photoprint.pot | 0 order.py => Products/photoprint/order.py | 0 .../photoprint/permissions.py | 0 .../photoprint/permissions.zcml | 0 price.py => Products/photoprint/price.py | 0 .../photoprint/skins}/confirm_join_template.pt | 0 .../photoprint/skins}/customer_add_control.py | 0 .../photoprint/skins}/customer_join_form.py | 0 .../skins}/customer_join_template.pt | 0 .../photoprint/skins}/customer_login_form.pt | 0 .../skins}/get_photo_print_order_template.pt | 0 .../photoprint/skins}/my_orders.py | 0 .../photoprint/skins}/my_orders_template.pt | 0 .../photoprint/skins}/order_cancel_form.pt | 0 .../photoprint/skins}/order_list.py | 0 .../photoprint/skins}/order_list_template.pt | 0 .../skins}/order_manual_payment_form.pt | 0 .../skins}/order_notify_done_form.pt | 0 .../skins}/order_notify_sent_form.pt | 0 .../skins}/order_payment_template.pt | 0 .../photoprint/skins}/order_pplog.pt | 0 .../photoprint/skins}/order_printing_list.py | 0 .../skins}/order_printing_list_template.pt | 0 .../skins}/order_printing_list_template_xml.pt | 0 .../skins}/order_states/canceled-en.gif | Bin .../skins}/order_states/canceled-fr.gif | Bin .../photoprint/skins}/order_states/done-en.gif | Bin .../photoprint/skins}/order_states/done-fr.gif | Bin .../photoprint/skins}/order_states/paid-en.gif | Bin .../photoprint/skins}/order_states/paid-fr.gif | Bin .../skins}/order_states/recorded-en.gif | Bin .../skins}/order_states/recorded-fr.gif | Bin .../skins}/order_states/refused-en.gif | Bin .../skins}/order_states/refused-fr.gif | Bin .../photoprint/skins}/order_states/sent-en.gif | Bin .../photoprint/skins}/order_states/sent-fr.gif | Bin .../photoprint/skins}/order_view.py | 0 .../photoprint/skins}/order_view_template.pt | 0 .../photoprint/skins}/paypal-button.png | Bin .../photoprint/skins}/personalize_form.pt | 0 .../skins}/photoprint_order_cancel.py | 0 .../skins}/photoprint_order_confirm.py | 0 .../skins}/photoprint_templates_edit_form.py | 0 .../photoprint_templates_edit_template.pt | 0 .../photoprint/skins}/validatePrivateAccess.py | 0 tool.gif => Products/photoprint/tool.gif | Bin tool.py => Products/photoprint/tool.py | 0 .../photoprint/update_i18n.sh | 0 utils.py => Products/photoprint/utils.py | 0 setup.py | 17 +++++++++++++++++ 64 files changed, 22 insertions(+) create mode 100644 Products/__init__.py rename __init__.py => Products/photoprint/__init__.py (100%) rename {_utils => Products/photoprint/_utils}/import_printing_list.py (100%) rename cart.py => Products/photoprint/cart.py (100%) rename compile-i18n.sh => Products/photoprint/compile-i18n.sh (100%) rename configure.zcml => Products/photoprint/configure.zcml (100%) rename exceptions.py => Products/photoprint/exceptions.py (100%) rename {graphics => Products/photoprint/graphics}/tampon.psd (100%) rename interfaces.py => Products/photoprint/interfaces.py (100%) rename {locales => Products/photoprint/locales}/en/LC_MESSAGES/photoprint.mo (100%) rename {locales => Products/photoprint/locales}/en/LC_MESSAGES/photoprint.po (100%) rename {locales => Products/photoprint/locales}/fr/LC_MESSAGES/photoprint.mo (100%) rename {locales => Products/photoprint/locales}/fr/LC_MESSAGES/photoprint.po (100%) rename {locales => Products/photoprint/locales}/photoprint-manual.pot (100%) rename {locales => Products/photoprint/locales}/photoprint.pot (100%) rename order.py => Products/photoprint/order.py (100%) rename permissions.py => Products/photoprint/permissions.py (100%) rename permissions.zcml => Products/photoprint/permissions.zcml (100%) rename price.py => Products/photoprint/price.py (100%) rename {skins => Products/photoprint/skins}/confirm_join_template.pt (100%) rename {skins => Products/photoprint/skins}/customer_add_control.py (100%) rename {skins => Products/photoprint/skins}/customer_join_form.py (100%) rename {skins => Products/photoprint/skins}/customer_join_template.pt (100%) rename {skins => Products/photoprint/skins}/customer_login_form.pt (100%) rename {skins => Products/photoprint/skins}/get_photo_print_order_template.pt (100%) rename {skins => Products/photoprint/skins}/my_orders.py (100%) rename {skins => Products/photoprint/skins}/my_orders_template.pt (100%) rename {skins => Products/photoprint/skins}/order_cancel_form.pt (100%) rename {skins => Products/photoprint/skins}/order_list.py (100%) rename {skins => Products/photoprint/skins}/order_list_template.pt (100%) rename {skins => Products/photoprint/skins}/order_manual_payment_form.pt (100%) rename {skins => Products/photoprint/skins}/order_notify_done_form.pt (100%) rename {skins => Products/photoprint/skins}/order_notify_sent_form.pt (100%) rename {skins => Products/photoprint/skins}/order_payment_template.pt (100%) rename {skins => Products/photoprint/skins}/order_pplog.pt (100%) rename {skins => Products/photoprint/skins}/order_printing_list.py (100%) rename {skins => Products/photoprint/skins}/order_printing_list_template.pt (100%) rename {skins => Products/photoprint/skins}/order_printing_list_template_xml.pt (100%) rename {skins => Products/photoprint/skins}/order_states/canceled-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/canceled-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_states/done-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/done-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_states/paid-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/paid-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_states/recorded-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/recorded-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_states/refused-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/refused-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_states/sent-en.gif (100%) rename {skins => Products/photoprint/skins}/order_states/sent-fr.gif (100%) rename {skins => Products/photoprint/skins}/order_view.py (100%) rename {skins => Products/photoprint/skins}/order_view_template.pt (100%) rename {skins => Products/photoprint/skins}/paypal-button.png (100%) rename {skins => Products/photoprint/skins}/personalize_form.pt (100%) rename {skins => Products/photoprint/skins}/photoprint_order_cancel.py (100%) rename {skins => Products/photoprint/skins}/photoprint_order_confirm.py (100%) rename {skins => Products/photoprint/skins}/photoprint_templates_edit_form.py (100%) rename {skins => Products/photoprint/skins}/photoprint_templates_edit_template.pt (100%) rename {skins => Products/photoprint/skins}/validatePrivateAccess.py (100%) rename tool.gif => Products/photoprint/tool.gif (100%) rename tool.py => Products/photoprint/tool.py (100%) rename update_i18n.sh => Products/photoprint/update_i18n.sh (100%) rename utils.py => Products/photoprint/utils.py (100%) create mode 100644 setup.py diff --git a/Products/__init__.py b/Products/__init__.py new file mode 100644 index 0000000..d407605 --- /dev/null +++ b/Products/__init__.py @@ -0,0 +1,5 @@ +try: + __import__('pkg_resources').declare_namespace(__name__) +except ImportError: + from pkgutil import extend_path + __path__ = extend_path(__path__, __name__) diff --git a/__init__.py b/Products/photoprint/__init__.py similarity index 100% rename from __init__.py rename to Products/photoprint/__init__.py diff --git a/_utils/import_printing_list.py b/Products/photoprint/_utils/import_printing_list.py similarity index 100% rename from _utils/import_printing_list.py rename to Products/photoprint/_utils/import_printing_list.py diff --git a/cart.py b/Products/photoprint/cart.py similarity index 100% rename from cart.py rename to Products/photoprint/cart.py diff --git a/compile-i18n.sh b/Products/photoprint/compile-i18n.sh similarity index 100% rename from compile-i18n.sh rename to Products/photoprint/compile-i18n.sh diff --git a/configure.zcml b/Products/photoprint/configure.zcml similarity index 100% rename from configure.zcml rename to Products/photoprint/configure.zcml diff --git a/exceptions.py b/Products/photoprint/exceptions.py similarity index 100% rename from exceptions.py rename to Products/photoprint/exceptions.py diff --git a/graphics/tampon.psd b/Products/photoprint/graphics/tampon.psd similarity index 100% rename from graphics/tampon.psd rename to Products/photoprint/graphics/tampon.psd diff --git a/interfaces.py b/Products/photoprint/interfaces.py similarity index 100% rename from interfaces.py rename to Products/photoprint/interfaces.py diff --git a/locales/en/LC_MESSAGES/photoprint.mo b/Products/photoprint/locales/en/LC_MESSAGES/photoprint.mo similarity index 100% rename from locales/en/LC_MESSAGES/photoprint.mo rename to Products/photoprint/locales/en/LC_MESSAGES/photoprint.mo diff --git a/locales/en/LC_MESSAGES/photoprint.po b/Products/photoprint/locales/en/LC_MESSAGES/photoprint.po similarity index 100% rename from locales/en/LC_MESSAGES/photoprint.po rename to Products/photoprint/locales/en/LC_MESSAGES/photoprint.po diff --git a/locales/fr/LC_MESSAGES/photoprint.mo b/Products/photoprint/locales/fr/LC_MESSAGES/photoprint.mo similarity index 100% rename from locales/fr/LC_MESSAGES/photoprint.mo rename to Products/photoprint/locales/fr/LC_MESSAGES/photoprint.mo diff --git a/locales/fr/LC_MESSAGES/photoprint.po b/Products/photoprint/locales/fr/LC_MESSAGES/photoprint.po similarity index 100% rename from locales/fr/LC_MESSAGES/photoprint.po rename to Products/photoprint/locales/fr/LC_MESSAGES/photoprint.po diff --git a/locales/photoprint-manual.pot b/Products/photoprint/locales/photoprint-manual.pot similarity index 100% rename from locales/photoprint-manual.pot rename to Products/photoprint/locales/photoprint-manual.pot diff --git a/locales/photoprint.pot b/Products/photoprint/locales/photoprint.pot similarity index 100% rename from locales/photoprint.pot rename to Products/photoprint/locales/photoprint.pot diff --git a/order.py b/Products/photoprint/order.py similarity index 100% rename from order.py rename to Products/photoprint/order.py diff --git a/permissions.py b/Products/photoprint/permissions.py similarity index 100% rename from permissions.py rename to Products/photoprint/permissions.py diff --git a/permissions.zcml b/Products/photoprint/permissions.zcml similarity index 100% rename from permissions.zcml rename to Products/photoprint/permissions.zcml diff --git a/price.py b/Products/photoprint/price.py similarity index 100% rename from price.py rename to Products/photoprint/price.py diff --git a/skins/confirm_join_template.pt b/Products/photoprint/skins/confirm_join_template.pt similarity index 100% rename from skins/confirm_join_template.pt rename to Products/photoprint/skins/confirm_join_template.pt diff --git a/skins/customer_add_control.py b/Products/photoprint/skins/customer_add_control.py similarity index 100% rename from skins/customer_add_control.py rename to Products/photoprint/skins/customer_add_control.py diff --git a/skins/customer_join_form.py b/Products/photoprint/skins/customer_join_form.py similarity index 100% rename from skins/customer_join_form.py rename to Products/photoprint/skins/customer_join_form.py diff --git a/skins/customer_join_template.pt b/Products/photoprint/skins/customer_join_template.pt similarity index 100% rename from skins/customer_join_template.pt rename to Products/photoprint/skins/customer_join_template.pt diff --git a/skins/customer_login_form.pt b/Products/photoprint/skins/customer_login_form.pt similarity index 100% rename from skins/customer_login_form.pt rename to Products/photoprint/skins/customer_login_form.pt diff --git a/skins/get_photo_print_order_template.pt b/Products/photoprint/skins/get_photo_print_order_template.pt similarity index 100% rename from skins/get_photo_print_order_template.pt rename to Products/photoprint/skins/get_photo_print_order_template.pt diff --git a/skins/my_orders.py b/Products/photoprint/skins/my_orders.py similarity index 100% rename from skins/my_orders.py rename to Products/photoprint/skins/my_orders.py diff --git a/skins/my_orders_template.pt b/Products/photoprint/skins/my_orders_template.pt similarity index 100% rename from skins/my_orders_template.pt rename to Products/photoprint/skins/my_orders_template.pt diff --git a/skins/order_cancel_form.pt b/Products/photoprint/skins/order_cancel_form.pt similarity index 100% rename from skins/order_cancel_form.pt rename to Products/photoprint/skins/order_cancel_form.pt diff --git a/skins/order_list.py b/Products/photoprint/skins/order_list.py similarity index 100% rename from skins/order_list.py rename to Products/photoprint/skins/order_list.py diff --git a/skins/order_list_template.pt b/Products/photoprint/skins/order_list_template.pt similarity index 100% rename from skins/order_list_template.pt rename to Products/photoprint/skins/order_list_template.pt diff --git a/skins/order_manual_payment_form.pt b/Products/photoprint/skins/order_manual_payment_form.pt similarity index 100% rename from skins/order_manual_payment_form.pt rename to Products/photoprint/skins/order_manual_payment_form.pt diff --git a/skins/order_notify_done_form.pt b/Products/photoprint/skins/order_notify_done_form.pt similarity index 100% rename from skins/order_notify_done_form.pt rename to Products/photoprint/skins/order_notify_done_form.pt diff --git a/skins/order_notify_sent_form.pt b/Products/photoprint/skins/order_notify_sent_form.pt similarity index 100% rename from skins/order_notify_sent_form.pt rename to Products/photoprint/skins/order_notify_sent_form.pt diff --git a/skins/order_payment_template.pt b/Products/photoprint/skins/order_payment_template.pt similarity index 100% rename from skins/order_payment_template.pt rename to Products/photoprint/skins/order_payment_template.pt diff --git a/skins/order_pplog.pt b/Products/photoprint/skins/order_pplog.pt similarity index 100% rename from skins/order_pplog.pt rename to Products/photoprint/skins/order_pplog.pt diff --git a/skins/order_printing_list.py b/Products/photoprint/skins/order_printing_list.py similarity index 100% rename from skins/order_printing_list.py rename to Products/photoprint/skins/order_printing_list.py diff --git a/skins/order_printing_list_template.pt b/Products/photoprint/skins/order_printing_list_template.pt similarity index 100% rename from skins/order_printing_list_template.pt rename to Products/photoprint/skins/order_printing_list_template.pt diff --git a/skins/order_printing_list_template_xml.pt b/Products/photoprint/skins/order_printing_list_template_xml.pt similarity index 100% rename from skins/order_printing_list_template_xml.pt rename to Products/photoprint/skins/order_printing_list_template_xml.pt diff --git a/skins/order_states/canceled-en.gif b/Products/photoprint/skins/order_states/canceled-en.gif similarity index 100% rename from skins/order_states/canceled-en.gif rename to Products/photoprint/skins/order_states/canceled-en.gif diff --git a/skins/order_states/canceled-fr.gif b/Products/photoprint/skins/order_states/canceled-fr.gif similarity index 100% rename from skins/order_states/canceled-fr.gif rename to Products/photoprint/skins/order_states/canceled-fr.gif diff --git a/skins/order_states/done-en.gif b/Products/photoprint/skins/order_states/done-en.gif similarity index 100% rename from skins/order_states/done-en.gif rename to Products/photoprint/skins/order_states/done-en.gif diff --git a/skins/order_states/done-fr.gif b/Products/photoprint/skins/order_states/done-fr.gif similarity index 100% rename from skins/order_states/done-fr.gif rename to Products/photoprint/skins/order_states/done-fr.gif diff --git a/skins/order_states/paid-en.gif b/Products/photoprint/skins/order_states/paid-en.gif similarity index 100% rename from skins/order_states/paid-en.gif rename to Products/photoprint/skins/order_states/paid-en.gif diff --git a/skins/order_states/paid-fr.gif b/Products/photoprint/skins/order_states/paid-fr.gif similarity index 100% rename from skins/order_states/paid-fr.gif rename to Products/photoprint/skins/order_states/paid-fr.gif diff --git a/skins/order_states/recorded-en.gif b/Products/photoprint/skins/order_states/recorded-en.gif similarity index 100% rename from skins/order_states/recorded-en.gif rename to Products/photoprint/skins/order_states/recorded-en.gif diff --git a/skins/order_states/recorded-fr.gif b/Products/photoprint/skins/order_states/recorded-fr.gif similarity index 100% rename from skins/order_states/recorded-fr.gif rename to Products/photoprint/skins/order_states/recorded-fr.gif diff --git a/skins/order_states/refused-en.gif b/Products/photoprint/skins/order_states/refused-en.gif similarity index 100% rename from skins/order_states/refused-en.gif rename to Products/photoprint/skins/order_states/refused-en.gif diff --git a/skins/order_states/refused-fr.gif b/Products/photoprint/skins/order_states/refused-fr.gif similarity index 100% rename from skins/order_states/refused-fr.gif rename to Products/photoprint/skins/order_states/refused-fr.gif diff --git a/skins/order_states/sent-en.gif b/Products/photoprint/skins/order_states/sent-en.gif similarity index 100% rename from skins/order_states/sent-en.gif rename to Products/photoprint/skins/order_states/sent-en.gif diff --git a/skins/order_states/sent-fr.gif b/Products/photoprint/skins/order_states/sent-fr.gif similarity index 100% rename from skins/order_states/sent-fr.gif rename to Products/photoprint/skins/order_states/sent-fr.gif diff --git a/skins/order_view.py b/Products/photoprint/skins/order_view.py similarity index 100% rename from skins/order_view.py rename to Products/photoprint/skins/order_view.py diff --git a/skins/order_view_template.pt b/Products/photoprint/skins/order_view_template.pt similarity index 100% rename from skins/order_view_template.pt rename to Products/photoprint/skins/order_view_template.pt diff --git a/skins/paypal-button.png b/Products/photoprint/skins/paypal-button.png similarity index 100% rename from skins/paypal-button.png rename to Products/photoprint/skins/paypal-button.png diff --git a/skins/personalize_form.pt b/Products/photoprint/skins/personalize_form.pt similarity index 100% rename from skins/personalize_form.pt rename to Products/photoprint/skins/personalize_form.pt diff --git a/skins/photoprint_order_cancel.py b/Products/photoprint/skins/photoprint_order_cancel.py similarity index 100% rename from skins/photoprint_order_cancel.py rename to Products/photoprint/skins/photoprint_order_cancel.py diff --git a/skins/photoprint_order_confirm.py b/Products/photoprint/skins/photoprint_order_confirm.py similarity index 100% rename from skins/photoprint_order_confirm.py rename to Products/photoprint/skins/photoprint_order_confirm.py diff --git a/skins/photoprint_templates_edit_form.py b/Products/photoprint/skins/photoprint_templates_edit_form.py similarity index 100% rename from skins/photoprint_templates_edit_form.py rename to Products/photoprint/skins/photoprint_templates_edit_form.py diff --git a/skins/photoprint_templates_edit_template.pt b/Products/photoprint/skins/photoprint_templates_edit_template.pt similarity index 100% rename from skins/photoprint_templates_edit_template.pt rename to Products/photoprint/skins/photoprint_templates_edit_template.pt diff --git a/skins/validatePrivateAccess.py b/Products/photoprint/skins/validatePrivateAccess.py similarity index 100% rename from skins/validatePrivateAccess.py rename to Products/photoprint/skins/validatePrivateAccess.py diff --git a/tool.gif b/Products/photoprint/tool.gif similarity index 100% rename from tool.gif rename to Products/photoprint/tool.gif diff --git a/tool.py b/Products/photoprint/tool.py similarity index 100% rename from tool.py rename to Products/photoprint/tool.py diff --git a/update_i18n.sh b/Products/photoprint/update_i18n.sh similarity index 100% rename from update_i18n.sh rename to Products/photoprint/update_i18n.sh diff --git a/utils.py b/Products/photoprint/utils.py similarity index 100% rename from utils.py rename to Products/photoprint/utils.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..a5bb425 --- /dev/null +++ b/setup.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +from setuptools import setup, find_packages + + +setup(name='Products.photoprint', + version='3.0', + description='Photo prints and sales management for Plinn CMS', + url='http://plinn.org', + author="Benoît Pin – MINES ParisTech – Armines", + author_email="benoit.pin@mines-paristech.fr", + license="GPL", + packages=find_packages(), + include_package_data=True, + namespace_packages=['Products'], + zip_safe=False, + install_requires=[] #TODO + ) -- 2.20.1