From 0c9c22e539d9621a3e6ac1673a81a0176893bb56 Mon Sep 17 00:00:00 2001 From: Hardik Date: Mon, 9 Jul 2012 17:11:52 +0530 Subject: [PATCH 01/17] [FIX] project :KeyError: 'company_id' when group by 'Company' lp bug: https://launchpad.net/bugs/1022496 fixed bzr revid: hsa@tinyerp.com-20120709114152-s9mv0m67b2r5v63r --- addons/project/report/project_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py index 36e025ab509..1d74e154c37 100644 --- a/addons/project/report/project_report.py +++ b/addons/project/report/project_report.py @@ -52,7 +52,7 @@ class report_project_task_user(osv.osv): ('0','Very urgent')], 'Priority', readonly=True), 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True), 'state': fields.selection([('draft', 'Draft'), ('open', 'In Progress'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')],'Status', readonly=True), - 'company_id': fields.many2one('res.company', 'Company', readonly=True, groups="base.group_multi_company"), + 'company_id': fields.many2one('res.company', 'Company', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), } _order = 'name desc, project_id' From 423aca905aa619d632f745d34b72fee5b1413b98 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 12 Sep 2012 16:22:29 +0200 Subject: [PATCH 02/17] [IMP] translations: attempt to optimize out _get_source calls when there is not context lang bzr revid: odo@openerp.com-20120912142229-ir3h1z0yau09ivvw --- openerp/addons/base/ir/ir_translation.py | 2 +- openerp/osv/orm.py | 41 ++++++++++++------------ 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/openerp/addons/base/ir/ir_translation.py b/openerp/addons/base/ir/ir_translation.py index 3650f28d3f5..81afd857f18 100644 --- a/openerp/addons/base/ir/ir_translation.py +++ b/openerp/addons/base/ir/ir_translation.py @@ -267,7 +267,7 @@ class ir_translation(osv.osv): # FIXME: should assert that `source` is unicode and fix all callers to always pass unicode # so we can remove the string encoding/decoding. if not lang: - return u'' + return tools.ustr(source or '') if isinstance(types, basestring): types = (types,) if source: diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index c8a77a8856c..1ca7927f1ac 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -1443,7 +1443,7 @@ class BaseModel(object): def _validate(self, cr, uid, ids, context=None): context = context or {} - lng = context.get('lang', False) or 'en_US' + lng = context.get('lang') trans = self.pool.get('ir.translation') error_msgs = [] for constraint in self._constraints: @@ -1459,7 +1459,7 @@ class BaseModel(object): else: translated_msg = tmp_msg else: - translated_msg = trans._get_source(cr, uid, self._name, 'constraint', lng, msg) or msg + translated_msg = trans._get_source(cr, uid, self._name, 'constraint', lng, msg) error_msgs.append( _("Error occurred while validating the field(s) %s: %s") % (','.join(fields), translated_msg) ) @@ -3431,24 +3431,25 @@ class BaseModel(object): res[f]['readonly'] = True res[f]['states'] = {} - if 'string' in res[f]: - res_trans = translation_obj._get_source(cr, user, self._name + ',' + f, 'field', context.get('lang', False) or 'en_US') - if res_trans: - res[f]['string'] = res_trans - if 'help' in res[f]: - help_trans = translation_obj._get_source(cr, user, self._name + ',' + f, 'help', context.get('lang', False) or 'en_US') - if help_trans: - res[f]['help'] = help_trans - if 'selection' in res[f]: - if isinstance(field.selection, (tuple, list)): - sel = field.selection - sel2 = [] - for key, val in sel: - val2 = None - if val: - val2 = translation_obj._get_source(cr, user, self._name + ',' + f, 'selection', context.get('lang', False) or 'en_US', val) - sel2.append((key, val2 or val)) - res[f]['selection'] = sel2 + if 'lang' in context: + if 'string' in res[f]: + res_trans = translation_obj._get_source(cr, user, self._name + ',' + f, 'field', context['lang']) + if res_trans: + res[f]['string'] = res_trans + if 'help' in res[f]: + help_trans = translation_obj._get_source(cr, user, self._name + ',' + f, 'help', context['lang']) + if help_trans: + res[f]['help'] = help_trans + if 'selection' in res[f]: + if isinstance(field.selection, (tuple, list)): + sel = field.selection + sel2 = [] + for key, val in sel: + val2 = None + if val: + val2 = translation_obj._get_source(cr, user, self._name + ',' + f, 'selection', context['lang'], val) + sel2.append((key, val2 or val)) + res[f]['selection'] = sel2 return res From b300e3d209a87f3834a746742c540df865b6be2d Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 12 Sep 2012 17:38:52 +0200 Subject: [PATCH 03/17] [IMP] kanban css bzr revid: fp@tinyerp.com-20120912153852-3a3rgkow3t1c5yv2 --- addons/web_kanban/static/src/css/kanban.css | 2 +- addons/web_kanban/static/src/css/kanban.sass | 2 +- addons/web_kanban/static/src/xml/web_kanban.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index f63dd371604..ab7fef3972e 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -74,7 +74,6 @@ .openerp .oe_kanban_view .oe_kanban_group_title { font-size: 16px; font-weight: bold; - min-height: 32px; color: #333333; text-shadow: 0 1px 0 white; } @@ -105,6 +104,7 @@ } .openerp .oe_kanban_view .oe_kanban_aggregates { padding: 0; + margin: 0px; } .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title, .openerp .oe_kanban_view .oe_kanban_group_folded.oe_kanban_column > *, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_aggregates, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_add { display: none; diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index ddafee12581..d282a978cca 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -92,7 +92,6 @@ .oe_kanban_group_title font-size: 16px font-weight: bold - min-height: 32px color: #333333 text-shadow: 0 1px 0 white > span @@ -121,6 +120,7 @@ height: 100% .oe_kanban_aggregates padding: 0 + margin: 0px .oe_kanban_group_folded .oe_kanban_group_title, &.oe_kanban_column > *, .oe_kanban_aggregates, .oe_kanban_add display: none diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index 8a1b27c9726..d2dc41b65a4 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -47,7 +47,7 @@
- () +
    From a71f5132843d94c852fe559ced88598a0c4fdd01 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 12 Sep 2012 17:39:01 +0200 Subject: [PATCH 04/17] [FIX] css login and kanban bzr revid: al@openerp.com-20120912153901-faxihm41n34hn294 --- addons/web/static/src/css/base.css | 5 +++-- addons/web/static/src/css/base.sass | 5 +++-- addons/web_kanban/static/src/css/kanban.css | 5 +++++ addons/web_kanban/static/src/css/kanban.sass | 4 ++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 05cd43db716..e89e35cecf3 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -792,9 +792,10 @@ font-size: 14px; height: 100%; } -.openerp .oe_login li { +.openerp .oe_login ul, .openerp .oe_login li { + margin: 0; list-style-type: none; - padding-bottom: 4px; + padding: 0 0 4px 0; } .openerp .oe_login button { float: right; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index bab3d7c6ad4..e00c1e8401c 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -654,9 +654,10 @@ $sheet-max-width: 860px text-align: center font-size: 14px height: 100% - li + ul, li + margin: 0 list-style-type: none - padding-bottom: 4px + padding: 0 0 4px 0 button float: right display: inline-block diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index ab7fef3972e..48cf725ead3 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -84,6 +84,11 @@ vertical-align: top; padding: 6px 6px 6px 5px; } +.openerp .oe_kanban_view .oe_kanban_column ul, .openerp .oe_kanban_view .oe_kanban_column li, .openerp .oe_kanban_view .oe_kanban_group_header ul, .openerp .oe_kanban_view .oe_kanban_group_header li { + margin: 0; + padding: 0; + list-style-type: none; +} .openerp .oe_kanban_view .oe_kanban_group_header.oe_kanban_no_group { padding: 0px; } diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index d282a978cca..95a63dbd1a2 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -100,6 +100,10 @@ .oe_kanban_column, .oe_kanban_group_header vertical-align: top padding: 6px 6px 6px 5px + ul, li + margin: 0 + padding: 0 + list-style-type: none .oe_kanban_group_header.oe_kanban_no_group padding: 0px From d39593868094e695fa60df1e1f31eb3db3cd4d44 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 12 Sep 2012 17:44:48 +0200 Subject: [PATCH 05/17] [IMP] kanban bzr revid: fp@tinyerp.com-20120912154448-2k7wscbhj6uyjcqy --- addons/web_kanban/static/src/xml/web_kanban.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index d2dc41b65a4..3537e96b4c8 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -49,7 +49,6 @@
-
  • : From f49b54b2e022839e2631efbd4a5815ae3373016d Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 12 Sep 2012 18:29:11 +0200 Subject: [PATCH 06/17] [FIX] Fixed breadcrumb exception when two breadcrumbs are on the same object bzr revid: fme@openerp.com-20120912162911-q3yml2a5x96rmarp --- addons/web/static/src/js/views.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 0ecb10c7fdc..f5bf83c2c29 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -566,7 +566,8 @@ instance.web.ViewManager = instance.web.Widget.extend({ } return controller.get('title'); }); - if (next && next.action && next.action.res_id && self.active_view === 'form' && self.model === next.action.res_model && id === next.action.res_id) { + if (next && next.action && next.action.res_id && self.dataset && + self.active_view === 'form' && self.dataset.model === next.action.res_model && id === next.action.res_id) { // If the current active view is a formview and the next item in the breadcrumbs // is an action on same object (model / res_id), then we omit the current formview's title titles.pop(); From 5a5feab65b611c20fd42ef2ae91700311e37a4bd Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 12 Sep 2012 19:16:24 +0200 Subject: [PATCH 07/17] [IMP] clean CSS and multiiline M2O bzr revid: fp@tinyerp.com-20120912171624-wx9pfhi9qb3vmxs6 --- addons/web/static/src/css/base.css | 5 +++-- addons/web/static/src/css/base.sass | 2 +- addons/web/static/src/js/view_form.js | 12 ++++-------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index e89e35cecf3..b676173ddd8 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -25,6 +25,7 @@ display: none !important; } } + .openerp.openerp_webclient_container { height: 100%; position: relative; @@ -40,7 +41,7 @@ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); /* http://www.quirksmode.org/dom/inputfile.html * http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image - */ + */ */ } .openerp :-moz-placeholder { color: #afafb6 !important; @@ -243,7 +244,7 @@ border-radius: 0 0 2px 2px; } .openerp.ui-dialog .ui-dialog-buttonpane button { - margin: 0; + margin: 0 4px 0 0; } .openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: left; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index e00c1e8401c..c8195506da0 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -266,7 +266,7 @@ $sheet-max-width: 860px margin: 0 @include radius(0 0 2px 2px) button - margin: 0 + margin: 0 4px 0 0 .ui-dialog-buttonset float: left .ui-button diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 0e66ab6bfc3..7d328f012fe 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2954,14 +2954,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc var lines = _.escape(str).split("\n"); var link = ""; var follow = ""; - if (! this.options.highlight_first_line) { - link = lines.join("
    "); - } else { - link = lines[0]; - follow = _.rest(lines).join("
    "); - if (follow) - link += "
    "; - } + link = lines[0]; + follow = _.rest(lines).join("
    "); + if (follow) + link += "
    "; var $link = this.$el.find('.oe_form_uri') .unbind('click') .html(link); From 5d3f9a09d11d861a6eea8c7f5fbacc7dd71626c3 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 12 Sep 2012 19:16:36 +0200 Subject: [PATCH 08/17] [IMP] usability, clean several screens bzr revid: fp@tinyerp.com-20120912171636-53vgvm34u579cmjv --- addons/account/account_installer.xml | 8 +++++-- addons/account/installer.py | 4 ++-- addons/sale/sale_view.xml | 2 +- .../sale/wizard/sale_make_invoice_advance.py | 6 +++--- .../sale/wizard/sale_make_invoice_advance.xml | 21 ++++++++++++------- .../stock/wizard/stock_change_product_qty.py | 2 +- .../wizard/stock_change_product_qty_view.xml | 2 +- 7 files changed, 27 insertions(+), 18 deletions(-) diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml index c92d4eda602..05a51fe0e40 100644 --- a/addons/account/account_installer.xml +++ b/addons/account/account_installer.xml @@ -14,8 +14,12 @@ +

    + Select a configuration package to setup automatically your + taxes and chart of accounts. +

    - + @@ -32,7 +36,7 @@ - Configure your Chart of Accounts + Configure Invoicing Data ir.actions.act_window account.installer diff --git a/addons/account/installer.py b/addons/account/installer.py index 60a34628b1b..6173ea9213e 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -45,12 +45,12 @@ class account_installer(osv.osv_memory): sorted(((m.name, m.shortdesc) for m in modules.browse(cr, uid, ids, context=context)), key=itemgetter(1))) - charts.insert(0, ('configurable', 'Generic Chart Of Accounts')) + charts.insert(0, ('configurable', _('Custom'))) return charts _columns = { # Accounting - 'charts': fields.selection(_get_charts, 'Chart of Accounts', + 'charts': fields.selection(_get_charts, 'Accounting Package', required=True, help="Installs localized accounting charts to match as closely as " "possible the accounting needs of your company based on your " diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 31a37c1a921..af86cf9b218 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -183,7 +183,7 @@ - + diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index a672c6b680a..a2c45bead62 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -28,9 +28,9 @@ class sale_advance_payment_inv(osv.osv_memory): _columns = { 'advance_payment_method':fields.selection( - [('all', 'Invoice all the Sale Order'), ('percentage','Percentage'), ('fixed','Fixed Price'), - ('lines', 'Some Order Lines')], - 'Type', required=True, + [('all', 'Invoice the whole sale order'), ('percentage','Percentage'), ('fixed','Fixed price (deposit)'), + ('lines', 'Some order lines')], + 'Invoice Method', required=True, help="""Use All to create the final invoice. Use Percentage to invoice a percentage of the total amount. Use Fixed Price to invoice a specific amound in advance. diff --git a/addons/sale/wizard/sale_make_invoice_advance.xml b/addons/sale/wizard/sale_make_invoice_advance.xml index 97e9c843683..17821f519a6 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.xml +++ b/addons/sale/wizard/sale_make_invoice_advance.xml @@ -2,12 +2,17 @@ - Advance Invoice + Invoice Order sale.advance.payment.inv -
    + +

    + Select how you want to invoice this order. This + will create a draft invoice that can be modified + before validation. +

    -
    - +