diff --git a/addons/account/account.py b/addons/account/account.py index ba53475bb30..3c6e9072152 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2610,6 +2610,24 @@ class wizard_multi_charts_accounts(osv.osv_memory): res['value']["purchase_tax"] = purchase_tax_ids and purchase_tax_ids[0] or False return res + def _get_purchase_tax(self, cr, uid, context=None): + ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context) + if ids: + chart_template_id = ids[0] + purchase_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id" + , "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))], order="sequence") + return purchase_tax_ids[0] + return False + + def _get_sale_tax(self, cr, uid, context=None): + ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context) + if ids: + chart_template_id = ids[0] + sale_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id" + , "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))], order="sequence") + return sale_tax_ids[0] + return False + def _get_chart(self, cr, uid, context=None): ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context) if ids: @@ -2626,6 +2644,8 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, [uid], c)[0].company_id.id, 'chart_template_id': _get_chart, 'bank_accounts_id': _get_default_accounts, + 'sale_tax': _get_sale_tax, + 'purchase_tax': _get_purchase_tax, 'code_digits': 6, 'seq_journal': True } diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 645cacd6994..b834ecf12e7 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -945,7 +945,7 @@ class account_move_line(osv.osv): journal_pool = self.pool.get('account.journal') if context is None: context = {} - result = super(osv.osv, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu) + result = super(account_move_line, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu) if view_type != 'tree': #Remove the toolbar from the form view if view_type == 'form': @@ -1044,7 +1044,13 @@ class account_move_line(osv.osv): if field in widths: attrs.append('width="'+str(widths[field])+'"') - attrs.append("invisible=\"context.get('visible_id') not in %s\"" % (fields.get(field))) + + if field in ('journal_id',): + attrs.append("invisible=\"context.get('journal_id', False)\"") + elif field in ('period_id',): + attrs.append("invisible=\"context.get('period_id', False)\"") + else: + attrs.append("invisible=\"context.get('visible_id') not in %s\"" % (fields.get(field))) xml += '''\n''' % (field,' '.join(attrs)) xml += '''''' diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 77e03c23700..46867c8bf23 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -53,7 +53,7 @@ account.analytic.account.tree account.analytic.account tree - child_ids + child_complete_ids diff --git a/addons/account/wizard/account_move_journal.py b/addons/account/wizard/account_move_journal.py index b8095995bdf..47b83bb23f1 100644 --- a/addons/account/wizard/account_move_journal.py +++ b/addons/account/wizard/account_move_journal.py @@ -36,7 +36,7 @@ class account_move_journal(osv.osv_memory): } _defaults = { - 'target_move': 'posted' + 'target_move': 'all' } def _get_period(self, cr, uid, context={}): """ diff --git a/addons/account_anglo_saxon/__openerp__.py b/addons/account_anglo_saxon/__openerp__.py index 6429df21062..7dec56f8766 100644 --- a/addons/account_anglo_saxon/__openerp__.py +++ b/addons/account_anglo_saxon/__openerp__.py @@ -36,7 +36,8 @@ "demo_xml" : [], "update_xml" : ["product_view.xml",], "active" : False, - "installable": True + "installable": True, + "certificate":"00557423080410733581", } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_cancel/__openerp__.py b/addons/account_cancel/__openerp__.py index 6bbf304d440..6c6cc604299 100644 --- a/addons/account_cancel/__openerp__.py +++ b/addons/account_cancel/__openerp__.py @@ -34,6 +34,8 @@ 'demo_xml': [], 'installable': True, 'active': False, + "certificate" : "001101250473177981989", + } diff --git a/addons/account_coda/__openerp__.py b/addons/account_coda/__openerp__.py index 660103e878a..74f490d6dfb 100644 --- a/addons/account_coda/__openerp__.py +++ b/addons/account_coda/__openerp__.py @@ -37,6 +37,7 @@ "account_coda_view.xml"], "active" : False, "installable" : True, + "certificate" : "001237207321716002029", } diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py index 1f21fb3fce3..d1ba90187f5 100644 --- a/addons/analytic/__openerp__.py +++ b/addons/analytic/__openerp__.py @@ -36,5 +36,6 @@ ], 'installable': True, 'active': False, + 'certificate' : "00462253285027988541", } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index a353ca92177..bd3f3ddde0d 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -109,6 +109,20 @@ class account_analytic_account(osv.osv): def _complete_name_calc(self, cr, uid, ids, prop, unknow_none, unknow_dict): res = self.name_get(cr, uid, ids) return dict(res) + + def _child_compute(self, cr, uid, ids, name, arg, context=None): + result = {} + if context is None: + context = {} + + for account in self.browse(cr, uid, ids, context=context): + for child in account.child_ids: + if child.state == 'template': + account.child_ids.pop(account.child_ids.index(child)) + result[account.id] = map(lambda x: x.id, account.child_ids) + + return result + _columns = { 'name': fields.char('Account Name', size=128, required=True), @@ -118,6 +132,7 @@ class account_analytic_account(osv.osv): 'description': fields.text('Description'), 'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2), 'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'), + 'child_complete_ids': fields.function(_child_compute, relation='account.analytic.account', method=True, string="Account Hierarchy", type='many2many'), 'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'), 'balance': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'debit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), diff --git a/addons/base_action_rule/__openerp__.py b/addons/base_action_rule/__openerp__.py index 7891f6e3ae2..7717890afba 100644 --- a/addons/base_action_rule/__openerp__.py +++ b/addons/base_action_rule/__openerp__.py @@ -37,5 +37,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate' : '001017908446466333429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py index 65afc868604..6a52e30de27 100644 --- a/addons/base_calendar/__openerp__.py +++ b/addons/base_calendar/__openerp__.py @@ -45,6 +45,7 @@ "test" : ['test/base_calendar_test.yml'], "installable" : True, "active" : False, + "certificate" : "00694071962960352821", } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/base_contact_installer.py b/addons/base_contact/base_contact_installer.py index febba654350..4568fa25193 100644 --- a/addons/base_contact/base_contact_installer.py +++ b/addons/base_contact/base_contact_installer.py @@ -19,7 +19,6 @@ # ############################################################################## -from lxml import etree from osv import fields, osv class base_contact_installer(osv.osv_memory): diff --git a/addons/base_crypt/__openerp__.py b/addons/base_crypt/__openerp__.py index d6c0bbd82e3..71ea9f14c62 100644 --- a/addons/base_crypt/__openerp__.py +++ b/addons/base_crypt/__openerp__.py @@ -40,4 +40,5 @@ unless you are using a secure protocol such as XML-RPCS. "data" : [], "active": False, "installable": True, + "certificate" : "00721290471310299725", } diff --git a/addons/base_module_doc_rst/base_module_doc_rst.py b/addons/base_module_doc_rst/base_module_doc_rst.py index 57b26fd0d44..06393fa99ff 100644 --- a/addons/base_module_doc_rst/base_module_doc_rst.py +++ b/addons/base_module_doc_rst/base_module_doc_rst.py @@ -23,9 +23,7 @@ import pydot import base64 import report -from osv import fields, osv, orm -import tools -from tools.translate import _ +from osv import fields, osv import addons class module(osv.osv): diff --git a/addons/base_synchro/__openerp__.py b/addons/base_synchro/__openerp__.py index 3bb46827d68..20b468bdc92 100644 --- a/addons/base_synchro/__openerp__.py +++ b/addons/base_synchro/__openerp__.py @@ -32,5 +32,6 @@ "security/ir.model.access.csv",], "active":False, "installable":True, + "certificate" : "00925429283944551453", } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_synchro/base_synchro_obj.py b/addons/base_synchro/base_synchro_obj.py index f71e64cdf77..85ac6f95434 100644 --- a/addons/base_synchro/base_synchro_obj.py +++ b/addons/base_synchro/base_synchro_obj.py @@ -19,8 +19,6 @@ # ############################################################################## from osv import fields,osv -import tools -import re import time class base_synchro_server(osv.osv): diff --git a/addons/base_tools/__openerp__.py b/addons/base_tools/__openerp__.py index 4f9ec18eeb0..9731d95d03c 100644 --- a/addons/base_tools/__openerp__.py +++ b/addons/base_tools/__openerp__.py @@ -12,4 +12,5 @@ 'tools_view.xml' ], "installable": True, + "certificate" : "00571588675379342237" } diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index f84309012cd..bc1a083e041 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -562,8 +562,12 @@ class res_partner(osv.osv): sum = 8 * int(vat[0]) + 7 * int(vat[1]) + 6 * int(vat[2]) + \ 5 * int(vat[3]) + 4 * int(vat[4]) + 3 * int(vat[5]) + \ 2 * int(vat[6]) + 10 * int(vat[7]) + int(vat[8]) - if sum % 97 != 0: - return False + if int(vat[0:3]) > 100: + if sum % 97 not in (0, 55, 42): + return False + else: + if sum % 97 != 0: + return False return True elif len(vat) in (12, 13): try: @@ -1062,4 +1066,4 @@ class res_partner(osv.osv): res_partner() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/caldav/__openerp__.py b/addons/caldav/__openerp__.py index 8f0d00034a8..fe544aad52b 100644 --- a/addons/caldav/__openerp__.py +++ b/addons/caldav/__openerp__.py @@ -62,6 +62,7 @@ ], "installable" : True, "active" : False, + "certificate" : "00924841426645403741", } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/caldav/wizard/caldav_browse.py b/addons/caldav/wizard/caldav_browse.py index dfb7385931f..9e67f972216 100644 --- a/addons/caldav/wizard/caldav_browse.py +++ b/addons/caldav/wizard/caldav_browse.py @@ -176,7 +176,7 @@ configuration _columns = { 'url' : fields.char('Caldav Server', size=264, required=True, help="Url of the caldav server, use for synchronization"), - 'caldav_doc_file':fields.binary('Caldav Document', readonly=True, help="download full caldav Documentation."), + #'doc_link':fields.char('Caldav Documentation', size="264", help="The link to Caldav Online Documentation.", readonly=True), 'description':fields.text('Description', readonly=True) } @@ -218,7 +218,7 @@ configuration file = open(addons.get_module_resource('caldav','doc', 'caldav_doc.pdf'),'rb') res['caldav_doc_file'] = base64.encodestring(file.read()) - + #res['doc_link'] = 'http://doc.openerp.com/' res['url'] = prefix+url return res @@ -237,7 +237,7 @@ class user_preference(osv.osv_memory): 'collection' :fields.many2one('document.directory', "Calendar Collection", required=True, domain = [('calendar_collection', '=', True)]), 'calendar' :fields.many2one('basic.calendar', 'Calendar', required=True), 'service': fields.selection([('webdav','CalDAV')], "Services"), - 'device' : fields.selection([('other', 'Other'), ('iphone', 'iPhone'), ('android', 'Android based device'),('thunderbird', 'Sunbird/Thunderbird'), ('evolution','Evolution')], "Software/Devices") + 'device' : fields.selection([('other', 'Other'), ('iphone', 'iPhone'), ('android', 'Android based device'),('thunderbird', 'Sunbird/Thunderbird'), ('evolution','Evolution')], "Software/Devices"), } def _get_default_calendar(self, cr, uid, context): @@ -260,7 +260,8 @@ class user_preference(osv.osv_memory): 'service': 'webdav', 'collection' : _get_default_collection, 'calendar' : _get_default_calendar, - 'device' : 'other' + 'device' : 'other', + } def open_window(self, cr, uid, ids, context=None): diff --git a/addons/caldav/wizard/caldav_browse_view.xml b/addons/caldav/wizard/caldav_browse_view.xml index dc3e53b0627..0a7e6269fe2 100644 --- a/addons/caldav/wizard/caldav_browse_view.xml +++ b/addons/caldav/wizard/caldav_browse_view.xml @@ -15,11 +15,8 @@ - - -