From 19de91d4b9da23bf27b44b45bca814a5e1ad5405 Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Wed, 15 Feb 2012 17:33:31 +0530 Subject: [PATCH 001/578] [FIX]purchase: removed wait ad wait_auth which unnecessary lp bug: https://launchpad.net/bugs/932059 fixed bzr revid: mma@tinyerp.com-20120215120331-7uc0ybsv90oayfw2 --- addons/purchase/purchase.py | 1 - addons/purchase/purchase_view.xml | 3 +-- addons/purchase_requisition/purchase_requisition.py | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 5432067191d..b7c757c7468 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -143,7 +143,6 @@ class purchase_order(osv.osv): STATE_SELECTION = [ ('draft', 'Request for Quotation'), - ('wait', 'Waiting'), ('confirmed', 'Waiting Approval'), ('approved', 'Approved'), ('except_picking', 'Shipping Exception'), diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index ec53ae76a7a..c72c985d8fa 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -196,13 +196,12 @@ - - - - + + + + ''')).getroot() @@ -104,15 +105,15 @@ class test_view_validation(unittest2.TestCase): assert not valid_att_in_field(invalid_form) assert valid_att_in_field(valid_form) - assert not valid_field_view(invalid_form) - assert valid_field_view(valid_form) + assert not valid_view(invalid_form) + assert valid_view(valid_form) def test_all_label_validation(self): assert not valid_att_in_label(invalid_form) assert valid_att_in_label(valid_form) - assert not valid_label_view(invalid_form) - assert valid_label_view(valid_form) + assert not valid_view(invalid_form) + assert valid_view(valid_form) def test_form_string_validation(self): assert not valid_att_in_form(invalid_form) @@ -153,15 +154,15 @@ class test_view_validation(unittest2.TestCase): assert not valid_type_in_colspan(invalid_form) assert valid_type_in_colspan(valid_form) - assert not valid_colspan_view(invalid_form) - assert valid_colspan_view(valid_form) + assert not valid_view(invalid_form) + assert valid_view(valid_form) def test_col_datatype_validation(self): assert not valid_type_in_col(invalid_form) assert valid_type_in_col(valid_form) - assert not valid_col_view(invalid_form) - assert valid_col_view(valid_form) + assert not valid_view(invalid_form) + assert valid_view(valid_form) if __name__ == '__main__': diff --git a/openerp/tools/view_validation.py b/openerp/tools/view_validation.py index 4bb47c54551..820d6ae96e5 100644 --- a/openerp/tools/view_validation.py +++ b/openerp/tools/view_validation.py @@ -42,41 +42,17 @@ def valid_type_in_col(arch): return False return True -def valid_colspan_view(arch): - for pred in [valid_type_in_colspan]: - if not pred(arch): - return False - return True - -def valid_col_view(arch): - for pred in [valid_type_in_col]: - if not pred(arch): - return False - return True - -def valid_field_view(arch): - for pred in [valid_att_in_field]: - if not pred(arch): - return False - return True - -def valid_label_view(arch): - for pred in [valid_att_in_label]: - if not pred(arch): - return False - return True - def valid_view(arch): if arch.tag == 'form': - for pred in [valid_page_in_book,valid_att_in_form]: + for pred in [valid_page_in_book,valid_att_in_form,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]: if not pred(arch): return False elif arch.tag == 'graph': - for pred in [valid_field_in_graph]: + for pred in [valid_field_in_graph,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]: if not pred(arch): return False elif arch.tag == 'tree': - for pred in [valid_field_in_tree]: + for pred in [valid_field_in_tree,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]: if not pred(arch): return False return True From 739a05c00af20fb0ab69aa333a96b83ca752e243 Mon Sep 17 00:00:00 2001 From: "pso (OpenERP)" Date: Mon, 30 Jul 2012 12:21:32 +0530 Subject: [PATCH 161/578] [IMP] mrp: Removed comment from __openerp__.py bzr revid: pso@tinyerp.com-20120730065132-x50rhei1ya36y3u5 --- addons/mrp/__openerp__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 5f723f1b9df..bdf6f63b755 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -90,8 +90,6 @@ Dashboard provided by this module: 'demo_xml': [ 'mrp_demo.xml', ], - #TODO: This yml tests are needed to be completely reviewed again because the product wood panel is removed in product demo as it does not suit for new demo context of computer and consultant company - # so the ymls are too complex to change at this stage 'test': [ 'test/order_demo.yml', 'test/order_process.yml', From f10270c64a688964ac26b0e269b322f5750babd8 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 15:53:52 +0530 Subject: [PATCH 162/578] [IMP]: crm*: Improved xml_id of demo cases so it can be generic bzr revid: rpa@tinyerp.com-20120730102352-wv3g29qk556mx5zc --- addons/crm/crm_data.xml | 8 +- addons/crm/crm_lead_demo.xml | 74 +++++++++---------- addons/crm/test/process/cancel_lead.yml | 16 ++-- .../crm/test/process/lead2opportunity2win.yml | 34 ++++----- addons/crm/test/ui/crm_demo.yml | 6 +- addons/crm/test/ui/delete_lead.yml | 2 +- addons/crm/test/ui/duplicate_lead.yml | 2 +- .../test/partner_assign.yml | 6 +- addons/crm_todo/crm_todo_demo.xml | 6 +- addons/sale_crm/test/sale_crm.yml | 4 +- 10 files changed, 79 insertions(+), 79 deletions(-) diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml index 88179428ab5..58699da94ce 100644 --- a/addons/crm/crm_data.xml +++ b/addons/crm/crm_data.xml @@ -1,16 +1,16 @@ - + website - + phone - + direct - + email diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index e375fee882e..6dc464013f3 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -5,7 +5,7 @@ Demo Leads --> - + lead @@ -24,7 +24,7 @@ - + lead @@ -44,7 +44,7 @@ - + lead @@ -62,7 +62,7 @@ - + lead @@ -78,7 +78,7 @@ - + lead @@ -97,7 +97,7 @@ - + @@ -117,7 +117,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -153,7 +153,7 @@ - + @@ -171,7 +171,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -194,7 +194,7 @@ - + @@ -209,14 +209,14 @@ @@ -224,7 +224,7 @@ Demo Opportunities --> - + opportunity @@ -239,7 +239,7 @@ - + opportunity @@ -261,7 +261,7 @@ - + opportunity @@ -288,7 +288,7 @@ Kitchen design crm.lead - + html email @@ -298,7 +298,7 @@ Reply crm.lead - + html comment @@ -307,7 +307,7 @@ Reply crm.lead - + html @@ -317,7 +317,7 @@ Reply crm.lead - + html @@ -327,7 +327,7 @@ Your inquiry crm.lead - + html email @@ -335,7 +335,7 @@ - + opportunity @@ -358,7 +358,7 @@ - + opportunity @@ -380,7 +380,7 @@ - + opportunity @@ -397,7 +397,7 @@ - + opportunity @@ -420,7 +420,7 @@ L25 4RL - + opportunity @@ -433,7 +433,7 @@ - + opportunity @@ -446,7 +446,7 @@ - + opportunity @@ -468,7 +468,7 @@ - + opportunity @@ -489,7 +489,7 @@ - + opportunity @@ -511,7 +511,7 @@ - + opportunity @@ -522,7 +522,7 @@ - + opportunity @@ -536,8 +536,8 @@ diff --git a/addons/crm/test/process/cancel_lead.yml b/addons/crm/test/process/cancel_lead.yml index 34dd8310022..86aba99c0e0 100644 --- a/addons/crm/test/process/cancel_lead.yml +++ b/addons/crm/test/process/cancel_lead.yml @@ -2,12 +2,12 @@ I cancel unqualified lead. - !python {model: crm.lead}: | - self.case_cancel(cr, uid, [ref("crm_case_itisatelesalescampaign0")]) + self.case_cancel(cr, uid, [ref("crm_case_1")]) - I check cancelled lead. - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm_case_itisatelesalescampaign0')) + lead = self.browse(cr, uid, ref('crm_case_1')) assert lead.stage_id.id == ref('crm.stage_lead7'), "Stage should be 'Dead' and is %s." % (lead.stage_id.name) assert lead.state == 'cancel', "Opportunity is not in 'cancel' state." assert lead.probability == 0.0, 'Opportunity probability is wrong and should be 0.0.' @@ -15,31 +15,31 @@ I reset cancelled lead into unqualified lead. - !python {model: crm.lead}: | - self.case_reset(cr, uid, [ref("crm_case_itisatelesalescampaign0")]) + self.case_reset(cr, uid, [ref("crm_case_1")]) - I check unqualified lead after reset. - - !assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Lead is in draft state}: + !assert {model: crm.lead, id: crm.crm_case_1, string: Lead is in draft state}: - state == "draft" - I re-open the lead - !python {model: crm.lead}: | - self.case_open(cr, uid, [ref("crm_case_itisatelesalescampaign0")]) + self.case_open(cr, uid, [ref("crm_case_1")]) - I check stage and state of the re-opened lead - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm.crm_case_itisatelesalescampaign0')) + lead = self.browse(cr, uid, ref('crm.crm_case_1')) assert lead.stage_id.id == ref('crm.stage_lead2'), "Opportunity stage should be 'Qualification'." assert lead.state == 'open', "Opportunity should be in 'open' state." - I escalate the lead to parent team. - !python {model: crm.lead}: | - self.case_escalate(cr, uid, [ref("crm_case_itisatelesalescampaign0")]) + self.case_escalate(cr, uid, [ref("crm_case_1")]) - I check the lead is correctly escalated to the parent team. - - !assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Escalate lead to parent team}: + !assert {model: crm.lead, id: crm.crm_case_1, string: Escalate lead to parent team}: - section_id.name == "Sales Department" diff --git a/addons/crm/test/process/lead2opportunity2win.yml b/addons/crm/test/process/lead2opportunity2win.yml index c9ee3916e24..5053ed3088b 100644 --- a/addons/crm/test/process/lead2opportunity2win.yml +++ b/addons/crm/test/process/lead2opportunity2win.yml @@ -4,30 +4,30 @@ I open customer lead. - !python {model: crm.lead}: | - self.case_open(cr, uid, [ref("crm_case_qrecorp0")]) + self.case_open(cr, uid, [ref("crm_case_4")]) - I check lead state is "Open". - - !assert {model: crm.lead, id: crm.crm_case_qrecorp0, string: Lead in open state}: + !assert {model: crm.lead, id: crm.crm_case_4, string: Lead in open state}: - state == "open" - I create partner from lead. - - !record {model: crm.lead2partner, id: crm_lead2partner_id1, context: '{"active_model": "crm.lead", "active_ids": [ref("crm_case_qrecorp0")]}'}: + !record {model: crm.lead2partner, id: crm_lead2partner_id1, context: '{"active_model": "crm.lead", "active_ids": [ref("crm_case_4")]}'}: - !python {model: crm.lead2partner}: | - context.update({'active_model': 'crm.lead', 'active_ids': [ref('crm_case_qrecorp0')], 'active_id': ref('crm_case_qrecorp0')}) + context.update({'active_model': 'crm.lead', 'active_ids': [ref('crm_case_4')], 'active_id': ref('crm_case_4')}) self.make_partner(cr, uid ,[ref("crm_lead2partner_id1")], context=context) - I convert lead into opportunity for exiting customer. - !python {model: crm.lead}: | - self.convert_opportunity(cr, uid ,[ref("crm_case_qrecorp0")], ref("base.res_partner_2")) + self.convert_opportunity(cr, uid ,[ref("crm_case_4")], ref("base.res_partner_2")) - I check details of converted opportunity. - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm_case_qrecorp0')) + lead = self.browse(cr, uid, ref('crm_case_4')) assert lead.type == 'opportunity', 'Lead is not converted to opportunity!' assert lead.partner_id.id == ref("base.res_partner_2"), 'Partner missmatch!' assert lead.stage_id.id == ref("stage_lead1"), 'Stage of opportunity is incorrect!' @@ -36,7 +36,7 @@ - !python {model: crm.opportunity2phonecall}: | import time - context.update({'active_model': 'crm.lead', 'active_ids': [ref('crm_case_qrecorp0')]}) + context.update({'active_model': 'crm.lead', 'active_ids': [ref('crm_case_4')]}) call_id = self.create(cr, uid, {'date': time.strftime('%Y-%m-%d %H:%M:%S'), 'name': "Bonjour M. Jean, Comment êtes-vous? J'ai obtenu votre demande. peut-on parler au sujet de ce pour quelques minutes?"}, context=context) self.action_schedule(cr, uid, [call_id], context=context) @@ -44,28 +44,28 @@ I check that phonecall is scheduled for that opportunity. - !python {model: crm.phonecall}: | - ids = self.search(cr, uid, [('opportunity_id', '=', ref('crm_case_qrecorp0'))]) + ids = self.search(cr, uid, [('opportunity_id', '=', ref('crm_case_4'))]) assert len(ids), 'phonecall is not scheduled' - Now I schedule meeting with customer. - !python {model: crm.lead}: | - self.action_makeMeeting(cr, uid, [ref('crm_case_qrecorp0')]) + self.action_makeMeeting(cr, uid, [ref('crm_case_4')]) - After communicated with customer, I put some notes with contract details. - !python {model: crm.lead}: | - self.message_append_note(cr, uid, [ref('crm_case_qrecorp0')], subject='Test note', body='ces détails envoyés par le client sur ​​le FAX pour la qualité') + self.message_append_note(cr, uid, [ref('crm_case_4')], subject='Test note', body='ces détails envoyés par le client sur ​​le FAX pour la qualité') - I win this opportunity - !python {model: crm.lead}: | - self.case_mark_won(cr, uid, [ref("crm_case_qrecorp0")]) + self.case_mark_won(cr, uid, [ref("crm_case_4")]) - I check details of the opportunity after having won the opportunity. - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm_case_qrecorp0')) + lead = self.browse(cr, uid, ref('crm_case_4')) assert lead.stage_id.id == ref('crm.stage_lead6'), "Opportunity stage should be 'Won'." assert lead.state == 'done', "Opportunity is not in 'done' state!" assert lead.probability == 100.0, "Revenue probability should be 100.0!" @@ -73,14 +73,14 @@ I convert mass lead into opportunity customer. - !python {model: crm.lead2opportunity.partner.mass}: | - context.update({'active_model': 'crm.lead', 'active_ids': [ref("crm_case_employee0"), ref("crm_case_electonicgoodsdealer0")], 'active_id': ref("crm_case_qrecorp0")}) + context.update({'active_model': 'crm.lead', 'active_ids': [ref("crm_case_11"), ref("crm_case_2")], 'active_id': ref("crm_case_4")}) id = self.create(cr, uid, {'user_ids': [ref('base.user_root')], 'section_id': ref('crm.section_sales_department')}, context=context) self.mass_convert(cr, uid, [id], context=context) - Now I check first lead converted on opportunity. - !python {model: crm.lead}: | - opp = self.browse(cr, uid, ref('crm_case_employee0')) + opp = self.browse(cr, uid, ref('crm_case_11')) assert opp.name == "Need Info about Onsite Intervention", "Opportunity name not correct" assert opp.type == 'opportunity', 'Lead is not converted to opportunity!' assert opp.partner_id.name == "Agrolait", 'Partner missmatch!' @@ -89,7 +89,7 @@ Then check for second lead converted on opportunity. - !python {model: crm.lead}: | - opp = self.browse(cr, uid, ref('crm_case_electonicgoodsdealer0')) + opp = self.browse(cr, uid, ref('crm_case_2')) assert opp.name == "Interest in Your New Product", "Opportunity name not correct" assert opp.type == 'opportunity', 'Lead is not converted to opportunity!' assert opp.stage_id.id == ref("stage_lead1"), 'Stage of probability is incorrect!' @@ -97,12 +97,12 @@ I loose the second opportunity - !python {model: crm.lead}: | - self.case_mark_lost(cr, uid, [ref("crm_case_electonicgoodsdealer0")]) + self.case_mark_lost(cr, uid, [ref("crm_case_2")]) - I check details of the opportunity after the loose - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm_case_electonicgoodsdealer0')) + lead = self.browse(cr, uid, ref('crm_case_2')) assert lead.stage_id.id == ref('crm.stage_lead8'), "Opportunity stage should be 'Lost'." assert lead.state == 'cancel', "Lost opportunity is not in 'cancel' state!" assert lead.probability == 0.0, "Revenue probability should be 0.0!" diff --git a/addons/crm/test/ui/crm_demo.yml b/addons/crm/test/ui/crm_demo.yml index 3e53c722b5e..165d2694fd2 100644 --- a/addons/crm/test/ui/crm_demo.yml +++ b/addons/crm/test/ui/crm_demo.yml @@ -1,7 +1,7 @@ - I create lead record to call of partner onchange, stage onchange and Mailing opt-in onchange method. - - !record {model: crm.lead, id: crm_case_shelvehouse}: + !record {model: crm.lead, id: crm_case_25}: name: 'Need more info about your pc2' partner_id: base.res_partner_2 type: opportunity @@ -10,7 +10,7 @@ - I create lead record to call Mailing opt-out onchange method. - - !record {model: crm.lead, id: crm_case_mediapoleunits0}: + !record {model: crm.lead, id: crm_case_18}: name: 'Need 20 Days of Consultancy' type: opportunity state: draft @@ -25,4 +25,4 @@ I setting next stage "New" for the lead. - !python {model: crm.lead}: | - self.stage_next(cr, uid, [ref("crm_case_qrecorp0")], context={'stage_type': 'lead'}) + self.stage_next(cr, uid, [ref("crm_case_4")], context={'stage_type': 'lead'}) diff --git a/addons/crm/test/ui/delete_lead.yml b/addons/crm/test/ui/delete_lead.yml index 472b22d0d2d..49713039f22 100644 --- a/addons/crm/test/ui/delete_lead.yml +++ b/addons/crm/test/ui/delete_lead.yml @@ -2,4 +2,4 @@ I Unlink the Lead. - !python {model: crm.lead}: | - self.unlink(cr, uid, [ref("crm_case_qrecorp0")]) + self.unlink(cr, uid, [ref("crm_case_4")]) diff --git a/addons/crm/test/ui/duplicate_lead.yml b/addons/crm/test/ui/duplicate_lead.yml index 6b349ca350c..b6071ae9f9d 100644 --- a/addons/crm/test/ui/duplicate_lead.yml +++ b/addons/crm/test/ui/duplicate_lead.yml @@ -2,4 +2,4 @@ I make duplicate the Lead. - !python {model: crm.lead}: | - self.copy(cr, uid, ref("crm_case_qrecorp0")) + self.copy(cr, uid, ref("crm_case_4")) diff --git a/addons/crm_partner_assign/test/partner_assign.yml b/addons/crm_partner_assign/test/partner_assign.yml index 3ae36f8c225..bc4cd0d6e57 100644 --- a/addons/crm_partner_assign/test/partner_assign.yml +++ b/addons/crm_partner_assign/test/partner_assign.yml @@ -16,12 +16,12 @@ I assign nearest partner to opportunity. - !python {model: crm.lead}: | - self.assign_partner(cr, uid, [ref('crm.crm_case_abcfuelcounits0')], context=context) + self.assign_partner(cr, uid, [ref('crm.crm_case_19')], context=context) - I check assigned partner of opportunity who is nearest Geo Latitude and Longitude of opportunity. - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm.crm_case_abcfuelcounits0')) + lead = self.browse(cr, uid, ref('crm.crm_case_19')) assert lead.partner_assigned_id.id == ref('base.res_partner_15') , "Opportuniy is not assigned nearest partner" assert 50 < lead.partner_latitude < 55 , "Latitude is wrong" assert -5 < lead.partner_longitude < 0, "Longitude is wrong" @@ -29,7 +29,7 @@ I forward this opportunity to its nearest partner. - !python {model: crm.lead.forward.to.partner}: | - context.update({'active_model': 'crm.lead', 'active_id': ref('crm.crm_case_abcfuelcounits0'), 'active_ids': [ref('crm.crm_case_abcfuelcounits0')]}) + context.update({'active_model': 'crm.lead', 'active_id': ref('crm.crm_case_19'), 'active_ids': [ref('crm.crm_case_19')]}) forward_id = self.create(cr, uid, {'email_from': 'test@openerp.com', 'send_to': 'partner'}, context=context) try: self.action_forward(cr, uid, [forward_id], context=context) diff --git a/addons/crm_todo/crm_todo_demo.xml b/addons/crm_todo/crm_todo_demo.xml index eef41bdc472..cec45141efb 100644 --- a/addons/crm_todo/crm_todo_demo.xml +++ b/addons/crm_todo/crm_todo_demo.xml @@ -3,13 +3,13 @@ - + - + - + diff --git a/addons/sale_crm/test/sale_crm.yml b/addons/sale_crm/test/sale_crm.yml index 8c62b19346b..011fb6ad5a8 100644 --- a/addons/sale_crm/test/sale_crm.yml +++ b/addons/sale_crm/test/sale_crm.yml @@ -19,12 +19,12 @@ - !python {model: crm.make.sale}: | crm_lead = self.pool.get('crm.lead') - crm = crm_lead.browse(cr, uid, ref("crm.crm_case_construstazunits0")) + crm = crm_lead.browse(cr, uid, ref("crm.crm_case_13")) self.makeOrder(cr, uid, [ref("crm_make_sale_0")], {"active_ids": [crm.id], "active_id": crm.id}) - I check that reference number of "Quotation" in opportunity. - !python {model: crm.lead}: | - crm = self.browse(cr, uid, ref("crm.crm_case_construstazunits0")) + crm = self.browse(cr, uid, ref("crm.crm_case_13")) assert crm.ref, "Quotation has not been created." From a6b7f2d1460e003e79b2b40b139c4a0c6afd9369 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 15:59:47 +0530 Subject: [PATCH 163/578] [IMP]: crm*: Improved xml_id of demo phonecalls so it can be generic bzr revid: rpa@tinyerp.com-20120730102947-l10htd1qpqfbmchp --- addons/crm/crm_phonecall_demo.xml | 12 +++++----- .../process/communication_with_customer.yml | 4 ++-- addons/crm/test/process/merge_opportunity.yml | 22 +++++++++---------- addons/crm/test/ui/crm_demo.yml | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/crm/crm_phonecall_demo.xml b/addons/crm/crm_phonecall_demo.xml index 568a50f91f4..59443c55bb4 100644 --- a/addons/crm/crm_phonecall_demo.xml +++ b/addons/crm/crm_phonecall_demo.xml @@ -4,7 +4,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -78,7 +78,7 @@ - + diff --git a/addons/crm/test/process/communication_with_customer.yml b/addons/crm/test/process/communication_with_customer.yml index ec30f024fca..d7b2b578d8a 100644 --- a/addons/crm/test/process/communication_with_customer.yml +++ b/addons/crm/test/process/communication_with_customer.yml @@ -44,14 +44,14 @@ I convert one phonecall request as a customer and put into regular customer list. - !python {model: crm.phonecall2partner}: | - context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_case_phone06")], 'active_id': ref("crm.crm_case_phone06")}) + context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_phonecall_6")], 'active_id': ref("crm.crm_phonecall_6")}) new_id = self.create(cr, uid, {}, context=context) self.make_partner(cr, uid, [new_id], context=context) - I check converted phonecall to partner. - !python {model: res.partner}: | - partner_id = self.search(cr, uid, [('phonecall_ids', '=', ref('crm.crm_case_phone06'))]) + partner_id = self.search(cr, uid, [('phonecall_ids', '=', ref('crm.crm_phonecall_6'))]) assert partner_id, "Customer is not found in regular customer list." data = self.browse(cr, uid, partner_id, context=context)[0] assert data.user_id.id == ref("base.user_root"), "User not assign properly" diff --git a/addons/crm/test/process/merge_opportunity.yml b/addons/crm/test/process/merge_opportunity.yml index c4e939f194e..6d13278eded 100644 --- a/addons/crm/test/process/merge_opportunity.yml +++ b/addons/crm/test/process/merge_opportunity.yml @@ -9,7 +9,7 @@ I make another opportunity from phonecall for same customer. - !python {model: crm.phonecall2opportunity}: | - context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_case_phone06")]}) + context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_phonecall_6")]}) res_id = self.create(cr, uid, {'name': "Quoi de prix de votre autre service?", 'partner_id': ref("base.res_partner_9")}, context=context) self.make_opportunity(cr, uid, [res_id], context=context) - @@ -36,51 +36,51 @@ Now I schedule another phonecall to customer after merged. - !python {model: crm.phonecall2phonecall}: | - context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_case_phone06")], 'active_id': ref("crm.crm_case_phone06")}) + context.update({'active_model': 'crm.phonecall', 'active_ids': [ref("crm.crm_phonecall_6")], 'active_id': ref("crm.crm_phonecall_6")}) res_id = self.create(cr, uid, {'name': "vos chances sont fusionnés en un seul"}, context=context) self.action_schedule(cr, uid, [res_id], context=context) - I schedule meeting on this phonecall. - !python {model: crm.phonecall}: | - self.action_make_meeting(cr, uid, [ref("crm.crm_case_phone06")]) + self.action_make_meeting(cr, uid, [ref("crm.crm_phonecall_6")]) - I set phone call to not held. - !python {model: crm.phonecall}: | - self.case_pending(cr, uid, [ref("crm.crm_case_phone06")]) + self.case_pending(cr, uid, [ref("crm.crm_phonecall_6")]) - I check that the phone call is in 'Not Held' state. - - !assert {model: crm.phonecall, id: crm.crm_case_phone06, string: Phone call held.}: + !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call held.}: - state == "pending" - I cancelled the phone call. - !python {model: crm.phonecall}: | - self.case_cancel(cr, uid, [ref("crm.crm_case_phone06")]) + self.case_cancel(cr, uid, [ref("crm.crm_phonecall_6")]) - I check that the phone call is in 'Cancelled' state. - - !assert {model: crm.phonecall, id: crm.crm_case_phone06, string: Phone call is not cancelled.}: + !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not cancelled.}: - state == "cancel" - I reset the phone call. - !python {model: crm.phonecall}: | - self.case_reset(cr, uid, [ref("crm.crm_case_phone06")]) + self.case_reset(cr, uid, [ref("crm.crm_phonecall_6")]) - I check that the phone call is reset or not. - - !assert {model: crm.phonecall, id: crm.crm_case_phone06, string: Phone call is not reset.}: + !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not reset.}: - state == "open" - I set phone call to held (done). - !python {model: crm.phonecall}: | - self.case_close(cr, uid, [ref("crm.crm_case_phone06")]) + self.case_close(cr, uid, [ref("crm.crm_phonecall_6")]) - I check that the phone call is in 'Held' state. - - !assert {model: crm.phonecall, id: crm.crm_case_phone06, string: Phone call is not held.}: + !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not held.}: - state == "done" diff --git a/addons/crm/test/ui/crm_demo.yml b/addons/crm/test/ui/crm_demo.yml index 165d2694fd2..842b3a4e887 100644 --- a/addons/crm/test/ui/crm_demo.yml +++ b/addons/crm/test/ui/crm_demo.yml @@ -18,7 +18,7 @@ - I create phonecall record to call partner onchange method. - - !record {model: crm.phonecall, id: crm_case_phone05}: + !record {model: crm.phonecall, id: crm_phonecall_5}: name: 'Bad time' partner_id: base.res_partner_5 - From 73f3f24fb4564e9edb7bf4ddede1ccf46aaa94e7 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 12:32:14 +0200 Subject: [PATCH 164/578] [ADD] tests for selection[function] and function fields export bzr revid: xmo@openerp.com-20120730103214-t4s9g0z3sl1x05b3 --- openerp/tests/export_models.py | 19 +++++++++++++++---- openerp/tests/test_export.py | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/openerp/tests/export_models.py b/openerp/tests/export_models.py index d54c73ac4ad..2f85ab473e8 100644 --- a/openerp/tests/export_models.py +++ b/openerp/tests/export_models.py @@ -1,6 +1,16 @@ # -*- coding: utf-8 -*- from openerp.osv import orm, fields +def selection_fn(obj, cr, uid, context=None): + return list(enumerate(["Corge", "Grault", "Wheee", "Moog"])) + +def function_fn(model, cr, uid, ids, field_name, arg, context): + return dict((id, 3) for id in ids) +def function_fn_write(model, cr, uid, id, field_name, field_value, fnct_inv_arg, context): + """ just so CreatorCase.export can be used + """ + pass + models = [ ('boolean', fields.boolean()), ('integer', fields.integer()), @@ -12,13 +22,14 @@ models = [ ('datetime', fields.datetime()), ('text', fields.text()), ('selection', fields.selection([(1, "Foo"), (2, "Bar"), (3, "Qux")])), + ('selection.function', fields.selection(selection_fn)), # just relate to an integer ('many2one', fields.many2one('export.integer')), ('one2many', fields.one2many('export.one2many.child', 'parent_id')), - ('many2many', fields.many2many('export.many2many.other')) - # TODO: function? - # TODO: related? - # TODO: reference? + ('many2many', fields.many2many('export.many2many.other')), + ('function', fields.function(function_fn, fnct_inv=function_fn_write, type="integer")), + # related: specialization of fields.function, should work the same way + # TODO: reference ] for name, field in models: attrs = { diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index ea21cd36a8a..ee4405db75d 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -7,7 +7,7 @@ from . import common, export_models def setUpModule(): - openerp.tools.config['update'] = dict(base=1) + openerp.tools.config['update'] = {'base': 1} openerp.modules.registry.RegistryManager.new( common.DB, update_module=True) @@ -237,6 +237,28 @@ class test_selection(CreatorCase): self.export(2), [[u"Bar"]]) +class test_selection_function(CreatorCase): + model_name = 'export.selection.function' + + def test_empty(self): + self.assertEqual( + self.export(False), + [[False]]) + + def test_value(self): + """ selection functions export the *value* itself + """ + self.assertEqual( + self.export(1), + [[u'1']]) + self.assertEqual( + self.export(3), + [[u'3']]) + # fucking hell + self.assertEqual( + self.export(0), + [[False]]) + class test_m2o(CreatorCase): model_name = 'export.many2one' @@ -518,3 +540,13 @@ class test_m2m(CreatorCase): ]]) # essentially same as o2m, so boring + +class test_function(CreatorCase): + model_name = 'export.function' + + def test_value(self): + """ Exports value normally returned by accessing the function field + """ + self.assertEqual( + self.export(42), + [[u'3']]) From 89a71a0264c8bb1e329fe7cfe3531c1e874828d5 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 16:02:21 +0530 Subject: [PATCH 165/578] [IMP]: crm*: Improved xml_id of demo claims so it can be generic bzr revid: rpa@tinyerp.com-20120730103221-r9hc0nw5i6h3mzm2 --- addons/crm_claim/crm_claim_demo.xml | 14 +++++++------- addons/crm_claim/test/ui/claim_demo.yml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/crm_claim/crm_claim_demo.xml b/addons/crm_claim/crm_claim_demo.xml index f3fbd814f2a..2448fe5d0c5 100644 --- a/addons/crm_claim/crm_claim_demo.xml +++ b/addons/crm_claim/crm_claim_demo.xml @@ -6,7 +6,7 @@ ((((((((((( Demo Cases ))))))))))) --> - + @@ -18,7 +18,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -43,7 +43,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -80,7 +80,7 @@ - + diff --git a/addons/crm_claim/test/ui/claim_demo.yml b/addons/crm_claim/test/ui/claim_demo.yml index 520434fcd90..ad8fdf3aa44 100644 --- a/addons/crm_claim/test/ui/claim_demo.yml +++ b/addons/crm_claim/test/ui/claim_demo.yml @@ -1,7 +1,7 @@ - I create claim record to call of partner onchange method. - - !record {model: crm.claim, id: crm_case_claim04}: + !record {model: crm.claim, id: crm_claim_4}: name: 'Damaged Product' partner_id: base.res_partner_6 - @@ -9,7 +9,7 @@ - !python {model: crm.claim}: | try: - self.message_update(cr, uid,[ref('crm_case_claim04')], {'subject': 'Claim Update record','body_text': 'first training session completed',}) + self.message_update(cr, uid,[ref('crm_claim_4')], {'subject': 'Claim Update record','body_text': 'first training session completed',}) except: pass \ No newline at end of file From b317f621711a3375c9259b8f2e4246c0aa78daba Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 16:05:48 +0530 Subject: [PATCH 166/578] [IMP]: crm*: Improved xml_id of demo fundraising so it can be generic bzr revid: rpa@tinyerp.com-20120730103548-vh5macvl65v8k4wi --- addons/crm_fundraising/crm_fundraising_demo.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/crm_fundraising/crm_fundraising_demo.xml b/addons/crm_fundraising/crm_fundraising_demo.xml index 70b32afabf3..756265acbba 100644 --- a/addons/crm_fundraising/crm_fundraising_demo.xml +++ b/addons/crm_fundraising/crm_fundraising_demo.xml @@ -1,7 +1,7 @@ - + @@ -18,7 +18,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -65,7 +65,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -111,7 +111,7 @@ - + From 6e545461649d0b12cd8eada50f9497e8efcb1cac Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 16:10:03 +0530 Subject: [PATCH 167/578] [IMP]: crm*: Improved xml_id of helpdesk demo so it can be generic bzr revid: rpa@tinyerp.com-20120730104003-ciihejzupemw4yt8 --- addons/crm_helpdesk/crm_helpdesk_demo.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/crm_helpdesk/crm_helpdesk_demo.xml b/addons/crm_helpdesk/crm_helpdesk_demo.xml index c91205fa7e6..1370bf6d906 100644 --- a/addons/crm_helpdesk/crm_helpdesk_demo.xml +++ b/addons/crm_helpdesk/crm_helpdesk_demo.xml @@ -1,7 +1,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -37,7 +37,7 @@ - + From 9b569c06c577b7139617cf2a787b886a5e2813fd Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Mon, 30 Jul 2012 16:16:25 +0530 Subject: [PATCH 168/578] [IMP]: crm*: Improved xml_id of meeting demo bzr revid: rpa@tinyerp.com-20120730104625-7nj00iup0hnqdr4b --- addons/base_calendar/crm_meeting_demo.xml | 12 ++++++------ addons/crm/test/process/lead2opportunity2win.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/base_calendar/crm_meeting_demo.xml b/addons/base_calendar/crm_meeting_demo.xml index ad88c11bb1b..58cc0161769 100644 --- a/addons/base_calendar/crm_meeting_demo.xml +++ b/addons/base_calendar/crm_meeting_demo.xml @@ -6,7 +6,7 @@ --> - + @@ -18,7 +18,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -65,7 +65,7 @@ - + diff --git a/addons/crm/test/process/lead2opportunity2win.yml b/addons/crm/test/process/lead2opportunity2win.yml index 5053ed3088b..ce33a0d2a35 100644 --- a/addons/crm/test/process/lead2opportunity2win.yml +++ b/addons/crm/test/process/lead2opportunity2win.yml @@ -111,7 +111,7 @@ - !python {model: crm.meeting}: | context.update({'active_model': 'crm.meeting'}) - self.case_open(cr, uid, [ref('base_calendar.crm_case_reviewneeds0')]) + self.case_open(cr, uid, [ref('base_calendar.crm_meeting_4')]) - I invite a user for meeting. - From 64910eaebad74019b4d7e0c58621a8487f2c007e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 13:11:05 +0200 Subject: [PATCH 169/578] [ADD] boolean field import tests bzr revid: xmo@openerp.com-20120730111105-k6q8xop0ru71l0dj --- openerp/tests/__init__.py | 3 +- openerp/tests/test_import.py | 95 ++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 openerp/tests/test_import.py diff --git a/openerp/tests/__init__.py b/openerp/tests/__init__.py index 7b30adece79..4b8fa798aea 100644 --- a/openerp/tests/__init__.py +++ b/openerp/tests/__init__.py @@ -9,7 +9,7 @@ See the :ref:`test-framework` section in the :ref:`features` list. """ from . import test_expression, test_ir_sequence, test_orm,\ - test_uninstall, test_export + test_uninstall, test_export, test_import fast_suite = [ test_ir_sequence, @@ -19,6 +19,7 @@ checks = [ test_expression, test_orm, test_export, + test_import, ] # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py new file mode 100644 index 00000000000..4c5af087b2c --- /dev/null +++ b/openerp/tests/test_import.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +import openerp.modules.registry +import openerp + +from . import common, export_models + +def ok(n): + """ Successful import of ``n`` records + + :param int n: number of records which should have been imported + """ + return n, 0, 0, 0 + +def values(seq): + return [item['value'] for item in seq] + +def setupModule(): + openerp.tools.config['update'] = {'base': 1} + openerp.modules.registry.RegistryManager.new( + common.DB, update_module=True) + +class ImporterCase(common.TransactionCase): + model_name = False + + def __init__(self, *args, **kwargs): + super(ImporterCase, self).__init__(*args, **kwargs) + self.model = None + + def setUp(self): + super(ImporterCase, self).setUp() + self.model = self.registry(self.model_name) + + def import_(self, fields, rows, context=None): + return self.model.import_data( + self.cr, openerp.SUPERUSER_ID, fields, rows, context=context) + def read(self, fields=('value',), domain=(), context=None): + return self.model.read( + self.cr, openerp.SUPERUSER_ID, + self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context), + fields=fields, context=context) + +class test_boolean_field(ImporterCase): + model_name = 'export.boolean' + + def test_empty(self): + self.assertEqual( + self.import_(['value'], []), + ok(0)) + + def test_exported(self): + self.assertEqual( + self.import_(['value'], [ + ['False'], + ['True'], + ]), + ok(2)) + records = self.read() + self.assertItemsEqual([ + False, + True, + ], values(records)) + + def test_falses(self): + self.assertEqual( + self.import_(['value'], [ + [u'0'], + [u'off'], + [u'false'], + [u'FALSE'], + [u'OFF'], + ]), + ok(5)) + self.assertItemsEqual([ + False, + False, + False, + False, + False, + ], + values(self.read())) + + def test_trues(self): + self.assertEqual( + self.import_(['value'], [ + ['no'], + ['None'], + ['nil'], + ['()'], + ['f'], + ['#f'], + ]), + ok(6)) + self.assertItemsEqual( + [True] * 6, + values(self.read())) From 59193b0c0fdcffb05e1a25a01f083bbf5b8d924d Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 13:36:33 +0200 Subject: [PATCH 170/578] [ADD] empty record/field case to booleans bzr revid: xmo@openerp.com-20120730113633-tauioxm941k0iaqn --- openerp/tests/test_import.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 4c5af087b2c..e29cc8a3ad9 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -55,7 +55,7 @@ class test_boolean_field(ImporterCase): ]), ok(2)) records = self.read() - self.assertItemsEqual([ + self.assertEqual([ False, True, ], values(records)) @@ -68,9 +68,11 @@ class test_boolean_field(ImporterCase): [u'false'], [u'FALSE'], [u'OFF'], + [u''], ]), - ok(5)) - self.assertItemsEqual([ + ok(6)) + self.assertEqual([ + False, False, False, False, @@ -90,6 +92,7 @@ class test_boolean_field(ImporterCase): ['#f'], ]), ok(6)) - self.assertItemsEqual( + self.assertEqual( [True] * 6, values(self.read())) + From 6af9bb41598dfdc03721fe228fb4c5f972335361 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 14:22:43 +0200 Subject: [PATCH 171/578] [TEST] integers import bzr revid: xmo@openerp.com-20120730122243-wjpalm6ovwuk6k5c --- openerp/tests/test_import.py | 88 +++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index e29cc8a3ad9..c38517a6f07 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -11,6 +11,18 @@ def ok(n): """ return n, 0, 0, 0 +def error(row, message, record=None, **kwargs): + """ Failed import of the record ``record`` at line ``row``, with the error + message ``message`` + + :param str message: + :param dict record: + """ + return ( + -1, dict(record or {}, **kwargs), + "Line %d : %s\n" % (row, message), + '') + def values(seq): return [item['value'] for item in seq] @@ -90,9 +102,81 @@ class test_boolean_field(ImporterCase): ['()'], ['f'], ['#f'], + # Problem: OpenOffice (and probably excel) output localized booleans + ['VRAI'], ]), - ok(6)) + ok(7)) self.assertEqual( - [True] * 6, + [True] * 7, values(self.read())) +class test_integer_field(ImporterCase): + model_name = 'export.integer' + + def test_none(self): + self.assertEqual( + self.import_(['value'], []), + ok(0)) + + def test_empty(self): + self.assertEqual( + self.import_(['value'], [['']]), + ok(1)) + self.assertEqual( + [False], + values(self.read())) + + def test_zero(self): + self.assertEqual( + self.import_(['value'], [['0']]), + ok(1)) + self.assertEqual( + self.import_(['value'], [['-0']]), + ok(1)) + self.assertEqual([False, False], values(self.read())) + + def test_positives(self): + self.assertEqual( + self.import_(['value'], [ + ['1'], + ['42'], + [str(2**31-1)], + ['12345678'] + ]), + ok(4)) + self.assertEqual([ + 1, 42, 2**31-1, 12345678 + ], values(self.read())) + + def test_negatives(self): + self.assertEqual( + self.import_(['value'], [ + ['-1'], + ['-42'], + [str(-(2**31 - 1))], + [str(-(2**31))], + ['-12345678'] + ]), + ok(5)) + self.assertEqual([ + -1, -42, -(2**31 - 1), -(2**31), -12345678 + ], values(self.read())) + + def test_out_of_range(self): + self.assertEqual( + self.import_(['value'], [[str(2**31)]]), + error(1, "integer out of range", value=2**31)) + # auto-rollbacks if error is in process_liness, but not during + # ir.model.data write. Can differentiate because former ends lines + # error lines with "!" + self.cr.rollback() + self.assertEqual( + self.import_(['value'], [[str(-2**32)]]), + error(1, "integer out of range", value=-2**32)) + + + def test_nonsense(self): + # dafuq? why does that one raise an error? + self.assertRaises( + ValueError, + self.import_, ['value'], [['zorglub']]) From 5cd867c083a307d8afff20aad4d8a921b4f5984c Mon Sep 17 00:00:00 2001 From: "pso (OpenERP)" Date: Mon, 30 Jul 2012 18:17:15 +0530 Subject: [PATCH 172/578] [IMP] mrp_jit: Changed product and improved message bzr revid: pso@tinyerp.com-20120730124715-njq1wk7sz5hvmue9 --- addons/mrp_jit/test/mrp_jit.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mrp_jit/test/mrp_jit.yml b/addons/mrp_jit/test/mrp_jit.yml index 8a375a70ed6..0580de9d9ec 100644 --- a/addons/mrp_jit/test/mrp_jit.yml +++ b/addons/mrp_jit/test/mrp_jit.yml @@ -1,13 +1,13 @@ - - In order to test mrp_jit module with OpenERP, I create manufacturing order - and check whether the procurement order run without scheduler or not. + In order to test mrp_jit module with OpenERP, I create procurement order + and check whether it runs without scheduler or not. - !record {model: procurement.order, id: mrp_production_mo0}: company_id: base.main_company date_planned: !eval datetime.today().strftime("%Y-%m-%d %H:%M:%S") location_id: stock.stock_location_stock name: PROC/TEST/0001 - product_id: product.product_product_4 + product_id: product.product_product_16 product_qty: 10.0 product_uom: product.product_uom_unit product_uos_qty: 0.0 From 51e1d956aed14d1039999e18ed1e89ce0e12db84 Mon Sep 17 00:00:00 2001 From: "pso (OpenERP)" Date: Mon, 30 Jul 2012 18:49:26 +0530 Subject: [PATCH 173/578] [IMP] mrp_jit: Changed id and improved message bzr revid: pso@tinyerp.com-20120730131926-h9ptbsfgfogncl57 --- addons/mrp_jit/test/mrp_jit.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/mrp_jit/test/mrp_jit.yml b/addons/mrp_jit/test/mrp_jit.yml index 0580de9d9ec..4b847c4608d 100644 --- a/addons/mrp_jit/test/mrp_jit.yml +++ b/addons/mrp_jit/test/mrp_jit.yml @@ -1,8 +1,8 @@ - - In order to test mrp_jit module with OpenERP, I create procurement order - and check whether it runs without scheduler or not. + In order to test mrp_jit module with OpenERP, I create procurement order for + Computer Case product and check whether it runs without scheduler or not. - - !record {model: procurement.order, id: mrp_production_mo0}: + !record {model: procurement.order, id: procurement_order_test1}: company_id: base.main_company date_planned: !eval datetime.today().strftime("%Y-%m-%d %H:%M:%S") location_id: stock.stock_location_stock @@ -15,10 +15,10 @@ | I confirm the procurement order PROC/TEST/0001. - - !workflow {model: procurement.order, action: button_confirm, ref: mrp_production_mo0} + !workflow {model: procurement.order, action: button_confirm, ref: procurement_order_test1} - | I check that the procurement is scheduled automatically. - - !assert {model: procurement.order, id: mrp_production_mo0, string: procstate}: + !assert {model: procurement.order, id: procurement_order_test1, string: procstate}: - state<>'confirmed' From 1cf264cfd4ae468653f5aade0786f522a459bf58 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 16:28:51 +0200 Subject: [PATCH 174/578] [TEST] char and text fields bzr revid: xmo@openerp.com-20120730142851-6854x99l4sxmoc0s --- openerp/tests/test_import.py | 125 +++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index c38517a6f07..7fef60876e0 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -180,3 +180,128 @@ class test_integer_field(ImporterCase): self.assertRaises( ValueError, self.import_, ['value'], [['zorglub']]) + +class test_float_field(ImporterCase): + model_name = 'export.float' + def test_none(self): + self.assertEqual( + self.import_(['value'], []), + ok(0)) + + def test_empty(self): + self.assertEqual( + self.import_(['value'], [['']]), + ok(1)) + self.assertEqual( + [False], + values(self.read())) + + def test_zero(self): + self.assertEqual( + self.import_(['value'], [['0']]), + ok(1)) + self.assertEqual( + self.import_(['value'], [['-0']]), + ok(1)) + self.assertEqual([False, False], values(self.read())) + + def test_positives(self): + self.assertEqual( + self.import_(['value'], [ + ['1'], + ['42'], + [str(2**31-1)], + ['12345678'], + [str(2**33)], + ['0.000001'], + ]), + ok(6)) + self.assertEqual([ + 1, 42, 2**31-1, 12345678, 2.0**33, .000001 + ], values(self.read())) + + def test_negatives(self): + self.assertEqual( + self.import_(['value'], [ + ['-1'], + ['-42'], + [str(-2**31 + 1)], + [str(-2**31)], + ['-12345678'], + [str(-2**33)], + ['-0.000001'], + ]), + ok(7)) + self.assertEqual([ + -1, -42, -(2**31 - 1), -(2**31), -12345678, -2.0**33, -.000001 + ], values(self.read())) + + def test_nonsense(self): + self.assertRaises( + ValueError, + self.import_, ['value'], [['foobar']]) + +class test_string_field(ImporterCase): + model_name = 'export.string.bounded' + + def test_empty(self): + self.assertEqual( + self.import_(['value'], [['']]), + ok(1)) + self.assertEqual([False], values(self.read())) + + def test_imported(self): + self.assertEqual( + self.import_(['value'], [ + [u'foobar'], + [u'foobarbaz'], + [u'Með suð í eyrum við spilum endalaust'], + [u"People 'get' types. They use them all the time. Telling " + u"someone he can't pound a nail with a banana doesn't much " + u"surprise him."] + ]), + ok(4)) + self.assertEqual([ + u"foobar", + u"foobarbaz", + u"Með suð í eyrum ", + u"People 'get' typ", + ], values(self.read())) + +class test_unbound_string_field(ImporterCase): + model_name = 'export.string' + + def test_imported(self): + self.assertEqual( + self.import_(['value'], [ + [u'í dag viðrar vel til loftárása'], + # ackbar.jpg + [u"If they ask you about fun, you tell them – fun is a filthy" + u" parasite"] + ]), + ok(2)) + self.assertEqual([ + u"í dag viðrar vel til loftárása", + u"If they ask you about fun, you tell them – fun is a filthy parasite" + ], values(self.read())) + +class test_text(ImporterCase): + model_name = 'export.text' + + def test_empty(self): + self.assertEqual( + self.import_(['value'], [['']]), + ok(1)) + self.assertEqual([False], values(self.read())) + + def test_imported(self): + s = (u"Breiðskífa er notað um útgefna hljómplötu sem inniheldur " + u"stúdíóupptökur frá einum flytjanda. Breiðskífur eru oftast " + u"milli 25-80 mínútur og er lengd þeirra oft miðuð við 33⅓ " + u"snúninga 12 tommu vínylplötur (sem geta verið allt að 30 mín " + u"hvor hlið).\n\nBreiðskífur eru stundum tvöfaldar og eru þær þá" + u" gefnar út á tveimur geisladiskum eða tveimur vínylplötum.") + self.assertEqual( + self.import_(['value'], [[s]]), + ok(1)) + self.assertEqual([s], values(self.read())) From 5b5148b925e5750036257c33426faa41c5f61486 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 17:28:44 +0200 Subject: [PATCH 175/578] [TEST] selection fields import bzr revid: xmo@openerp.com-20120730152844-xob3ezlw0qpb1kxc --- openerp/tests/test_export.py | 2 ++ openerp/tests/test_import.py | 49 +++++++++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index ee4405db75d..01d0fbc7726 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -237,6 +237,8 @@ class test_selection(CreatorCase): self.export(2), [[u"Bar"]]) + # TODO: localized export! + class test_selection_function(CreatorCase): model_name = 'export.selection.function' diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 7fef60876e0..9c817236cf2 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -20,7 +20,7 @@ def error(row, message, record=None, **kwargs): """ return ( -1, dict(record or {}, **kwargs), - "Line %d : %s\n" % (row, message), + "Line %d : %s" % (row, message), '') def values(seq): @@ -165,14 +165,14 @@ class test_integer_field(ImporterCase): def test_out_of_range(self): self.assertEqual( self.import_(['value'], [[str(2**31)]]), - error(1, "integer out of range", value=2**31)) + error(1, "integer out of range\n", value=2**31)) # auto-rollbacks if error is in process_liness, but not during # ir.model.data write. Can differentiate because former ends lines # error lines with "!" self.cr.rollback() self.assertEqual( self.import_(['value'], [[str(-2**32)]]), - error(1, "integer out of range", value=-2**32)) + error(1, "integer out of range\n", value=-2**32)) def test_nonsense(self): @@ -305,3 +305,46 @@ class test_text(ImporterCase): self.import_(['value'], [[s]]), ok(1)) self.assertEqual([s], values(self.read())) + +class test_selection(ImporterCase): + model_name = 'export.selection' + + def test_imported(self): + self.assertEqual( + self.import_(['value'], [ + ['Qux'], + ['Bar'], + ['Foo'], + [2], + ]), + ok(4)) + self.assertEqual([3, 2, 1, 2], values(self.read())) + + def test_invalid(self): + self.assertEqual( + self.import_(['value'], [['Baz']]), + error(1, "Key/value 'Baz' not found in selection field 'value'", + # what the fuck? + value=False)) + +class test_selection_function(ImporterCase): + model_name = 'export.selection.function' + + def test_imported(self): + """ By what bloody magic does that thing work? + + => import uses fields_get, so translates import label (may or may not + be good news) *and* serializes the selection function to reverse + it: import does not actually know that the selection field uses a + function + """ + # TODO: localized import + self.assertEqual( + self.import_(['value'], [ + [3], + ["Grault"], + ]), + ok(2)) + self.assertEqual( + ['3', '1'], + values(self.read())) From 496177a9b1a8fbd517bf8faf453b8ac04a1e996c Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 17:30:17 +0200 Subject: [PATCH 176/578] [TEST] incorrect value for selection field import bzr revid: xmo@openerp.com-20120730153017-iywveudrq5h0ykef --- openerp/tests/test_import.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 9c817236cf2..c87f65c4c6e 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -326,6 +326,11 @@ class test_selection(ImporterCase): error(1, "Key/value 'Baz' not found in selection field 'value'", # what the fuck? value=False)) + self.cr.rollback() + self.assertEqual( + self.import_(['value'], [[42]]), + error(1, "Key/value '42' not found in selection field 'value'", + value=False)) class test_selection_function(ImporterCase): model_name = 'export.selection.function' From f8822ae313e380f72f5aff23b7f61d2f73939764 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 18:23:18 +0200 Subject: [PATCH 177/578] [TEST] m2o import bzr revid: xmo@openerp.com-20120730162318-qwxncgvizrifgxyh --- openerp/tests/export_models.py | 8 ++- openerp/tests/test_import.py | 106 +++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) diff --git a/openerp/tests/export_models.py b/openerp/tests/export_models.py index 2f85ab473e8..277814808b4 100644 --- a/openerp/tests/export_models.py +++ b/openerp/tests/export_models.py @@ -42,7 +42,13 @@ for name, field in models: '_defaults': {'const': 4}, 'name_get': (lambda self, cr, uid, ids, context=None: [(record.id, "%s:%s" % (self._name, record.value)) - for record in self.browse(cr, uid, ids, context=context)]) + for record in self.browse(cr, uid, ids, context=context)]), + 'name_search': (lambda self, cr, uid, name, operator, context=None: + self.name_get(cr, uid, + self.search(cr, uid, [['value', operator, int(name.split(':')[1])]]) + , context=context) + if isinstance(name, basestring) and name.split(':')[0] == self._name + else []) } NewModel = type( 'Export%s' % ''.join(section.capitalize() for section in name.split('.')), diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index c87f65c4c6e..90e14375540 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -50,6 +50,12 @@ class ImporterCase(common.TransactionCase): self.cr, openerp.SUPERUSER_ID, self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context), fields=fields, context=context) + def browse(self, domain=(), context=None): + return self.model.browse( + self.cr, openerp.SUPERUSER_ID, + self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context), + context=context) + class test_boolean_field(ImporterCase): model_name = 'export.boolean' @@ -353,3 +359,103 @@ class test_selection_function(ImporterCase): self.assertEqual( ['3', '1'], values(self.read())) + +class test_o2m(ImporterCase): + model_name = 'export.many2one' + + def test_by_name(self): + # create integer objects + integer_id1 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + integer_id2 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 36}) + # get its name + name1 = dict(self.registry('export.integer').name_get( + self.cr, openerp.SUPERUSER_ID,[integer_id1]))[integer_id1] + name2 = dict(self.registry('export.integer').name_get( + self.cr, openerp.SUPERUSER_ID,[integer_id2]))[integer_id2] + + self.assertEqual( + self.import_(['value'], [ + # import by name_get + [name1], + [name1], + [name2], + ]), + ok(3)) + # correct ids assigned to corresponding records + self.assertEqual([ + (integer_id1, name1), + (integer_id1, name1), + (integer_id2, name2),], + values(self.read())) + + # TODO: test import by xid + + def test_by_id(self): + integer_id = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + self.assertEqual( + self.import_(['value/.id'], [[integer_id]]), + ok(1)) + b = self.browse() + self.assertEqual(42, b[0].value.value) + + def test_by_names(self): + integer_id1 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + integer_id2 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + name1 = dict(self.registry('export.integer').name_get( + self.cr, openerp.SUPERUSER_ID,[integer_id1]))[integer_id1] + name2 = dict(self.registry('export.integer').name_get( + self.cr, openerp.SUPERUSER_ID,[integer_id2]))[integer_id2] + # names should be the same + self.assertEqual(name1, name2) + + self.assertEqual( + self.import_(['value'], [[name2]]), + ok(1)) + # FIXME: is it really normal import does not care for name_search collisions? + self.assertEqual([ + (integer_id1, name1) + ], values(self.read())) + + def test_fail_by_implicit_id(self): + """ Can't implicitly import records by id + """ + # create integer objects + integer_id1 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + integer_id2 = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 36}) + + self.assertRaises( + ValueError, # Because name_search all the things. Fallback schmallback + self.import_, ['value'], [ + # import by id, without specifying it + [integer_id1], + [integer_id2], + [integer_id1], + ]) + + def test_sub_field(self): + """ Does not implicitly create the record, does not warn that you can't + import m2o subfields (at all)... + """ + self.assertRaises( + ValueError, # No record found for 42, name_searches the bloody thing + self.import_, ['value/value'], [['42']]) + + def test_fail_noids(self): + self.assertRaises( + ValueError, + self.import_, ['value'], [['nameisnoexist:3']]) + self.cr.rollback() + self.assertRaises( + ValueError, + self.import_, ['value/id'], [['noxidhere']]), + self.cr.rollback() + self.assertRaises( + Exception, # FIXME: Why can't you be a ValueError like everybody else? + self.import_, ['value/.id'], [[66]]) From a3542213bc80ab9247e70a4f1353da6e36dd8266 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 30 Jul 2012 18:53:30 +0200 Subject: [PATCH 178/578] [TEST] ids handling on main record bzr revid: xmo@openerp.com-20120730165330-lm4l1yzfjduajb1p --- openerp/tests/test_import.py | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 90e14375540..2305928a12e 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -56,6 +56,38 @@ class ImporterCase(common.TransactionCase): self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context), context=context) +class test_ids_stuff(ImporterCase): + model_name = 'export.integer' + + def test_create_with_id(self): + self.assertRaises( + Exception, # dammit + self.import_, ['.id', 'value'], [['42', '36']]) + def test_create_with_xid(self): + self.assertEqual( + self.import_(['id', 'value'], [['somexmlid', '42']]), + ok(1)) + # TODO: get xid back, check that it is correct? + + def test_update_with_id(self): + id = self.model.create(self.cr, openerp.SUPERUSER_ID, {'value': 36}) + self.assertEqual( + 36, + self.model.browse(self.cr, openerp.SUPERUSER_ID, id).value) + + self.assertEqual( + self.import_(['.id', 'value'], [[str(id), '42']]), + ok(1)) + self.assertEqual( + [42], # updated value to imported + values(self.read())) + + def test_update_with_xid(self): + self.import_(['id', 'value'], [['somexmlid', '36']]) + self.assertEqual([36], values(self.read())) + + self.import_(['id', 'value'], [['somexmlid', '1234567']]) + self.assertEqual([1234567], values(self.read())) class test_boolean_field(ImporterCase): model_name = 'export.boolean' @@ -459,3 +491,8 @@ class test_o2m(ImporterCase): self.assertRaises( Exception, # FIXME: Why can't you be a ValueError like everybody else? self.import_, ['value/.id'], [[66]]) +# TODO: M2M +# TODO: O2M + +# function, related, reference: written to db as-is... +# => function uses @type for value coercion/conversion From 415f27d1c664f89f23e116e4e473f2424012caf2 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Tue, 31 Jul 2012 12:26:58 +0530 Subject: [PATCH 179/578] [IMP]: crm: Improved xml in lead demo file bzr revid: rpa@tinyerp.com-20120731065658-i231cyioeewrz6ic --- addons/crm/crm_lead_demo.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index 6dc464013f3..e49391e6124 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -288,7 +288,7 @@ Kitchen design crm.lead - + html email @@ -298,7 +298,7 @@ Reply crm.lead - + html comment @@ -307,7 +307,7 @@ Reply crm.lead - + html @@ -317,7 +317,7 @@ Reply crm.lead - + html @@ -327,7 +327,7 @@ Your inquiry crm.lead - + html email From 6bad3e84fb1093b3e9c1a3c99bea3cc19fd95e2e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 Jul 2012 12:39:08 +0200 Subject: [PATCH 180/578] [TEST] m2o import link by xid bzr revid: xmo@openerp.com-20120731103908-p1apmrx3ifnodz0f --- openerp/tests/test_import.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 2305928a12e..0b0d8fe4d0d 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -392,7 +392,7 @@ class test_selection_function(ImporterCase): ['3', '1'], values(self.read())) -class test_o2m(ImporterCase): +class test_m2o(ImporterCase): model_name = 'export.many2one' def test_by_name(self): @@ -422,7 +422,21 @@ class test_o2m(ImporterCase): (integer_id2, name2),], values(self.read())) - # TODO: test import by xid + def test_by_xid(self): + integer_id = self.registry('export.integer').create( + self.cr, openerp.SUPERUSER_ID, {'value': 42}) + self.registry('ir.model.data').create(self.cr, openerp.SUPERUSER_ID, { + 'name': 'export-integer-value', + 'model': 'export.integer', + 'res_id': integer_id, + 'module': 'test-export' + }) + + self.assertEqual( + self.import_(['value/id'], [['test-export.export-integer-value']]), + ok(1)) + b = self.browse() + self.assertEqual(42, b[0].value.value) def test_by_id(self): integer_id = self.registry('export.integer').create( @@ -491,7 +505,9 @@ class test_o2m(ImporterCase): self.assertRaises( Exception, # FIXME: Why can't you be a ValueError like everybody else? self.import_, ['value/.id'], [[66]]) + # TODO: M2M + # TODO: O2M # function, related, reference: written to db as-is... From ac647909bf97d6caf2ddc74b4daad6cea7752645 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 Jul 2012 15:54:49 +0200 Subject: [PATCH 181/578] [TEST] m2m import bzr revid: xmo@openerp.com-20120731135449-i07ex1zswepen3wt --- openerp/tests/export_models.py | 6 ++ openerp/tests/test_export.py | 2 +- openerp/tests/test_import.py | 135 ++++++++++++++++++++++++++++++--- 3 files changed, 132 insertions(+), 11 deletions(-) diff --git a/openerp/tests/export_models.py b/openerp/tests/export_models.py index 277814808b4..3bb5cf0c6d2 100644 --- a/openerp/tests/export_models.py +++ b/openerp/tests/export_models.py @@ -117,3 +117,9 @@ class Many2ManyChild(orm.Model): def name_get(self, cr, uid, ids, context=None): return [(record.id, "%s:%s" % (self._name, record.value)) for record in self.browse(cr, uid, ids, context=context)] + def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100): + return (self.name_get(cr, user, + self.search(cr, user, [['value', operator, int(name.split(':')[1])]]) + , context=context) + if isinstance(name, basestring) and name.split(':')[0] == self._name + else []) diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index 01d0fbc7726..d693de01993 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -537,7 +537,7 @@ class test_m2m(CreatorCase): def test_multiple_records_name(self): self.assertEqual( self.export(self.commands, fields=['const', 'value']), - [[ + [[ # FIXME: hardcoded comma, import uses config.csv_internal_sep u'4', u','.join(self.names) ]]) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 0b0d8fe4d0d..b275db520c8 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -56,6 +56,30 @@ class ImporterCase(common.TransactionCase): self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context), context=context) + def xid(self, record): + ModelData = self.registry('ir.model.data') + + ids = ModelData.search( + self.cr, openerp.SUPERUSER_ID, + [('model', '=', record._table_name), ('res_id', '=', record.id)]) + if ids: + d = ModelData.read( + self.cr, openerp.SUPERUSER_ID, ids, ['name', 'module'])[0] + if d['module']: + return '%s.%s' % (d['module'], d['name']) + return d['name'] + + name = dict(record.name_get())[record.id] + # fix dotted name_get results, otherwise xid lookups blow up + name = name.replace('.', '-') + ModelData.create(self.cr, openerp.SUPERUSER_ID, { + 'name': name, + 'model': record._table_name, + 'res_id': record.id, + 'module': '__test__' + }) + return '__test__.' + name + class test_ids_stuff(ImporterCase): model_name = 'export.integer' @@ -67,7 +91,9 @@ class test_ids_stuff(ImporterCase): self.assertEqual( self.import_(['id', 'value'], [['somexmlid', '42']]), ok(1)) - # TODO: get xid back, check that it is correct? + self.assertEqual( + 'somexmlid', + self.xid(self.browse()[0])) def test_update_with_id(self): id = self.model.create(self.cr, openerp.SUPERUSER_ID, {'value': 36}) @@ -423,17 +449,14 @@ class test_m2o(ImporterCase): values(self.read())) def test_by_xid(self): - integer_id = self.registry('export.integer').create( + ExportInteger = self.registry('export.integer') + integer_id = ExportInteger.create( self.cr, openerp.SUPERUSER_ID, {'value': 42}) - self.registry('ir.model.data').create(self.cr, openerp.SUPERUSER_ID, { - 'name': 'export-integer-value', - 'model': 'export.integer', - 'res_id': integer_id, - 'module': 'test-export' - }) + xid = self.xid(ExportInteger.browse( + self.cr, openerp.SUPERUSER_ID, [integer_id])[0]) self.assertEqual( - self.import_(['value/id'], [['test-export.export-integer-value']]), + self.import_(['value/id'], [[xid]]), ok(1)) b = self.browse() self.assertEqual(42, b[0].value.value) @@ -506,7 +529,99 @@ class test_m2o(ImporterCase): Exception, # FIXME: Why can't you be a ValueError like everybody else? self.import_, ['value/.id'], [[66]]) -# TODO: M2M +class test_m2m(ImporterCase): + model_name = 'export.many2many' + + # apparently, one and only thing which works is a + # csv_internal_sep-separated list of ids, xids, or names (depending if + # m2m/.id, m2m/id or m2m[/anythingelse] + def test_ids(self): + id1 = self.registry('export.many2many.other').create( + self.cr, openerp.SUPERUSER_ID, {'value': 3, 'str': 'record0'}) + id2 = self.registry('export.many2many.other').create( + self.cr, openerp.SUPERUSER_ID, {'value': 44, 'str': 'record1'}) + id3 = self.registry('export.many2many.other').create( + self.cr, openerp.SUPERUSER_ID, {'value': 84, 'str': 'record2'}) + id4 = self.registry('export.many2many.other').create( + self.cr, openerp.SUPERUSER_ID, {'value': 9, 'str': 'record3'}) + id5 = self.registry('export.many2many.other').create( + self.cr, openerp.SUPERUSER_ID, {'value': 99, 'str': 'record4'}) + + self.assertEqual( + self.import_(['value/.id'], [ + ['%d,%d' % (id1, id2)], + ['%d,%d,%d' % (id1, id3, id4)], + ['%d,%d,%d' % (id1, id2, id3)], + ['%d' % id5] + ]), + ok(4)) + ids = lambda records: [record.id for record in records] + + b = self.browse() + self.assertEqual(ids(b[0].value), [id1, id2]) + self.assertEqual(values(b[0].value), [3, 44]) + + self.assertEqual(ids(b[2].value), [id1, id2, id3]) + self.assertEqual(values(b[2].value), [3, 44, 84]) + + def test_noids(self): + try: + self.import_(['value/.id'], [['42']]) + self.fail("Should have raised an exception") + except Exception, e: + self.assertIs(type(e), Exception, + "test should be fixed on exception subclass") + + def test_xids(self): + M2O_o = self.registry('export.many2many.other') + id1 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 3, 'str': 'record0'}) + id2 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 44, 'str': 'record1'}) + id3 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 84, 'str': 'record2'}) + id4 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 9, 'str': 'record3'}) + records = M2O_o.browse(self.cr, openerp.SUPERUSER_ID, [id1, id2, id3, id4]) + + self.assertEqual( + self.import_(['value/id'], [ + ['%s,%s' % (self.xid(records[0]), self.xid(records[1]))], + ['%s' % self.xid(records[3])], + ['%s,%s' % (self.xid(records[2]), self.xid(records[1]))], + ]), + ok(3)) + + b = self.browse() + self.assertEqual(values(b[0].value), [3, 44]) + self.assertEqual(values(b[2].value), [44, 84]) + def test_noxids(self): + self.assertRaises( + ValueError, + self.import_, ['value/id'], [['noxidforthat']]) + + def test_names(self): + M2O_o = self.registry('export.many2many.other') + id1 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 3, 'str': 'record0'}) + id2 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 44, 'str': 'record1'}) + id3 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 84, 'str': 'record2'}) + id4 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 9, 'str': 'record3'}) + records = M2O_o.browse(self.cr, openerp.SUPERUSER_ID, [id1, id2, id3, id4]) + + name = lambda record: dict(record.name_get())[record.id] + + self.assertEqual( + self.import_(['value'], [ + ['%s,%s' % (name(records[1]), name(records[2]))], + ['%s,%s,%s' % (name(records[0]), name(records[1]), name(records[2]))], + ['%s,%s' % (name(records[0]), name(records[3]))], + ]), + ok(3)) + + b = self.browse() + self.assertEqual(values(b[1].value), [3, 44, 84]) + self.assertEqual(values(b[2].value), [3, 9]) + + def test_nonames(self): + self.assertRaises( + ValueError, + self.import_, ['value'], [['wherethem2mhavenonames']]) # TODO: O2M From 29e6a77fef10ebe06017bb55b492f8b004a0f80e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 Jul 2012 16:46:06 +0200 Subject: [PATCH 182/578] [TEST] localized import/export of selection fields bzr revid: xmo@openerp.com-20120731144606-ceax7lk3rfi7zumk --- openerp/tests/test_export.py | 29 +++++++++++++- openerp/tests/test_import.py | 74 +++++++++++++++++++++++++++++++++++- 2 files changed, 100 insertions(+), 3 deletions(-) diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index d693de01993..d60e5a09dcb 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -224,6 +224,11 @@ class test_datetime(CreatorCase): class test_selection(CreatorCase): model_name = 'export.selection' + translations_fr = [ + ("Qux", "toto"), + ("Bar", "titi"), + ("Foo", "tete"), + ] def test_empty(self): self.assertEqual( @@ -237,7 +242,28 @@ class test_selection(CreatorCase): self.export(2), [[u"Bar"]]) - # TODO: localized export! + def test_localized_export(self): + self.registry('res.lang').create(self.cr, openerp.SUPERUSER_ID, { + 'name': u'Français', + 'code': 'fr_FR', + 'translatable': True, + 'date_format': '%d.%m.%Y', + 'decimal_point': ',', + 'thousand_sep': ' ', + }) + Translations = self.registry('ir.translation') + for source, value in self.translations_fr: + Translations.create(self.cr, openerp.SUPERUSER_ID, { + 'name': 'export.selection,value', + 'lang': 'fr_FR', + 'type': 'selection', + 'src': source, + 'value': value + }) + # FIXME: can't import an exported selection field label if lang != en_US + self.assertEqual( + self.export(2, context={'lang': 'fr_FR'}), + [[u'Bar']]) class test_selection_function(CreatorCase): model_name = 'export.selection.function' @@ -390,7 +416,6 @@ class test_o2m(CreatorCase): [u'record5', '', u'13'], ]) -# todo: test with multiple o2m fields and exporting all class test_o2m_multiple(CreatorCase): model_name = 'export.one2many.multiple' diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index b275db520c8..7422ffd1a7a 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -372,6 +372,11 @@ class test_text(ImporterCase): class test_selection(ImporterCase): model_name = 'export.selection' + translations_fr = [ + ("Qux", "toto"), + ("Bar", "titi"), + ("Foo", "tete"), + ] def test_imported(self): self.assertEqual( @@ -384,6 +389,38 @@ class test_selection(ImporterCase): ok(4)) self.assertEqual([3, 2, 1, 2], values(self.read())) + def test_imported_translated(self): + self.registry('res.lang').create(self.cr, openerp.SUPERUSER_ID, { + 'name': u'Français', + 'code': 'fr_FR', + 'translatable': True, + 'date_format': '%d.%m.%Y', + 'decimal_point': ',', + 'thousand_sep': ' ', + }) + Translations = self.registry('ir.translation') + for source, value in self.translations_fr: + Translations.create(self.cr, openerp.SUPERUSER_ID, { + 'name': 'export.selection,value', + 'lang': 'fr_FR', + 'type': 'selection', + 'src': source, + 'value': value + }) + + self.assertEqual( + self.import_(['value'], [ + ['toto'], + ['tete'], + ['titi'], + ], context={'lang': 'fr_FR'}), + ok(3)) + self.assertEqual([3, 1, 2], values(self.read())) + self.assertEqual( + self.import_(['value'], [['Foo']], context={'lang': 'fr_FR'}), + error(1, "Key/value 'Foo' not found in selection field 'value'", + value=False)) + def test_invalid(self): self.assertEqual( self.import_(['value'], [['Baz']]), @@ -398,6 +435,12 @@ class test_selection(ImporterCase): class test_selection_function(ImporterCase): model_name = 'export.selection.function' + translations_fr = [ + ("Corge", "toto"), + ("Grault", "titi"), + ("Whee", "tete"), + ("Moog", "tutu"), + ] def test_imported(self): """ By what bloody magic does that thing work? @@ -407,7 +450,6 @@ class test_selection_function(ImporterCase): it: import does not actually know that the selection field uses a function """ - # TODO: localized import self.assertEqual( self.import_(['value'], [ [3], @@ -418,6 +460,36 @@ class test_selection_function(ImporterCase): ['3', '1'], values(self.read())) + def test_translated(self): + self.registry('res.lang').create(self.cr, openerp.SUPERUSER_ID, { + 'name': u'Français', + 'code': 'fr_FR', + 'translatable': True, + 'date_format': '%d.%m.%Y', + 'decimal_point': ',', + 'thousand_sep': ' ', + }) + Translations = self.registry('ir.translation') + for source, value in self.translations_fr: + Translations.create(self.cr, openerp.SUPERUSER_ID, { + 'name': 'export.selection,value', + 'lang': 'fr_FR', + 'type': 'selection', + 'src': source, + 'value': value + }) + # FIXME: Fucking hell + self.assertEqual( + self.import_(['value'], [ + ['toto'], + ['tete'], + ], context={'lang': 'fr_FR'}), + error(1, "Key/value 'toto' not found in selection field 'value'", + value=False)) + self.assertEqual( + self.import_(['value'], [['Wheee']], context={'lang': 'fr_FR'}), + ok(1)) + class test_m2o(ImporterCase): model_name = 'export.many2one' From e1c94f32212ed3d74b3aa84cc805fe614562e17a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 Jul 2012 17:27:47 +0200 Subject: [PATCH 183/578] [TEST] importing m2m fields to an existing object with m2m values bzr revid: xmo@openerp.com-20120731152747-beg72fx2150upvay --- openerp/tests/test_import.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 7422ffd1a7a..c2534caa929 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -695,7 +695,28 @@ class test_m2m(ImporterCase): ValueError, self.import_, ['value'], [['wherethem2mhavenonames']]) -# TODO: O2M + def test_import_to_existing(self): + M2O_o = self.registry('export.many2many.other') + id1 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 3, 'str': 'record0'}) + id2 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 44, 'str': 'record1'}) + id3 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 84, 'str': 'record2'}) + id4 = M2O_o.create(self.cr, openerp.SUPERUSER_ID, {'value': 9, 'str': 'record3'}) + + xid = 'myxid' + self.assertEqual( + self.import_(['id', 'value/.id'], [[xid, '%d,%d' % (id1, id2)]]), + ok(1)) + self.assertEqual( + self.import_(['id', 'value/.id'], [[xid, '%d,%d' % (id3, id4)]]), + ok(1)) + + b = self.browse() + self.assertEqual(len(b), 1) + # TODO: replacement of existing m2m values is correct? + self.assertEqual(values(b[0].value), [84, 9]) + +class test_o2m(ImporterCase): + model_name = 'export.one2many' # function, related, reference: written to db as-is... # => function uses @type for value coercion/conversion From c4a60df691a0822258489105b71018ff6b3d73c6 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 Jul 2012 18:36:31 +0200 Subject: [PATCH 184/578] [TEST] o2m db-id export and import bzr revid: xmo@openerp.com-20120731163631-n97nxph9gm2f6kdp --- openerp/tests/test_export.py | 17 +++++- openerp/tests/test_import.py | 113 ++++++++++++++++++++++++++++++++++- 2 files changed, 127 insertions(+), 3 deletions(-) diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index d60e5a09dcb..ed47b580365 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -376,6 +376,21 @@ class test_o2m(CreatorCase): u'4', u','.join(self.names) ]]) + def test_multiple_records_id(self): + export = self.export(self.commands, fields=['const', 'value/.id']) + O2M_c = self.registry('export.one2many.child') + ids = O2M_c.browse(self.cr, openerp.SUPERUSER_ID, + O2M_c.search(self.cr, openerp.SUPERUSER_ID, [])) + self.assertEqual( + export, + [ + ['4', str(ids[0].id)], + ['', str(ids[1].id)], + ['', str(ids[2].id)], + ['', str(ids[3].id)], + ['', str(ids[4].id)], + ]) + def test_multiple_records_with_name_before(self): self.assertEqual( self.export(self.commands, fields=['const', 'value', 'value/value']), @@ -383,7 +398,7 @@ class test_o2m(CreatorCase): u'4', u','.join(self.names), u'4' ]]) - def test_multiple_records_with_name_before(self): + def test_multiple_records_with_name_after(self): self.assertEqual( self.export(self.commands, fields=['const', 'value/value', 'value']), [ # completely ignores name_get request diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index c2534caa929..c23d74d080a 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -23,8 +23,8 @@ def error(row, message, record=None, **kwargs): "Line %d : %s" % (row, message), '') -def values(seq): - return [item['value'] for item in seq] +def values(seq, field='value'): + return [item[field] for item in seq] def setupModule(): openerp.tools.config['update'] = {'base': 1} @@ -718,5 +718,114 @@ class test_m2m(ImporterCase): class test_o2m(ImporterCase): model_name = 'export.one2many' + def test_single(self): + self.assertEqual( + self.import_(['const', 'value/value'], [ + ['5', '63'] + ]), + ok(1)) + + (b,) = self.browse() + self.assertEqual(b.const, 5) + self.assertEqual(values(b.value), [63]) + + def test_multicore(self): + self.assertEqual( + self.import_(['const', 'value/value'], [ + ['5', '63'], + ['6', '64'], + ]), + ok(2)) + + b1, b2 = self.browse() + self.assertEqual(b1.const, 5) + self.assertEqual(values(b1.value), [63]) + self.assertEqual(b2.const, 6) + self.assertEqual(values(b2.value), [64]) + + def test_multisub(self): + self.assertEqual( + self.import_(['const', 'value/value'], [ + ['5', '63'], + ['', '64'], + ['', '65'], + ['', '66'], + ]), + ok(4)) + + (b,) = self.browse() + self.assertEqual(values(b.value), [63, 64, 65, 66]) + + def test_multi_subfields(self): + self.assertEqual( + self.import_(['value/str', 'const', 'value/value'], [ + ['this', '5', '63'], + ['is', '', '64'], + ['the', '', '65'], + ['rhythm', '', '66'], + ]), + ok(4)) + + (b,) = self.browse() + self.assertEqual(values(b.value), [63, 64, 65, 66]) + self.assertEqual( + values(b.value, 'str'), + 'this is the rhythm'.split()) + + def test_link(self): + id1 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Bf', 'value': 109 + }) + id2 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Me', 'value': 262 + }) + + self.assertEqual( + self.import_(['const', 'value/.id'], [ + ['42', str(id1)], + ['', str(id2)], + ]), + ok(2)) + + # No record values alongside id => o2m resolution skipped altogether, + # creates 2 records + b, b1 = self.browse() + self.assertEqual(b.const, 42) + self.assertEqual(values(b.value), []) + self.assertEqual(b1.const, 4) + self.assertEqual(values(b1.value), []) + + def test_link_2(self): + O2M_c = self.registry('export.one2many.child') + id1 = O2M_c.create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Bf', 'value': 109 + }) + id2 = O2M_c.create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Me', 'value': 262 + }) + + self.assertEqual( + self.import_(['const', 'value/.id', 'value/value'], [ + ['42', str(id1), '1'], + ['', str(id2), '2'], + ]), + ok(2)) + + (b,) = self.browse() + # if an id (db or xid) is provided, expectations that objects are + # *already* linked and emits UPDATE (1, id, {}). + # Noid => CREATE (0, ?, {}) + # TODO: xid ignored aside from getting corresponding db id? + self.assertEqual(b.const, 42) + self.assertEqual(values(b.value), []) + + # FIXME: updates somebody else's records? + self.assertEqual( + O2M_c.read(self.cr, openerp.SUPERUSER_ID, id1), + {'id': id1, 'str': 'Bf', 'value': 1, 'parent_id': False}) + self.assertEqual( + O2M_c.read(self.cr, openerp.SUPERUSER_ID, id2), + {'id': id2, 'str': 'Me', 'value': 2, 'parent_id': False}) + # function, related, reference: written to db as-is... # => function uses @type for value coercion/conversion From 3f1ab77e2858659388426b5148b8c91c71c6bc3a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 1 Aug 2012 09:08:03 +0200 Subject: [PATCH 185/578] [TEST] o2m importing of multiple fields bzr revid: xmo@openerp.com-20120801070803-4sgvemuiifrhe61s --- openerp/tests/test_import.py | 66 +++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index c23d74d080a..08c52dd902c 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -772,6 +772,8 @@ class test_o2m(ImporterCase): values(b.value, 'str'), 'this is the rhythm'.split()) + # TODO: failing inline LINK_TO + def test_link(self): id1 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { 'str': 'Bf', 'value': 109 @@ -788,7 +790,8 @@ class test_o2m(ImporterCase): ok(2)) # No record values alongside id => o2m resolution skipped altogether, - # creates 2 records + # creates 2 records => remove/don't import columns sideshow columns, + # get completely different semantics b, b1 = self.browse() self.assertEqual(b.const, 42) self.assertEqual(values(b.value), []) @@ -827,5 +830,66 @@ class test_o2m(ImporterCase): O2M_c.read(self.cr, openerp.SUPERUSER_ID, id2), {'id': id2, 'str': 'Me', 'value': 2, 'parent_id': False}) + # TODO: name_get? + +class test_o2m_multiple(ImporterCase): + model_name = 'export.one2many.multiple' + + def test_multi_mixed(self): + self.assertEqual( + self.import_(['const', 'child1/value', 'child2/value'], [ + ['5', '11', '21'], + ['', '12', '22'], + ['', '13', '23'], + ['', '14', ''], + ]), + ok(4)) + # Oh yeah, that's the stuff + (b, b1, b2) = self.browse() + self.assertEqual(values(b.child1), [11]) + self.assertEqual(values(b.child2), [21]) + + self.assertEqual(values(b1.child1), [12]) + self.assertEqual(values(b1.child2), [22]) + + self.assertEqual(values(b2.child1), [13, 14]) + self.assertEqual(values(b2.child2), [23]) + + def test_multi(self): + self.assertEqual( + self.import_(['const', 'child1/value', 'child2/value'], [ + ['5', '11', '21'], + ['', '12', ''], + ['', '13', ''], + ['', '14', ''], + ['', '', '22'], + ['', '', '23'], + ]), + ok(6)) + # What the actual fuck? + (b, b1) = self.browse() + self.assertEqual(values(b.child1), [11, 12, 13, 14]) + self.assertEqual(values(b.child2), [21]) + self.assertEqual(values(b1.child2), [22, 23]) + + def test_multi_fullsplit(self): + self.assertEqual( + self.import_(['const', 'child1/value', 'child2/value'], [ + ['5', '11', ''], + ['', '12', ''], + ['', '13', ''], + ['', '14', ''], + ['', '', '21'], + ['', '', '22'], + ['', '', '23'], + ]), + ok(7)) + # oh wow + (b, b1) = self.browse() + self.assertEqual(b.const, 5) + self.assertEqual(values(b.child1), [11, 12, 13, 14]) + self.assertEqual(b1.const, 36) + self.assertEqual(values(b1.child2), [21, 22, 23]) + # function, related, reference: written to db as-is... # => function uses @type for value coercion/conversion From e3dc73880280fca68d43eb4352c8d56c3e47debc Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 1 Aug 2012 10:21:08 +0200 Subject: [PATCH 186/578] [TEST] failure of o2m relinking via inline id (as exported) bzr revid: xmo@openerp.com-20120801082108-vkind3ocwsqgd0bv --- openerp/tests/test_import.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 08c52dd902c..87e7ae9c350 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -772,7 +772,24 @@ class test_o2m(ImporterCase): values(b.value, 'str'), 'this is the rhythm'.split()) - # TODO: failing inline LINK_TO + def test_link_inline(self): + id1 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Bf', 'value': 109 + }) + id2 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { + 'str': 'Me', 'value': 262 + }) + + try: + self.import_(['const', 'value/.id'], [ + ['42', '%d,%d' % (id1, id2)] + ]) + except ValueError, e: + # should be Exception(Database ID doesn't exist: export.one2many.child : $id1,$id2) + self.assertIs(type(e), ValueError) + self.assertEqual( + e.args[0], + "invalid literal for int() with base 10: '%d,%d'" % (id1, id2)) def test_link(self): id1 = self.registry('export.one2many.child').create(self.cr, openerp.SUPERUSER_ID, { @@ -830,8 +847,6 @@ class test_o2m(ImporterCase): O2M_c.read(self.cr, openerp.SUPERUSER_ID, id2), {'id': id2, 'str': 'Me', 'value': 2, 'parent_id': False}) - # TODO: name_get? - class test_o2m_multiple(ImporterCase): model_name = 'export.one2many.multiple' From 471ef96edf890014df766a0ee956fe190f4e5480 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 1 Aug 2012 11:44:34 +0200 Subject: [PATCH 187/578] [FIX] some notes and comments in import/export tests bzr revid: xmo@openerp.com-20120801094434-t23wa2343utnevh6 --- openerp/tests/test_export.py | 5 ++--- openerp/tests/test_import.py | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/openerp/tests/test_export.py b/openerp/tests/test_export.py index ed47b580365..e545fe24c61 100644 --- a/openerp/tests/test_export.py +++ b/openerp/tests/test_export.py @@ -218,6 +218,7 @@ class test_datetime(CreatorCase): .. note:: on the other hand, export uses user lang for name_get """ + # NOTE: ignores user timezone, always exports to UTC self.assertEqual( self.export('2011-11-07 21:05:48', context={'tz': 'Pacific/Norfolk'}), [[u'2011-11-07 21:05:48']]) @@ -260,7 +261,6 @@ class test_selection(CreatorCase): 'src': source, 'value': value }) - # FIXME: can't import an exported selection field label if lang != en_US self.assertEqual( self.export(2, context={'lang': 'fr_FR'}), [[u'Bar']]) @@ -274,8 +274,7 @@ class test_selection_function(CreatorCase): [[False]]) def test_value(self): - """ selection functions export the *value* itself - """ + # FIXME: selection functions export the *value* itself self.assertEqual( self.export(1), [[u'1']]) diff --git a/openerp/tests/test_import.py b/openerp/tests/test_import.py index 87e7ae9c350..de2553427e0 100644 --- a/openerp/tests/test_import.py +++ b/openerp/tests/test_import.py @@ -240,7 +240,7 @@ class test_integer_field(ImporterCase): def test_nonsense(self): - # dafuq? why does that one raise an error? + # FIXME: shit error reporting, exceptions half the time, messages the other half self.assertRaises( ValueError, self.import_, ['value'], [['zorglub']]) @@ -384,7 +384,7 @@ class test_selection(ImporterCase): ['Qux'], ['Bar'], ['Foo'], - [2], + ['2'], ]), ok(4)) self.assertEqual([3, 2, 1, 2], values(self.read())) @@ -408,6 +408,8 @@ class test_selection(ImporterCase): 'value': value }) + # FIXME: can't import an exported selection field label if lang != en_US + # (see test_export.test_selection.test_localized_export) self.assertEqual( self.import_(['value'], [ ['toto'], @@ -443,16 +445,14 @@ class test_selection_function(ImporterCase): ] def test_imported(self): - """ By what bloody magic does that thing work? - - => import uses fields_get, so translates import label (may or may not - be good news) *and* serializes the selection function to reverse - it: import does not actually know that the selection field uses a - function + """ import uses fields_get, so translates import label (may or may not + be good news) *and* serializes the selection function to reverse it: + import does not actually know that the selection field uses a function """ + # NOTE: conflict between a value and a label => ? self.assertEqual( self.import_(['value'], [ - [3], + ['3'], ["Grault"], ]), ok(2)) @@ -461,6 +461,8 @@ class test_selection_function(ImporterCase): values(self.read())) def test_translated(self): + """ Expects output of selection function returns translated labels + """ self.registry('res.lang').create(self.cr, openerp.SUPERUSER_ID, { 'name': u'Français', 'code': 'fr_FR', @@ -478,7 +480,6 @@ class test_selection_function(ImporterCase): 'src': source, 'value': value }) - # FIXME: Fucking hell self.assertEqual( self.import_(['value'], [ ['toto'], From 6ce164d5826c06e930e6dd5e8eb0dde5bf3ffc2e Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Wed, 1 Aug 2012 15:33:08 +0530 Subject: [PATCH 188/578] [IMP]: crm: Improvement in demo of basic crm objects like category, campaign... bzr revid: rpa@tinyerp.com-20120801100308-wwki0jb1jat3ifxi --- addons/base_calendar/crm_meeting_data.xml | 10 +++++++++- addons/crm/crm_data.xml | 8 ++++---- addons/crm/crm_demo.xml | 22 ++++++++++++++++++++-- addons/crm/crm_lead_data.xml | 12 ++++++------ addons/crm/crm_lead_demo.xml | 4 ++-- 5 files changed, 41 insertions(+), 15 deletions(-) diff --git a/addons/base_calendar/crm_meeting_data.xml b/addons/base_calendar/crm_meeting_data.xml index 82752d1dc7d..d1cffddc403 100644 --- a/addons/base_calendar/crm_meeting_data.xml +++ b/addons/base_calendar/crm_meeting_data.xml @@ -13,7 +13,15 @@ - Phone Call + Off-site Meeting + + + + Open Discussion + + + + Feedback Meeting diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml index 58699da94ce..80a29a34417 100644 --- a/addons/crm/crm_data.xml +++ b/addons/crm/crm_data.xml @@ -2,16 +2,16 @@ - website + Website - phone + Phone - direct + Direct - email + Email Sales Department diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml index 89da8d357f7..551e4e93fb8 100644 --- a/addons/crm/crm_demo.xml +++ b/addons/crm/crm_demo.xml @@ -12,12 +12,30 @@ - + Sales Marketing Department - Sales Marketing + SMD + + Support Department + SPD + + + + + Direct Marketing + DM + + + + + Online Support + OS + + + OpenERP partners True diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index 306a35924a9..ec88ca8131a 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -86,11 +86,11 @@ - Mail Campaign 1 + Email Campaign - Services - Mail Campaign 2 + Email Campaign - Products @@ -102,7 +102,7 @@ - Google Adwords 2 + Banner Ads @@ -116,12 +116,12 @@ - Interest in Computer + Interested in Product - Interest in Accessories + Inquiry about Software @@ -141,7 +141,7 @@ - Potential Reseller + Interested in Training diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index e49391e6124..64283744ec5 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -11,7 +11,7 @@ lead - + @@ -88,7 +88,7 @@ - + From 4aba76d2dc78082df5b9e9d3db6fe6f715299c65 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Wed, 1 Aug 2012 18:58:46 +0530 Subject: [PATCH 189/578] [IMP]: crm: Improved lead demo bzr revid: rpa@tinyerp.com-20120801132846-ufwyjn98t8hbp1pw --- addons/crm/crm_lead_demo.xml | 383 ++++++++++-------- .../crm/test/process/lead2opportunity2win.yml | 8 +- 2 files changed, 223 insertions(+), 168 deletions(-) diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index 64283744ec5..6c90209a573 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -6,206 +6,261 @@ --> - - lead - - - - - - - + Plan to Attend a Training + Jason Dunagan + Le Club SARL + jason@leclub.fr + + Training Manager + 73, rue Léon Dierx - - + Paris + 93190 + +33 1 25 54 45 69 + + + + 1 + + + + Hello, +I am Jason from Le Club SARL, +I am intertested to attend Training organized in your company, +Can you send details, - - - + - - lead - - - - - - + Interest in Your New Software + Marc Dufour + The Oil Company + md@oilcompany.fr + + Purchase Manager - - - - - - - - - - - - - lead - - - - - - - - - - - - - - - - - - lead - - - - - - - - - - - - - - - - lead - - - - - - + Bordeaux + + + + 4 - + + + Want to know features and benifits to use the new software. - - - - - + + + lead + Need Info about Web Design + John Miller + The Kompany + contact@thkompany.com + + + New-York + + + + 2 + + + + + + + + lead + Need a New Website + Henry Campbell + Burstein-Applebee + hmc@yahoo.com + + + Drury + + + + 3 + + + + + + + + lead + Need a Quotation for Computers with Accessories + Carrie Helle + Stonage IT + helle@stonageit.be + + Purchase Manager + 50 West street, + + Franklinville + NJ 08322 + +1 813 494 5005 + + + + 3 + + + + Hi, Can you send a quotation for 20 Computers with speakers? +Regards, +Carrie Helle, +Purchase Manager +Stonage IT, +Franklinville +Contact: +1 813 494 5005 + + + - - - - lead - - - - - + Need Info about your Services + Tina Pinero + Opensides + tina@opensides.be + + Consultant - - - - - - - + Roma + + + + 3 + + + + + - - - lead - - - - - + Info about Your Company? + Wendi Baltz + Gardner Group + + Journalist - - - - - - + Kiev + + + + 5 + + + + + - - - lead - - - - - - - - - + Product catalogue + Logan + ESM Expert + logan12_expert@gmail.com + + Sales - - + Cambridge + + + + 4 + + + + + - - - lead - - - - - - - - - + Partnership Details + Delisle Albert + Marketing Business + d.albert@marketing-business.com + + Sales - - + Oxford + + + + 2 + + + + + - - - lead - - - - + Information about laptop + Andrew + Komerci + + Medical illustrator + + Sevilla + + + + 2 + + + + hi, +I want to know specification and cost of laptops of your company. +Thanks, +Andrew + + - - - lead + Need estimated cost for new project + Thomas Passot + Agrolait + p.thomas@agrolait.com + + Functional Consultant + + + + + 3 + - - - - - - + + + - - - lead + Need Quotation for 100 PC and 100 Keyboards + Bojing Hú + Incom Corporation + bhu.a100@gmail.com + + + Shenzhen + + + + 2 + - - - - - - + + + + Date: Fri, 3 Aug 2012 18:47:42 +0530 Subject: [PATCH 190/578] [ADD]: base: Added logos on company of demo bzr revid: rpa@tinyerp.com-20120803131742-dd89873rgqq7onk0 --- openerp/addons/base/res/res_partner_demo.xml | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 921d28bb264..e1e2693c448 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -90,6 +90,7 @@ info@asustek.com (+886) (02) 4162 2023 www.asustek.com + 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 Agrolait @@ -102,6 +103,7 @@ info@agrolait.com +32 10 588 558 www.agrolait.com + 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 China Export @@ -115,6 +117,7 @@ info@chinaexport.com +86 21 6484 5671 www.chinaexport.com/ + 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 @@ -131,6 +134,7 @@ info@deltapc.com +1 510 340 2385 www.distribpc.com/ + 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 @@ -145,6 +149,7 @@ epic@tech.info +1 312 349 2324 www.epic-tech.info// + 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ADsJd4LMQxjMNHRaxras5Em2mpPfnzy6rLj8zhXZC65zIKlptkVXyODQ6YgN4SXDuPEANyt+bL4yGbqZb0DHh4jILuxxOwafcd+Wy4tzA3ZsBqCk0QCbI2Xywni5DdrACeXIgt3+5fu3grcuEzVNvU9bdtuniJPLYlpG/uPsqQNaNFr+2qN4vl62H2C7rrtRsrojYjD2ODHDf4rjtsD7idx94WmzJUrfptW3HG2OKwajmy7ObMSwO2A7+R7PArj2tM2pdO57BNlZw5WxPK2yTu6MTHc7jvLNyG7dzW9i+x6fvMz8eUJjeK9+SaONz+b2PgbEXE7cngg+RPvSwKGacEWb3efhrxXdfLim0Wwu9FFUnqGxlo4CfmcP/hcmKHS01wVYMHRkd15gc70ONrQ4ML+XEBxch8nc8xy23I5uXxF2rfnyUBYbd3KRWYRI4iCsGQCMl5APxmtPPbtc0d26yUMffu5RkstdjDHfdZs2WTbsnD6z4h1ZDR8X2Bt+ZO6xMTHahZCuqWu2W3GfHr5+d12Ri9LmVkQxmIL5ASwejx+1t27cuey/ePo6dMkNmjQxoefaikigYD2doIHiuXhNONoY7HUzh8Y6ahF1bbTmNJk2YWbjlu1zgeZ8Xdqz6fwNjFZCJ1a1djx7YSw057PXxxnkGiMuHE0Dn8rbbuWPsYxoB0Uza2rdbavY65nh/akaIizUiIiIix2YILMDoLEMc0Txs5kjQ5rvrBXH9T9J8fH6tYjfff8A4OPb7tl3EUb4o35uaDyUsc8sQsxxH0NljrV4K0IhrQRwxjsZG0NaPILIiLMC2QUZJJuUREXq8REREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREX//2Q== @@ -160,6 +165,7 @@ 23 Rockwell Lane info@elecimport.com +1 773 439 3000 + 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 @@ -175,6 +181,7 @@ +44 121 690 4596 email@wealthyandsons.com www.wealthyandsons.com/ + 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 @@ -188,6 +195,7 @@ 80352 +49 8932 450203 + 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 Best Designers @@ -201,6 +209,7 @@ info@bestdesigners.in +91 22 3445 0349 www.bestdesigners.com + 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 @@ -214,6 +223,7 @@ contact@jackson.com +1 786 525 0724 3203 Lamberts Branch Road + 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 @@ -228,6 +238,7 @@ 08078 +34 934 340 230 www.lumitech.com + iVBORw0KGgoAAAANSUhEUgAAAJ0AAABXCAIAAACRN9BTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wIAwwgMUatTycAAAjpSURBVHja7V1LTFvZGT54fBk7vpGvXVs2lR9ABhSnsidMSKUgeZgZCVU0nkVmUaUCqbObaLLqZlCZxbSLIsGiu4ySVTsqSKibURVSa4QUgdyCqoRCrjVxVMaAMRqwoPZFXAfXJqGLkxx+n3uNwyM1pf8nFue+zuP//tf577Wo293dJYhTBwOKAHlFIK8I5BWBvCKQV+QVgbwikFcE8opAXhHIK/KKQF4RyCviBPK6tLaOYjqVvG6gmNAPI5BXBMZXxDHzmspgfEU/jEBeERhfEbh/RaAfRl4Rp45XDLGnlVcMseiHEcgrAuMr4rh5xRIx+mEE8orA+Io4EIwH2r/OfZdS1Ke0PfkowW6YmHvRVtT8o+TyQSfx/P4wMlEDXhkuvuVn7fcuBlj7i1/o3Kyo+bnvlpnFs+RraW0dKspm/inSUGNeDwRJtADuA7r3vP/L30K7R5yS+CqJZ5CDmtkrv39dXyKxPxxpWEcjefdj6tj//LcZpOFk+OGNJfL1b4407PlOyivify++UmTchqzdkLMb8qJBKO6+d//fKPQTxOvS2nqj23nQ3lWxbrzbvGel35a4G6wWjK+1y5vIYV/BZtxvwEOL+nyfjROiBrweDnmxDh7as89R4qchvmbtx6A36nYqvTFGCAl4b/L9b8mEEPvZkL63yMUIIS5bWLfPfGEZXlK3U6LZTwhRFEWSJDhEaWdTMFq5UYolJafGs6qc307l1LhNDNYLEiFEMFq186yKYklJb4zltuT21iHtGks7m8UdJafGLSaf1xGhAx1bfK1UW9gHpfoye3Wt8fba6HZQmeZUOafGM7nYpZZBJsGH//wsvTGWLyxr5TX1+JOFtRHa/unlKSj09PrdyfjP2WHvBypry4sD6fW7OTVOCAk19VNek6vDC6sjGSXW7O754ZlfMVKzW/L4bHdpZ5MQ4pLCXe9EoazZpRc6pMRYe2V9jHXO6UFGiWW3ZK8zcq6hl55Prg4/Sd+iUyKENDf0srWwicF+pgm5ErjNHj8qr6/pFWyj2+lzbd570MFkBIWVU+OUVO481W52ODPfx4ReLClTiRucQJmCZ3IxJkGmOk9WviSE5NXdv8/9MdxubZSG2IhwUEjqZPy67iXG8fhsd7O7p+PCHXby3oMOthaohfnCMpwS6xYqLofpxI2qvP733tPZ/vVMfyvr39hHRrpIb4xxtkJdLiHk4Xwf1xuUWlaVua68zg9p46m663Qbnqx8yboqy/hMPmipjCGbGOxqi9K/Sy2DgtHKHllYG0mkb7Gn2COvgkT6FiT1Usvgz8IrXW3RUFM/m8lJ4bW+qH/eaX2luj9cj7w4wF1Nrg5Tc9TqOOQSUm4Tg/DqmZcp3sP5z4olheuEhl51OwXdr8cR6WqLumxh+hfw3uxqi8KnZub7aFf5QuoVpUSXubI+VqZ8jki9ILls4VBT/7WOx1cCt49xn/O6SsTvvi2UmbUYZG2o/qLJz8KnVvfTG2PZLXkifl3bf25L1vcfYggybXnJa06NP5zv031EXhyAmtHeMsilMPazIZcU1noLzvlXWiNTIC6mTsavQy9S1Qm/9v1rsR4mTc8qhdgyswaS0k10k6s6Uae0s/kXEKS5aKc7LpVgXt3Nq/x/rlhYG6EOgFcRYPoWk4/2oFGXYCVvsbdGI1ijqLPG855POeUYn+3+euoCc+w19sO5H7xRvXYB5M4JpSyXtoWpJ1wBGRO3fnbS44jAxETdTrFNERxoaWnJItYxS4W9TSduaCmBZldfbmdV1lgesystk9l6e+uQdmn5wvLMfN/4P7q1YaKW8fWVYrBR4naZ3Jph+BSM1lBTP6SQxrz21iHO0KnqQGumA0mSBMlubx2CEp/ReGPoY3NqXFe+nHvg3LLWJ6kg9MKtUXvrUFdbtNndwznqjBKDu7gaxFe1vNikinUZtyHjNiTfMsqe7+XFAepVhAqKXywpjEWPI8L2muyGUFN/vSB5nRFoBx2B21ySxcwFSpAOKkkSI5sy2hkc1Z0P7dDjLNMhukHiBoI27ZLCVMOEysb95KVrtZh8nI26bOGOC3euXp7il6PEshWShgPzeoj96+QHb5YFrRZhvNs83m2eDr8pe7+XFweouGGAUQspagTFksKSF8YW3C1YTD5apvA6IlRqgtF6JXCHmgJnJfQpmG1pIze1YNHs72qLammgWds5dw80aHlxYOrxJ3BzAhM3wWi91DKoOxxjJfGyIiEYrZ3BUTr55OrwhHydOQPR7PeW+6Ra1hEzbkPV4EpNzVD3E0JijIB7DzpEk18tpCgNdINIFwxdXKipn/m0gPdmcnW4MzjKxMdlNDRSwiAHPTwH+9lQe8vgdHlxg1pMvSB1BkdhFWVhbUS3eiAYrV1tUTafZncP3JuNz3bbxRAtDWpvzheWVzbG/hTz7LMXqlQ6fe3xtWplWDBaab7+V9kHjSBfWM4oMUoq3SCyaLQAnDC0yPOeT6+WlxJ5qsRQpdSU6opgtEIfe66hl5kaHYspimj2X708pRs1GZrdPdeufAvnI5r90MeWdjYzyguPTRUX3rx/WmQx+TqDo8dprwd6BWvPPg/N6lciXGvPiO+i8PHv6WHn24GOH0UzSiy5OkLtgBbZPY4IR9XVH09ncrH0+l21sAwtUrcOHmrqL5YUWG61iyGLyed1RliNqVhSqNfV6kTAe5MW9D3OCFfHF83+rnei6nYK1nXptL3OSKW6fHvrkNf5YXJ1mIUDly1sE4NsMntq0dBrMfszuRi3bbOYfOcaenVfY2hRV/X/DrJPBu//7vMX3xcmJsjA+0cy5/Od5PMJ2pyYS8BPVhHHAvwdx+nEofImRyO59sWRhnU0ouhPCq97r2CdjeSjXx/XDNAJ19gP469gT629st9XNbodh/g8EXESef3qm9hX3+i8G/G79jiGfFc6jzipeZPGPzMXPfmo+v2Qb0k8wz41tVr22vA8oja8HkUPCCFVf59TiW/UgyPVJRBYl0AgrwjkFYG8IpBX5BWBvCKQVwTyikBekVcE8opAXhHIKwJ5RSCv/7/4D2VrJxEsaurUAAAAAElFTkSuQmCC @@ -243,6 +254,7 @@ 93, Press Avenue info@c2c.com www.camptocamp.com + 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 @@ -257,6 +269,7 @@ +33 1 64 61 04 01 12 rue Albert Einstein www.axelor.com/ + /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCACWAJYDASIAAhEBAxEB/8QAHQABAAEEAwEAAAAAAAAAAAAAAAcBAgYIAwQFCf/EADoQAAEDAwMDAQYEBAQHAAAAAAEAAgMEBREGBxIIITETCSJBUWFxFDKBkRUWM0IXI1JiJCU0Q3Kx0f/EABsBAQABBQEAAAAAAAAAAAAAAAABAgMEBQYH/8QALREAAgEDAwMBBgcAAAAAAAAAAAECAwQRBSExBhJRQRMiMmFxgQcjM1KhseH/2gAMAwEAAhEDEQA/APv4iIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAio4kDIblWOnc3/tOUNpA5EXB+PhaP8wOH6K5lbTP/LKP1KjuiMo5UVvqMcOx/ZVac9sH9VOUCqIiZQCIikBERAEREARWylwaOHnI7fNYZYN/dqNR7xXbYSx6vZV6qsdvbW3O3RwvxBE4sAzJjgXf5keWg5HIdghDaM1RWkkDz58K05Plx8qMoZRyIrWuJOPorlJIyB5KK2U4ZkgnB+Cj3frqa2r6bLNBf92Ky7UtBUcsV1FYamqhiIc1oEkkMbmREl7Q0PI5d8Z7qMZYJCd6b+zm5XXqbXSzjszGfi1Y1svvJorf3b+k3R26qamezV75W0c9VSPgdJ6cjo3ODXgHHJpAJxnCy8eAolFMjZnh1lpvFMDJbK13bw1xzleRU7h3TTr+GoLY7gPzSRhZk4Z8H4rrXK1UN0hNPWU7XhwwQWrDr29XGaUsMolCXMWebYNf6Y1I3/lt0Y53xjc/Dv2K9pruQyB5+OVDu53T3c5ed926u0lHWs95kbXdiR9Fgmj+rXV21uomaI3xtUkTHSBkNw78XfXP/wBWlqa89PrKlfRcU+Jen+GNK6dGWKq28mzwIzj6Kq87TWpLNqq2RXixV7KinlZybJG4EFd8nl2AOF0lOrTqwU4PKfqZikpLKLkRFcJCo89ux+yquG411HbKGa5XCrjp4KeN0s80sgaxjGglznE9gAAST9E5HBH/AFK7zV+0Gg4xpG2C56sv9ay1aPs+f+qr5QeLnfERRAGWR3gMYfiQtD+iu26j2P8AawX3bXWeqZrxc7jBcaS4XeoHF9dK+Flb6pHw5OjyB38hbD6W0r1B9Uu5besDbfcex6bssVNU2nb2iv2mX17/AOHmRrZLi1vrRejJUPjdjsXeiGDOCVrbuPbdw9k/a3aJv26ur7fdrre7ja5Z7nbbUaGF7J2Gh/pepJxwGkE5OcZ7KpJtNeS1J8N+T6C7Z7v0uvdca30Q6JkVVpO/Q0ZjPZzoZKOCZsh+hfJK0fP01HXUX10aZ2m1vQ7Jba2M6t19dqhkFJZaeqbHDTPfjiaiU9o+x5cfPEZPEEOMWe0V26332ev9f1XdN2pKy3fj7Syg1rBQRNe70o+0dXxcHA8W+6XAcowA4EAvI+eFn1pq2waxp9wLVfqpl6pK8VsFxdIXy/iA7kHlzs8iXdznOc4OfC8H6y/EfU+nrhaZ7Jqo5bzxzDPMfng5vU9ZrWM1R7d88+V8j7SbLP6jp6aWr36k0hHI+MGnotLxVOYj27Plmfh/b5NHf4rob1dV+1OyGoLXoa91Ffd9U3t7W2bSWnqX8TcKrJwHcOQbGzsfekLR7rjnscYt0L9XND1T7bPqLvTMotTWQsg1Bbg0taHEHhMwHvwfxcQD3a5rh3wHHTfog1FvdvB1u7jb3WHRlqv+qaeGqjpzqO9upKe0maYRNcQyOR7wyJhiEbQDxcQXNyvYNBura/0qnXoTc4tcvn7/AEN/b1YToxlBtp+eTdbYrrZ293v3VvuxTtJ6g01q7TzHSV1lv8EPJ0bXNa5zHwySMdxL2579w4Ech3UM+2n3MqbJsNYdnbM8vrtY39vOnZ3dJT0wDy3HxzM+DH2KkPpP6OaTZrd7U+9m6O5lJqrczUkbp7o6kiEENvgnl5FsURcX8XOiDWvcB7sQaAMOzA3UPdbf1A+1k01oq7V8TNObZW6O4XmondiGEU8ZrpXvPgDkYI3H/b9FuFjOxee8TbbRLNu+jrpislt17qSls9m0lp+mp7jcKhx4mZrBzIABL3PlLiGtBJLsDJWDR+0U0LJoAb1T7L7gwbf/AIsQO1rLaqYU4zIIxL6IqDUGHmePqCIjJAxnstePbCa3u+7E+z2iNF3OV2mtWl1fRTmJ8bKuWV0EcLy14B9xk2cOAIE3jupc9pzqDSGwvQJNtNYo4oGXJlBYbFSN7YiicyRxA8kCOEgn5vHzTG6yM4Nibxu1pS3bX/4vWVlfqGzSUUVZSHTVC+tmq4ZC3i6KOMFzxh2TjwASfBUUaN9o90+bg6GuGvdJUep62OkrzRUltp7E6StuMzYTPI2nhY4uc2OL35Hu4sYHDkRkLFemK+6g6Z/ZY0etNbiWKrtWk6+5UdPU5a5omlmkpIyD+Xl6kQA+HPCwn2M+x7I9jLnu7q2ijqP49VVVvs8U0eWtogWiodjwfVkYGu+Yp2D5KMLknubexs10z9Tm2vVdt7JuNthJW/hKevfRVdNcaYRTQTNa13Fwa5zSOL2kEOOQfnkDvby7J6O3d07Pab/bInvfGQybh3BXd2l2a2w2L0t/JO0ujaSyWs1clS+kpS5wdK/HJznOJc44AHc9gAB2AWUZ5AZCw7y0oXtCVKrHMWRUpxqw7ZrKZonojdzWvRNvE3bnW1XNU6ZrJ+FPJK4n0Wk9u5W8OntQWvU1ogvdorGT09TEHxSRuyCCFpv7XCwWiDRdu1E1rWVRnLWkEZPZZn7LDXOotW7FPpb3O+WOhqfSpXvz+X5d15h03qtxpPVlbQKj7ofFB+F4NHZXE6GoO0e65RtIieUXrR0BZH5yW4yPiVG/UZ002TqTsQ0pq3cjV9qtD4+FbbNOXWOmhrW+cTAxPMg/254nAyCpLTA+SAjnp96eNP8ATZo12g9Ja51Pd7UzgKGk1FcWVIoIwHe5DxjZxYS4kjv38Y8KKtwfZf7Qbra0i3H3B3f3Iul6pzGKS41N/p2y0zWPL2NjLaYcA1xLhx8HJ891s1xa3u0AZPdU4tAxgEH4FRlohpEGa73E1btJpNmzOj9otwNy7kykdDHdLvFA6CrLyT/xNW/048YdxJDD2GCPJUYdFfszbNtTdo93d74LfcdRukM1vs9MznRWlxOcjP8AUkaOwPhmO3IgOW4LmAu/L+uE4Nb/AG/FczedMWWpapC9vvzHD4U0sLP9sw52VKrWVSp72OF4IgtmyNdpzrGl3n09Qtp7TeNDSUN5MQDRLXR1ULoXuGQS70TIOWPyxgfRY5qD2eW243mr99dp9zNXbf3278/4x/KtdA2CqL3B0hMcsTwC5wDiPy8ve45WwgAycAKuB8lurGxo6fGUaWyk28fUyKdKFNNR85ML2l2R0Rs5Q1rtPCtrbldZBLe9Q3utdVXC5SNGGummeckNHZrG8WMBIa1uSovv3s5djNSdQV53/u961FJLqAAXvTkdxEdvru8ZMczWsEkkTnRxudE5/AkdwW+6thCAfIVA1oGA0YHgYWbuXMEedQHTTtT1LaOh0buTbJWtoKhtRaLjbaj0Ku2zN7CSGQAhpxgYILTgZHZuMGrugXQuvdcWnXnUFubqrceewMDbNb9SyUsdFB3BLnQU0EYlcS1pcX558QHBwGFPnFv+kfsnFpGCAmWkMLJgXUJsJpXqT2rqtn9Z3e50Nprp4Jao2WeOKWQRSCRsfJ7HDiXNZnA+A8L1tntqdMbJbaWbafRTZharHRCnpTUvDpX4cXF7yAAXOcXOOABknt8sn8H/AN5VryIxnngfdU92242RV2Mdl16+sp7fSPrKqZrGRtJc5zgAB9z4WOa/3l0Ht1bZK/UN5YHMaT6UbgXH9FqjvFvNv/1c1Mu3Wytint1imcWVdycHMY9mce8/tkfRvlc1rfUttpdPtor2lV8Rjvv836GHc3kKEdvefokRL147yXHqu3sodmdpWvuFPSVPoNlhBLJJScOOR/a3ySfkt5OkrZCj2I2gt2j4femELX1MmO7pCO5WH9JHQ7onp9of4xWtbX3ydg/FXCZo5fPi0f2N+n7qfwGMbxb4XN9HdMXlDUKusal+vV4X7V4MLTrGpCtK5rfFL+EXIiL0s3QREQDAPkJgfJEQBERAEREAVOTf9Q/dUlYZG8Qcd1wPt3Ps6U4VMnL0IycktdSw/wBSUD9V0qzVNopO8lSPsMq92nqKQ5kBd9yqs0/bGeKVn7KzL274KX3+h4VfuISSy02eeodnthi8C7QbtauBp6WSK1wu7F8jsvA+wUhx2+mi7NhaPsFytjYz8rQFjTs6ldYqTf22Lcqcpr3mRJb+lTSVdXC6a7qqi9VGeQbVvxGD/wCA8/qpIsWlbDpumbRWi2QwRMGGRxRhob9l6nEZJwhGfl+qi30uytZd0ILPn1EKFKm8pFGDvlXYHyQfJFsUi+ERFICIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP//Z @@ -273,6 +286,7 @@ 60, Rosewood Court info@chamberworks.com +1 313 222 3456 + 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 @@ -286,6 +300,7 @@ London +44 20 1294 2193 + /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAB+ALEDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHBAUIAwIB/8QAQRAAAQQBAgQDBQQGBwkAAAAAAQACAwQFBhEHEiFBEzFRFCJhcYEIFTJCFmKCkbHBI3KDkpOh0TM2N1VzdLPh8P/EABsBAQACAwEBAAAAAAAAAAAAAAADBQECBAYH/8QAMREAAQMDAgMHAgcBAQAAAAAAAQACEQMEIQUSMUGBBhMiUWFxkRShMkJywdHh8LEV/9oADAMBAAIRAxEAPwDstEREREREREREREWtzGbo4u9iqVl0hsZW0atWONvMXPEb5HE+jQyNxJ+Q8yERbJERERERERERERERERERERERERERERERERERERERERFFte6yqaStafitRGRmWybKT3A/7Bjmu/pj+qH+G0ntz7qUoiKBYuUZ/jLkbx9+ppun921iOrfapgyay75tj9laO/vyD1Uu1HlqmB0/kc3fcW1cfVktTEefIxpcdvjsFDOB2PvVcBYmyvXIvmc66fMG3ITPZ5SezZJTFt6QNHYLBKkYzcCfJWEiIsqNERERERERERERERERERERERERERERERERFiYrJUMrBLPj7UdmOKxLWkcw/hlie6ORh+LXNcPosfVmXjwGmMpm5WGRtCpJY8Mecha0kNHqSQAB3JCr7hKaGByEGNpXGWKuTjfXsytH4sxV3Zace3NMxoeNu0Lj+YLErYMcWlwGAo/xu1JiWcSKmFzMYkxclFuHsnfYxjIF/iyNPZ8Ta0Dt+wm6eZVo8N8tay2k6xyUrZMrSe+hki0bA2YHGORwHZri3nb+q9q4++0XmBlda2JGEFs9yxaG3XoHNqs2+Do6kcg/6m/cq+fs+6mkyV+O7LKXx6lx7bMv6mRphlezv2Bki9mkA/VefVc9OtuquZ5L0eoaIbbSba9Ay+d3Uy37KScc81UqYujibXvwPc/KX4werqlPllc34h8xrQkdxKVK9A46zi9HYypeJN4w+NcJ72JCZJT9Xucqa1FadrLipFQaeevk8w3HxDt9341xksk+niWudm/cQN+nQKlBl59FU1afc2jAeLyXdB4R9932RERSLgREREREREREREREREREREREREREREREREVf8ccvFjtO1opeV0YmOQsMI33hqDx9iO4dKyCMjv4q5u+z1qTKWLGZ0lWvRRZTJD7xws1jqxmSh99od6NkaCx+3UtG3dWD9rPO8tHI1mO680GJjBGxaTtbs7dyCBRH71SOc0tndD4XR2s4Z5IJMpEbdd7Rs6CRkm7PoWGNw3893Dsq65qltUEfl/dfSOzGk0LjSKlOsYdXMN92gkHoZn2WwpaY/TvjBLpXF2ia8Mb6dez2MdWAxxvP9YxtJ7kvPc7rf8A8jnoqmc0/hIWP1HjZW5jD1p3cjXzxgw2IT8XwyObt2Ld+ykX2JMKLGqM7n3s3FOoytGSPzSu5iR8QI9v2lpuP+OynDPjb+lOAcarckH3KsoHRsj2lk7fnu4u+TwoWAsAr+uVc3rqd5Wq6CDAbTbt/U3P3EdAVZ3ADFwWuJOevwTOtUdNUYcBTnf18aQHmsS/1nSNe8nv4qvhVh9mDAHBcHsW+VpbYybn5CUnv4n4D/htYrPVlRB2Anicr5rrj2G9dTp/hZDB7NET1MnqiIilVQiIiIiIiIiIiIiIiIiIiIiIiIiIiIi+ZXsijdLK9rGMBc5zjsGgeZJ9F9KIcYJ3/AKC2sVDOYJ81JHio5AdjGJ3BkkgP6kRkk+TCiLmDXjLfETiPpfTUHiNkyG9+fp78PtjzY3IPdlbwB/ZrovjdoavqbhLbwWPqtbNjoWz42Ng/C+JuzWD5t3Z9VXv2ZMS3UWutVcTZq4ZXlsvqYtpZsGMJBO3pysEbB83BdCrko0xUDnH83/F6/Wb99hWtraic24E/rOXfx8qnvsiYMYrhHFfe3aXLW5bJJHUMafDaPl7hP7S3X2hNCwa50O2uJIa96lYZLWnlcGhoLg17ST2LTv8ANrVYGPp1cfTjp0oGQV4hsyNg2DRvv0Wp19/und/s/wDyNUV6/wClsaj4nY0n3gSqxupVa+ri8YdrnPkegJ4fGFnYqXFVsTHFRs1xSpxtha5sg5GNa0ADfy6DZe9K9Tul4qWoZ/D25vDcHbb+Xl8lC9OsYOHWTLvzOkPU9+Vu38AsjhW3anefv5yNH7gf9VSWWv1ri4taJYAKrC4+kTw+Ao7jT2Mp1qm4ktMe/BSq7kaFJwZbu14HEbhr5ACR67ea93yxshMz3tbE1vMXk7ADbfff0VecUQ376rEfi9mG/wAuZ3/tTvIsAw9mNztmiu5pP7JXZZ6tVuLq6oFoApRHrIJz8KCtZsp0qT5/H/S8Pv7C/wDNKn+KFky5ChFXjsS3K8cMg3Y90gAd8vVVFijQDpPb61mdvL7vgu2LT6lSfWEVePRuI9mMpi5gWeIQXAOaTsdui89Z9rrmva1bgsb4GzAJniBn+irGvo1KnVZTDj4jE48pU78eD2b2kzRiDl5/ELhy8vrv6LyhyFCaCSxFcrvhjOz5BIOVvzPkq1xeclp4S5ibof4M0DjASPwEjp+yVsNKgTcPcw8gcjnSbfHZjdl2Wva36t7W0mD8DnOB4hzRw9j5+Shq6P3IJefzAD1B5qe1LVa3GZKtiKdgdyl0bg4b+nRfEOQozWXVobkEszQS5jJASNuh3AVW6Xy9jC3BZDHvqyHklb2d8viN/wD7dbrQT47Gsb87CSx0cr2Hy6GRv8iorDth9Y6hSDAHvdDh5DkR7ra40XuBUcT4QJH8FTeHI4+ax7PDdryzdfcZIHHp59AvyPJ4+S2KkV2CSc7jw2PDiNvPfbyUE0M0HWdkn8rZSP723800oAdfzknbaScj49SpLftRXrNoHYB3lQs54AjPvlYqaVTYag3Hwt3dcqdvyeOZbFR12D2gu5RGHgu39Nl9uvU23G03WYhZcNxEXDmP0VeT/wDEgf8Aet/kvLWtiaPWU81dxEkHhlpHXYhoKirdrqlGjUrOpjw1dkZyMkn3wtmaM172sDuLd3XCsyzPDWgdPYlZFE38T3nYBfUMsc0TJYntfG8czXNO4IVZ6s1K7MU61aBjmRtaHz9PN/lt8h/NTfRsom0xQeO0fJ/dJb/JW2m9oqOo377ahlrWzPmZE9BPyuO5019tbtq1OJMQtuiIvSKsRU79ofKWGA1KQMk9LGyPhjb0ebl0mnW5fj4brp+gVxKrNO48ap19Pm52CSlDlJrjC70rD2OsPi3xGXJgfVzT3C0qSWkBdlg5jLhtR4kNyfWMx1OOqmfDnTVfSGiMVp2vyn2OuGyvb5PlPWR31cXFSBUvqHi1n8fqHiNjoKGMMWlqEdimXseXSvdy7+Js8bj3vIbeXmtO3j9byPDzA5zD1sYMtLma+Ly9SdjyIvEa8+JGA8HldyHYknbqOu26gFzSb4fL9sKzfomoXLu/cJ3ESZ5uG4T7z84XQC1eqqU+RwVilWDTLJybcx2HRwJ/gqTznGvW2P1Hqx1XS+Mv4HS2RZXvuje9tkQve9rXjqR+Q7nbpuOm25EvxXE6fN8WdP6fw4pS6fy+A+9mzvieLAdzSN5N+blGxYNxyk77hR3DqN1SfQcTDgWn2OMKP/xr22IrQMDdxngA6D6wQY5qT47BZCro65i3+C+xM5xYGvO2x5fMkfArUY/Aatx0b46U8ULZDu4NkHU/UKu7PHbUMPD+3kpcZimZeTUkuEqP99tWFrI43eJKXOJJ3efQbfI753E/iJxd0fk8NAzE6Pnr5aSGpXlBmkElhzW82x8RpDOY9CR5evmqGtoVg8U3Nc9vdtDQWmDGecK1p2eoh5puDJeSfERkiJj2/lWDqvTWVyNys+BzJRFVZE6SSTYvcCST/msrH47VDxbGUtiRrq0jIow8bOeRsN9h5KqdXcWOJmnM79y36ejK9ypgjlrzZjM1jy2RwMUT/E25i0N5QQd3bhSDG8W8vktU8O8fFhq9OrqmpJYtMsB7pYuUP25DuBsS0EEg7gj1W7dFshcurNe8FxEicHkJHOJ5qN9pqAoN8LC2CQcHABcfkDkpDjtNapxoe+jYgidIAHhrxuf3j4raZzB5fIaeoU3ysmtMkL5nySdzv3+u30VVcNOL3EDVOrIaNmLRENNuTdTsVfaXQ3yxu3M+ON8pLtgewO/K4bdFMOCHEPOcRchm8m+tiqeBrTmvVrCR3tzHDYh0o/Ds4H4dQQN9iTpbdn7BtF1uxz9rhEE4GQTA4BL2jqFBxrVAyWQSR6yAPPz+FK8jpdt/T9StIWR3qsIYyQH3SQPI/D+C8sLg8lT0pkcbK2Lxpy4xgP6dWgef0UsRWJ7PWXfd80EO27ccxEZ9Y5qiGpV9mwmRM9ZlRXT+mHR4Gzjcq2Nwml52mN25b0ABB2815aS03fw2emnkdG+sYnMa9p6u3II6dvJS9Fqzs5Y03UXNB3UuBnPsfMLLtTruDwTh/H+lEdL6eyWP1BLkLBgEUgeOUPJd1O47LEy2jsgzIPvYm9s57y/Zzix7dz12cPP/ACU5RRHsvYOtxbkGAS4GcgnjBWw1a4FXvBGRHDEKDY7SWXhz0F+zagmEcrZHvc9xc717LKpabuu1ZYyd1kBqvfL7hfuS1wLR029CpeiUuy9hS2hswHb8mc+qy/Vrh8zGRHDkoaNHur4TI14XRy2p3jwXHpysDgQPgTsd/ot3pGhbxmFZSuFhex7tuR242J3/AIkrbouqz0Kzs6za1AQQ3b6RM/MqGtf1q9MsqGZM9YhERFcLiRY2PoU8fXZXpVoq8LGhjGRtADWjyA+H+pWSiIqcz3CjO38zxHuQ5PHth1XVhhrMdz7xOYGjd55fg7y381o9UfZ8NqtpC7grOPp5fFQ04cqHczYLngtaDKNmk8+4PmOoI32263+i53WtN3Ef6ZV1S1++pEbHRHpxhobnzwB1yufM9wX19e1Hq6OhqTDY/AarvtsXyBI+0ImPkc1gHKG9efr7w32A32333OouDWcoZ7T+b4c6ogw1nD41mMbHbrCRrog57nP32O5cXkkFvmSQQrqRY+lp/wC+Vk9oL0xkQBEbRBwG5HPAA9lQp4O6yrcJstouDK6fuWMxm33rVizA/ZkThGOZmw92QGPfy297YEbbrd6h4RZCfTPD/BY3LQSR6Xux2LE1ouDpg0gkMAB2677AnoNhuVb6LP0tP9lq7XrwkGRxLuA4kR/xU7xN4M/p1xAvZzI2ajaEuENGs3dxmhshxcyXbbbYE+W/Ub+q+8Lw41kNXaD1Bm8zi559NVJqlp8XOXWGOY9jSOZvnyuAJPfcq30Wfp2bt3+81oNauxSFKRtAIGOAILT8g56Ln/h5wa1rpTM15xPomaD709smtvoOlvRsJHMyKVzPd6DoOnVxPdSfhdwzzmF4m6g19qO/jBcyXPDHTxcbmQchLf6Rwd15jyA7depJJJKtlFhltTbEclvca7d1w/dHiEEgCYmUREXQqZERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERf/2Q== @@ -299,6 +314,7 @@ +55 11 2402 2045 1 + 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 @@ -313,6 +329,7 @@ +54 341 324 9459 + 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 @@ -326,6 +343,7 @@ One Lincoln Street www.think-big.com + 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 @@ -341,6 +359,7 @@ 10200 S. De Anza Blvd info@seagate.com +1 800 732 4283 + /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhINEA8PEA8QDxQQEBEQEhIREA8UERATFhAVFBMQFRYYGyYeGBklIBQTHzshIygpLTgsFR4xNTEqNSYrLCkBCQoKDgwOGg8PGikkHx01NTIvMSksLCwsKSopLCwsLDU0KiosLCksKSwpKSwpLCwsKSksLCkpLCosKSkpKSwsMP/AABEIAOEA4QMBIgACEQEDEQH/xAAcAAEAAQUBAQAAAAAAAAAAAAAABgEDBAUHAgj/xABCEAABAwIDBQQGBwYFBQAAAAABAAIDBBEFEiEGBxMxQSJRYYEUMkJxkaEII1JigrHBFYOS0eHwY3KisvEWJDNzs//EABgBAQEBAQEAAAAAAAAAAAAAAAACAQQD/8QAKBEBAQABAwMDAwUBAAAAAAAAAAECESExAxJBUWGxIoGRMkJSYnET/9oADAMBAAIRAxEAPwDuKIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIqXQVReJJA0EkgAakkgAe8rQ1221NESA50p/wxcfxGw+C2TVOWeOPNSFFDDvHZ0p3n94z+SDeOy+tO8fvGX/Jb215f9+n6pmi0FDtpSzGxeYiekgsP4hcfNbxrwQCCCDqCNQVlmj1xymXFe0VLqqxQiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgpdanHtoY6Jt3dp7h2IwdXeJ7m+Ku45i7aOF0rtTyY37bjyH6+4KJ4BgxrXvras3ZcuAdo19up7ox3eHxqTzXj1M7r248/DxDQ1eLkPldw4b6aEM/Az2veVnuosNoNJSJnjmHfWOv8A5R2W+axcS2hmrpPRqIFrORc3slzeVyfYZ8/yV+HZWlo2iSslDifZuWsJ7g0dp/8Aeipzya747+94Dt5Tx6R0pt+6Z8hdBt1TyaS0pt7on/I2Q7W0MOkVKSO8RRNHz1QbVUM+ktLlB6mKNwHm3VNPZvff5z8PTcMw6vuIXCF55BvYdf8AyO0PksCSnrMHOZruLDfXnw/xN5sPiPms2o2Qp6pnGopQ3XQXJZcdPtMP92VrC9pJKV5pa4Et9XM/UtB07R9th7/zRlml+ra+s4SbBMejrWZmaOHrsPrN/mPFbNQHG8Jdh0jaylP1ZI0GrWX9k97D/fRTHCMUbVxMlZpfQjq1w5tKmzy6Onnbe3LmM5F5RS9npFq8e2kpsNi41XOyBl7AuJu4/Za0auPgAoezfxhJdlM0zRe2c08mX36a/JB0RFg4TjMFbE2emmZPG7k9jri/UHqCO46rNQVREQEREBERAREQEVCVjzYlFG7I+WJjtOy6Rgdry0JugyUVLqqAqFVViqn4bHvPsNc74An9EEIxxxxGvZTNJyRHKSOltZX+/wBnyV7a6uJdFh1OPsBzW+PqRe7qfJU2Biuampfz0bf33e/9F42Ni9Jqp6t+uW5F+jpCbfBoI816cfZwzXKe+XwzqiePBadrGAPmkF7n2j1e77o6D+q1+GbMvq71VbI5rXDNYkBzm95J0Y3w/JecOi/aeISSP7UcRuAeRa02jZ5m5+K945WSYlVehwm0bHEO+yS315Hd4HID+aMul38cSeraYbUYcZW08McbnG9nGPMHEC9s7ufIra1WzlNKLOp4/e1oafi2yt4RsxBSWc1uZ4H/AJHau1526DyW3Ci30dWGO31SMDCMGjo2FkQdZzsxLjck2t+QWPtFgLayIjQPaCY39x+yfun+q3CoQmq+yadumyFbI1/FbLh9QL5WuDQ7nlBs+Py5j+is7Myuoa2Sjeey85Qe9wF2O826fBS5mDwtmdUCMCRwsXa91ibcr6DVRPbqLg1FNUN0PK/3mODm/mfgql1c2WNwxl9PhOLorfG8EUaOrWPmvfJXOnx10NS97IIjTxi2vDhc1jpHtHeczj5DuXS491mBYjSubRCNzsnYnhqZHyNdbRzwXkHW1wR8Fk7c7MYRjk4gkrIYq1l4W8KWPj3Fzwnxk9sDU20I1sVzzFdwWIUd5aOpjqC25bkc6Cf8Nza/4kale5/YTE8GqZvSRGKeaI5g2Zr/AK1rgWPDR4Zx5+Clu2u9GiwUiOZz5ZiMwhhDS8A8nPJIDB7zfuC5zud3l1bq1uF1z3zCTOyN0tzNDIwEljnHVwOVw11Bt4qD4HtDxMWmr6ihfibnPml4LQTZxdZri3K67WjQAi3q9yDr+Ab/AKgqpWxTMmpMxs2SQsdFc6DM5pu33kW8V0DGccgoYH1VRKI4owCXHW99AABq4nkAF897w8ddjMcQjwGppZY334zYnkuYWkGNwEYuL2I7reKmMb6WfZyh/brqiFsEjmNYM7JpXxmRkTcpF3HIeumlyUF+o+kXSBx4dHVyMHN5MTPO1zbzIUx2J3j0eNh4p3PZJGA58MrQ2QNJtnFiQ5t9Lg9Re1wufbO7x4IKX0LCMEraqPtgF4BbI5xNzKWh2bnbXoLKMbhCW4xLcWPotRdo5Ah7Oyg6xtrvfosHk9HcJKiYAF0cWW0dxcB7nGwNtbC516LV0v0gMPfA+Z8dQx7HMaYbRGRwdftsOcBwFteR1Gi5xumoI8Ux2aSraJSG1FVlkAc10vFaBmB0Ns5NvuhTX6QWztO2hiq2RRxysqGRZmNa0vY9j7sNhrYtBHdr3oOgYNtvTVdB+08zoKezy4zZWloY8tJIaT1GgF+YUGrfpE0bXkQ0tVM1vN/1bAR9oAkm3vssXZWnopNlYBiUr4qcSyOcWOLXvcKh+RgABLiT08PBYmym8WjoYn02D4PX1bS8uLnAFz3EaZy0ONrWFj0QTjZTe1RYq2bh8WKSGJ8zoZWtD3MYLuLCHFrunUHXkuEbf7ZwYnikddCyVsbW04LZGsD/AKs3doHEfNbTdUXHaRnEiEDnSV2eECzYiYZS6K3cDpbwWRvgp2sx+FrWNaMtHo1oA9fXQaIO07J7w6XFaaerj4kEVO8tkdUcNmWzA8uu1xAFj3qI4n9IihikLIYKioaDbiDhxtd4tDjcj3gK19IGsNNh0NPC0Rtqan63I0NDmxsLg027zlP4VE9h9tGYfRRws2emqi8EyT5MwqCSdbmI9m2lr20Qdj2N2+pMajc+me4OZbiRSANljvyJAJBHiCQtntCf+0qf/S//AGr593fieDHoaiGgqqSCed8ZjdFLkjilB7BdlAytNj+EL6JxCDiwyx/bje3zLSAkTlxUV2V0w6rI53m/+LbKmw+lJVuHPM75Qi36qmwUnEiqoD1sbeDmFh/ILzsFLkfU0z9DobHvaSx4+YXpfLjw/Z93vd4LRVLh612fJhI+a8bumAuqXn1rRjxsS4n5hW9kZfQ6yelfpmJa2/VzCS34tKtMkOEVzswJilvy6sJuCPFp0t/MJfLMbpMbfHLoIVVYpapkrQ+NzXtPItNwqVlayBpfI8MaOpPyHefcvN3azTVfuihWFYrPX1/Ejc9kMfNt+zksQA4ci5x/LwU1C2zRGGcz3iqiG8QfVQH/ABj/ALCpeoRvCnu6miGpu59veQ1v6rceU9f9FSxF64R7kRujhu9Dd5XUuIuxfD2yTB0jag8JpfLBKLXOTm5hte4B5kEW52hv6xMs4Qw+LjWy5hHUetyvw78/C67/AGSyl6uHboN3VWa04vXsfCQZHxskbllllkBDpSzm1ozO521I6BYOPbNV+zGKvxKhp3VFPI6Q2a17g1khu+CQN1aAbEO5aN8Qu/2SyDhNZvOxnG3R02G0UlGcwL5Glzz+KR7A2Nmt+V9Br0Oz3wbE1s+G4eWukrpaPP6QQLySGRrc0rWgXIBbawF7EdxXY7JZBwzY/elVx0UGG0mDzSVEUYhY5uYRX5CV7cmnebkDnqFrtyuBVVHjLzU008V4aiMvdDIIy/M0+vbKb5T1X0JZUIQcC2k3c4ng+JOxDCY3TMdI+RgjAc6PPfPA+Mm7m6kXF9LcitbvHOM1tEKvFGMpIYpWMipw3KZJHh15C3MSLBp9bv0HMqU7TbtsUosQdiOETcUOkfLwXyWdGX3zx5XnK9huet9fC6wsa2U2h2hdDFXMgo4I3ZubAzNaxfka5znusTYaDU8roMT/AKYqMR2ToRTMdK+CplnMTQS6RnElYco9ojNe3gVc2A3nVGH0ceGxYPPPNGXhmTO0Pc55dmkbkJBGaxPcOi7Ts5gUeHUsFHFcsgYGAnm43Jc8+JJJ81srf3qg+dN3WC11PtFHNWUs7C6Wq4snBk4QfJDLrnAy2zOte9tVnb8NmKz9pRV8FPJNGYoQHxxukDHxuPZeG3I6HXTVd9slkHIainqdsMInE1MKOop6gPpwRK1shEfaBL9QHZ3DuBt3KN7N7y8R2fgGHVOFyS8EubEX8WNzQSTluGOEjbk2I6dV9BWSyDle7ebGsRq311fJLTUvaMdMWBjZHEZWta1wz8No1uTqbc9V1RLIggLXfs3EzfSOYnXoGSG4Pk4fJetpIHUFZHWRjsyOuR0LrWew+8a/HuUg2q2f9NjGSwkYbsJ0BB9ZhPd+oV2nwcyUjKepIkOQNcQeRHqkHvGmvgr1cl6V3xn+xpNo8L9MZHXUpLnBoJDfWcAdCPvtPTw8FShxynxGIU9YAx45OJyhx5Zmu9l3h/wsCKaowWUtcOJC8/hd95p9l/h/ytnLhlFiv1kT+FKdXAABxP34zz94+K1Mtt258y+WNJsNPES6mqbA95fG7zLdCkWwssjs1TU3A52L3u/ifoPmvI2TroNIakW6WlkZ/pIIQ7I1s+k9SLdQZJJP9OgTX3T2f0v52SzCaSGGMMp8uQE6tcHZj1Jd1KzgtZgOBtoYzG1xfmdmc42FzYDQDkNFtFFduPG8FiVOFRSvZJJG1zozdjiNW638+/VZaLG2a8vNkXpEboIiICIiAiIgIiIKWSyqiAiIgIiICIiAiIgpZFVEFmopmytLHtD2nm1wBBUWxDd+xxzQSGI8w113NHuPMfNS9UWy2Iz6eOfMYeFUjoYY45HmRzW2LzfXXx18PJZlkVVipNNlFVERoiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIP/Z @@ -365,6 +384,7 @@ Liverpool L25 4RL + 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 @@ -380,6 +400,7 @@ +44 20 1294 2193 www.vicking-direct.com + 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 - + - - - + - wiki.groups.tree - wiki.groups + document.page.type.tree + document.page.type tree - + @@ -29,76 +26,77 @@ - wiki.groups.form - wiki.groups + document_page_type.form + document.page.type form -
+ + +
+
- + - - + - - + ''')).getroot() diff --git a/openerp/tools/view_validation.py b/openerp/tools/view_validation.py index 40e9e5be1e0..e4324d143f1 100644 --- a/openerp/tools/view_validation.py +++ b/openerp/tools/view_validation.py @@ -12,12 +12,22 @@ def valid_page_in_book(arch): def valid_field_in_graph(arch): """A `field` node must be below a `graph` node.""" - return not arch.xpath('//graph[not ((field) and (@string))]') + if arch.xpath('//graph[not (@string)]'): + return False + for child in arch.xpath('/graph/child::*'): + if child.tag != 'field': + return False + return True def valid_field_in_tree(arch): """A `field` and `button` node must be below a `tree` node. And tree must have `string` attribute.""" - return not arch.xpath('//tree[not((field) or (button)) and (@string)]') + if arch.xpath('//tree[not (@string)]'): + return False + for child in arch.xpath('/tree/child::*'): + if child.tag not in ('field', 'button'): + return False + return True def valid_att_in_field(arch): @@ -57,20 +67,18 @@ def valid_type_in_col(arch): def valid_view(arch): if arch.tag == 'form': - for pred in [valid_page_in_book,valid_att_in_form,valid_type_in_colspan,\ - valid_type_in_col,valid_att_in_field,valid_att_in_label]: + for pred in [valid_page_in_book, valid_att_in_form, valid_type_in_colspan,\ + valid_type_in_col, valid_att_in_field, valid_att_in_label]: if not pred(arch): _logger.error('Invalid XML: %s', pred.__doc__) return False elif arch.tag == 'graph': - for pred in [valid_field_in_graph,valid_type_in_colspan,valid_type_in_col,\ - valid_att_in_field,valid_att_in_label]: + for pred in [valid_field_in_graph, valid_att_in_field]: if not pred(arch): _logger.error('Invalid XML: %s', pred.__doc__) return False elif arch.tag == 'tree': - for pred in [valid_field_in_tree,valid_type_in_colspan,valid_type_in_col,\ - valid_att_in_field,valid_att_in_label]: + for pred in [valid_field_in_tree, valid_att_in_field]: if not pred(arch): _logger.error('Invalid XML: %s', pred.__doc__) return False From ce5a49fd4c67db6ae43a163d9b672675c6b09e65 Mon Sep 17 00:00:00 2001 From: "Twinkle Christian (OpenERP)" Date: Tue, 7 Aug 2012 10:30:07 +0530 Subject: [PATCH 210/578] [IMP]improve views in account bzr revid: tch@tinyerp.com-20120807050007-frozee480m1e2ux9 --- .../account_voucher/account_voucher_view.xml | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml index f58f6b9c33e..5af75e245fa 100644 --- a/addons/account_voucher/account_voucher_view.xml +++ b/addons/account_voucher/account_voucher_view.xml @@ -6,20 +6,18 @@ account.voucher tree - - - - - - - - - - - - - - + + + + + + + + + + + +
From c16ed1bdbbd3f0bc8f394bc9274f81f32806c1de Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Tue, 7 Aug 2012 11:36:05 +0530 Subject: [PATCH 211/578] [IMP]: crm: Improved lead tag(category) names and menu name bzr revid: rpa@tinyerp.com-20120807060605-jvapf7zpbkmu8vn0 --- addons/crm/crm_lead_data.xml | 14 +++++++------- addons/crm/crm_lead_view.xml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index ec88ca8131a..d9f2d8d0284 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -116,37 +116,37 @@ - Interested in Product + Product - Inquiry about Software + Software - Need Services + Services - Need Information + Information - Need a Website Design + Design - Interested in Training + Training - Need Consulting + Consulting diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 3a55228d157..fa3b2d88222 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -100,7 +100,7 @@ - - - - - - + Follow-up for Project proposal + Meeting to discuss project plan and hash out the details of implementation. + + + + open - + - - - + Initial discussion + Discussion with partner for product. - - + + + + draft - + - - - + Pricing Discussion + Internal meeting for discussion for new pricing for product and services. + - - + + done - - - + Requirements review - - + + + + open - - - - - - - + Changes in Designing + info@opensides.be + + + + + draft - + - - - - - - + Presentation for new Services + + + + + done
From b1b78021b218700b84d4297bb2525e4ce1e86ccc Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Tue, 7 Aug 2012 13:03:39 +0530 Subject: [PATCH 217/578] [FIX]Minor problem of showing change password dialog box's button text. bzr revid: kch@tinyerp.com-20120807073339-1w585w2pyggd9wzn --- addons/web/static/src/js/chrome.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 45cbaf46bfb..9af03cd8eb2 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -109,7 +109,7 @@ instance.web.Dialog = instance.web.Widget.extend({ } else if (val.slice(-1) == "%") { return Math.round(available_size / 100 * parseInt(val.slice(0, -1), 10)); } else { - return parseInt(val, 10); + return parseInt(val, 10); } }, renderElement: function() { @@ -123,7 +123,7 @@ instance.web.Dialog = instance.web.Widget.extend({ if (! this.dialog_inited) this.init_dialog(); var o = this.get_options(options); - instance.web.dialog(this.$element, o).dialog('open'); + instance.web.dialog(this.$element, o).dialog('open'); if (o.height === 'auto' && o.max_height) { this.$element.css({ 'max-height': o.max_height, 'overflow-y': 'auto' }); } @@ -627,7 +627,7 @@ instance.web.Reload = instance.web.Widget.extend({ var search = "?ts=" + timestamp; if (l.search) { search = l.search + "&ts=" + timestamp; - } + } var hash = l.hash; if (this.menu_id) { hash = "#menu_id=" + this.menu_id; @@ -855,7 +855,7 @@ instance.web.UserMenu = instance.web.Widget.extend({ modal: true, title: error.title, buttons: [ - {text: _("Ok"), click: function() { $(this).dialog("close"); }} + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} ] }).html(error.error); }, From e63254835c84d2e7cedbfe44bbcbf224c8762b2e Mon Sep 17 00:00:00 2001 From: "Twinkle Christian (OpenERP)" Date: Tue, 7 Aug 2012 13:03:59 +0530 Subject: [PATCH 218/578] [IMP]improved ciews bzr revid: tch@tinyerp.com-20120807073359-p6flrh7wr98t2pue --- addons/crm/crm_phonecall_view.xml | 2 +- addons/mrp/mrp_view.xml | 2 +- addons/project_issue/project_issue_view.xml | 2 +- addons/survey/survey_view.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index f2c47ddee42..ebc264a3b6f 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -106,7 +106,7 @@ crm.phonecall form -
+
+
+
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 4469fa73fbe..de9c65fe042 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -340,7 +340,7 @@ Requests Approve hr.holidays form - {'default_type': 'add', 'search_default_approve':1} + {'default_type': 'remove', 'search_default_approve':1} [('type','=','remove')] @@ -507,7 +507,17 @@
- + + Leaves + ir.actions.act_window + hr.holidays + hr.employee + form + tree,form + {'search_default_employee_id': [active_id], 'default_employee_id': active_id} + [('type','=','remove')] + + diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index 895474e9d7f..b141cef1bb4 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -14,7 +14,7 @@ - + @@ -42,7 +42,7 @@ -
2.83 - Papillon Oranges + Orange Butterfly True @@ -171,7 +171,7 @@ 1.98 - Citron + Lemon True @@ -180,7 +180,7 @@ 3.19 - Limons + Stringers True @@ -189,7 +189,7 @@ 1.98 - Pamplemousse Rouge + Red grapefruit True @@ -199,7 +199,7 @@ 2.09 - Pommes Granny Smith + Granny Smith apples True @@ -208,7 +208,7 @@ 1.10 - Pommes Jonagold + Jonagold apples True @@ -217,7 +217,7 @@ 1.69 - Pommes Golden Perlim + Golden Apples Perlim True @@ -227,7 +227,7 @@ 1.70 - Poires Conference + Conference pears True @@ -246,7 +246,7 @@ 5.10 - Peche + Fishing True @@ -256,7 +256,7 @@ 4.80 - Raisins Noirs + Black Grapes True @@ -266,7 +266,7 @@ 1.39 - Pommes De Terre + Potatoes True @@ -276,7 +276,7 @@ 2.20 - Chicons Flandria Extra + Extra Flandria chicory True @@ -285,7 +285,7 @@ 0.90 - Carottes + Carrots True @@ -294,7 +294,7 @@ 2.10 - Fenouil + Fennel True @@ -304,7 +304,7 @@ 1.90 - Tomates En Grappe + In Cluster Tomatoes True @@ -312,9 +312,9 @@ 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 - + 1.28 - Oignons + Onions True @@ -324,7 +324,7 @@ 3.10 - Poivrons Rouges + Red Pepper True @@ -333,7 +333,7 @@ 3.00 - Poivrons Verts + Green Peppers True @@ -342,7 +342,7 @@ 2.70 - Poivrons Jaunes + Yellow Peppers True @@ -351,7 +351,7 @@ 2.29 - Poireaux + Leeks True @@ -360,7 +360,7 @@ 1.20 - Courgettes + Zucchini True @@ -419,7 +419,7 @@ 0.53 - Coca-Cola Light Decaf 33cl + Coca-Cola Light 33cl Decaf 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 @@ -513,7 +513,7 @@ 0.75 - Spa et Fruit Orange 50cl + Spa Fruit and Orange 50cl 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 @@ -555,7 +555,7 @@ 2.08 - Fanta Zero Orange 1.5L + Fanta Orange Zero 1.5L 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 @@ -580,7 +580,7 @@ 1.26 - Evian 2L + 2L Evian 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 @@ -665,7 +665,7 @@ 0.71 - Perrier 50cl + 50cl Perrier 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 @@ -743,9 +743,9 @@ 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 - + 1.94 - Lindemans Pecheresse 37.5cl + Lindemans sinful 37.5cl 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 @@ -757,7 +757,7 @@ 1.04 - Grisette Cerise 25cl + Grisette Cherry 25cl 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 @@ -812,7 +812,7 @@ 1.02 - Chimay Rouge 33cl + Chimay Red 33cl /9j/4AAQSkZJRgABAAEBLAEsAAD/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCwoKDg0OHBYWHCgoKCgoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAFoAZAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZhTAx/Eniay8M20M94krid9iCMZ5xnnNJuxUIOT0MRPihohwXinRPM8st8pwfz5HuKnnRp7CR2YIIyOhqzEKAOA1H4pJY6pd2R0mTNtMYiWfk4PXpxWbqJM3hQ5le5v+GPFcXiNLo/ZmtjbOEJY8Me4GQOR3HuKqMrkVKfJ1N9WVvusD9DVGZ5ZrHxD8QWmuala2y2bQ2tz5K8e5x1IyePwrGdXlZ006MZJbnR+G/GZuLTUJ9euLa1W0uRbhs7fmxyOpB6cEdeauMrrUznBXSibC+LvD7Z/wCJrbjHX5+lPmRPsp9mbIIYAggg8giqIPMPjB/yFvDn0u//AEFKJ/7vW/wf+3RB/Y/6+Q/M9PFAHDfFmFpPDdrIsu3y7xDsIyHOGrHENKBrQT5jzJNSuLXUIFSK3D3E+8AxoMEYxgsPlxniubCzc035nXW5U0n2N2x8feIZPss7XyBHu0t8sV2f8CHJx711RlJmElSR7TWpzHgHiGBh4o1hYJ3MbXrMdxzlgx5/DJrysVWtOyPSw9O8Vcz21W8XUbgTajMjupYlSfncnOOOnXr9a6IVX7NSfYhxSna3U7D4fai8vjSztv7RmuA1m7OvzAK/Pytnrjrn6VvSlzJMxru11ZHP+IYoLvxLqVxGoVJLpyNvQ8nmvNxNduozsoU0oIdIqR/Du6EUKeYNVXe/8QUxkj+tddGpzUrnPOPLV0KRuMxTLBayedcPGIsz/d55Bz97P6VFOtzTaNppxjc+h4V2QRptC7VA2jtx0r0DzGeZ/GD/AJC3hz6Xf/oKUT/gVv8AB/7dEH9j/r5D8z08UAeb/FrVIYzpumPIFLOZ2BPpwv8AM1x41SlFJHThbJts8w12S2eJAuJGDsoPTpisMHGdOMrmtdxm1Yr6RHanVNNkuEzB9pj835iPl3DP6V0U5++0Zzj7tz6YvruOwsLi8lOI4I2kY+wGa6zlPnmTVIXhN7KJGe4uHzwOT1P/AKEK8arh5zbldHqQqqKtYNS+yL4hEdvJ5kKthGIwWBFVOLhTaXQUZKUrs0/DOuR+H9Z1S8bhksnSP2bCkfrW2Dk7K76GWJSe3cyZL2RNDtrto0865uXG72AH9SaU8NBq+pcasr20LevCSwurzTcgW0txHIg6fwkg8+zYqp0/Zq0fUmE+Z3YyV9qb0YExOGwD0IOf6V51K8Zo65tOLPoS2nW5tYbhOVlRXH0IzX0Cd0eM1Znmnxg/5C3hz6Xf/oKU5/wK3+D/ANuiJ/Y/6+Q/M9P6DmgD568T6unij4gXEiSHyI38uFhzhEB5+hPP41lNXZvSfKmYF3Ekl68MSsUDyMpQfU5x6YApcgSqaiWNtJcaFdXcfIspo9+OyvuGfzH60ey964vaaWPS/F3jhJ/hhYRQybrrUIQk2DyoU7Wz9SK0b0M4xbZ55ewvFp+kwt8okR5mPpliCfyQGsOS+h1c9rsYlzIbW9v/ACvmR0AO4ADntx/KiVCLjYyVZ3uWtSTNjY6lGjLFfRNFMW7OO/8A3yR+RpwoRglboDquTY3W9i6Ro9rbyBjFC0r4P8TP0/SnJaFwerLf2p/E3iu3Ey4Ecaqyj0RcH8yKUlsKLVmU7DT5NWstckiLCS0xOoHcAnI/I/pVQgiZytse2fDHWF1fwTZ5bMtoPs7/APAen/juK1RiznfjB/yFvDn0u/8A0FKc/wCBW/wf+3RE/sf9fIfmdP8AETX28P8AhK4miz50/wC5jI/hJByfyzSY0eH+F5xFNeX6t5L28QPmDnOTyvIPJHtU8po5KxJ4aik1K81W7L7UjtndzjnnsPTvz9aozuW/h5bLqVh4i0zI8yey3RqTyWXJGPzoA5V3d0ijZ8Rqc4PQev6j9alq5cJNbF7WLtbi6/0WTfDHCsETYxuCqATz6nP50Jag5O1i2YGg8EfK+55rjDx+WcjGf4unvimSaheK8+GFtBuAurO9Lbdp4U5HX06/lQBzlzqElxcQvckZtIVijHrjOCfpnP4Uiky94Wt72WS+1CzOz7LAxDn19OlTZlOStZG18Ppolm1GCGH7TLc2+0ruPAx8x6c8mnsKTuavwh1f+yfEM2kTuypeDAVuMSL2+vUVaIaN34wf8hbw59Lv/wBBSnP+BW/wf+3RJf2P+vkPzNP4uR+Z4btQRn/SR/6CaTGjxa8jOn2ZKKwa4bLZ6AD2+v8AKhAzofC1m0fg/VtWLLGGieMKVPzAAHOc9+RQBF8NLpZPFcSRRJC4jc5A3b+nGPwP60IRieJ7H+z9f1G027RFOxUHj5SeP0IoY0Ym/LhSxCr3pIbOo1vXNNPhywsdLkkFwvNwShXJ24P1zmncRc0LX9HXwXqWnag8hvpSxh2RFiTj5TnoOSfzNAHIXG/YpZWDA8lvSkx9DS0vVNSs9LurO08oRXAxISPm6Y4NA7E3h2+1fQ783GnxRvIylSJF3D64pOwWZp+HLS/fxrZXtyNsj3YkbaMZJbn+dHMrj5XY9A+MH/IW8OfS7/8AQUq5/wACt/g/9uiZv7H/AF8h+Zs/FQZ8N259Lkf+gtUy2Lp7nlF7YTpbRJPAwLLuAI/hPQ0k7IqauzIk0gGMqsvlBuwfIP4ChyBUpMdbeHLiArO0zIOzBWX9cVKqIfsJDr3SoobVmXbIcjJB5/XmnzIPZNGLbpvuHGQOT1obsKEW2dB9igkUbx5hA7AD+dJyZoqK6m3ovh+1uLV5fkiAJAB5JI/EetZyqtMp0oo5zxBEiBMIBkjoTWibFOEUg0tQtuT5a5OMEjNDuUoRNixki+1RGfcYgwLKemO/FQ07GlrLQ6LTjBeeMdMW1UMqTJkouB1B9B6UU01uZz0izZ+MH/IW8OfS7/8AQUron/Arf4P/AG6Jxv7H/XyH5m38UuPDEJ/6el/9BapexdP4jzJvtGtNEILcvcFdrBOd+0fe9uBUmy0ZRktrqA7ZbZ0Kkg7kIPBwf14qWaxZpPqJuIBBHbyeZIcEbR1zn0yayjCzGlYrXGlX91p73C2zCBVY+YV2rhevPfFahzJM5PRrVr7VorVGVWnlCKWOACSBTZjTdm2d2nhVrtZzpl4Lz7Mo8xBCyuDu24C9+569BUs0U7bmvY+EtXjebToL+MOyy5jUkA7GUde2dwxS5bvYTqrc57xx4fg0XS4i87S3D3LohGApRTjOOvUH8MVZEpuQ3wnc2KaPJHI1jFOJMu15C0ivHj7q4BIOfTHbnikymnc6izk8KKSQINwWHb5i5XIiO7jGfvYznvikD5zX8Paloh1XTrXT4M3AVVlkRNqswUAt09FP/fVXEzqKVncqfGD/AJC3hz6Xf/oKVpP+BW/wf+3RMH9j/r5D8zb+KhC+E43IyFukJ/75akyouzPLrC/hiQSeWzwSB45EVtpII7Hseh/CoZsnzG9B4nsYrUwPazIRbSwrK5LuCz7hzkAjnPTqBUlcjNax8a6PaTzM8E9w8l7JcoWjAMe4hQBz12bvxxRcTpyf3GBr/icNoqWFjayRQxQtCXkb74YLuyo/2lz170XNIw1uzzix3LdkoSGDZBHbmqZFLdnczeINTubfypr8yK6hWR0GDghh265A5qGWootx+JdVkVmbUdj7mJZYlBOWDHnHcgH8KB8kTlvE8kszRyzSySEYXfIfY/pTRM2kvmS6XbN9lDo49yelDGpXNGGNxIuHhyefl/z70WLudR4HjH/CVWas4J+YhQMfwmqitTCrJWL/AMYP+Qt4c+l3/wCgpWk/4Fb/AAf+3ROZ/Y/6+Q/M73xBokHiHRZtNnYoJBlXHJRh0NAHimreH5fC9w2mX0sbuf3iPGTgqenXoeKlo1hJIpeWTCRHKWB4wOR+dZtI3jJElukqnIkbOM8J/wDXpWRTaK+pyW8Fu7TP5jdhuz+naqSIdVI5rbcaVq01tKmJEkKMPx7VTVzCM2jpG1JFIDQ59yd1HKy1W8iSDUkSNtkJ+ucUKDB1/Ip3Wia34k8yXTrGS4itUDOIhkjJI6dSfpTtYiU3Iz7eGa0hMTho5FbkHIIoJLlvPcYYee+CMEbutFkFz0L4W6Fetq/9qywPHbxI213XAckY49etNCZa+MH/ACFvDn0u/wD0FKc/4Fb/AAf+3RE/sf8AXyH5np46UAef/E3wpe6uIdS06EzyRJsliX7xXqCB378UgPI57ea2LRTwyRSKeVdSp/I0xkUCkyDhjQB1fh7wHqXiK5UT2klvYkjfNICvH+z6mkI9D8R/DDR9eujexSSWV2QA0iDcr4AAyp74A6EUAcvdfB7Vd37jVLSQDvIrIf0BoHclsvhBqGdt5qtvGhPPkoXP64oC56F4f8O2Phuw+y2SsdxzJI5yzn1P+FMRduLCzuzm5tIJj6yRhv50AQx6JpML74tLs0b1WBQf5UAXQMDAoA8w+MH/ACFvDn0u/wD0FKJ/wK3+D/26IP7H/XyH5np4pAFADJIo5RiSNXHowzQAyO0toW3RW0SH1VAKAJqACgAoAKACgAoAKACgDy/4v/8AIW8OfS7/APQUpz/3et/g/wDbog/sf9fIfmD/2Q== @@ -879,7 +879,7 @@ 2.86 - Dr. Oetker Ristorante Vegetale + Dr. Oetker Ristorante Vegetable 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 @@ -898,19 +898,19 @@ 0.39 - Croky Naturel 45g + Croky Natural 45g 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 1.78 - Croky Bolognaise 250g + Croky Bolognese 250g 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 1.48 - Lays Pickels 250g + 250g Lays Pickels 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 @@ -922,14 +922,14 @@ 1.58 - Lays Sel et Poivre Oven Baked 150g + Lays Salt and Pepper Oven Baked 150g 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 1.54 - Lays Paprika Oven Baked 150g + Oven Baked Lays Paprika 150g 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 @@ -960,62 +960,62 @@ 1.54 - Lays Naturel Oven Baked 150g + Oven Baked Lays Natural 150g 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 1.55 - Lays Naturel XXL 300g + Lays Natural XXL 300g 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 1.48 - Lays Light Naturel 170g + Lays Natural Light 170g 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 1.48 - Lays Light Naturel 170g + Lays Natural Light 170g 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 0.39 - Lays Naturel 45g + Lays Natural 45g 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 7.60 - ijsboerke Chocolat 2.5L + IJsboerke Chocolat 2.5L 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 7.60 - ijsboerke Moka 2.5L + IJsboerke Mocha 2.5L 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 7.40 - ijsboerke Vanille 2.5L + IJsboerke Vanilla 2.5L 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 8.40 - ijsboerke Stracciatella 2.5L + IJsboerke Stracciatella 2.5L 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 7.60 - ijsboerke Dame Blanche 2.5L + IJsboerke 2.5L White Lady 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 From 528c12774d59c9017de157d85373b8c43b29eede Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 9 Aug 2012 14:54:19 +0200 Subject: [PATCH 280/578] [IMP] kanban_image uses json for id and is now tolerant to m2o id's bzr revid: fme@openerp.com-20120809125419-j4l0063qyy6antqu --- addons/web/controllers/main.py | 8 +++----- addons/web_kanban/static/src/js/kanban.js | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 7e79fd9d2ea..c5a5cfec5b6 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1373,15 +1373,13 @@ class Binary(openerpweb.Controller): retag = hashed_session try: + id = simplejson.loads(id) + if type(id) is list: + id = id[0] # m2o if not id: res = Model.default_get([field], context).get(field) image_data = base64.b64decode(res) else: - try: - id = int(id) - except (ValueError): - # objects might use virtual ids as string - pass res = Model.read([id], [last_update, field], context)[0] retag = hashlib.md5(res.get(last_update)).hexdigest() image_data = base64.b64decode(res.get(field)) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index ef273ea9ea1..b4cffcba2d5 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -757,6 +757,7 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ } else if (this.record[field] && ! this.record[field].value) { url = "/web/static/src/img/placeholder.png"; } else { + id = escape(JSON.stringify(id)); url = instance.connection.prefix + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; if (cache !== undefined) { // Set the cache duration in seconds. From b9286a8eebf07b3f8e07de76666a5b092f6052d4 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 9 Aug 2012 15:11:41 +0200 Subject: [PATCH 281/578] page work in progress model bzr revid: al@openerp.com-20120809131141-m9xqa24u96sbgna7 --- addons/document_page/document_page.py | 107 +++++++++--------- addons/document_page/wizard/__init__.py | 2 - .../wizard/document_page_make_index.py | 83 -------------- .../wizard/document_page_make_index_view.xml | 42 ------- .../wizard/document_page_open.py | 65 ----------- .../wizard/document_page_open_view.xml | 34 ------ 6 files changed, 51 insertions(+), 282 deletions(-) delete mode 100644 addons/document_page/wizard/document_page_make_index.py delete mode 100644 addons/document_page/wizard/document_page_make_index_view.xml delete mode 100644 addons/document_page/wizard/document_page_open.py delete mode 100644 addons/document_page/wizard/document_page_open_view.xml diff --git a/addons/document_page/document_page.py b/addons/document_page/document_page.py index 3af2417b651..dbba0fc00d7 100644 --- a/addons/document_page/document_page.py +++ b/addons/document_page/document_page.py @@ -29,72 +29,72 @@ class document_page(osv.osv): _description = "Document Page" _order = 'name' - _columns = { - 'name': fields.char('Title', size=256, select=True, required=True), - 'type':fields.selection([('normal','Content Page'), ('index','Index Page')], 'Type', help="Define the type of the document"), + def _get_page_index(self, cr, uid, page): + index == [] + for subpage in page.child_ids: + index += ["
  • "+ self._get_page_index(cr, uid, subpage) +"
  • "] + if index: + index = "
      " + "".join(index) + "
    " + else: + index = page.title - 'parent_id': fields.many2one('document.page', 'Section', select=1 , ondelete='set null'), + def _get_display_content(self, cr, uid, ids, name, args, context=None): + res = {} + for page in self.browse(cr, uid, ids, context=context): + if parent.type == "index": + content = self._get_page_index(cr, uid, page) + else: + content = page.content + res[page.id] = { + 'display_content': content + } + return res + + _columns = { + 'name': fields.char('Title', required=True), + 'type':fields.selection([('content','Content Page'), ('index','Index Page')], 'Type', help="Page type"), + + 'parent_id': fields.many2one('document.page', 'Section'), 'child_ids': fields.one2many('document.page', 'parent_id', 'Children'), - 'display_content': fields.text('Displayed Content'), 'content': fields.text("Content"), + 'display_content': fields.function(_get_display_content, string='Displayed Content', type='text'), + 'history_ids': fields.one2many('document.page.history', 'document_id', 'History'), 'menu_id': fields.many2one('ir.ui.menu', "Menu", readonly=True), 'create_date': fields.datetime("Created on", select=True, readonly=True), + 'create_uid': fields.many2one('res.users', 'Author', select=True, readonly=True), 'write_date': fields.datetime("Modification Date", select=True, readonly=True), 'write_uid': fields.many2one('res.users', "Last Contributor", select=True), - 'create_uid': fields.many2one('res.users', 'Author', select=True, readonly=True), - - 'index': fields.char('Index', size=256), - 'minor_edit': fields.boolean('Minor edit', select=True), - 'edit_summary': fields.char('Summary', size=256), - 'tags': fields.char('Keywords', size=1024, select=True), - } _defaults = { - 'type':'normal', + 'type':'content', } def onchange_parent_id(self, cr, uid, ids, parent_id, content, context=None): - if (not parent_id) or content: - return {} - grp = self.pool.get('document.page.type').browse(cr, uid, parent_id, context=context) - template = grp.content_template - try: - s[-1] = str(int(s[-1])+1) - except: - pass - return { - 'value':{ - 'content': template, - } - } - - def onchange_content(self, cr, uid, ids, content, context=None): - if content: - return {'value':{'summary': content}} - return {} - - def copy_data(self, cr, uid, id, default=None, context=None): - return super(document_page2, self).copy_data(cr, uid, id, {'document_id': False}, context) + res = {} + if parent_id and not content: + parent = self.browse(cr, uid, parent_id, context=context) + if parent.type == "content": + res['value'] = { + 'content': parent.content_template, + } + return res def create_history(self, cr, uid, ids, vals, context=None): - history_id = False - history = self.pool.get('document.page.history') - if vals.get('content'): - res = { - 'content': vals.get('content', ''), - 'write_uid': uid, - 'document_id': ids[0], - 'summary':vals.get('edit_summary', '') - } - history_id = history.create(cr, uid, res) - return history_id + for i in ids: + history = self.pool.get('document.page.history') + if vals.get('content'): + res = { + 'content': vals.get('content', ''), + 'page_id': i, + } + history.create(cr, uid, res) def create(self, cr, uid, vals, context=None): - document_id = super(document_page2, self).create(cr, uid, vals, context) - self.create_history(cr, uid, [document_id], vals, context) + page_id = super(document_page2, self).create(cr, uid, vals, context) + self.create_history(cr, uid, [page_id], vals, context) return document_id def write(self, cr, uid, ids, vals, context=None): @@ -102,23 +102,18 @@ class document_page(osv.osv): self.create_history(cr, uid, ids, vals, context) return result - class document_page_history(osv.osv): _name = "document.page.history" _description = "Document Page History" - _rec_name = "summary" _order = 'id DESC' + _rec_name = "create_date" _columns = { - 'document_id': fields.many2one('document.page', 'Document Page', select=True) + 'page_id': fields.many2one('document.page', 'Page'), 'summary': fields.char('Summary', size=256, select=True), 'content': fields.text("Content"), - 'create_date': fields.datetime("Date", select=True), - 'write_uid': fields.many2one('res.users', "Modify By", select=True), - } - - _defaults = { - 'write_uid': lambda obj, cr, uid, context: uid, + 'create_date': fields.datetime("Date"), + 'create_uid': fields.many2one('res.users', "Modified By"), } def getDiff(self, cr, uid, v1, v2, context=None): diff --git a/addons/document_page/wizard/__init__.py b/addons/document_page/wizard/__init__.py index a110b8175af..e24534647f4 100644 --- a/addons/document_page/wizard/__init__.py +++ b/addons/document_page/wizard/__init__.py @@ -19,8 +19,6 @@ # ############################################################################## -import document_page_page_open -import document_page_make_index import document_page_create_menu import document_page_show_diff diff --git a/addons/document_page/wizard/document_page_make_index.py b/addons/document_page/wizard/document_page_make_index.py deleted file mode 100644 index 801ea802b3d..00000000000 --- a/addons/document_page/wizard/document_page_make_index.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRl (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public license as -# published by the Free Software Foundation, either version 3 of the -# license, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABIlITY or FITNESS FOR A PARTICUlAR PURPOSE. See the -# GNU Affero General Public license for more details. -# -# You should have received a copy of the GNU Affero General Public license -# along with this program. If not, see . -# -############################################################################## - -from osv import fields, osv -from tools.translate import _ - -class document_page_make_index(osv.osv_memory): - """ Create Index For Selected Page """ - - _name = "document.page.make.index" - _description = "Create Index" - - def document_page_do_index(self, cr, uid, ids, context=None): - - """ Makes Index according to page hierarchy - @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, - @param ids: list of document page index’s IDs - - """ - if context is None: - context = {} - data = context and context.get('active_ids', []) or [] - print 'data',tuple(data) - if not data: - return {'type': 'ir.actions.act_window_close'} - - for index_obj in self.browse(cr, uid, ids, context=context): - document_obj = self.pool.get('document.page') - if not ids: - return {} - cr.execute('select id,index,parent_id from document_page where id in %s '\ - 'and type=%s' ,(tuple(data),'index',)) - lst_all = cr.fetchall() - ls_p = [] - ls_np =[] - s_ids = {} - p_ids = {} - for m in lst_all: - if m[2] == None: - ls_np.append(m) - if m[1]: - s_ids[int(m[1])] = ls_np.index(m)+1 - if s_ids: - document_obj.write(cr, uid, m[0], {'index':s_ids[int(m[1])]}) - if m[2]: - ls_p.append(m) - if m[1]: - dict = {} - for l in ls_p: - if l[2] not in dict: - dict[l[2]] = [] - dict[l[2]].append(l) - else: - dict[l[2]].append(l) - - p_ids[m[1]] = str(m[2]) + "." + str(dict[m[2]].index(m)+1) - if p_ids: - document_obj.write(cr, uid, m[0], {'index':p_ids[m[1]]}) - - return {'type': 'ir.actions.act_window_close'} - -document_page_make_index() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document_page/wizard/document_page_make_index_view.xml b/addons/document_page/wizard/document_page_make_index_view.xml deleted file mode 100644 index 70148850fbf..00000000000 --- a/addons/document_page/wizard/document_page_make_index_view.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - Create Index - document.page.make.index - form - - - - - - - - - Create Index - ir.actions.act_window - document.page.make.index - form - form - new - - - - - - - - diff --git a/addons/document_page/wizard/document_page_open.py b/addons/document_page/wizard/document_page_open.py deleted file mode 100644 index 6f6b5d3ee8a..00000000000 --- a/addons/document_page/wizard/document_page_open.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from osv import osv - -class document_page_page_open(osv.osv_memory): - """ wizard Open Page """ - - _name = "document.page.page.open" - _description = "wiz open page" - - def open_document_page(self, cr, uid, ids, context=None): - - """ Opens Wiki Page of Group - @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, - @param ids: List of open wiki page’s IDs - @return: dictionay of open wiki window on give group id - """ - if context is None: - context = {} - group_ids = context.get('active_ids', []) - for group in self.pool.get('document.page.type').browse(cr, uid, group_ids, context=context): - value = { - 'name': 'Document Page', - 'view_type': 'form', - 'view_mode': 'form,tree', - 'res_model': 'document.page', - 'view_id': False, - 'type': 'ir.actions.act_window', - } - if group.method == 'page': - value['res_id'] = group.home.id - elif group.method == 'list': - value['view_type'] = 'form' - value['view_mode'] = 'tree,form' - elif group.method == 'tree': - view_id = self.pool.get('ir.ui.view').search(cr, uid, [('name', '=', 'document.page.tree.children')]) - value['view_id'] = view_id - value['domain'] = [('parent_id', '=', False)] - value['view_type'] = 'tree' - - return value - -document_page_page_open() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document_page/wizard/document_page_open_view.xml b/addons/document_page/wizard/document_page_open_view.xml deleted file mode 100644 index 31df405b921..00000000000 --- a/addons/document_page/wizard/document_page_open_view.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - Open Page - document.page.page.open - form - -
    -
    -
    - - - - - Open Page - ir.actions.act_window - document.page.page.open - form - form - new - -
    -
    From 9a5f47946df8f42badd12bf6169c04ba80ab0e4b Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 9 Aug 2012 15:29:01 +0200 Subject: [PATCH 282/578] page work in progress view bzr revid: al@openerp.com-20120809132901-0zjj2zeji8bsk962 --- addons/document_page/__openerp__.py | 8 +- addons/document_page/document_page_view.xml | 184 ++++---------------- 2 files changed, 32 insertions(+), 160 deletions(-) diff --git a/addons/document_page/__openerp__.py b/addons/document_page/__openerp__.py index f9cb3c58331..80e236f3c63 100644 --- a/addons/document_page/__openerp__.py +++ b/addons/document_page/__openerp__.py @@ -35,16 +35,10 @@ Keep track of Wiki groups, pages, and history. 'web_depends': ['widget_document_page'], 'init_xml': [], 'update_xml': [ - 'data/document_page_sale_faq_data.xml', - 'wizard/document_page_page_open_view.xml', 'wizard/document_page_create_menu_view.xml', 'wizard/document_page_show_diff_view.xml', - 'wizard/document_page_make_index_view.xml', 'document_page_view.xml', 'document_page_sequence.xml', - 'document_page_sale_faq_view.xml', - 'data/document_page_quickstart.xml', - 'data/document_page_main.xml', 'security/document_page_security.xml', 'security/ir.model.access.csv' ], @@ -55,7 +49,7 @@ Keep track of Wiki groups, pages, and history. 'auto_install': False, 'certificate': '0086363630317', 'web': True, - 'images': ['images/create_index.jpeg','images/page_history.jpeg','images/document_page_groups.jpeg','images/document_page_pages.jpeg','document_page_type_internal_faq.jpeg','page_history.jpeg','sale_document.jpeg','wiki_pages.jpeg','wiki_pages_quality_manual.jpeg'], + 'images': [], 'js': ['static/src/lib/wiky/wiky.js', 'static/src/js/document_page.js'], 'css' : [ "static/src/css/document_page.css"], diff --git a/addons/document_page/document_page_view.xml b/addons/document_page/document_page_view.xml index 74d6f0b8719..023dab44013 100644 --- a/addons/document_page/document_page_view.xml +++ b/addons/document_page/document_page_view.xml @@ -1,95 +1,12 @@ - + + - - - - - - - - document.page.type.tree - document.page.type - tree - - - - - - - - - - document_page_type.form - document.page.type - form - -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    - -
    -
    -
    - - - - Document Type - document.page.type - form - tree,form - - - - - - Document Type - document.page.type - tree - - - + - document.page.tree.children + document.page.tree document.page tree child_ids @@ -97,30 +14,25 @@ - - - + - document.page.tree + document.page.list document.page tree - - - - + + - document.page.form @@ -129,47 +41,31 @@
    -
    -
    -
    - document.page.search @@ -177,9 +73,7 @@ search - + @@ -196,7 +90,6 @@ - Document Pages @@ -205,23 +98,9 @@ tree,form - With Wiki Pages you can share ideas and questions with your coworkers. You can create a new document that can be linked to one or several applications (CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. There is a basic wiki editing for text format. - - - - - - - Pages Waiting Review - document.page - form - tree,form - - [('review','=',True)] - + Create web pages + @@ -237,7 +116,6 @@
    - document.page.history.form @@ -247,15 +125,15 @@
    From 1a3bd4596143b27cd7679b30711846eac88c5bf9 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 9 Aug 2012 15:48:51 +0200 Subject: [PATCH 283/578] [FIX] Used json with binary/image controller bzr revid: fme@openerp.com-20120809134851-3yl6skfch2q1f7q0 --- addons/web/static/src/js/view_form.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b8acdfea4cd..4d06cb2d767 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4616,8 +4616,9 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({ if (this.get('value') && ! /^\d+(\.\d*)? \w+$/.test(this.get('value'))) { url = 'data:image/png;base64,' + this.get('value'); } else if (this.get('value')) { + var id = escape(JSON.stringify(this.view.datarecord.id || null)); url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' + - this.view.dataset.model +'&id=' + (this.view.datarecord.id || '') + '&field=' + this.name + '&t=' + (new Date().getTime()); + this.view.dataset.model +'&id=' + id + '&field=' + this.name + '&t=' + (new Date().getTime()); } else { url = "/web/static/src/img/placeholder.png"; } From 594862e93a97b98be7b71e0ab0801d8724d74082 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 9 Aug 2012 16:23:46 +0200 Subject: [PATCH 284/578] [IMP] binary/image should be backward compatible when id url parameter is empty bzr revid: fme@openerp.com-20120809142346-79xiq48qbgx7743i --- addons/web/controllers/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index c5a5cfec5b6..38553502fc7 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1373,7 +1373,7 @@ class Binary(openerpweb.Controller): retag = hashed_session try: - id = simplejson.loads(id) + id = None if not id else simplejson.loads(id) if type(id) is list: id = id[0] # m2o if not id: From 5afe606fd868695b57d9c985e1e93efc0b2ce54c Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 9 Aug 2012 16:31:53 +0200 Subject: [PATCH 285/578] [FIX] res.users small and medium images has no default value bzr revid: fme@openerp.com-20120809143153-goevnqtq1l6f0y73 --- openerp/addons/base/res/res_users.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index a3ae0bfa9eb..1729e9e7784 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -325,6 +325,8 @@ class users(osv.osv): 'context_lang': lambda self, cr, uid, context: context.get('lang', 'en_US'), 'context_tz': lambda self, cr, uid, context: context.get('tz', False), 'image': _get_default_image, + 'image_small': _get_default_image, + 'image_medium': _get_default_image, 'active' : True, 'menu_id': _get_menu, 'company_id': _get_company, From 5ce0720b7526c335bd277eb71c7cdb4d369e7fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 9 Aug 2012 16:42:03 +0200 Subject: [PATCH 286/578] [IMP] fields: many2many: extracted query generation, to ease overrides. bzr revid: tde@openerp.com-20120809144203-sm93gsl2db608z85 --- openerp/osv/fields.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 4ff23956050..c173a8ba8c4 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -648,6 +648,20 @@ class many2many(_column): col2 = '%s_id' % dest_model._table return (tbl, col1, col2) + def _get_query_and_where_params(self, cr, model, ids, values, where_params): + """ Extracted from ``get`` to facilitate fine-tuning of the generated + query. """ + query = 'SELECT %(rel)s.%(id2)s, %(rel)s.%(id1)s \ + FROM %(rel)s, %(from_c)s \ + WHERE %(rel)s.%(id1)s IN %%s \ + AND %(rel)s.%(id2)s = %(tbl)s.id \ + %(where_c)s \ + %(order_by)s \ + %(limit)s \ + OFFSET %(offset)d' \ + % values + return (query, where_params) + def get(self, cr, model, ids, name, user=None, offset=0, context=None, values=None): if not context: context = {} @@ -685,15 +699,7 @@ class many2many(_column): if self._limit is not None: limit_str = ' LIMIT %d' % self._limit - query = 'SELECT %(rel)s.%(id2)s, %(rel)s.%(id1)s \ - FROM %(rel)s, %(from_c)s \ - WHERE %(rel)s.%(id1)s IN %%s \ - AND %(rel)s.%(id2)s = %(tbl)s.id \ - %(where_c)s \ - %(order_by)s \ - %(limit)s \ - OFFSET %(offset)d' \ - % {'rel': rel, + query, where_params = self._get_query_and_where_params(cr, model, ids, {'rel': rel, 'from_c': from_c, 'tbl': obj._table, 'id1': id1, @@ -702,7 +708,8 @@ class many2many(_column): 'limit': limit_str, 'order_by': order_by, 'offset': offset, - } + }, where_params) + cr.execute(query, [tuple(ids),] + where_params) for r in cr.fetchall(): res[r[1]].append(r[0]) From c510b34778a93c53de069a31256d1015591d5dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 9 Aug 2012 16:43:45 +0200 Subject: [PATCH 287/578] [REF] mail: mail has now a mesage_subscriber_ids field, many2many modified field, to avoid doing asynchronous queries to have them. Added temp debug field on mail_group. bzr revid: tde@openerp.com-20120809144345-y03iqvhxv8jxo59v --- addons/mail/__init__.py | 2 +- addons/mail/mail_group_view.xml | 1 + addons/mail/mail_subscription.py | 5 +++-- addons/mail/mail_thread.py | 23 +++++++++++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/addons/mail/__init__.py b/addons/mail/__init__.py index cbd477f55e6..cef9fe126aa 100644 --- a/addons/mail/__init__.py +++ b/addons/mail/__init__.py @@ -21,9 +21,9 @@ import mail_alias import mail_message +import mail_subscription import mail_thread import mail_group -import mail_subscription import ir_needaction import res_users import res_partner diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml index 5c81d426d6a..fd40a3ed739 100644 --- a/addons/mail/mail_group_view.xml +++ b/addons/mail/mail_group_view.xml @@ -78,6 +78,7 @@
    + -
    -

    Add to Dashboard

    -
    -

    - -
    -
    - - - +

    Advanced Search

    diff --git a/addons/web_dashboard/__init__.py b/addons/web_dashboard/__init__.py deleted file mode 100644 index 80b891a3d7a..00000000000 --- a/addons/web_dashboard/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env python -import controllers diff --git a/addons/web_dashboard/__openerp__.py b/addons/web_dashboard/__openerp__.py deleted file mode 100644 index 54f9ae294ac..00000000000 --- a/addons/web_dashboard/__openerp__.py +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "Web Dashboard", - "category": "Hidden", - "description":"""OpenERP Web Dashboard view.""", - "version": "2.0", - "depends": ['web'], - "js": [ - 'static/src/js/dashboard.js' - ], - "css": ['static/src/css/dashboard.css'], - 'qweb' : [ - "static/src/xml/*.xml", - ], - 'auto_install': True -} diff --git a/addons/web_dashboard/controllers.py b/addons/web_dashboard/controllers.py deleted file mode 100644 index f7af6180e41..00000000000 --- a/addons/web_dashboard/controllers.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -try: - import openerp.addons.web.common.http as openerpweb -except ImportError: - import web.common.http as openerpweb - -WIDGET_CONTENT_PATTERN = """ - - [[Widget %(id)d]] - - %(content)s - - - -""" -class Widgets(openerpweb.Controller): - _cp_path = '/web_dashboard/widgets' - - @openerpweb.httprequest - def content(self, request, widget_id): - return WIDGET_CONTENT_PATTERN % request.session.model('res.widget').read( - [int(widget_id)], ['content'], request.session.eval_context(request.context) - )[0] diff --git a/addons/web_dashboard/i18n/ar.po b/addons/web_dashboard/i18n/ar.po deleted file mode 100644 index 83cefe801f0..00000000000 --- a/addons/web_dashboard/i18n/ar.po +++ /dev/null @@ -1,93 +0,0 @@ -# Arabic translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-08 00:47+0000\n" -"Last-Translator: kifcaliph \n" -"Language-Team: Arabic \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "تعديل التنسيق" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "هل متأكد من إزالة هذا البند" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "إعادة هيئة النسق..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "إستعادة" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "تغيير النسق..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "تغيير النسق" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "إنشاء" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "اختر مخطط للعرض" - -#~ msgid "progress:" -#~ msgstr "التقدم:" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "أهلاً و مرحباً بكم في Openerp عربي" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "اضغط علي الوظائف الموجودة بالأسفل للبدء في إعداد نظامك" - -#~ msgid "Your login:" -#~ msgstr "اسم الدخول لك:" - -#~ msgid "Remember to bookmark" -#~ msgstr "تذكر كمفضلة" - -#~ msgid "This url" -#~ msgstr "هذا الرابط" - -#~ msgid "Uncategorized" -#~ msgstr "غير مصنف" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "تنفيذ المهمة \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "علم هذه المهمة كمنجزة" diff --git a/addons/web_dashboard/i18n/bg.po b/addons/web_dashboard/i18n/bg.po deleted file mode 100644 index 6c15d390f8e..00000000000 --- a/addons/web_dashboard/i18n/bg.po +++ /dev/null @@ -1,95 +0,0 @@ -# Bulgarian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-07-09 13:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Редакция План" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Сигурни ли сте, че искате да изтриете този елемент ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Връщане в начално състояние Подредба.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Връщане в начално състояние" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Смяна Подредба.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Промяна Подредба" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Създаване" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Избери подредба на табло" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Изпълни задача \"%s\"" - -#~ msgid "Uncategorized" -#~ msgstr "Без категория" - -#~ msgid "Remember to bookmark" -#~ msgstr "Запомни като отметка" - -#~ msgid "This url" -#~ msgstr "Този url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Кликнете върху фунциите изброени по-долу за да ги изпълните и конфигурирате " -#~ "системата" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Добре дошли в OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Вашето потребителско име:" - -#~ msgid "progress:" -#~ msgstr "обработка:" - -#~ msgid "Mark this task as done" -#~ msgstr "Маркирай задачата като приключена" diff --git a/addons/web_dashboard/i18n/bn.po b/addons/web_dashboard/i18n/bn.po deleted file mode 100644 index a5e1a61127d..00000000000 --- a/addons/web_dashboard/i18n/bn.po +++ /dev/null @@ -1,95 +0,0 @@ -# Bengali translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2011-11-24 12:53+0000\n" -"Last-Translator: nasir khan saikat \n" -"Language-Team: Bengali \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "স্থাপনকৌশল সম্পাদনা করুন" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "আপনি কি নিশ্চিত যে আপনি এই জিনিসটি মুছে ফেলতে চাইছেন?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "স্থাপনকৌশল পুনঃনির্ধারণ করুন" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "পুনঃনির্ধারণ করুন" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "স্থাপনকৌশল পরিবর্তন করুন.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "স্থাপনকৌশল পরিবর্তন করুন" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "তৈরি করুন" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "ড্যাশবোর্ড বিন্যাস নির্বাচন করুন" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "\"%s\" কাজ চালু করুন" - -#~ msgid "Mark this task as done" -#~ msgstr "কাজটি সম্পন্ন হিসাবে চিহ্নিত করন" - -#~ msgid "Uncategorized" -#~ msgstr "অশ্রেণীভুক্ত" - -#~ msgid "Your login:" -#~ msgstr "আপনার প্রবেশ দ্বার" - -#~ msgid "Remember to bookmark" -#~ msgstr "চিহ্নিত করতে মনে রাখুন" - -#~ msgid "This url" -#~ msgstr "এই ইউ-আর-এল" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "আপনার পদ্ধতিটি চালু এবং আকৃতিদান করার জন্য নিম্ন তালিকাভুক্ত " -#~ "কার্যকারিতাগুলিতে চাপুন" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "ওপেন-ই-আর-পি তে স্বাগতম" - -#~ msgid "progress:" -#~ msgstr "অগ্রগতি:" diff --git a/addons/web_dashboard/i18n/bs.po b/addons/web_dashboard/i18n/bs.po deleted file mode 100644 index d90ada2c822..00000000000 --- a/addons/web_dashboard/i18n/bs.po +++ /dev/null @@ -1,85 +0,0 @@ -# Bosnian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-04-15 00:11+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bosnian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Jeste li sigurni da želite ukloniti predmet?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Resetuj" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Izmijeni izgled" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Napravi" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" - -#~ msgid "Mark this task as done" -#~ msgstr "Označi zadatak kao izvršen" - -#~ msgid "Uncategorized" -#~ msgstr "Nekategorisano" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Izvrši zadatak \"%s\"" - -#~ msgid "This url" -#~ msgstr "Ovaj url" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Dobro došli na OpenERP" - -#~ msgid "progress:" -#~ msgstr "Napredak:" - -#~ msgid "Your login:" -#~ msgstr "Vaš login:" diff --git a/addons/web_dashboard/i18n/ca.po b/addons/web_dashboard/i18n/ca.po deleted file mode 100644 index 1942107d284..00000000000 --- a/addons/web_dashboard/i18n/ca.po +++ /dev/null @@ -1,63 +0,0 @@ -# Catalan translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-06-16 17:52+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Catalan \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" diff --git a/addons/web_dashboard/i18n/cs.po b/addons/web_dashboard/i18n/cs.po deleted file mode 100644 index a0432719477..00000000000 --- a/addons/web_dashboard/i18n/cs.po +++ /dev/null @@ -1,96 +0,0 @@ -# Czech translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-22 11:16+0000\n" -"Last-Translator: Jiří Hajda \n" -"Language-Team: openerp-i18n-czech \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" -"X-Poedit-Language: Czech\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Upravit rozvržení" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Jste si jistit, že chcete odstranit tuto položku?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Vynulovat rozvržení..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Vynulovat" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Změnit rozvržení..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Změnit rozvržení" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Vytvořit" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Vybrat rozvržení nástěnky" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Vítejte v OpenERP" - -#~ msgid "Uncategorized" -#~ msgstr "Bez kategorie" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Vykonat úlohu \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Označit úlohu jako dokončenou" - -#~ msgid "progress:" -#~ msgstr "průběh:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Klikněte na seznam funkčností vypsaných níže k jejich spuštění a nastavení " -#~ "systému" - -#~ msgid "Remember to bookmark" -#~ msgstr "Pamatovat do záložek" - -#~ msgid "This url" -#~ msgstr "Toto url" - -#~ msgid "Your login:" -#~ msgstr "Vaše přihlášení:" diff --git a/addons/web_dashboard/i18n/da.po b/addons/web_dashboard/i18n/da.po deleted file mode 100644 index 2e0a147b870..00000000000 --- a/addons/web_dashboard/i18n/da.po +++ /dev/null @@ -1,84 +0,0 @@ -# Danish translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-07-01 09:05+0000\n" -"Last-Translator: Aputsiaq Niels Janussen \n" -"Language-Team: Danish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Redigér layout" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Er du sikker på at du vil fjerne dette element?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Nulstil" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Skift layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Opret" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Vælg layout for kontrolpanel" - -#~ msgid "progress:" -#~ msgstr "fremskridt:" - -#~ msgid "Uncategorized" -#~ msgstr "Uden kategori" - -#~ msgid "Mark this task as done" -#~ msgstr "Markér denne opgave som løst" - -#~ msgid "Your login:" -#~ msgstr "Dit logind:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Husk at sætte bogmærke" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Velkommen til OpenERP" - -#~ msgid "This url" -#~ msgstr "Denne url" diff --git a/addons/web_dashboard/i18n/de.po b/addons/web_dashboard/i18n/de.po deleted file mode 100644 index 0501cf2b260..00000000000 --- a/addons/web_dashboard/i18n/de.po +++ /dev/null @@ -1,93 +0,0 @@ -# German translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-07 19:10+0000\n" -"Last-Translator: Ferdinand @ Camptocamp \n" -"Language-Team: German \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Layout bearbeiten" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Wollen Sie dieses Element wirklich löschen?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Layout zurücksetzen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Zurücksetzen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Layout ändern" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Layout ändern" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Anlegen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Wählen Sie das Dashboard Layout" - -#~ msgid "progress:" -#~ msgstr "Fortschritt:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "Wähle untenstehende Funktionen um diese zu konfigurieren" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Willkommen bei OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Ihr Login:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Lesezeichen nicht vergessen!" - -#~ msgid "This url" -#~ msgstr "Diese URL" - -#~ msgid "Uncategorized" -#~ msgstr "Nicht kategorisiert" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Aufgabe \"%s\" ausführen" - -#~ msgid "Mark this task as done" -#~ msgstr "Als erledigt markieren" diff --git a/addons/web_dashboard/i18n/en_GB.po b/addons/web_dashboard/i18n/en_GB.po deleted file mode 100644 index 2d1071c68fc..00000000000 --- a/addons/web_dashboard/i18n/en_GB.po +++ /dev/null @@ -1,95 +0,0 @@ -# English (United Kingdom) translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-09 11:37+0000\n" -"Last-Translator: John Bradshaw \n" -"Language-Team: English (United Kingdom) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Edit Layout" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Are you sure you want to remove this item ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reset Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reset" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Change Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Change Layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Create" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Choose dashboard layout" - -#~ msgid "Uncategorized" -#~ msgstr "Uncategorised" - -#~ msgid "Your login:" -#~ msgstr "Your login:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Remember to bookmark" - -#~ msgid "This url" -#~ msgstr "This url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Click on the functionalities listed below to launch them and configure your " -#~ "system" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Welcome to OpenERP" - -#~ msgid "progress:" -#~ msgstr "progress:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Execute task \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Mark this task as done" diff --git a/addons/web_dashboard/i18n/es.po b/addons/web_dashboard/i18n/es.po deleted file mode 100644 index e82b441ae25..00000000000 --- a/addons/web_dashboard/i18n/es.po +++ /dev/null @@ -1,95 +0,0 @@ -# Spanish translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-22 10:34+0000\n" -"Last-Translator: Jorge L Tupac-Yupanqui \n" -"Language-Team: Spanish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "¿Esta seguro que quiere eliminar este item?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reiniciar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reiniciar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambiar Disposición.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambiar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crear" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Elegir disposición del tablero" - -#~ msgid "progress:" -#~ msgstr "progreso:" - -#~ msgid "This url" -#~ msgstr "Esta url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Haga click en las funcionalidades listadas debajo para lanzarlas y " -#~ "configurar su sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bienvenido a OpenERP" - -#~ msgid "Uncategorized" -#~ msgstr "Sin categoría" - -#~ msgid "Your login:" -#~ msgstr "Su inicio de sesión:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Recordar en marcadores" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Ejecutar tarea \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarea como terminada" diff --git a/addons/web_dashboard/i18n/es_CL.po b/addons/web_dashboard/i18n/es_CL.po deleted file mode 100644 index 5a4a7b62396..00000000000 --- a/addons/web_dashboard/i18n/es_CL.po +++ /dev/null @@ -1,95 +0,0 @@ -# Spanish (Chile) translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-04-14 15:21+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Spanish (Chile) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Modificar diseño" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "¿Esta seguro que quiere eliminar este item?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reiniciar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reiniciar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambiar Disposición.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambiar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crear" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Elegir disposición del tablero" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Ejecutar tarea \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarea como terminada" - -#~ msgid "Uncategorized" -#~ msgstr "Sin categoría" - -#~ msgid "Remember to bookmark" -#~ msgstr "Recordar en marcadores" - -#~ msgid "This url" -#~ msgstr "Esta url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Haga click en las funcionalidades listadas debajo para lanzarlas y " -#~ "configurar su sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bienvenido a OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Su inicio de sesión:" - -#~ msgid "progress:" -#~ msgstr "progreso:" diff --git a/addons/web_dashboard/i18n/es_CR.po b/addons/web_dashboard/i18n/es_CR.po deleted file mode 100644 index 8d9fc9696c5..00000000000 --- a/addons/web_dashboard/i18n/es_CR.po +++ /dev/null @@ -1,96 +0,0 @@ -# Spanish translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-16 22:16+0000\n" -"Last-Translator: Freddy Gonzalez \n" -"Language-Team: Spanish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" -"Language: es\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar formato" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "¿Está seguro/a que desea eliminar este elemento?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Re-establecer formato..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reiniciar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambiar formato..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambiar formato" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crear" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Escoger disposición del tablero" - -#~ msgid "Uncategorized" -#~ msgstr "Sin categoría" - -#~ msgid "progress:" -#~ msgstr "progreso:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Haga clic en las funcionalidades enumeradas abajo para lanzarlas y " -#~ "configurar su sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bienvenido a OpenERP" - -#~ msgid "Remember to bookmark" -#~ msgstr "Recuerde marcar como favorito" - -#~ msgid "This url" -#~ msgstr "Esta dirección" - -#~ msgid "Your login:" -#~ msgstr "Su usuario:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Ejecutar tarea \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarea como terminada" diff --git a/addons/web_dashboard/i18n/es_EC.po b/addons/web_dashboard/i18n/es_EC.po deleted file mode 100644 index c44fa6dce54..00000000000 --- a/addons/web_dashboard/i18n/es_EC.po +++ /dev/null @@ -1,95 +0,0 @@ -# Spanish (Ecuador) translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2011-10-07 15:56+0000\n" -"Last-Translator: Cristian Salamea (Gnuthink) \n" -"Language-Team: Spanish (Ecuador) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "¿Esta seguro que quiere eliminar este item?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reiniciar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reset" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambiar Disposición.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambiar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crear" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Elegir el diseño del panel de control" - -#~ msgid "progress:" -#~ msgstr "progreso:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Ejecutar tarea \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarea como terminada" - -#~ msgid "Uncategorized" -#~ msgstr "Sin categoría" - -#~ msgid "This url" -#~ msgstr "Esta url" - -#~ msgid "Your login:" -#~ msgstr "Su inicio de sesión:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Recordar en favoritos" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Haga click en las funcionalidades listadas debajo para lanzarlas y " -#~ "configurar su sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bienvenido a OpenERP" diff --git a/addons/web_dashboard/i18n/et.po b/addons/web_dashboard/i18n/et.po deleted file mode 100644 index c7f5dd63220..00000000000 --- a/addons/web_dashboard/i18n/et.po +++ /dev/null @@ -1,63 +0,0 @@ -# Estonian translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2011-10-10 19:29+0000\n" -"Last-Translator: Aare Vesi \n" -"Language-Team: Estonian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Lähtesta" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" diff --git a/addons/web_dashboard/i18n/fi.po b/addons/web_dashboard/i18n/fi.po deleted file mode 100644 index e11b22a20c6..00000000000 --- a/addons/web_dashboard/i18n/fi.po +++ /dev/null @@ -1,95 +0,0 @@ -# Finnish translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-19 12:00+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Muokkaa näkymää" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Oletko varma että haluat poistaa tämän osan ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Palauta asettelu.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Palauta" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Muuta asettelu.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Muuta asettelu" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Luo" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Valitse työpöydän asetttelu" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Suorita tehtävä \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Merkitse tämä tehtävä valmiiksi" - -#~ msgid "Uncategorized" -#~ msgstr "Luokittelemattomat" - -#~ msgid "Your login:" -#~ msgstr "Käyttäjätunnuksesi:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Muista luoda kirjainmerkki" - -#~ msgid "This url" -#~ msgstr "Tämä osoite" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Klikkaa allalistattuja toimintoja käynnistääksesi ne ja määritelläksesi " -#~ "järjestelmäsi" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Tervetuloa OpenERP järjestelmään" - -#~ msgid "progress:" -#~ msgstr "edistyminen:" diff --git a/addons/web_dashboard/i18n/fr.po b/addons/web_dashboard/i18n/fr.po deleted file mode 100644 index 987722dbd7a..00000000000 --- a/addons/web_dashboard/i18n/fr.po +++ /dev/null @@ -1,96 +0,0 @@ -# French translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-15 09:15+0000\n" -"Last-Translator: Olivier Dony (OpenERP) \n" -"Language-Team: French \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Modifier l'agencement" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Voulez-vous réellement supprimer cet élément?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Réinitialiser l'agencement" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Réinitialiser" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Modifier l'agencement..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Modifier l'agencement" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Créer" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Choisissez la mise en page du tableau de bord" - -#~ msgid "Your login:" -#~ msgstr "Votre identifiant:" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bienvenue dans OpenERP" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Démarrer la tâche \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marquer cette tâche comme accomplie" - -#~ msgid "Uncategorized" -#~ msgstr "Sans catégorie" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Les raccourcis ci-dessous permettent de démarrer les étapes principales de " -#~ "configuration de votre système" - -#~ msgid "Remember to bookmark" -#~ msgstr "" -#~ "Pensez à ajouter cette page à vos signets/marque pages en cliquant sur" - -#~ msgid "This url" -#~ msgstr "ce lien" - -#~ msgid "progress:" -#~ msgstr "Progression :" diff --git a/addons/web_dashboard/i18n/gl.po b/addons/web_dashboard/i18n/gl.po deleted file mode 100644 index fffdba5cd71..00000000000 --- a/addons/web_dashboard/i18n/gl.po +++ /dev/null @@ -1,95 +0,0 @@ -# Galician translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-16 09:13+0000\n" -"Last-Translator: Vicente \n" -"Language-Team: Galician \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "¿Está seguro de querer eliminar este elemento?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reiniciar Dosposición.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reiniciar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambiar Disposición.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambiar Disposición" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crear" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Cambiar disposición do taboleiro" - -#~ msgid "progress:" -#~ msgstr "progreso:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Pinchar nas funcionalidades listadas a continuación para lanzar e configurar " -#~ "o seu sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Benvido a OpenERP" - -#~ msgid "Uncategorized" -#~ msgstr "Sen categorizar" - -#~ msgid "Your login:" -#~ msgstr "Seu inicio de sesión:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Recordar o marcador" - -#~ msgid "This url" -#~ msgstr "Esta url" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Executar Tarefa \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarefa como feita" diff --git a/addons/web_dashboard/i18n/hr.po b/addons/web_dashboard/i18n/hr.po deleted file mode 100644 index 85303a24bb8..00000000000 --- a/addons/web_dashboard/i18n/hr.po +++ /dev/null @@ -1,93 +0,0 @@ -# Croatian translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-22 10:13+0000\n" -"Last-Translator: Goran Kliska \n" -"Language-Team: Croatian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Uredi raspored" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Želite li doista ukloniti ovu stavku ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Resetiraj razmještaj..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Vrati izvorno" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Promjeni razmještaj..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Promjeni raspored" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Kreiraj" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Odaberi raspored" - -#~ msgid "progress:" -#~ msgstr "napredak:" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Dobrodošli u svijet OpenERP-a" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "Odaberite funkcionalnost koju želite postaviti" - -#~ msgid "This url" -#~ msgstr "Ovaj url" - -#~ msgid "Your login:" -#~ msgstr "Vaša prijava:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Zabilježi u knjižne oznake" - -#~ msgid "Uncategorized" -#~ msgstr "Nekategorizirano" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Izvrši zadatak \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Označi ovaj zadatak kao obavljen" diff --git a/addons/web_dashboard/i18n/id.po b/addons/web_dashboard/i18n/id.po deleted file mode 100644 index 6bf1fa7a126..00000000000 --- a/addons/web_dashboard/i18n/id.po +++ /dev/null @@ -1,86 +0,0 @@ -# Indonesian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-08 15:13+0000\n" -"Last-Translator: Budi Iskandar \n" -"Language-Team: Indonesian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Ubah Tampilan" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Apakah Anda yakin untuk menghapus item ini ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Atur Ulang Tampilan" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Atur Ulang" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Ubah Tampilan.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Ubah Tampilan" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Buat" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Pilih Tampilan Dasbor" - -#~ msgid "Uncategorized" -#~ msgstr "Tanpa kategori" - -#~ msgid "Your login:" -#~ msgstr "Akun Anda :" - -#~ msgid "Remember to bookmark" -#~ msgstr "Ingatkan untuk menandai" - -#~ msgid "This url" -#~ msgstr "URL ini" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "Pilih Fungsi dibawah ini yang akan dikonfigurasikan ke sistem Anda" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Selamat Datang di OpenERP" - -#~ msgid "progress:" -#~ msgstr "Sedang diproses.." diff --git a/addons/web_dashboard/i18n/it.po b/addons/web_dashboard/i18n/it.po deleted file mode 100644 index dbe169dd27f..00000000000 --- a/addons/web_dashboard/i18n/it.po +++ /dev/null @@ -1,95 +0,0 @@ -# Italian translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-16 21:54+0000\n" -"Last-Translator: Davide Corio - agilebg.com \n" -"Language-Team: Italian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Modifica Layour" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Sicuro di voler cancellare questo elemento?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reimposta Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Ripristina" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Cambia Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Cambia Layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Crea" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Scegli layout dashboard" - -#~ msgid "progress:" -#~ msgstr "avanzamento:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Esegui task \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marca questa attività come completata" - -#~ msgid "Uncategorized" -#~ msgstr "Non categorizzato" - -#~ msgid "Remember to bookmark" -#~ msgstr "Salva nei bookmark" - -#~ msgid "Your login:" -#~ msgstr "Il tuo login:" - -#~ msgid "This url" -#~ msgstr "Questo url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Clicca sulla lista di funzionalità seguenti per eseguirle e configurare il " -#~ "sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Benvenuto su OpenERP" diff --git a/addons/web_dashboard/i18n/ja.po b/addons/web_dashboard/i18n/ja.po deleted file mode 100644 index 63544ec22f9..00000000000 --- a/addons/web_dashboard/i18n/ja.po +++ /dev/null @@ -1,93 +0,0 @@ -# Japanese translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-07-19 01:29+0000\n" -"Last-Translator: Akira Hiyama \n" -"Language-Team: Japanese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "レイアウトの編集" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "この項目を削除しますか?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "レイアウトのリセット" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "リセット" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "レイアウトの変更…" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "レイアウトの変更" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "作成" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "ダッシュボードレイアウトの選択" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "タスク \"%s\" を実行" - -#~ msgid "Mark this task as done" -#~ msgstr "このタスクを完了" - -#~ msgid "Uncategorized" -#~ msgstr "未分類" - -#~ msgid "Your login:" -#~ msgstr "あなたのログイン:" - -#~ msgid "Remember to bookmark" -#~ msgstr "ブックマークをお忘れなく" - -#~ msgid "This url" -#~ msgstr "このURL" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "あなたのシステムを設定するために下記に示した機能をクリックしてください。" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "OpenERPへようこそ" - -#~ msgid "progress:" -#~ msgstr "プロセス" diff --git a/addons/web_dashboard/i18n/ka.po b/addons/web_dashboard/i18n/ka.po deleted file mode 100644 index 5e816e13dab..00000000000 --- a/addons/web_dashboard/i18n/ka.po +++ /dev/null @@ -1,94 +0,0 @@ -# Georgian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-15 18:30+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Georgian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "განლაგების შეცვლა" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "დარწმუნებული ხართ რომ გსურთ ამ კომპონენტის წაშლა?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "საწყისი განლაგება" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "ხელახალი კონფიგურაცია" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "განლაგების შეცვლა.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "განლაგების შეცვლა" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "შექმნა" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "აირჩიეთ საინფორმაციო დაფის განლაგება" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "შეასრულე ამოცანა \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "მონიშნე ეს ამოცანა როგორც დასრულებული" - -#~ msgid "Uncategorized" -#~ msgstr "კატეგორიის გარეშე" - -#~ msgid "Your login:" -#~ msgstr "თქვენი მოხმარებელი:" - -#~ msgid "Remember to bookmark" -#~ msgstr "ჩაინიშნე ფავორიტებში" - -#~ msgid "This url" -#~ msgstr "ეს URL" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "დააწკაპუნეთ ქვემოთ ჩამოთვლილ ფუნქციონალზე რათა გაააქტიუროთ და დააკონფიგურიროთ" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "მოგესალმებით!" - -#~ msgid "progress:" -#~ msgstr "პროგრესი:" diff --git a/addons/web_dashboard/i18n/mk.po b/addons/web_dashboard/i18n/mk.po deleted file mode 100644 index cc7015f9e6d..00000000000 --- a/addons/web_dashboard/i18n/mk.po +++ /dev/null @@ -1,88 +0,0 @@ -# Macedonian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-08 11:07+0000\n" -"Last-Translator: Nikola Stojanoski \n" -"Language-Team: Macedonian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Измени изглед" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Дали сте стигурни дека сакате да го отстраните ојој предмет?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Ресетирај Изглед.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Ресетирај" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Измени изглед.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Измени изглед" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Креирај" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Одбери изглед на таблата" - -#~ msgid "Uncategorized" -#~ msgstr "Некатегоризирано" - -#~ msgid "Your login:" -#~ msgstr "Ваше корисничко име:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Не заборавајте да го обележите" - -#~ msgid "This url" -#~ msgstr "Овој линк" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Кликнете на функционалностите листани подоле за да ги стартувате и да го " -#~ "конфигуриате вашиот систем" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Добредојдовте во OpenERP" - -#~ msgid "progress:" -#~ msgstr "прогрес:" diff --git a/addons/web_dashboard/i18n/mn.po b/addons/web_dashboard/i18n/mn.po deleted file mode 100644 index 093966f7e72..00000000000 --- a/addons/web_dashboard/i18n/mn.po +++ /dev/null @@ -1,94 +0,0 @@ -# Mongolian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-06-13 17:34+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Mongolian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Бүрэлдэхүүнийг засах" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Энэ зүйлийг хасахдаа итгэлтэй байна уу?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Бүрэлдэхүүнийг сэргээх" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Сэргээх" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Бүрэлдэхүүнийг солих" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Бүрэлдэхүүнийг солих" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Үүсгэх" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Хянах самбарын зохиомжийг сонгох" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "\"%s\" Даалгаврыг хэрэгжүүлэх" - -#~ msgid "Mark this task as done" -#~ msgstr "Энэ даалгаврыг хийснээр тэмдэглэх" - -#~ msgid "Uncategorized" -#~ msgstr "Ангилагдаагүй" - -#~ msgid "Your login:" -#~ msgstr "Таны нэвтрэх нэр:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Доорх функционалийн жагсаалт дээр дарж ажилллуулж өөрийн системийн тохируулна" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "OpenERP-д тавтай морил" - -#~ msgid "progress:" -#~ msgstr "явц:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Тэмдэглэж авахаа мартаваа" - -#~ msgid "This url" -#~ msgstr "Энэ url нь" diff --git a/addons/web_dashboard/i18n/nb.po b/addons/web_dashboard/i18n/nb.po deleted file mode 100644 index b0e0847e04f..00000000000 --- a/addons/web_dashboard/i18n/nb.po +++ /dev/null @@ -1,69 +0,0 @@ -# Norwegian Bokmal translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-28 13:07+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmal \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Rediger layout" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Tilbakestill" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Endre layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Endre layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" - -#~ msgid "Mark this task as done" -#~ msgstr "Merk denne oppgaven som ferdig" - -#~ msgid "Uncategorized" -#~ msgstr "Ikke kategorisert" diff --git a/addons/web_dashboard/i18n/nl.po b/addons/web_dashboard/i18n/nl.po deleted file mode 100644 index 1d3f241f6c8..00000000000 --- a/addons/web_dashboard/i18n/nl.po +++ /dev/null @@ -1,95 +0,0 @@ -# Dutch translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-19 08:25+0000\n" -"Last-Translator: Erwin \n" -"Language-Team: Dutch \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Bewerk Opmaak" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Weet u zeker dat u dit item wilt verwijderen?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reset Opmaak" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reset" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Verander Opmaak..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Opmaak wijzigen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Nieuw" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Kies dashboard layout" - -#~ msgid "progress:" -#~ msgstr "voortgang:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Klink op de onderstaande functionaliteiten om ze de starten en uw systeem te " -#~ "configureren" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Welkom bij OpenERP" - -#~ msgid "Uncategorized" -#~ msgstr "Geen categorie" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Voer taak \"%s\" uit" - -#~ msgid "Mark this task as done" -#~ msgstr "Markeer deze taak als voltooid" - -#~ msgid "Your login:" -#~ msgstr "Uw login:" - -#~ msgid "This url" -#~ msgstr "Deze pagina" - -#~ msgid "Remember to bookmark" -#~ msgstr "Vergeet niet een bladwijzer aan te maken van" diff --git a/addons/web_dashboard/i18n/nl_BE.po b/addons/web_dashboard/i18n/nl_BE.po deleted file mode 100644 index be9dd4e2610..00000000000 --- a/addons/web_dashboard/i18n/nl_BE.po +++ /dev/null @@ -1,94 +0,0 @@ -# Dutch (Belgium) translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-05-15 14:13+0000\n" -"Last-Translator: Els Van Vossel (Agaplan) \n" -"Language-Team: Dutch (Belgium) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Lay-out bewerken" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Wilt u dit onderdeel verwijderen?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Lay-out herstellen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Beginwaarden herstellen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Lay-out wijzigen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Lay-out wijzigen" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Maken" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Dashboardlay-out kiezen" - -#~ msgid "Your login:" -#~ msgstr "Uw gegevens:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Vergeet geen bladwijzer te maken" - -#~ msgid "This url" -#~ msgstr "naar deze url" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Welkom bij OpenERP" - -#~ msgid "progress:" -#~ msgstr "voortgang:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Klik op een optie in de lijst hieronder om de functionaliteit in te stellen" - -#~ msgid "Uncategorized" -#~ msgstr "Zonder categorie" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Taak \"%s\" uitvoeren" - -#~ msgid "Mark this task as done" -#~ msgstr "Taak als voltooid markeren" diff --git a/addons/web_dashboard/i18n/pl.po b/addons/web_dashboard/i18n/pl.po deleted file mode 100644 index 3a82cc270b1..00000000000 --- a/addons/web_dashboard/i18n/pl.po +++ /dev/null @@ -1,95 +0,0 @@ -# Polish translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2011-11-04 16:28+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" -"Language-Team: Polish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Edytuj układ" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Jesteś pewien, że chcesz usunąć ten element?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Przywracanie układu..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Przywróć" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Zmiana układu..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Zmień układ" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Utwórz" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Wybierz układ konsoli" - -#~ msgid "progress:" -#~ msgstr "postęp:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Wykonaj zadanie \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Oznacz zadanie jako wykonane" - -#~ msgid "Uncategorized" -#~ msgstr "Bez kategorii" - -#~ msgid "Your login:" -#~ msgstr "Twój login:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Zapisz w zakładkach" - -#~ msgid "This url" -#~ msgstr "Ten url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Kliknij funkcjonalności z listy poniżej, aby je zainstalować i skonfigurować " -#~ "system" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Witamy w OpenERP" diff --git a/addons/web_dashboard/i18n/pt.po b/addons/web_dashboard/i18n/pt.po deleted file mode 100644 index c19046339a1..00000000000 --- a/addons/web_dashboard/i18n/pt.po +++ /dev/null @@ -1,95 +0,0 @@ -# Portuguese translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-16 02:22+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar Estrutura" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Tem a certeza que pretende remover este item?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Repôr Estrutura" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Repôr" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Modificar Estrutura" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Modificar Estrutura" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Criar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Escolha a configuração do painel" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Executar tarefa \"%s\"" - -#~ msgid "Uncategorized" -#~ msgstr "Sem categoria" - -#~ msgid "progress:" -#~ msgstr "progresso:" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarefa como concluída" - -#~ msgid "Remember to bookmark" -#~ msgstr "Relembrar para favoritos" - -#~ msgid "This url" -#~ msgstr "Este endereço" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Clique nas funcionalidades listadas abaixo para as lançar e configurar o seu " -#~ "sistema" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bem-vindo ao OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Os seus acesso:" diff --git a/addons/web_dashboard/i18n/pt_BR.po b/addons/web_dashboard/i18n/pt_BR.po deleted file mode 100644 index b87ff340200..00000000000 --- a/addons/web_dashboard/i18n/pt_BR.po +++ /dev/null @@ -1,95 +0,0 @@ -# Brazilian Portuguese translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-16 01:35+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" -"Language-Team: Brazilian Portuguese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editar Layout" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Você tem certeza que quer remover este item ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Resetar Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Restaurar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Mudar Layout.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Mudar Layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Criar" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Escolha o Layout do Painel" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bem Vindo ao OpenERP" - -#~ msgid "progress:" -#~ msgstr "progresso:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Clique em alguma funcionalidade listada abaixo para ativa-lá e configurar no " -#~ "seu sistema" - -#~ msgid "Your login:" -#~ msgstr "Seu login:" - -#~ msgid "This url" -#~ msgstr "Esta url" - -#~ msgid "Uncategorized" -#~ msgstr "Não Categorizado" - -#~ msgid "Remember to bookmark" -#~ msgstr "Marcar no bookmark" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Execute a tarefa \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcar esta tarefa como realizada" diff --git a/addons/web_dashboard/i18n/ro.po b/addons/web_dashboard/i18n/ro.po deleted file mode 100644 index db8ef6da163..00000000000 --- a/addons/web_dashboard/i18n/ro.po +++ /dev/null @@ -1,95 +0,0 @@ -# Romanian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-03-10 13:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Editare format" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Sunteti sigur(a) ca doriti sa stergeti acest element?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Reseteaza formatul" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Reseteaza" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Schimba formatul.." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Modifica formatul" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Creati" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Alegeti formatul tabloului de bord" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Bun venit in OpenERP" - -#~ msgid "progress:" -#~ msgstr "progres:" - -#~ msgid "This url" -#~ msgstr "Acest url" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Executa sarcina \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Marcheaza aceasta sarcina ca efectuata" - -#~ msgid "Uncategorized" -#~ msgstr "Neclasificat" - -#~ msgid "Your login:" -#~ msgstr "Autentificarea dumneavoastra:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Amintiti-va sa marcati" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Faceti clic pe functionalitatile de mai jos pentru a le porni si a va " -#~ "configura sistemul" diff --git a/addons/web_dashboard/i18n/ru.po b/addons/web_dashboard/i18n/ru.po deleted file mode 100644 index 0b4d9cd823f..00000000000 --- a/addons/web_dashboard/i18n/ru.po +++ /dev/null @@ -1,94 +0,0 @@ -# Russian translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-17 07:37+0000\n" -"Last-Translator: Aleksei Motsik \n" -"Language-Team: Russian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Редактировать макет" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Вы действительно хотите удалить этот объект?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Обнулить Макет..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Сбросить" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Изменить Макет..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Изменить Макет" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Создать" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Выбрать внешний вид" - -#~ msgid "progress:" -#~ msgstr "прогресс:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Нажмите на списке функций ниже для их запуска и конфигурации вашей системы" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Добро пожаловать в OpenERP" - -#~ msgid "Uncategorized" -#~ msgstr "Без категории" - -#~ msgid "Your login:" -#~ msgstr "Ваше Имя пользователя:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Добавить в закладки" - -#~ msgid "This url" -#~ msgstr "Эта ссылка" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Выполнить задачу \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Отметить завершенной" diff --git a/addons/web_dashboard/i18n/sk.po b/addons/web_dashboard/i18n/sk.po deleted file mode 100644 index 570f22bdbeb..00000000000 --- a/addons/web_dashboard/i18n/sk.po +++ /dev/null @@ -1,63 +0,0 @@ -# Slovak translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2011-10-23 14:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" diff --git a/addons/web_dashboard/i18n/sl.po b/addons/web_dashboard/i18n/sl.po deleted file mode 100644 index 94f8ff7f35c..00000000000 --- a/addons/web_dashboard/i18n/sl.po +++ /dev/null @@ -1,93 +0,0 @@ -# Slovenian translation for openerp-web -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-01-30 17:50+0000\n" -"Last-Translator: ERP Basing \n" -"Language-Team: Slovenian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Uredi izgled" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Res želite odstraniti to postavko ?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Povrni postavitev" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Povrni" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Spremeni postavitev" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Spremeni postavitev" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Ustvari" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Izberite postavitev nadzorne plošče" - -#~ msgid "progress:" -#~ msgstr "napredek:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "Kliknite spodnje nastavitve, da se odprejo in lahko nastavite sistem" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Dobrodošli v OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Vaša prijava:" - -#~ msgid "This url" -#~ msgstr "Ta naslov (url)" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Izvedi opravilo \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Označi to opravilo kot opravljeno" - -#~ msgid "Uncategorized" -#~ msgstr "Neopredeljeno" - -#~ msgid "Remember to bookmark" -#~ msgstr "Ustvarite zaznamek ( bookmark)" diff --git a/addons/web_dashboard/i18n/sq.po b/addons/web_dashboard/i18n/sq.po deleted file mode 100644 index 8e4494dfbbe..00000000000 --- a/addons/web_dashboard/i18n/sq.po +++ /dev/null @@ -1,63 +0,0 @@ -# Albanian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-01 00:15+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Albanian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" diff --git a/addons/web_dashboard/i18n/sr@latin.po b/addons/web_dashboard/i18n/sr@latin.po deleted file mode 100644 index 362bd001e38..00000000000 --- a/addons/web_dashboard/i18n/sr@latin.po +++ /dev/null @@ -1,88 +0,0 @@ -# Serbian Latin translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-09 21:03+0000\n" -"Last-Translator: zmmaj \n" -"Language-Team: Serbian Latin \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Uredi Izgled" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Jesi li siguran da želiš ukloniti ovu stavku?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Resetuj Izgled" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Resetuj" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Izmeni Izgled..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Izmeni Izgled" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Kreiraj" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Izaberi Izgled kontrolnog panela" - -#~ msgid "Uncategorized" -#~ msgstr "Nekategorisano" - -#~ msgid "Your login:" -#~ msgstr "Vaša prijava:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Sačuvaj u podsetniku" - -#~ msgid "This url" -#~ msgstr "Ovaj url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Klikni na neku od funkcija nabrojanu ispod kako bi je pokrenuo i uredio svoj " -#~ "sistem" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Dobrodošli u OpenERP" - -#~ msgid "progress:" -#~ msgstr "napredak:" diff --git a/addons/web_dashboard/i18n/sv.po b/addons/web_dashboard/i18n/sv.po deleted file mode 100644 index bfc7eca5cca..00000000000 --- a/addons/web_dashboard/i18n/sv.po +++ /dev/null @@ -1,94 +0,0 @@ -# Swedish translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-04-17 09:21+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Swedish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Ändra layout" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Är du säker på att du vill radera?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Återställ layouten" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Nollställ" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Ändra layout..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Ändra layout" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Skapa" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Välj infopanellayout" - -#~ msgid "Mark this task as done" -#~ msgstr "Markera denna uppgift som färdig" - -#~ msgid "Uncategorized" -#~ msgstr "Okategoriserad" - -#~ msgid "Remember to bookmark" -#~ msgstr "Kom ihåg att spara ett bokmärke till" - -#~ msgid "This url" -#~ msgstr "denna url" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Välj bland funktionerna nedan för att starta och konfigurera ditt system" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "Välkommen till OpenERP" - -#~ msgid "Your login:" -#~ msgstr "Din inloggning:" - -#~ msgid "progress:" -#~ msgstr "framsteg:" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Utför åtgärd \"%s\"" diff --git a/addons/web_dashboard/i18n/tr.po b/addons/web_dashboard/i18n/tr.po deleted file mode 100644 index 9c1ad0c54b7..00000000000 --- a/addons/web_dashboard/i18n/tr.po +++ /dev/null @@ -1,94 +0,0 @@ -# Turkish translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-24 11:28+0000\n" -"Last-Translator: Ahmet Altınışık \n" -"Language-Team: Turkish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "Şablonu değiştir" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "Bu kayıdı silmek istediğinize emin misiniz?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "Düzeni Sıfırla..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "Yeniden başlat" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "Düzeni Değiştir..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "Düzeni Değiştir" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "Oluştur" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "Yönetim Paneli Yerleşmini Seç" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "" -#~ "Aşağıdaki fonksiyon adlarının üzerlerine tıklayarak ayarları yapabilirsiniz." - -#~ msgid "Welcome to OpenERP" -#~ msgstr "OpenERP ye hoşgeldiniz." - -#~ msgid "progress:" -#~ msgstr "İlerleme:" - -#~ msgid "Your login:" -#~ msgstr "Kullanıcı Adınız:" - -#~ msgid "Remember to bookmark" -#~ msgstr "Yer imlerine ekleyin:" - -#~ msgid "This url" -#~ msgstr "Bu Sayfayı" - -#~ msgid "Uncategorized" -#~ msgstr "Sınıflandırılmamış" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "Görevi Çalıştır \"%s\"" - -#~ msgid "Mark this task as done" -#~ msgstr "Bu görevi yapıldı olarak işaretle" diff --git a/addons/web_dashboard/i18n/uk.po b/addons/web_dashboard/i18n/uk.po deleted file mode 100644 index fde0a60224f..00000000000 --- a/addons/web_dashboard/i18n/uk.po +++ /dev/null @@ -1,63 +0,0 @@ -# Ukrainian translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-07-22 09:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" diff --git a/addons/web_dashboard/i18n/web_dashboard.pot b/addons/web_dashboard/i18n/web_dashboard.pot deleted file mode 100644 index a43640de0b8..00000000000 --- a/addons/web_dashboard/i18n/web_dashboard.pot +++ /dev/null @@ -1,64 +0,0 @@ -# Translations template for PROJECT. -# Copyright (C) 2012 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2012. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PROJECT VERSION\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:61 -msgid "Edit Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:107 -msgid "Are you sure you want to remove this item ?" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "" - diff --git a/addons/web_dashboard/i18n/zh_CN.po b/addons/web_dashboard/i18n/zh_CN.po deleted file mode 100644 index 030afd10594..00000000000 --- a/addons/web_dashboard/i18n/zh_CN.po +++ /dev/null @@ -1,93 +0,0 @@ -# Chinese (Simplified) translation for openerp-web -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openerp-web package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openerp-web\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-07-02 09:06+0200\n" -"PO-Revision-Date: 2012-02-15 13:18+0000\n" -"Last-Translator: Wei \"oldrev\" Li \n" -"Language-Team: Chinese (Simplified) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n" -"X-Generator: Launchpad (build 15757)\n" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:60 -msgid "Edit Layout" -msgstr "编辑布局" - -#. openerp-web -#: addons/web_dashboard/static/src/js/dashboard.js:106 -msgid "Are you sure you want to remove this item ?" -msgstr "您确定要移除此条目吗?" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:4 -msgid "Reset Layout.." -msgstr "重置布局..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:6 -msgid "Reset" -msgstr "复位" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:8 -msgid "Change Layout.." -msgstr "更改布局..." - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:10 -msgid "Change Layout" -msgstr "更改布局" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:27 -msgid " " -msgstr " " - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 -msgid "Create" -msgstr "创建" - -#. openerp-web -#: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 -msgid "Choose dashboard layout" -msgstr "选择仪表盘布局" - -#~ msgid "Welcome to OpenERP" -#~ msgstr "欢迎使用 OpenERP" - -#~ msgid "progress:" -#~ msgstr "进度:" - -#~ msgid "" -#~ "Click on the functionalites listed below to launch them and configure your " -#~ "system" -#~ msgstr "单击以下功能列表打开配置界面" - -#~ msgid "Your login:" -#~ msgstr "您的用户名:" - -#~ msgid "Remember to bookmark" -#~ msgstr "加入书签" - -#~ msgid "This url" -#~ msgstr "此网址" - -#~ msgid "Uncategorized" -#~ msgstr "未分类" - -#, python-format -#~ msgid "Execute task \"%s\"" -#~ msgstr "执行任务“%s”" - -#~ msgid "Mark this task as done" -#~ msgstr "将此任务标记为完成" diff --git a/addons/web_dashboard/static/src/css/dashboard.css b/addons/web_dashboard/static/src/css/dashboard.css deleted file mode 100644 index 74410b3e937..00000000000 --- a/addons/web_dashboard/static/src/css/dashboard.css +++ /dev/null @@ -1,309 +0,0 @@ -.openerp table.oe_dashboard { - width: 100%; -} -.openerp .oe_dashboard_links { - text-align: right; - margin: 0 4px 6px 0; -} -.openerp .oe_dashboard_action { - margin: 0 0.5em 0.5em 0; - padding: 0px; - background-color: white; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -.openerp .oe_dashboard_action .oe_dashboard_action_header { - font-size: 85%; - font-weight: bold; - text-transform: uppercase; - text-indent: 10px; - vertical-align: middle; - border-bottom: 1px solid #e5e5e5; - background: white url("/web/static/src/img/box-a-header-a.gif") 0% 0% repeat-x; -} - -.openerp h2.oe_dashboard_action_header { - margin: 0; - padding:4px 4px; - -moz-border-radius-topleft: 3px; - -webkit-border-top-left-radius: 3px; - border-top-left-radius: 3px; - -moz-border-radius-topright: 3px; - -webkit-border-top-right-radius: 3px; - border-top-right-radius: 3px; -} -.openerp h2.oe_dashboard_action_header_empty { - padding-top: 0; - padding-bottom: 2px; -} - -.openerp .oe_dashboard_button_create { - margin-left: 4px; - padding: 0 4px 0 4px; - height: 16px !important; -} - -.openerp a.oe_dashboard_action_rename { - float: left; - padding-right: 4px; - position: relative; - top: 1px; -} -.openerp .oe_dashboard_action_input { - height: 16px; - position: relative; - top: 2px; -} - -.openerp .oe_dashboard_action .oe_dashboard_action_header:hover { - cursor: move; -} -.openerp .oe_dashboard_action .ui-icon { - cursor: pointer; -} -.openerp .oe_dashboard_action .ui-icon:hover { - background-color: #ccc; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; -} - -.openerp .oe_dashboard_action .oe_dashboard_action_header .ui-icon { - float: right; -} - -.openerp .oe_dashboard .ui-sortable-placeholder { - border: 1px dotted black; - visibility: visible !important; - height: 50px !important; -} - -.openerp .oe_dashboard .ui-sortable-placeholder * { - visibility: hidden; -} - -/* Base overwriting */ -.openerp .oe_dashboard .oe_list_content, .openerp .oe_dashboard .ui-widget-header { - border-right:none !important; - padding:0 3px; -} - -/* Layouts */ -.openerp .oe_dashboard_layout_1 .oe_dashboard_column.index_0 { - width: 100%; -} -.openerp .oe_dashboard_layout_1 .oe_dashboard_column.index_1, -.openerp .oe_dashboard_layout_1 .oe_dashboard_column.index_2 { - display: none; -} - -.openerp .oe_dashboard_layout_1-1 .oe_dashboard_column { - width: 50%; -} -.openerp .oe_dashboard_layout_1-1 .oe_dashboard_column.index_2 { - display: none; -} - -.openerp .oe_dashboard_layout_1-1-1 .oe_dashboard_column { - width: 33%; -} - -.openerp .oe_dashboard_layout_2-1 .oe_dashboard_column.index_0 { - width: 70%; -} -.openerp .oe_dashboard_layout_2-1 .oe_dashboard_column.index_1 { - width: 30%; -} -.openerp .oe_dashboard_layout_2-1 .oe_dashboard_column.index_2 { - display: none; -} - -.openerp .oe_dashboard_layout_1-2 .oe_dashboard_column.index_0 { - width: 30%; -} -.openerp .oe_dashboard_layout_1-2 .oe_dashboard_column.index_1 { - width: 70%; -} -.openerp .oe_dashboard_layout_1-2 .oe_dashboard_column.index_2 { - display: none; -} - - -.openerp .oe_dashboard_layout_selector { - overflow: auto; - padding: 10px; -} - -.openerp .oe_dashboard_layout_selector ul { - margin: 0; - padding: 0; -} - -.openerp .oe_dashboard_layout_selector ul li { - position: relative; - float: left; - height: 51px; - list-style-type: none; - margin: 5px; - padding: 0; - width: 82px; - cursor: pointer; - border: 1px solid white; -} -.openerp .oe_dashboard_layout_selector ul li:hover { - border: 1px solid #090; -} -.openerp .oe_dashboard_layout_selector ul li img.oe_dashboard_selected_layout { - position: absolute; - top: 0px; - right: 0px; -} - -.openerp .oe_dashboard_home_tile { - text-align: center; - margin: 10px; - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - -webkit-box-shadow: 3px 3px 5px 3px #DADDDD; - -moz-box-shadow: 3px 3px 5px 3px #DADDDD; - box-shadow: 3px 3px 5px 3px #DADDDD; -} -.openerp .oe_dashboard_home_tile span { - display: block; - padding: 0 0 15px; - font-weight: bold; - text-transform: uppercase; - color: #555; - white-space: nowrap; -} -.openerp .oe_dashboard_home_tile_icon { - height: 100px; -} -.openerp .oe_dashboard_home_tile_icon img { - display: block; - margin: 0 auto; -} -.openerp .oe_dashboard_home_tile_icon img.hover { - display: none; -} -.openerp .oe_dashboard_home_tile:hover { - background-color: #fafafa; - -webkit-box-shadow: 3px 3px 5px 3px #979797; - -moz-box-shadow: 3px 3px 5px 3px #979797; - box-shadow: 3px 3px 5px 3px #979797; -} -.openerp .oe_dashboard_home_tile:hover img { - display: none; -} -.openerp .oe_dashboard_home_tile:hover img.hover { - display: block; -} -.openerp .oe_dashboard_home_tile:hover span { - color: black; -} - -.openerp .oe_dashboard_action .view-manager-main-content { - padding: 2px; -} - -.openerp .oe_app_tiles h1, .openerp .oe_app_tiles h3 { - margin: 16px 24px; -} - -.openerp .oe_app_tiles { - padding: 0 10px; -} - -.openerp .oe_app_tiles li { - float: left; - list-style: none; -} - -.openerp .oe_app_tiles li img { - display: block; - margin: 0 auto; - height: 100px; - width: 100px; -} -.openerp .oe_app_tiles li img.hover { - display: none; -} -.openerp .oe_app_tiles li:hover img { - display: none; -} -.openerp .oe_app_tiles li:hover img.hover { - display: block; -} - -.openerp .oe_app_tiles li a { - display: block; - height: 120px; - width: 194px; - color: #4C4C4C; - border: 1px solid #f4f2f2; - margin: 6px; - padding: 12px; - text-align: center; - text-transform: uppercase; - text-decoration: none; - font-size: 12px; - font-weight: 800; - background: white; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - -ms-border-radius: 6px; - border-radius: 6px; - -moz-box-shadow: 0 1px 2px #bbb; - -webkit-box-shadow: 0 1px 2px #bbb; - -o-box-shadow: 0 1px 2px #bbb; - box-shadow: 0 1px 2px #bbb; -} -/* changing icon for the change layout button */ - -.openerp .oe_dashboard_link_change_layout, .openerp .oe_dashboard_link_reset { - padding-top: 1px; - height: 22px; -} -.openerp .oe_dashboard_link_change_layout > *, .openerp .oe_dashboard_link_reset > *{ - vertical-align: middle; -} - -.openerp .oe_welcome_message { - display:none; -} -.openerp .oe_initial_welcome_message { - width:30%; - text-align:center; - margin:10px 35% 0 35%; - padding: 5px 10px; - border: 1px solid #ccc; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - background: #eeeded; - box-shadow: 0 1px 0 #fff; - -moz-box-shadow: 0 1px 0 #fff; - -webkit-box-shadow: 0 1px 0 #fff; - color: #8c8c8c; - font-size: 90%; - text-transform: uppercase; - font-weight: bold; - text-shadow: #fff 0 1px 0; -} - -.openerp .oe_initial_welcome_message ul{ - padding:10px 0 0 0; - margin:0; - list-style-type: none; - padding: 7px 0 5px 5px; - background-position: 0 50%; - background-repeat: no-repeat; - cursor: pointer; -} -.openerp .oe_initial_welcome_message ul a, .openerp .initial_welcome_message ul a:hover, .openerp .initial_welcome_message ul a:active, .openerp .initial_welcome_message ul a:focus { - color:#222; - text-decoration:none; -} diff --git a/addons/web_dashboard/static/src/img/layout_1-1-1.png b/addons/web_dashboard/static/src/img/layout_1-1-1.png deleted file mode 100644 index 5eda2823c46c11bcfed2b657847dba77ba568d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^AZ*OR1|(Tp;!}VWV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwcjggO={}+qxO`y;wPZ!6Kid%2* zY~(s*AmVT_{9`i{U##_yn?Qo&=NvIDD-SpBNhty6?(R}4s8IF3m3a4h`ifn}E=Ou+ zdxn_AE;mo9yzqUhqRqk#VUGz4|G!`P7jkar>1B^odpbIv?)!6O*U~AII=^H!vuI9G zaO6?}s$mrZl1!XJOB|Y5ID-@%n^2`><>&kwcjggN>>c$NJuRx)lo-U3d6}R5r z*~`~tAkuKL`_%6V78{Iy+~8Zoqh`a$(#h8rD0JEFkLCSi*XG<==Iw15(;ls{)7izP zI?q$(%A8s3Pd+WY9^F>ZuH>)a*!1Ua@bAdl`}zA0{EBdQaVdXk7VjMzs&?rb8)pzu zTEt_5f+Lp-kYp87@n~e>6k6iY!~&Pvzb|v1!?P84rYq#;PWXTORqCIur=P#insdBA pvbz(cScqRbf7@lPKaL9i<>&kwcjggOsH`@D@5m0ESr;B4q#jUq@ z47r;eBpM!`KlNYPWQWz4&C)TlO!a+9LCzLxN9IoWx@UGbJOBN{)0u{M+TAsF2D`Xa z=X$DKiJ2w-8MOoBrGl{vBI;KYvq3?K)+pMY~IPA6m8Ql*_GK3XWVV z9ut^2g;YEmSvZB3I5e?nP5^2U@c@!gsVDDdKjTd4JC)3N=^ES5{cGcn#qX|}cgdoE s_P+ZrAeHe|H-4m9uRSEs^63l9x%sjacD6Gc13kgu>FVdQ&MBb@00A6wf&c&j diff --git a/addons/web_dashboard/static/src/img/layout_1.png b/addons/web_dashboard/static/src/img/layout_1.png deleted file mode 100644 index 69a0e30854c06cb060533c0c41963584cc0aaf71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^AZ*OR1|(Tp;!}VWV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwcjggPr#GC)hU!c$uPZ!6Kid%2* z7;-fmh%`J*U;F)}pp4D7X7>|?EZT1sn!1}*yl=n1zo~A|1XWMt{m;r*>_~SxV&bR5 z^{TzD`HuLm`*tn-BBe~6LQme$yOsWQ4yUY_=1h-hX%&w~7S13A$0iod2|!ZBV}b&! zkc!6yph~#ZpI_5T86y|3d+TuPmcsw-r%(R~pME}738-h~?e<>t+o`5?0xK@FA8ZpB URCT#*40JDpr>mdKI;Vst0C^K*^Z)<= diff --git a/addons/web_dashboard/static/src/img/layout_2-1.png b/addons/web_dashboard/static/src/img/layout_2-1.png deleted file mode 100644 index ed866add47c5e1c2384f18981f0fe13edc9cda0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^AZ*OR1|(Tp;!}VWV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwcjggOAlJ7!C2T*8(r;B4q#jUq@ zHgYu^h&Wta{=>16Zyn#?H$bAbrq9V+wkvt5>a-}!@?t^TJrh);dbfWR)LPfs@j~CW zvuRiH_m&vFFO{bSu4!!JRPmT_{O;EHsm1?RPtWwvb#dXj{!sh7zvfI2Z)p{eMi$N> z1;-{9%?UtK#AAX2s}N8F6DN>Fmdg5T@bA{c&$ecFm(RD|-pRr#wB+86oSMzCVNdy) bZksS4=9HQcS-jp2=ynEAS3j3^P6 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 Tu8hFi00000NkvXXu0mjfq2O{c diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js deleted file mode 100644 index 92166cc02b1..00000000000 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ /dev/null @@ -1,333 +0,0 @@ -openerp.web_dashboard = function(instance) { -var QWeb = instance.web.qweb, - _t = instance.web._t; - -if (!instance.web_dashboard) { - /** @namespace */ - instance.web_dashboard = {}; -} - -instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ - init: function(view, node) { - this._super(view, node); - this.form_template = 'DashBoard'; - this.actions_attrs = {}; - this.action_managers = []; - }, - start: function() { - var self = this; - this._super.apply(this, arguments); - - this.$element.find('.oe_dashboard_column').sortable({ - connectWith: '.oe_dashboard_column', - handle: '.oe_dashboard_action_header', - scroll: false - }).disableSelection().bind('sortstop', self.do_save_dashboard); - - // Events - this.$element.find('.oe_dashboard_link_reset').click(this.on_reset); - this.$element.find('.oe_dashboard_link_change_layout').click(this.on_change_layout); - - this.$element.delegate('.oe_dashboard_column .oe_dashboard_fold', 'click', this.on_fold_action); - this.$element.delegate('.oe_dashboard_column .ui-icon-closethick', 'click', this.on_close_action); - - // Init actions - _.each(this.node.children, function(column, column_index) { - _.each(column.children, function(action, action_index) { - delete(action.attrs.width); - delete(action.attrs.height); - delete(action.attrs.colspan); - var action_id = _.str.toNumber(action.attrs.name); - if (!_.isNaN(action_id)) { - self.rpc('/web/action/load', {action_id: action_id}, function(result) { - self.on_load_action(result, column_index + '_' + action_index, action.attrs); - }); - } - }); - }); - }, - on_reset: function() { - this.rpc('/web/view/undo_custom', { - view_id: this.view.fields_view.view_id, - reset: true - }, this.do_reload); - }, - on_change_layout: function() { - var self = this; - var qdict = { - current_layout : this.$element.find('.oe_dashboard').attr('data-layout') - }; - var $dialog = instance.web.dialog($('
    '), { - modal: true, - title: _t("Edit Layout"), - width: 'auto', - height: 'auto' - }).html(QWeb.render('DashBoard.layouts', qdict)); - $dialog.find('li').click(function() { - var layout = $(this).attr('data-layout'); - $dialog.dialog('destroy'); - self.do_change_layout(layout); - }); - }, - do_change_layout: function(new_layout) { - var $dashboard = this.$element.find('.oe_dashboard'); - var current_layout = $dashboard.attr('data-layout'); - if (current_layout != new_layout) { - var clayout = current_layout.split('-').length, - nlayout = new_layout.split('-').length, - column_diff = clayout - nlayout; - if (column_diff > 0) { - var $last_column = $(); - $dashboard.find('.oe_dashboard_column').each(function(k, v) { - if (k >= nlayout) { - $(v).find('.oe_dashboard_action').appendTo($last_column); - } else { - $last_column = $(v); - } - }); - } - $dashboard.toggleClass('oe_dashboard_layout_' + current_layout + ' oe_dashboard_layout_' + new_layout); - $dashboard.attr('data-layout', new_layout); - this.do_save_dashboard(); - } - }, - on_fold_action: function(e) { - var $e = $(e.currentTarget), - $action = $e.parents('.oe_dashboard_action:first'), - id = parseInt($action.attr('data-id'), 10); - if ($e.is('.ui-icon-minusthick')) { - $action.data('action_attrs').fold = '1'; - } else { - delete($action.data('action_attrs').fold); - } - $e.toggleClass('ui-icon-minusthick ui-icon-plusthick'); - $action.find('.oe_dashboard_action_content').toggle(); - this.do_save_dashboard(); - }, - on_close_action: function(e) { - if (confirm(_t("Are you sure you want to remove this item ?"))) { - $(e.currentTarget).parents('.oe_dashboard_action:first').remove(); - this.do_save_dashboard(); - } - }, - do_save_dashboard: function() { - var self = this; - var board = { - form_title : this.view.fields_view.arch.attrs.string, - style : this.$element.find('.oe_dashboard').attr('data-layout'), - columns : [] - }; - this.$element.find('.oe_dashboard_column').each(function() { - var actions = []; - $(this).find('.oe_dashboard_action').each(function() { - var action_id = $(this).attr('data-id'), - new_attrs = _.clone($(this).data('action_attrs')); - if (new_attrs.domain) { - new_attrs.domain = new_attrs.domain_string; - delete(new_attrs.domain_string); - } - if (new_attrs.context) { - new_attrs.context = new_attrs.context_string; - delete(new_attrs.context_string); - } - actions.push(new_attrs); - }); - board.columns.push(actions); - }); - var arch = QWeb.render('DashBoard.xml', board); - this.rpc('/web/view/add_custom', { - view_id: this.view.fields_view.view_id, - arch: arch - }, function() { - self.$element.find('.oe_dashboard_link_reset').show(); - }); - }, - on_load_action: function(result, index, action_attrs) { - var self = this, - action = result.result, - view_mode = action_attrs.view_mode; - - if (action_attrs.context && action_attrs.context['dashboard_merge_domains_contexts'] === false) { - // TODO: replace this 6.1 workaround by attribute on - action.context = action_attrs.context || {}; - action.domain = action_attrs.domain || []; - } else { - if (action_attrs.context) { - action.context = _.extend((action.context || {}), action_attrs.context); - } - if (action_attrs.domain) { - action.domain = action.domain || []; - action.domain.unshift.apply(action.domain, action_attrs.domain); - } - } - - var action_orig = _.extend({ flags : {} }, action); - - if (view_mode && view_mode != action.view_mode) { - action.views = _.map(view_mode.split(','), function(mode) { - mode = mode === 'tree' ? 'list' : mode; - return _(action.views).find(function(view) { return view[1] == mode; }) - || [false, mode]; - }); - } - - action.flags = { - search_view : false, - sidebar : false, - views_switcher : false, - action_buttons : false, - pager: false, - low_profile: true, - display_title: false, - list: { - selectable: false - } - }; - var am = new instance.web.ActionManager(this), - // FIXME: ideally the dashboard view shall be refactored like kanban. - $action = $('#' + this.view.element_id + '_action_' + index); - $action.parent().data('action_attrs', action_attrs); - this.action_managers.push(am); - am.appendTo($action); - am.do_action(action); - am.do_action = function (action) { - self.do_action(action); - }; - if (action_attrs.creatable && action_attrs.creatable !== 'false') { - var action_id = parseInt(action_attrs.creatable, 10); - $action.parent().find('button.oe_dashboard_button_create').click(function() { - if (isNaN(action_id)) { - action_orig.flags.default_view = 'form'; - self.do_action(action_orig); - } else { - self.rpc('/web/action/load', { - action_id: action_id - }, function(result) { - result.result.flags = result.result.flags || {}; - result.result.flags.default_view = 'form'; - self.do_action(result.result); - }); - } - }); - } - if (am.inner_widget) { - am.inner_widget.on_mode_switch.add(function(mode) { - var new_views = []; - _.each(action_orig.views, function(view) { - new_views[view[1] === mode ? 'unshift' : 'push'](view); - }); - if (!new_views.length || new_views[0][1] !== mode) { - new_views.unshift([false, mode]); - } - action_orig.views = new_views; - action_orig.res_id = am.inner_widget.dataset.ids[am.inner_widget.dataset.index]; - self.do_action(action_orig); - }); - } - }, - renderElement: function() { - this._super(); - - var check = _.detect(this.node.children, function(column, column_index) { - return _.detect(column.children,function(element){ - return element.tag === "action"? element: false; - }); - }); - if (!check) { - return this.no_result(); - } - // We should start with three columns available - for (var i = this.node.children.length; i < 3; i++) { - this.node.children.push({ - tag: 'column', - attrs: {}, - children: [] - }); - } - var rendered = QWeb.render(this.form_template, this); - this.$element.html(rendered); - }, - no_result: function() { - if (this.view.options.action.help) { - this.$element.append( - $('
    ') - .append($('
    ').html(this.view.options.action.help || " ")) - ); - } - }, - do_reload: function() { - var view_manager = this.view.getParent(), - action_manager = view_manager.getParent(); - this.view.destroy(); - action_manager.do_action(view_manager.action); - } -}); -instance.web.form.DashBoardLegacy = instance.web.form.DashBoard.extend({ - renderElement: function() { - if (this.node.tag == 'hpaned') { - this.node.attrs.style = '2-1'; - } else if (this.node.tag == 'vpaned') { - this.node.attrs.style = '1'; - } - this.node.tag = 'board'; - _.each(this.node.children, function(child) { - if (child.tag.indexOf('child') == 0) { - child.tag = 'column'; - var actions = [], first_child = child.children[0]; - if (first_child && first_child.tag == 'vpaned') { - _.each(first_child.children, function(subchild) { - actions.push.apply(actions, subchild.children); - }); - child.children = actions; - } - } - }); - this._super(this); - } -}); - -instance.web.form.tags.add('hpaned', 'instance.web.form.DashBoardLegacy'); -instance.web.form.tags.add('vpaned', 'instance.web.form.DashBoardLegacy'); -instance.web.form.tags.add('board', 'instance.web.form.DashBoard'); - -/* - * Widgets - * This client action designed to be used as a dashboard widget display - * the html content of a res_widget given as argument - */ -instance.web.client_actions.add( 'board.home.widgets', 'instance.web_dashboard.Widget'); -instance.web_dashboard.Widget = instance.web.View.extend(/** @lends instance.web_dashboard.Widgets# */{ - template: 'HomeWidget', - /** - * Initializes a "HomeWidget" client widget: handles the display of a given - * res.widget objects in an OpenERP view (mainly a dashboard). - * - * @constructs instance.web_dashboard.Widget - * @extends instance.web.View - * - * @param {Object} parent - * @param {Object} options - * @param {Number} options.widget_id - */ - init: function (parent, options) { - this._super(parent); - this.widget_id = options.widget_id; - }, - start: function () { - var ds = new instance.web.DataSet(this, 'res.widget'); - return ds.read_ids([this.widget_id], ['title']).then(this.on_widget_loaded); - }, - on_widget_loaded: function (widgets) { - var widget = widgets[0]; - var url = _.str.sprintf( - '/web_dashboard/widgets/content?session_id=%s&widget_id=%d', - this.session.session_id, widget.id); - this.$element.html(QWeb.render('HomeWidget.content', { - widget: widget, - url: url - })); - } -}); - - -}; diff --git a/addons/web_dashboard/static/src/xml/web_dashboard.xml b/addons/web_dashboard/static/src/xml/web_dashboard.xml deleted file mode 100644 index 68dda7d7f67..00000000000 --- a/addons/web_dashboard/static/src/xml/web_dashboard.xml +++ /dev/null @@ -1,64 +0,0 @@ -