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
-
""" % 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