From 90f0071acb93e05f743f05e5e54c1d2541d570fc Mon Sep 17 00:00:00 2001 From: "nel@tinyerp.com" <> Date: Wed, 7 Apr 2010 08:55:02 +0200 Subject: [PATCH 1/2] Merge and FIX VAT declaration basing on stable sources bzr revid: nel@tinyerp.com-20100407065502-62cik4iamvtzm4te --- addons/board_crm_configuration/__terp__.py | 2 +- addons/event/wizard/event_registration.py | 11 +++- addons/l10n_be/company.py | 6 ++- .../wizard/l10n_be_account_vat_declaration.py | 52 ++++++++++--------- .../l10n_be_account_vat_declaration_view.xml | 17 +++--- 5 files changed, 52 insertions(+), 36 deletions(-) diff --git a/addons/board_crm_configuration/__terp__.py b/addons/board_crm_configuration/__terp__.py index 3c303ee2d1c..09bd6e25bc1 100644 --- a/addons/board_crm_configuration/__terp__.py +++ b/addons/board_crm_configuration/__terp__.py @@ -34,7 +34,7 @@ This module implements a dashboard for CRM that includes: * Jobs Tracking (graph) """, 'author': 'Tiny', - 'depends': ['board', 'crm', 'report_crm'], + 'depends': ['board', 'crm'], 'update_xml': ['board_crm_statistical_view.xml', 'board_crm_view.xml'], 'demo_xml': ['board_crm_demo.xml'], 'installable': True, diff --git a/addons/event/wizard/event_registration.py b/addons/event/wizard/event_registration.py index e7252a1a63d..d8087b7a569 100644 --- a/addons/event/wizard/event_registration.py +++ b/addons/event/wizard/event_registration.py @@ -27,6 +27,15 @@ class event_registration_list(osv.osv_memory): _description = "List Event Registrations" def open_registration(self, cr, uid, ids, context={}): + if not context.get('active_id', None): + return { + 'name': 'Event Registrations', + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'event.registration', + 'type': 'ir.actions.act_window' + } + cr.execute('SELECT section_id FROM event_event WHERE id = %s', (context['active_id'],)) res = cr.fetchone() return { @@ -40,4 +49,4 @@ class event_registration_list(osv.osv_memory): event_registration_list() -# 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/l10n_be/company.py b/addons/l10n_be/company.py index 4395f13380e..30435f0fc49 100644 --- a/addons/l10n_be/company.py +++ b/addons/l10n_be/company.py @@ -25,7 +25,7 @@ class res_company(osv.osv): _description = 'res.company' def _get_default_ad(self, addresses): - city = post_code = address = "" + city = post_code = address = country_code = "" for ads in addresses: if ads.type == 'default': city = ads.city or "" @@ -34,7 +34,9 @@ class res_company(osv.osv): address = ads.street or "" if ads.street2: address += " " + ads.street2 - return city, post_code, address + if ads.country_id: + country_code = ads.country_id and ads.country_id.code or "" + return city, post_code, address, country_code res_company() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py index 9dd5ea5b269..4b531438171 100644 --- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py +++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py @@ -18,25 +18,31 @@ # along with this program. If not, see . # ############################################################################## -import base64 +import time +import datetime +import base64 from osv import osv, fields from tools.translate import _ class l10n_be_vat_declaration(osv.osv_memory): - """ Periodical VAT Declaration """ + """ Vat Declaration """ _name = "l1on_be.vat.declaration" _description = "Vat Declaration" _columns = { 'period_id': fields.many2one('account.period','Period', required=True), 'msg': fields.text('File created', size=64, readonly=True), - 'file_save': fields.binary('Save File'), - } + 'file_save' : fields.binary('Save File'), + 'ask_resitution': fields.boolean('Ask Restitution'), + 'ask_payment': fields.boolean('Ask Payment'), + 'client_nihil': fields.boolean('Last Declaration of Entreprise', help = 'Thick this case only if it concerns only the last statement on the civil or cessation of activity') + + } _defaults = { 'msg': lambda *a:'''Save the File with '".xml"' extension.''', - } + } def create_xml(self, cr, uid, ids, context={}): obj_fyear = self.pool.get('account.fiscalyear') @@ -46,12 +52,12 @@ class l10n_be_vat_declaration(osv.osv_memory): obj_comp = self.pool.get('res.company') obj_data = self.pool.get('ir.model.data') - list_of_tags=['00','01','02','03','45','46','47','48','49','54','55','56','57','59','61','62','63','64','71','81','82','83','84','85','86','87','91'] + list_of_tags=['00','01','02','03','44','45','46','47','48','49','54','55','56','57','59','61','62','63','64','71','81','82','83','84','85','86','87','88','91'] obj_company = obj_user.browse(cr, uid, uid, context=context).company_id user_cmpny = obj_company.name vat_no=obj_company.partner_id.vat if not vat_no: - raise osv.except_osv(_('Data Insufficient'),_('No VAT Number Associated with Main Company!')) + raise wizard.except_wizard(_('Data Insufficient'),_('No VAT Number Associated with Main Company!')) tax_code_ids = obj_tax_code.search(cr, uid, [], context=context) ctx = context.copy() @@ -59,50 +65,46 @@ class l10n_be_vat_declaration(osv.osv_memory): ctx['period_id'] = data['period_id'] #added context here tax_info = obj_tax_code.read(cr, uid, tax_code_ids, ['code','sum_period'], context=ctx) - address = post_code = city = '' - if not obj_company.partner_id.address: - address = post_code = city = '' + address = post_code = city = country_code = '' + city, post_code, address, country_code = pooler.get_pool(cr.dbname).get('res.company')._get_default_ad(obj_company.partner_id.address) + - city, post_code, address = obj_comp._get_default_ad(obj_company.partner_id.address) year_id = obj_fyear.find(cr, uid) account_period = obj_acc_period.browse(cr, uid, data['period_id'], context=context) - current_year = account_period.fiscalyear_id.name period_code = account_period.code - send_ref = user_cmpny - if period_code: - send_ref = send_ref + period_code - + send_ref = str(obj_company.partner_id.id) + str(account_period.date_start[5:7]) + str(account_period.date_stop[:4]) data_of_file='\n' data_of_file +='\n\t\n\t\t'+str(vat_no)+'\n\t\t'+str(obj_company.name)+'\n\t\t
'+address+'
' - data_of_file +='\n\t\t'+post_code+'\n\t\t'+city+'\n\t\t'+send_ref+'\n\t
' - data_of_file +='\n\t\n\t\t1\n\t\t'+str(vat_no)+'\n\t\t\n\t\t\t' - + data_of_file +='\n\t\t'+post_code+'\n\t\t'+city+'\n\t\t'+country_code+'\n\t\t'+send_ref+'\n\t' + data_of_file +='\n\t\n\t\t1\n\t\t'+str(vat_no[2:])+'\n\t\t\n\t\t\t' + starting_month = account_period.date_start[5:7] ending_month = account_period.date_stop[5:7] if starting_month != ending_month: #starting month and ending month of selected period are not the same #it means that the accounting isn't based on periods of 1 month but on quarters quarter = str(((int(starting_month) - 1) / 3) + 1) - data_of_file += '' + quarter + '\n\t\t\t' + data_of_file += ''+quarter+'\n\t\t\t' else: - data_of_file += '' + starting_month + '\n\t\t\t' + data_of_file += ''+starting_month+'\n\t\t\t' data_of_file += '' + str(account_period.date_stop[:4]) + '\n\t\t\n\t\t' + data_of_file += '\n\t\t'+ (data['form']['client_nihil'] and 'YES' or 'NO') +'' data_of_file +='\n\t\t\n\t\t\t' for item in tax_info: if item['code']: if item['code'] == '71-72': - item['code'] = '71' + item['code']='71' if item['code'] in list_of_tags: - data_of_file +='\n\t\t\t\t' + str(int(item['sum_period']*100)) + '' + data_of_file +='\n\t\t\t\t' + str(abs(int(item['sum_period']*100))) + '' data_of_file +='\n\t\t\t\n\t\t\n\t\n
' data['file_save'] = base64.encodestring(data_of_file) self.write(cr, uid, ids, {'file_save':data['file_save']}, context=context) - return True + l10n_be_vat_declaration() -# 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/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml b/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml index 56f8b6477f9..62399ae1cba 100644 --- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml +++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration_view.xml @@ -3,9 +3,9 @@ + id="menu_finance_belgian_statement" + name="Belgium Statements" + parent="account.menu_finance_legal_statement"/> Select Period @@ -13,9 +13,12 @@ form
- - -