diff options
| author | Gery Debongnie <ged@openerp.com> | 2014-04-07 10:07:53 +0200 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2014-04-07 10:07:53 +0200 |
| commit | 0db6cb3c39aed275d6bb8ea0546ba375dcef7fb5 (patch) | |
| tree | 88b47d327a7fec722cc53c4a5e25e52d28864d6e | |
| parent | eb41be40bfcc46eabaae6435b5703e9f23382f81 (diff) | |
| parent | de380aa914588a9c81fc1ef3e083ec42d8c84fd5 (diff) | |
[MERGE] merge from trunk
bzr revid: ged@openerp.com-20140404140849-ia31hb4xjimmre34
bzr revid: ged@openerp.com-20140407080753-jltf0wscgesbm7kt
27 files changed, 180 insertions, 95 deletions
diff --git a/addons/account/i18n/pl.po b/addons/account/i18n/pl.po index ef2849cd444..ef779200db0 100644 --- a/addons/account/i18n/pl.po +++ b/addons/account/i18n/pl.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-12-22 12:46+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:18+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 06:26+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -989,6 +989,8 @@ msgid "" " opening/closing fiscal " "year process." msgstr "" +"Nie możesz anulować uzgodnień pozycji dziennika jeśli zostały one " +"wygenerowane procesem zamykania/otwierania roku." #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_new diff --git a/addons/account_followup/i18n/pl.po b/addons/account_followup/i18n/pl.po index b851b85d5df..1a37b819f02 100644 --- a/addons/account_followup/i18n/pl.po +++ b/addons/account_followup/i18n/pl.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-12 17:49+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:44+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 06:16+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: account_followup #: model:email.template,subject:account_followup.email_template_account_followup_default @@ -109,7 +109,7 @@ msgstr "Kroki monitowania płatności" #. module: account_followup #: field:account_followup.print,email_body:0 msgid "Email Body" -msgstr "" +msgstr "Treść email" #. module: account_followup #: model:ir.actions.act_window,name:account_followup.action_account_followup_print @@ -403,7 +403,7 @@ msgstr "Monity o płatność" #. module: account_followup #: field:account_followup.followup.line,delay:0 msgid "Due Days" -msgstr "" +msgstr "Dni zwłoki" #. module: account_followup #: field:account.move.line,followup_line_id:0 @@ -419,7 +419,7 @@ msgstr "Ostatni monit o płatność" #. module: account_followup #: model:ir.ui.menu,name:account_followup.menu_manual_reconcile_followup msgid "Reconcile Invoices & Payments" -msgstr "" +msgstr "Uzgadnianie Faktur i Płatności" #. module: account_followup #: model:ir.ui.menu,name:account_followup.account_followup_s @@ -429,7 +429,7 @@ msgstr "Wykonaj manualnie monit o płatność" #. module: account_followup #: report:account_followup.followup.print:0 msgid "Li." -msgstr "" +msgstr "Sp." #. module: account_followup #: field:account_followup.print,email_conf:0 @@ -499,6 +499,7 @@ msgstr "Monitowanie płatności" #, python-format msgid "Email not sent because of email address of partner not filled in" msgstr "" +"Email nie został wysłany ponieważ adres email partnera nie został wypełniony" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup @@ -511,6 +512,8 @@ msgid "" "Optionally you can assign a user to this field, which will make him " "responsible for the action." msgstr "" +"Opcjonalnie możesz przypisać użytkownika do tego pola, który stanie się " +"odpowiedzialny za tę akcję." #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_sending_results @@ -528,7 +531,7 @@ msgstr "" #: code:addons/account_followup/wizard/account_followup_print.py:172 #, python-format msgid " manual action(s) assigned:" -msgstr "" +msgstr " ręczna akcja przypisana do:" #. module: account_followup #: view:res.partner:0 @@ -548,13 +551,13 @@ msgstr "Przeszukaj monity o płatność" #. module: account_followup #: view:res.partner:0 msgid "Account Move line" -msgstr "" +msgstr "Pozycja zapisu" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:237 #, python-format msgid "Send Letters and Emails: Actions Summary" -msgstr "" +msgstr "Listy i Email: Podsumowanie akcji" #. module: account_followup #: view:account_followup.print:0 @@ -916,7 +919,7 @@ msgstr "" #. module: account_followup #: view:res.partner:0 msgid "Responsible" -msgstr "" +msgstr "Odpowiedzialny" #. module: account_followup #: model:ir.ui.menu,name:account_followup.menu_finance_followup @@ -945,7 +948,7 @@ msgstr "Działanie monitowania płatności" #. module: account_followup #: view:account_followup.stat:0 msgid "Including journal entries marked as a litigation" -msgstr "" +msgstr "Załącz pozycje dziennika oznaczone jako sporne" #. module: account_followup #: report:account_followup.followup.print:0 diff --git a/addons/auth_signup/i18n/pl.po b/addons/auth_signup/i18n/pl.po index ebbff79b333..a95f5b3738f 100644 --- a/addons/auth_signup/i18n/pl.po +++ b/addons/auth_signup/i18n/pl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-12 18:01+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:12+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 07:32+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: auth_signup #: field:res.partner,signup_type:0 @@ -80,7 +80,7 @@ msgstr "Wprowadź hasło o potwierdź je" #. module: auth_signup #: view:res.users:0 msgid "Send an email to the user to (re)set their password." -msgstr "" +msgstr "Wyślij email do użytkownika w celu zresetowania hasła" #. module: auth_signup #. openerp-web @@ -99,7 +99,7 @@ msgstr "Nowy" #: code:addons/auth_signup/res_users.py:258 #, python-format msgid "Mail sent to:" -msgstr "" +msgstr "Mail wysłano do:" #. module: auth_signup #: field:res.users,state:0 @@ -191,7 +191,7 @@ msgstr "Proszę wprowadź nazwę użytkownika lub adres email." #. module: auth_signup #: selection:res.users,state:0 msgid "Resetting Password" -msgstr "" +msgstr "Resetowane hasło" #. module: auth_signup #. openerp-web diff --git a/addons/event/event.py b/addons/event/event.py index d13d455bc73..92b237687d7 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -111,16 +111,30 @@ class event_event(osv.osv): """Get reserved, available, reserved but unconfirmed and used seats. @return: Dictionary of function field values. """ - res = dict([(id, {}) for id in ids]) - for event in self.browse(cr, uid, ids, context=context): - res[event.id]['seats_reserved'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "open") - res[event.id]['seats_used'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "done") - res[event.id]['seats_unconfirmed'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "draft") + keys = {'draft': 'seats_unconfirmed', 'open':'seats_reserved', 'done': 'seats_used'} + res = {} + for event_id in ids: + res[event_id] = {key:0 for key in keys.values()} + query = "SELECT state, sum(nb_register) FROM event_registration WHERE event_id = %s AND state IN ('draft','open','done') GROUP BY state" + for event in self.pool.get('event.event').browse(cr, uid, ids, context=context): + cr.execute(query, (event.id,)) + reg_states = cr.fetchall() + for reg_state in reg_states: + res[event.id][keys[reg_state[0]]] = reg_state[1] res[event.id]['seats_available'] = event.seats_max - \ (res[event.id]['seats_reserved'] + res[event.id]['seats_used']) \ if event.seats_max > 0 else None return res + def _get_events_from_registrations(self, cr, uid, ids, context=None): + """Get reserved, available, reserved but unconfirmed and used seats, of the event related to a registration. + @return: Dictionary of function field values. + """ + event_ids=set() + for registration in self.browse(cr, uid, ids, context=context): + event_ids.add(registration.event_id.id) + return list(event_ids) + def _subscribe_fnc(self, cr, uid, ids, fields, args, context=None): """This functional fields compute if the current user (uid) is already subscribed or not to the event passed in parameter (ids) """ @@ -142,10 +156,18 @@ class event_event(osv.osv): 'type': fields.many2one('event.type', 'Type of Event', readonly=False, states={'done': [('readonly', True)]}), 'seats_max': fields.integer('Maximum Avalaible Seats', oldname='register_max', help="You can for each event define a maximum registration level. If you have too much registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}), 'seats_min': fields.integer('Minimum Reserved Seats', oldname='register_min', help="You can for each event define a minimum registration level. If you do not enough registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}), - 'seats_reserved': fields.function(_get_seats, oldname='register_current', string='Reserved Seats', type='integer', multi='seats_reserved'), - 'seats_available': fields.function(_get_seats, oldname='register_avail', string='Available Seats', type='integer', multi='seats_reserved'), - 'seats_unconfirmed': fields.function(_get_seats, oldname='register_prospect', string='Unconfirmed Seat Reservations', type='integer', multi='seats_reserved'), - 'seats_used': fields.function(_get_seats, oldname='register_attended', string='Number of Participations', type='integer', multi='seats_reserved'), + 'seats_reserved': fields.function(_get_seats, oldname='register_current', string='Reserved Seats', type='integer', multi='seats_reserved', + store={'event.registration': (_get_events_from_registrations, ['state'], 10), + 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max'], 20)}), + 'seats_available': fields.function(_get_seats, oldname='register_avail', string='Available Seats', type='integer', multi='seats_reserved', + store={'event.registration': (_get_events_from_registrations, ['state'], 10), + 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max'], 20)}), + 'seats_unconfirmed': fields.function(_get_seats, oldname='register_prospect', string='Unconfirmed Seat Reservations', type='integer', multi='seats_reserved', + store={'event.registration': (_get_events_from_registrations, ['state'], 10), + 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max'], 20)}), + 'seats_used': fields.function(_get_seats, oldname='register_attended', string='Number of Participations', type='integer', multi='seats_reserved', + store={'event.registration': (_get_events_from_registrations, ['state'], 10), + 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max'], 20)}), 'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}), 'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), diff --git a/addons/hr_holidays/i18n/pl.po b/addons/hr_holidays/i18n/pl.po index 180ca272e3b..8473fa6ee49 100644 --- a/addons/hr_holidays/i18n/pl.po +++ b/addons/hr_holidays/i18n/pl.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-06-22 10:54+0000\n" +"PO-Revision-Date: 2014-04-04 19:21+0000\n" "Last-Translator: Dariusz Kubiak <d.kubiak@macopedia.pl>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 06:53+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: hr_holidays #: selection:hr.holidays.status,color_name:0 @@ -680,7 +680,7 @@ msgstr "Podsumowanie" #. module: hr_holidays #: model:hr.holidays.status,name:hr_holidays.holiday_status_unpaid msgid "Unpaid" -msgstr "Bezpłatny" +msgstr "Urlop bezpłatny" #. module: hr_holidays #: xsl:holidays.summary:0 diff --git a/addons/mail/i18n/pl.po b/addons/mail/i18n/pl.po index e44e0a315b4..051e5bad35f 100644 --- a/addons/mail/i18n/pl.po +++ b/addons/mail/i18n/pl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-12-17 19:55+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:25+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 07:26+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: mail #: view:mail.followers:0 @@ -1363,7 +1363,7 @@ msgstr "Wiadomość Rich-text/HTML" #. module: mail #: view:mail.mail:0 msgid "Creation Month" -msgstr "Miesiąc tworzenia" +msgstr "Miesiąc utworzenia" #. module: mail #. openerp-web @@ -1509,7 +1509,7 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:213 #, python-format msgid "Please, wait while the file is uploading." -msgstr "" +msgstr "Poczekaj, aż plik zostanie załadowany." #. module: mail #: view:mail.group:0 diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py index 9ad77b3c4cf..464cb0c8f5c 100644 --- a/addons/payment/models/payment_acquirer.py +++ b/addons/payment/models/payment_acquirer.py @@ -52,8 +52,15 @@ class PaymentAcquirer(osv.Model): _name = 'payment.acquirer' _description = 'Payment Acquirer' + def _get_providers(self, cr, uid, context=None): + return [] + + # indirection to ease inheritance + _provider_selection = lambda self, *args, **kwargs: self._get_providers(*args, **kwargs) + _columns = { 'name': fields.char('Name', required=True), + 'provider': fields.selection(_provider_selection, string='Provider', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True), 'pre_msg': fields.html('Message', help='Message displayed to explain and help the payment process.'), 'post_msg': fields.html('Thanks Message', help='Message displayed after having done the payment process.'), @@ -84,10 +91,10 @@ class PaymentAcquirer(osv.Model): } def _check_required_if_provider(self, cr, uid, ids, context=None): - """ If the field has 'required_if_provider="<name>"' attribute, then it - required if record.name is <name>. """ + """ If the field has 'required_if_provider="<provider>"' attribute, then it + required if record.provider is <provider>. """ for acquirer in self.browse(cr, uid, ids, context=context): - if any(c for c, f in self._all_columns.items() if getattr(f.column, 'required_if_provider', None) == acquirer.name and not acquirer[c]): + if any(c for c, f in self._all_columns.items() if getattr(f.column, 'required_if_provider', None) == acquirer.provider and not acquirer[c]): return False return True @@ -98,8 +105,8 @@ class PaymentAcquirer(osv.Model): def get_form_action_url(self, cr, uid, id, context=None): """ Returns the form action URL, for form-based acquirer implementations. """ acquirer = self.browse(cr, uid, id, context=context) - if hasattr(self, '%s_get_form_action_url' % acquirer.name): - return getattr(self, '%s_get_form_action_url' % acquirer.name)(cr, uid, id, context=context) + if hasattr(self, '%s_get_form_action_url' % acquirer.provider): + return getattr(self, '%s_get_form_action_url' % acquirer.provider)(cr, uid, id, context=context) return False def form_preprocess_values(self, cr, uid, id, reference, amount, currency_id, tx_id, partner_id, partner_values, tx_values, context=None): @@ -178,7 +185,7 @@ class PaymentAcquirer(osv.Model): }) # compute fees - fees_method_name = '%s_compute_fees' % acquirer.name + fees_method_name = '%s_compute_fees' % acquirer.provider if hasattr(self, fees_method_name): fees = getattr(self, fees_method_name)( cr, uid, id, tx_data['amount'], tx_data['currency_id'], partner_data['country_id'], context=None) @@ -237,7 +244,7 @@ class PaymentAcquirer(osv.Model): partner_values, tx_values, context=context) # call <name>_form_generate_values to update the tx dict with acqurier specific values - cust_method_name = '%s_form_generate_values' % (acquirer.name) + cust_method_name = '%s_form_generate_values' % (acquirer.provider) if hasattr(self, cust_method_name): method = getattr(self, cust_method_name) partner_values, tx_values = method(cr, uid, id, partner_values, tx_values, context=context) @@ -383,14 +390,14 @@ class PaymentTransaction(osv.Model): acquirer = self.pool['payment.acquirer'].browse(cr, uid, values.get('acquirer_id'), context=context) # compute fees - custom_method_name = '%s_compute_fees' % acquirer.name + custom_method_name = '%s_compute_fees' % acquirer.provider if hasattr(Acquirer, custom_method_name): fees = getattr(Acquirer, custom_method_name)( cr, uid, acquirer.id, values.get('amount', 0.0), values.get('currency_id'), values.get('country_id'), context=None) values['fees'] = float_round(fees, 2) # custom create - custom_method_name = '%s_create' % acquirer.name + custom_method_name = '%s_create' % acquirer.provider if hasattr(self, custom_method_name): values.update(getattr(self, custom_method_name)(cr, uid, values, context=context)) @@ -469,7 +476,7 @@ class PaymentTransaction(osv.Model): if values.get('acquirer_id'): acquirer = self.pool['payment.acquirer'].browse(cr, uid, values.get('acquirer_id'), context=context) - custom_method_name = '_%s_s2s_send' % acquirer.name + custom_method_name = '_%s_s2s_send' % acquirer.provider if hasattr(self, custom_method_name): tx_id, result = getattr(self, custom_method_name)(cr, uid, values, cc_values, context=context) @@ -482,7 +489,7 @@ class PaymentTransaction(osv.Model): tx = self.browse(cr, uid, tx_id, context=context) invalid_parameters = None - invalid_param_method_name = '_%s_s2s_get_invalid_parameters' % tx.acquirer_id.name + invalid_param_method_name = '_%s_s2s_get_invalid_parameters' % tx.acquirer_id.provider if hasattr(self, invalid_param_method_name): invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, tx, data, context=context) @@ -493,7 +500,7 @@ class PaymentTransaction(osv.Model): _logger.error(_error_message) return False - feedback_method_name = '_%s_s2s_validate' % tx.acquirer_id.name + feedback_method_name = '_%s_s2s_validate' % tx.acquirer_id.provider if hasattr(self, feedback_method_name): return getattr(self, feedback_method_name)(cr, uid, tx, data, context=context) @@ -503,7 +510,7 @@ class PaymentTransaction(osv.Model): """ Get the tx status. """ tx = self.browse(cr, uid, tx_id, context=context) - invalid_param_method_name = '_%s_s2s_get_tx_status' % tx.acquirer_id.name + invalid_param_method_name = '_%s_s2s_get_tx_status' % tx.acquirer_id.provider if hasattr(self, invalid_param_method_name): return getattr(self, invalid_param_method_name)(cr, uid, tx, context=context) diff --git a/addons/payment/views/payment_acquirer.xml b/addons/payment/views/payment_acquirer.xml index 5dbd748bda7..325bb774ee6 100644 --- a/addons/payment/views/payment_acquirer.xml +++ b/addons/payment/views/payment_acquirer.xml @@ -8,7 +8,7 @@ parent='base.menu_administration'/> <record id="acquirer_form" model="ir.ui.view"> - <field name="name">acquirer.form</field> + <field name="name">payment.acquirer.form</field> <field name="model">payment.acquirer</field> <field name="arch" type="xml"> <form string="Payment Acquirer" version="7.0"> @@ -16,6 +16,7 @@ <group name="acquirer_base"> <group> <field name="name"/> + <field name="provider"/> <field name="company_id"/> <field name="website_published"/> <field name="env"/> @@ -62,10 +63,12 @@ </record> <record id="acquirer_list" model="ir.ui.view"> + <field name="name">payment.acquirer.list</field> <field name="model">payment.acquirer</field> <field name="arch" type="xml"> <tree string="Payment Acquirers"> <field name="name"/> + <field name="provider"/> <field name="website_published"/> <field name="env"/> </tree> @@ -73,10 +76,15 @@ </record> <record id="acquirer_search" model="ir.ui.view"> + <field name="name">payment.acquirer.search</field> <field name="model">payment.acquirer</field> <field name="arch" type="xml"> <search> <field name="name"/> + <field name="provider"/> + <group expand="0" string="Group By..."> + <filter string="Provider" name="provider" domain="[]" context="{'group_by': 'provider'}"/> + </group> </search> </field> </record> @@ -95,6 +103,7 @@ sequence='10' /> <record id="transaction_form" model="ir.ui.view"> + <field name="name">payment.transaction.form</field> <field name="model">payment.transaction</field> <field name="arch" type="xml"> <form string="Payment Transactions" version="7.0"> @@ -138,6 +147,7 @@ </record> <record id="transaction_list" model="ir.ui.view"> + <field name="name">payment.transaction.list</field> <field name="model">payment.transaction</field> <field name="arch" type="xml"> <tree string="Payment Transactions"> @@ -151,6 +161,7 @@ </record> <record id="transaction" model="ir.ui.view"> + <field name="name">payment.transaction.search</field> <field name="model">payment.transaction</field> <field name="arch" type="xml"> <search> diff --git a/addons/payment_adyen/data/adyen.xml b/addons/payment_adyen/data/adyen.xml index 8f6e7e218e4..5ca0f4d71e9 100644 --- a/addons/payment_adyen/data/adyen.xml +++ b/addons/payment_adyen/data/adyen.xml @@ -3,7 +3,8 @@ <data noupdate="1"> <record id="payment_acquirer_adyen" model="payment.acquirer"> - <field name="name">adyen</field> + <field name="name">Adyen</field> + <field name="provider">adyen</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="adyen_acquirer_button"/> <field name="env">test</field> diff --git a/addons/payment_adyen/models/adyen.py b/addons/payment_adyen/models/adyen.py index 80103f50dae..607d65738c5 100644 --- a/addons/payment_adyen/models/adyen.py +++ b/addons/payment_adyen/models/adyen.py @@ -26,14 +26,14 @@ class AcquirerAdyen(osv.Model): - yhpp: hosted payment page: pay.shtml for single, select.shtml for multiple """ - if env == 'prod': - return { - 'adyen_form_url': 'https://prod.adyen.com/hpp/pay.shtml', - } - else: - return { - 'adyen_form_url': 'https://test.adyen.com/hpp/pay.shtml', - } + return { + 'adyen_form_url': 'https://%s.adyen.com/hpp/pay.shtml' % env, + } + + def _get_providers(self, cr, uid, context=None): + providers = super(AcquirerAdyen, self)._get_providers(cr, uid, context=context) + providers.append(['adyen', 'Adyen']) + return providers _columns = { 'adyen_merchant_account': fields.char('Merchant Account', required_if_provider='adyen'), @@ -54,7 +54,7 @@ class AcquirerAdyen(osv.Model): :return string: shasign """ assert inout in ('in', 'out') - assert acquirer.name == 'adyen' + assert acquirer.provider == 'adyen' if inout == 'in': keys = "paymentAmount currencyCode shipBeforeDate merchantReference skinCode merchantAccount sessionValidity shopperEmail shopperReference recurringContract allowedMethods blockedMethods shopperStatement merchantReturnData billingAddressType deliveryAddressType offset".split() diff --git a/addons/payment_adyen/views/payment_acquirer.xml b/addons/payment_adyen/views/payment_acquirer.xml index 1510a110c43..396bf9c32d5 100644 --- a/addons/payment_adyen/views/payment_acquirer.xml +++ b/addons/payment_adyen/views/payment_acquirer.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="payment.acquirer_form"/> <field name="arch" type="xml"> <xpath expr='//group[@name="acquirer_display"]' position='after'> - <group attrs="{'invisible': [('name', '!=', 'adyen')]}"> + <group attrs="{'invisible': [('provider', '!=', 'adyen')]}"> <field name="adyen_merchant_account"/> <field name="adyen_skin_code"/> <field name="adyen_skin_hmac_key"/> diff --git a/addons/payment_ogone/data/ogone.xml b/addons/payment_ogone/data/ogone.xml index e94276ba3e1..ade39cfb79c 100644 --- a/addons/payment_ogone/data/ogone.xml +++ b/addons/payment_ogone/data/ogone.xml @@ -3,7 +3,8 @@ <data noupdate="1"> <record id="payment_acquirer_ogone" model="payment.acquirer"> - <field name="name">ogone</field> + <field name="name">Credit Card</field> + <field name="provider">ogone</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="ogone_acquirer_button"/> <field name="env">test</field> diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py index 2ae9722b655..f6cab44f0b5 100644 --- a/addons/payment_ogone/models/ogone.py +++ b/addons/payment_ogone/models/ogone.py @@ -36,6 +36,11 @@ class PaymentAcquirerOgone(osv.Model): 'ogone_afu_agree_url': 'https://secure.ogone.com/ncol/%s/AFU_agree.asp' % (env,), } + def _get_providers(self, cr, uid, context=None): + providers = super(PaymentAcquirerOgone, self)._get_providers(cr, uid, context=context) + providers.append(['ogone', 'Ogone']) + return providers + _columns = { 'ogone_pspid': fields.char('PSPID', required_if_provider='ogone'), 'ogone_userid': fields.char('API User ID', required_if_provider='ogone'), @@ -57,7 +62,7 @@ class PaymentAcquirerOgone(osv.Model): :return string: shasign """ assert inout in ('in', 'out') - assert acquirer.name == 'ogone' + assert acquirer.provider == 'ogone' key = getattr(acquirer, 'ogone_shakey_' + inout) def filter_key(key): diff --git a/addons/payment_ogone/views/payment_acquirer.xml b/addons/payment_ogone/views/payment_acquirer.xml index accce4d70d2..f297eb9431a 100644 --- a/addons/payment_ogone/views/payment_acquirer.xml +++ b/addons/payment_ogone/views/payment_acquirer.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="payment.acquirer_form"/> <field name="arch" type="xml"> <xpath expr='//group[@name="acquirer_display"]' position='after'> - <group attrs="{'invisible': [('name', '!=', 'ogone')]}"> + <group attrs="{'invisible': [('provider', '!=', 'ogone')]}"> <field name="ogone_pspid"/> <field name="ogone_userid"/> <field name="ogone_password"/> diff --git a/addons/payment_paypal/data/paypal.xml b/addons/payment_paypal/data/paypal.xml index fe28ed30331..0ea6cd5a848 100644 --- a/addons/payment_paypal/data/paypal.xml +++ b/addons/payment_paypal/data/paypal.xml @@ -3,7 +3,8 @@ <data noupdate="1"> <record id="payment_acquirer_paypal" model="payment.acquirer"> - <field name="name">paypal</field> + <field name="name">Paypal</field> + <field name="provider">paypal</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="paypal_acquirer_button"/> <field name="env">test</field> diff --git a/addons/payment_paypal/models/paypal.py b/addons/payment_paypal/models/paypal.py index a5e31e9571c..de852702880 100644 --- a/addons/payment_paypal/models/paypal.py +++ b/addons/payment_paypal/models/paypal.py @@ -34,6 +34,11 @@ class AcquirerPaypal(osv.Model): 'paypal_rest_url': 'https://api.sandbox.paypal.com/v1/oauth2/token', } + def _get_providers(self, cr, uid, context=None): + providers = super(AcquirerPaypal, self)._get_providers(cr, uid, context=context) + providers.append(['paypal', 'Paypal']) + return providers + _columns = { 'paypal_email_account': fields.char('Paypal Email ID', required_if_provider='paypal'), 'paypal_seller_account': fields.char( diff --git a/addons/payment_paypal/views/payment_acquirer.xml b/addons/payment_paypal/views/payment_acquirer.xml index 835d96f42e9..3fb5db184f6 100644 --- a/addons/payment_paypal/views/payment_acquirer.xml +++ b/addons/payment_paypal/views/payment_acquirer.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="payment.acquirer_form"/> <field name="arch" type="xml"> <xpath expr='//group[@name="acquirer_display"]' position='after'> - <group attrs="{'invisible': [('name', '!=', 'paypal')]}"> + <group attrs="{'invisible': [('provider', '!=', 'paypal')]}"> <group> <group> <field name="paypal_email_account"/> diff --git a/addons/payment_transfer/data/transfer.xml b/addons/payment_transfer/data/transfer.xml index c2863971d34..5eabe29a17f 100644 --- a/addons/payment_transfer/data/transfer.xml +++ b/addons/payment_transfer/data/transfer.xml @@ -3,7 +3,8 @@ <data noupdate="1"> <record id="payment_acquirer_transfer" model="payment.acquirer"> - <field name="name">transfer</field> + <field name="name">Wire Transfer</field> + <field name="provider">transfer</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="transfer_acquirer_button"/> <field name="validation">manual</field> diff --git a/addons/payment_transfer/models/payment_acquirer.py b/addons/payment_transfer/models/payment_acquirer.py index 90b1329ff25..63883b3df30 100644 --- a/addons/payment_transfer/models/payment_acquirer.py +++ b/addons/payment_transfer/models/payment_acquirer.py @@ -14,6 +14,11 @@ _logger = logging.getLogger(__name__) class TransferPaymentAcquirer(osv.Model): _inherit = 'payment.acquirer' + def _get_providers(self, cr, uid, context=None): + providers = super(TransferPaymentAcquirer, self)._get_providers(cr, uid, context=context) + providers.append(['transfer', 'Wire Transfer']) + return providers + def transfer_get_form_action_url(self, cr, uid, id, context=None): return '/payment/transfer/feedback' diff --git a/addons/procurement/i18n/pl.po b/addons/procurement/i18n/pl.po index b503cce0ce3..8cb301665df 100644 --- a/addons/procurement/i18n/pl.po +++ b/addons/procurement/i18n/pl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-16 20:56+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:08+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 07:18+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: procurement #: model:ir.ui.menu,name:procurement.menu_stock_sched @@ -493,7 +493,7 @@ msgstr "Nieprzeczytane wiadomości" #. module: procurement #: selection:mrp.property,composition:0 msgid "plus" -msgstr "" +msgstr "plus" #. module: procurement #: help:procurement.order,state:0 @@ -515,6 +515,8 @@ msgid "" "If the active field is set to False, it will allow you to hide the " "orderpoint without removing it." msgstr "" +"Jeśli pole nie jest aktywne, pozwoli ci ukryć punkt zamawiania bez jego " +"kasowania." #. module: procurement #: view:product.product:0 @@ -547,8 +549,8 @@ msgid "" "You have to select a product unit of measure in the same category than the " "default unit of measure of the product" msgstr "" -"Musisz wybrać jednostkę miary z tej samej kategorii do domyślna jednostka " -"produktu." +"Musisz wybrać jednostkę miary z tej samej kategorii, co domyślna jednostka " +"produktu" #. module: procurement #: view:procurement.order:0 @@ -589,7 +591,7 @@ msgstr "Projekt" #: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers #: view:procurement.order.compute.all:0 msgid "Run Schedulers" -msgstr "uruchom planowanie" +msgstr "Uruchom planowanie" #. module: procurement #: view:procurement.order.compute:0 @@ -1027,7 +1029,7 @@ msgstr "Zapotrzbowanie uruchomione późno" #. module: procurement #: selection:mrp.property,composition:0 msgid "min" -msgstr "" +msgstr "min." #. module: procurement #: view:make.procurement:0 diff --git a/addons/stock/i18n/pl.po b/addons/stock/i18n/pl.po index 46fc140db91..66cb0cb868c 100644 --- a/addons/stock/i18n/pl.po +++ b/addons/stock/i18n/pl.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-12-22 15:56+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" +"PO-Revision-Date: 2014-04-04 19:47+0000\n" +"Last-Translator: Dariusz Żbikowski <Unknown>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-03-27 05:52+0000\n" -"X-Generator: Launchpad (build 16967)\n" +"X-Launchpad-Export-Date: 2014-04-05 05:30+0000\n" +"X-Generator: Launchpad (build 16976)\n" #. module: stock #: field:stock.inventory.line.split,line_exist_ids:0 @@ -1420,7 +1420,7 @@ msgstr "Zapas fizyczny" #: code:addons/stock/wizard/stock_move.py:214 #, python-format msgid "Processing Error!" -msgstr "" +msgstr "Błąd przetwarzania!" #. module: stock #: help:stock.location,chained_company_id:0 diff --git a/addons/website/views/snippets.xml b/addons/website/views/snippets.xml index 0df57080b99..3e27ffb227f 100644 --- a/addons/website/views/snippets.xml +++ b/addons/website/views/snippets.xml @@ -511,13 +511,13 @@ <img class="oe_snippet_thumbnail_img" src="/website/static/src/img/blocks/block_button.png"/> <span class="oe_snippet_thumbnail_title">Button</span> </div> - <section class="oe_snippet_body jumbotron oe_dark"> + <section class="oe_snippet_body jumbotron"> <div class="container"> <div class="row"> - <div class="col-md-9"> + <div class="col-md-9 text-muted"> <p class="mb0"> <strong>50,000+ companies run Odoo to grow their businesses.</strong> - </p><p class="mb0 text-muted"> + </p><p class="mb0"> Join us and make your company a better place. </p> </div> diff --git a/addons/website_sale/__openerp__.py b/addons/website_sale/__openerp__.py index 121bb519103..e9ab1820804 100644 --- a/addons/website_sale/__openerp__.py +++ b/addons/website_sale/__openerp__.py @@ -14,6 +14,7 @@ OpenERP E-Commerce 'data/website_sale_data.xml', 'views/website_sale.xml', 'views/website_sale_backend.xml', + 'views/payment.xml', 'security/ir.model.access.csv', 'security/website_sale.xml', ], diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index ed6cb147828..7511e308b95 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -709,7 +709,8 @@ class Ecommerce(http.Controller): message = '<p>The payment seems to have been canceled.</p>' elif state == 'pending' and tx.acquirer_id.validation == 'manual': message = '<p>Your transaction is waiting confirmation.</p>' - message += tx.acquirer_id.post_msg + if tx.acquirer_id.post_msg: + message += tx.acquirer_id.post_msg else: message = '<p>Your transaction is waiting confirmation.</p>' validation = tx.acquirer_id.validation diff --git a/addons/website_sale/static/src/js/website.tour.sale.js b/addons/website_sale/static/src/js/website.tour.sale.js index c9dd7e5e301..0fa01addede 100644 --- a/addons/website_sale/static/src/js/website.tour.sale.js +++ b/addons/website_sale/static/src/js/website.tour.sale.js @@ -73,11 +73,11 @@ }, { title: "select payment", - element: '#payment_method label:has(img[title="transfer"]) input', + element: '#payment_method label:has(img[title="Wire Transfer"]) input', }, { title: "Pay Now", - waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', + waitFor: '#payment_method label:has(input:checked):has(img[title="Wire Transfer"])', element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', }, { diff --git a/addons/website_sale/views/payment.xml b/addons/website_sale/views/payment.xml new file mode 100644 index 00000000000..f4bec2323bb --- /dev/null +++ b/addons/website_sale/views/payment.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <record id="transaction_form_website_sale" model="ir.ui.view"> + <field name="name">payment.transaction.form.website_sale</field> + <field name="model">payment.transaction</field> + <field name="inherit_id" ref="payment.transaction_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='reference']" position="after"> + <field name="sale_order_id"/> + </xpath> + </field> + </record> + + </data> +</openerp> diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index 71573e3dac5..0f973c51424 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -958,7 +958,7 @@ <input t-att-value="acquirer.id" type="radio" name="acquirer" t-att-checked="acquirers[0] == acquirer"/> <img class="media-object" style="width: 60px; display: inline-block;" t-att-title="acquirer.name" - t-att-src="'/payment_%s/static/src/img/%s_icon.png' % (acquirer.name, acquirer.name)"/> + t-att-src="'/payment_%s/static/src/img/%s_icon.png' % (acquirer.provider, acquirer.provider)"/> <span t-field="acquirer.name"/> </label> </li> |
