diff --git a/addons/portal/acquirer.py b/addons/portal/acquirer.py index 922a341b679..7bf44bb2527 100644 --- a/addons/portal/acquirer.py +++ b/addons/portal/acquirer.py @@ -25,6 +25,7 @@ from urllib import quote as quote from openerp.osv import osv, fields from openerp.tools import ustr from openerp.tools.translate import _ +from openerp.tools import float_repr _logger = logging.getLogger(__name__) try: @@ -74,12 +75,18 @@ class acquirer(osv.Model): _logger.exception("failed to render mako template value for payment.acquirer %s: %r", this.name, template) return - def _wrap_payment_block(self, cr, uid, html_block, context=None): - payment_header = _('Pay safely online:') + def _wrap_payment_block(self, cr, uid, html_block, amount, currency, context=None): + payment_header = _('Pay safely online') + amount_str = float_repr(amount, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')) + currency_str = currency.symbol or currency.name + amount = u"%s %s" % ((currency_str, amount_str) if currency.position == 'before' else (amount_str, currency_str)) result = """
- %s +
+
%s
+ %s +
%%s -
""" % payment_header + """ % (amount, payment_header) return result % html_block def render_payment_block(self, cr, uid, object, reference, currency, amount, context=None, **kwargs): @@ -92,5 +99,5 @@ class acquirer(osv.Model): html_forms = [] for this in self.browse(cr, uid, acquirer_ids): html_forms.append(this.render(object, reference, currency, amount, context=context, **kwargs)) - html_block = '\n'.join(html_forms) - return self._wrap_payment_block(cr, uid, html_block, context=context) + html_block = '\n'.join(filter(None,html_forms)) + return self._wrap_payment_block(cr, uid, html_block, amount, currency, context=context) diff --git a/addons/portal/portal_data.xml b/addons/portal/portal_data.xml index 89e62c8d48e..d7550e0f2b4 100644 --- a/addons/portal/portal_data.xml +++ b/addons/portal/portal_data.xml @@ -33,21 +33,14 @@ Paypal - - - +
+ + + + + + +
% endif ]]>
diff --git a/addons/portal/static/src/css/portal.css b/addons/portal/static/src/css/portal.css index 02d0d44e6b3..45c0cdd7805 100644 --- a/addons/portal/static/src/css/portal.css +++ b/addons/portal/static/src/css/portal.css @@ -15,14 +15,30 @@ background: #729FCF; background-image: -webkit-gradient(linear, left top, left bottom, from(#729FCF), to(#3465A4)); background-image: -webkit-linear-gradient(top, #729FCF, #3465A4); - background-image: -moz-linear-gradient(top, #729FCF, #3465A4); - background-image: -ms-linear-gradient(top, #729FCF, #3465A4); - background-image: -o-linear-gradient(top, #729FCF, #3465A4); + background-image: -moz-linear-gradient(top, #729FCF, #3465A4); + background-image: -ms-linear-gradient(top, #729FCF, #3465A4); + background-image: -o-linear-gradient(top, #729FCF, #3465A4); background-image: linear-gradient(to bottom, #729FCF, #3465A4); border-bottom: 1px solid #043574; -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45); - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45); + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45); +} + +.openerp .payment_acquirers form { + display: inline-block; + vertical-align: top; +} + +.openerp .payment_acquirers form input, +.openerp .payment_acquirers form textarea, +.openerp .payment_acquirers form select +{ + -webkit-box-shadow: none; + box-shadow: none; + background: transparent; + border: none; + padding: none; } .openerp .payment_acquirers::after { @@ -38,13 +54,13 @@ background: #043574; -webkit-transform: skewY(-45deg); - -moz-transform: skewY(-45deg); - -ms-transform: skewY(-45deg); - -o-transform: skewY(-45deg); - transform: skewY(-45deg); + -moz-transform: skewY(-45deg); + -ms-transform: skewY(-45deg); + -o-transform: skewY(-45deg); + transform: skewY(-45deg); -webkit-box-shadow: inset 1px -1px 2px black, -1px 1px 3px black; - box-shadow: inset 1px -1px 2px black, -1px 1px 3px black; + box-shadow: inset 1px -1px 2px black, -1px 1px 3px black; /* push it under all its siblings, just on top of its root in the z-index stack: div.oe_form_sheetbg */ @@ -52,9 +68,14 @@ } .openerp .payment_acquirers .payment_header { + display: inline-block; font-weight: bold; font-size: 110%; padding-right: 15px; color: white; text-shadow: 0 1px 1px #729FCF, 0 -1px 1px #3465A4; +} +.openerp .payment_acquirers .payment_header .payment_amount { + font-size: 130%; + padding: 6px 0px; } \ No newline at end of file diff --git a/addons/portal_sale/portal_sale.py b/addons/portal_sale/portal_sale.py index 4e41fd53332..d45653bd817 100644 --- a/addons/portal_sale/portal_sale.py +++ b/addons/portal_sale/portal_sale.py @@ -34,7 +34,7 @@ class sale_order(osv.Model): result = dict.fromkeys(ids, False) payment_acquirer = self.pool.get('portal.payment.acquirer') for this in self.browse(cr, uid, ids, context=context): - if this.state != 'draft': + if this.state != 'draft' and not this.invoiced: result[this.id] = payment_acquirer.render_payment_block(cr, uid, this, this.name, this.pricelist_id.currency_id, this.amount_total, context=context) return result \ No newline at end of file