From 99911f35509725abcbea1b405d55780f13299c24 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 17 Sep 2008 14:22:11 +0200 Subject: [PATCH 01/26] get_binary_size set as True by default bzr revid: christophe@tinyerp.com-20080917122211-34u4ykx806nrh0xo --- bin/osv/fields.py | 4 ++-- bin/osv/orm.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/osv/fields.py b/bin/osv/fields.py index a6f7280a69d..8df45a2e0f9 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -223,7 +223,7 @@ class binary(_column): val = v[name] break res.setdefault(i, val) - if context.get('get_binary_size',False): + if context.get('get_binary_size', True): res[i] = tools.human_size(val) return res @@ -620,7 +620,7 @@ class function(_column): else: res = self._fnct(cr, obj._table, ids, name, self._arg, context) - if self._type == 'binary' and context.get('get_binary_size', False): + if self._type == 'binary' and context.get('get_binary_size', True): # convert the data returned by the function with the size of that data... res = dict(map(lambda (x, y): (x, tools.human_size(len(y))), res.items())) return res diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 82fd2a79523..96f91b36ea3 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1125,7 +1125,7 @@ class orm_memory(orm_template): for f in fields_to_read: if id in self.datas: r[f] = self.datas[id].get(f, False) - if r[f] and isinstance(self._columns[f], fields.binary) and context.get('get_binary_size', False): + if r[f] and isinstance(self._columns[f], fields.binary) and context.get('get_binary_size', True): r[f] = len(r[f]) result.append(r) if id in self.datas: From e27eb7005a0cd94465bb58e86300112adf8bfc2a Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 17 Sep 2008 17:31:12 +0200 Subject: [PATCH 02/26] forgetdatetime bzr revid: fp@tinyerp.com-20080917153112-8kn5br5nxe0z3ku3 --- addons/account/account.py | 5 +++-- addons/mrp/mrp_view.xml | 2 +- addons/sale/sale.py | 2 +- addons/sale/security/ir.model.access.csv | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index b47b4c14bd9..ef02e970a5f 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1479,13 +1479,14 @@ account_subscription_line() class account_config_fiscalyear(osv.osv_memory): _name = 'account.config.fiscalyear' _columns = { - 'name':fields.char('Name', required=True,size=64), - 'code':fields.char('Code', required=True,size=64), + 'name':fields.char('Name', required=True, size=64, help="Name of the fiscal year as displayed on screens."), + 'code':fields.char('Code', required=True, size=64, help="Name of the fiscal year as displayed in reports."), 'date1': fields.date('Starting Date', required=True), 'date2': fields.date('Ending Date', required=True), } _defaults = { 'code': lambda *a: time.strftime('%Y'), + 'name': lambda *a: time.strftime('%Y'), 'date1': lambda *a: time.strftime('%Y-01-01'), 'date2': lambda *a: time.strftime('%Y-12-31'), } diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 55986cd260c..a5d0c6f0500 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -440,7 +440,7 @@ - + diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 4a52e8d4608..7de48d9370c 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -479,7 +479,7 @@ class sale_order(osv.osv): for line in order.order_line: proc_id=False date_planned = DateTime.now() + DateTime.RelativeDateTime(days=line.delay or 0.0) - date_planned = (date_planned - DateTime.RelativeDateTime(days=company.security_lead)).strftime('%Y-%m-%d') + date_planned = (date_planned - DateTime.RelativeDateTime(days=company.security_lead)).strftime('%Y-%m-%d %H:%M:%S') if line.state == 'done': continue if line.product_id and line.product_id.product_tmpl_id.type in ('product', 'consu'): diff --git a/addons/sale/security/ir.model.access.csv b/addons/sale/security/ir.model.access.csv index 04064fa910d..31c68c7c885 100644 --- a/addons/sale/security/ir.model.access.csv +++ b/addons/sale/security/ir.model.access.csv @@ -1,5 +1,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sale_shop,sale.shop,model_sale_shop,group_sale_user,1,0,0,0 -access_sale_order,sale.order,model_sale_order,group_sale_user,1,1,1,1 -access_sale_order_line,sale.order.line,model_sale_order_line,group_sale_user,1,1,1,1 +access_sale_order,sale.order,model_sale_order,group_sale_user,1,1,1,0 +access_sale_order_line,sale.order.line,model_sale_order_line,group_sale_user,1,1,1,0 access_sale_shop_admin,sale.shop,model_sale_shop,base.group_system,1,1,1,1 From 98f1d94a949a3e415635630b306f5191e020fe56 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 17 Sep 2008 17:55:18 +0200 Subject: [PATCH 03/26] bugfix lp bug: https://launchpad.net/bugs/271380 fixed bzr revid: fp@tinyerp.com-20080917155518-i0sw7bd7pav0tnj5 --- bin/addons/base/module/module.py | 18 +++++++++++++++++- bin/addons/base/module/module_view.xml | 6 +++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 7879a118294..fa8ce19fd57 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -317,8 +317,24 @@ class module(osv.osv): def button_uninstall_cancel(self, cr, uid, ids, context={}): self.write(cr, uid, ids, {'state': 'installed'}) return True + def button_upgrade(self, cr, uid, ids, context=None): - return self.state_update(cr, uid, ids, 'to upgrade', ['installed'], context) + depobj = self.pool.get('ir.module.module.dependency') + todo = self.browse(cr, uid, ids, context=context) + i = 0 + while iform
- + + + - - From c8298ab59fc417d5c0636de86bfd83c476070c29 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 18 Sep 2008 11:11:01 +0200 Subject: [PATCH 04/26] bugfix in the context to get the data from the binary field and not the size bzr revid: stephane@tinyerp.com-20080918091101-8cnu8hsodxa4dyzb --- bin/report/report_sxw.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index e54fabded1b..5b9a78c630a 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -566,6 +566,8 @@ class report_sxw(report_rml): if not context: context={} context = context.copy() + context['get_binary_size'] = False + pool = pooler.get_pool(cr.dbname) ir_actions_report_xml_obj = pool.get('ir.actions.report.xml') report_xml_ids = ir_actions_report_xml_obj.search(cr, uid, From 9abaa999e9c52b8c18abdef33648d17f3ab924b6 Mon Sep 17 00:00:00 2001 From: "hda@tinyerp.com" <> Date: Thu, 18 Sep 2008 16:58:57 +0530 Subject: [PATCH 05/26] Added fields.related field type bzr revid: hda@tinyerp.com-20080918112857-4ixoi25qv33lum32 --- bin/addons/base/res/partner/partner.py | 20 +++--- bin/addons/base/res/partner/partner_view.xml | 38 +++++----- bin/osv/fields.py | 73 ++++++++++++++++++++ 3 files changed, 105 insertions(+), 26 deletions(-) diff --git a/bin/addons/base/res/partner/partner.py b/bin/addons/base/res/partner/partner.py index 3432cf6bde2..87df45c300c 100644 --- a/bin/addons/base/res/partner/partner.py +++ b/bin/addons/base/res/partner/partner.py @@ -125,7 +125,7 @@ def _lang_get(self, cr, uid, context={}): ids = obj.search(cr, uid, [], context=context) res = obj.read(cr, uid, ids, ['code', 'name'], context) return [(r['code'], r['name']) for r in res] - + class res_partner(osv.osv): _description='Partner' @@ -153,6 +153,8 @@ class res_partner(osv.osv): 'active': fields.boolean('Active'), 'customer': fields.boolean('Customer'), 'supplier': fields.boolean('Supplier'), + 'city':fields.related('address','city',type='char', string='City'), + 'country':fields.related('address','country_id','name',type='char', string='Country'), } _defaults = { 'active': lambda *a: 1, @@ -166,7 +168,7 @@ class res_partner(osv.osv): name = self.read(cr, uid, [id], ['name'])[0]['name'] default.update({'name': name+' (copy)'}) return super(res_partner, self).copy(cr, uid, id, default, context) - + def _check_ean_key(self, cr, uid, ids): for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]): thisean=partner_o['ean13'] @@ -192,10 +194,10 @@ class res_partner(osv.osv): rec_name = 'ref' else: rec_name = 'name' - + res = [(r['id'], r[rec_name]) for r in self.read(cr, uid, ids, [rec_name], context)] return res - + def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80): if not args: args=[] @@ -229,12 +231,12 @@ class res_partner(osv.osv): }) ids = ids[16:] return True - + def address_get(self, cr, uid, ids, adr_pref=['default']): cr.execute('select type,id from res_partner_address where partner_id in ('+','.join(map(str,ids))+')') res = cr.fetchall() adr = dict(res) - # get the id of the (first) default address if there is one, + # get the id of the (first) default address if there is one, # otherwise get the id of the first address in the list if res: default_address = adr.get('default', res[0][1]) @@ -244,11 +246,11 @@ class res_partner(osv.osv): for a in adr_pref: result[a] = adr.get(a, default_address) return result - + def gen_next_ref(self, cr, uid, ids): if len(ids) != 1: return True - + # compute the next number ref cr.execute("select ref from res_partner where ref is not null order by char_length(ref) desc, ref desc limit 1") res = cr.dictfetchall() @@ -322,7 +324,7 @@ class res_partner_address(osv.osv): ids = self.search(cr, user, [('partner_id',operator,name)], limit=limit, context=context) else: ids = self.search(cr, user, [('zip','=',name)] + args, limit=limit, context=context) - if not ids: + if not ids: ids = self.search(cr, user, [('city',operator,name)] + args, limit=limit, context=context) if name: ids += self.search(cr, user, [('name',operator,name)] + args, limit=limit, context=context) diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index aad15578511..37f1c30031d 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -2,9 +2,9 @@ - + - + + + process.node.tree + process.node + tree + + + + + + + + + + + + + process.node.form + process.node + form + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + +
+ +
+
+ + + Process Nodes + process.node + form + tree,form + + + + From 7ee77ad4da7671e53b5b6c7b0c39c8dfea12dcf1 Mon Sep 17 00:00:00 2001 From: Harshad Modi Date: Fri, 19 Sep 2008 17:14:13 +0530 Subject: [PATCH 16/26] ** added menu data files for each sections which will be loaded on configuration wizard. ** data and demo files are loaded on installation. ** added vertical view files for each sections which will be loaded on configuration wizard but currently it is not implemented bz inheritance is not implement on osv.memory wizard. and need to inherit configuration wizard. bzr revid: hmo@tinyerp.com-20080919114413-pxsyxzx8dpnoxzjy --- addons/crm_configuration/__terp__.py | 27 +- addons/crm_configuration/crm_bugs_data.xml | 328 ++----- addons/crm_configuration/crm_bugs_demo.xml | 922 +++++------------- addons/crm_configuration/crm_bugs_menu.xml | 650 ++++++++++++ addons/crm_configuration/crm_config.py | 31 +- addons/crm_configuration/crm_fund_data.xml | 196 +--- addons/crm_configuration/crm_fund_demo.xml | 385 +++----- addons/crm_configuration/crm_fund_menu.xml | 198 ++++ addons/crm_configuration/crm_jobs_data.xml | 200 ++-- addons/crm_configuration/crm_jobs_demo.xml | 530 +++------- addons/crm_configuration/crm_jobs_menu.xml | 346 +++++++ addons/crm_configuration/crm_lead_data.xml | 238 ++--- addons/crm_configuration/crm_lead_demo.xml | 693 +++---------- addons/crm_configuration/crm_lead_menu.xml | 460 +++++++++ addons/crm_configuration/crm_meeting_data.xml | 161 ++- addons/crm_configuration/crm_meeting_demo.xml | 386 ++------ addons/crm_configuration/crm_meeting_menu.xml | 229 +++++ .../crm_opportunity_data.xml | 170 ++-- .../crm_opportunity_demo.xml | 409 ++------ .../crm_opportunity_menu.xml | 244 +++++ addons/crm_vertical/__init__.py | 2 +- addons/crm_vertical/__terp__.py | 2 +- .../crm_vertical/crm_bugs_vertical_view.xml | 12 + .../crm_vertical/crm_fund_vertical_view.xml | 9 + .../crm_vertical/crm_jobs_vertical_view.xml | 17 + .../crm_vertical/crm_lead_vertical_view.xml | 18 + .../crm_meeting_vertical_view.xml | 17 + .../crm_opportunity_vertical_view.xml | 17 + addons/crm_vertical/crm_vertical.py | 54 + addons/crm_vertical/crm_vertical_view.xml | 30 - 30 files changed, 3591 insertions(+), 3390 deletions(-) create mode 100644 addons/crm_configuration/crm_bugs_menu.xml create mode 100644 addons/crm_configuration/crm_fund_menu.xml create mode 100644 addons/crm_configuration/crm_jobs_menu.xml create mode 100644 addons/crm_configuration/crm_lead_menu.xml create mode 100644 addons/crm_configuration/crm_meeting_menu.xml create mode 100644 addons/crm_configuration/crm_opportunity_menu.xml create mode 100644 addons/crm_vertical/crm_bugs_vertical_view.xml create mode 100644 addons/crm_vertical/crm_fund_vertical_view.xml create mode 100644 addons/crm_vertical/crm_jobs_vertical_view.xml create mode 100644 addons/crm_vertical/crm_lead_vertical_view.xml create mode 100644 addons/crm_vertical/crm_meeting_vertical_view.xml create mode 100644 addons/crm_vertical/crm_opportunity_vertical_view.xml create mode 100644 addons/crm_vertical/crm_vertical.py delete mode 100644 addons/crm_vertical/crm_vertical_view.xml diff --git a/addons/crm_configuration/__terp__.py b/addons/crm_configuration/__terp__.py index 4b61410cd43..dd5ffb26fdc 100644 --- a/addons/crm_configuration/__terp__.py +++ b/addons/crm_configuration/__terp__.py @@ -17,22 +17,25 @@ "crm_lead_view.xml", "crm_meeting_view.xml", "crm_opportunity_view.xml", - "crm_fund_view.xml" + "crm_fund_view.xml", + "crm_report_view.xml" ], "demo_xml" : [ -# "crm_bugs_data.xml", -# "crm_jobs_data.xml", -# "crm_meeting_data.xml", -# "crm_lead_data.xml", -# "crm_opportunity_data.xml" + "crm_bugs_demo.xml", + "crm_fund_demo.xml", + "crm_jobs_demo.xml", + "crm_meeting_demo.xml", + "crm_lead_demo.xml", + "crm_opportunity_demo.xml" ], "update_xml" : [ -# "crm_bugs_demo.xml", -# "crm_jobs_demo.xml", -# "crm_lead_demo.xml", -# "crm_meeting_demo.xml", -# "crm_opportunity_demo.xml", -# "crm_report_view.xml" + "crm_bugs_data.xml", + "crm_fund_data.xml", + "crm_jobs_data.xml", + "crm_meeting_data.xml", + "crm_lead_data.xml", + "crm_opportunity_data.xml", + ], "active": False, "installable": True diff --git a/addons/crm_configuration/crm_bugs_data.xml b/addons/crm_configuration/crm_bugs_data.xml index c618447703a..bc03ac1f4b1 100644 --- a/addons/crm_configuration/crm_bugs_data.xml +++ b/addons/crm_configuration/crm_bugs_data.xml @@ -1,276 +1,78 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + Bug Tracking + BugSup - - - - - - - - - - - - - - + + + + + Bugs + + + + Patches + + + + Feature Requests + - - - - - - - - - - - - - - + + + + Version 4.2 + + + + Version 4.4 + - - - - - - - - - - - - - - - + + + + + Accepted as Bug + + + + Fixed + + + + Won't fix + + + + Invalid + + + + Awaiting Response + + + + Works For Me + + + + Future + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/crm_configuration/crm_bugs_demo.xml b/addons/crm_configuration/crm_bugs_demo.xml index 66467393e66..c618447703a 100644 --- a/addons/crm_configuration/crm_bugs_demo.xml +++ b/addons/crm_configuration/crm_bugs_demo.xml @@ -1,694 +1,276 @@ - - - - Bug Tracking - BugSup - - - - - - - Bugs - - - - Patches - - - - Feature Requests - - - - - - - Version 4.2 - - - - Version 4.4 - - - - - - - - Accepted as Bug - - - - Fixed - - - - Won't fix - - - - Invalid - - - - Awaiting Response - - - - Works For Me - - - - Future - - - - ######################## BUG TRACKING (menu) ########################### - - All Bugs - crm.case - form - tree,calendar - - + + + + + + + + + + + + + + + + - - - tree - - - - - - calendar - - + + + + + + - - - form - - - - - - - New Bug - crm.case - form - form,tree - - + + + + + + + + + + + + + + - - - form - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - tree - - - - - - Bugs Waiting Approval - crm.case - form - tree,calendar - - + + + + + + + + + + + + + + - - - tree - - - - - - calendar - - - - - - form - - - - - - - Open Bugs - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Bugs With Patches Waiting Approval - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Bugs Not Fixed - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Pending Bugs - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Planned For Future Release - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - Waiting For Reporter Response - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - Old Bugs - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - My Bugs - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - My Open Bugs - crm.case - form - tree,calendar - - + + + + + + + + + + + + + + - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Bugs With Patches - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Bugs Not Fixed - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - All Feature Request - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - New Feature Request - crm.case - form - form,tree - - + + + + + + + + + + + + + + - - - form - - + + + + + + + + + + + + + + + + - - - tree - - + + + + + + + + + + + + + + + + - - - - - Feature Requests Waiting Approval - crm.case - form - tree,calendar - - + + + + + + + + + + + + + + + + + - - - tree - - + + + + + + + + + + + + + + + - - - calendar - - + + + + + + + + + + + + + + + - - - form - - - - - - Open Feature Requests - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Pending Feature Requests - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Planned For Future Release - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Waiting For Reporter Response - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Old Feature Requests - crm.case - form - tree,calendar - - - - - - tree - - - - - - calendar - - - - - - form - - - - diff --git a/addons/crm_configuration/crm_bugs_menu.xml b/addons/crm_configuration/crm_bugs_menu.xml new file mode 100644 index 00000000000..4f24f096b47 --- /dev/null +++ b/addons/crm_configuration/crm_bugs_menu.xml @@ -0,0 +1,650 @@ + + + + + Bug Tracking + BugSup + + + Bugs + + + + Patches + + + + Feature Requests + + + + Fixed + + + + Awaiting Response + + + + Future + + + + + ######################## BUG TRACKING (menu) ########################### + + + All Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + New Bug + crm.case + form + form,tree + + + + + + form + + + + + + tree + + + + + + + Bugs Waiting Approval + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Open Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Bugs With Patches Waiting Approval + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Bugs Not Fixed + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Pending Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Planned For Future Release + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + Waiting For Reporter Response + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + Old Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + My Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Open Bugs + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Bugs With Patches + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Bugs Not Fixed + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + All Feature Request + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + New Feature Request + crm.case + form + form,tree + + + + + + form + + + + + + tree + + + + + + + + Feature Requests Waiting Approval + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + Open Feature Requests + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Pending Feature Requests + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Planned For Future Release + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Waiting For Reporter Response + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Old Feature Requests + crm.case + form + tree,calendar + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + diff --git a/addons/crm_configuration/crm_config.py b/addons/crm_configuration/crm_config.py index 1e82f135839..c10d9bab425 100644 --- a/addons/crm_configuration/crm_config.py +++ b/addons/crm_configuration/crm_config.py @@ -1,4 +1,33 @@ # -*- encoding: utf-8 -*- +############################################################################## +# +# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# $Id$ +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + import time import tools from osv import fields,osv,orm @@ -71,7 +100,7 @@ class crm_menu_config_wizard(osv.osv_memory): # 'update' for section in res : if res[section]: - file_name = 'crm_'+section+'_demo.xml' + file_name = 'crm_'+section+'_menu.xml' try: tools.convert_xml_import(cr, 'crm_configuration', tools.file_open(os.path.join('crm_configuration',file_name )), {}, 'init', *args) except Exception, e: diff --git a/addons/crm_configuration/crm_fund_data.xml b/addons/crm_configuration/crm_fund_data.xml index c6965852c6e..d62df40d66e 100644 --- a/addons/crm_configuration/crm_fund_data.xml +++ b/addons/crm_configuration/crm_fund_data.xml @@ -1,146 +1,54 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Fund Raising + funds + + + + + + Social Rehabilitation And Rural Upliftment + + + + + Learning And Education + + + + + Healthcare + + + + + Arts And Culture + + + + + + + Cash + + + + + Cheque + + + + + Credit Card + + + + + Demand Draft + + + + diff --git a/addons/crm_configuration/crm_fund_demo.xml b/addons/crm_configuration/crm_fund_demo.xml index e5f1a83e6ae..e7b6cd2bde5 100644 --- a/addons/crm_configuration/crm_fund_demo.xml +++ b/addons/crm_configuration/crm_fund_demo.xml @@ -1,243 +1,146 @@ - + - - - - Fund Raising - funds - - - - - - Social Rehabilitation And Rural Upliftment - - - - - Learning And Education - - - - - Healthcare - - - - - Arts And Culture - - - - - - - Cash - - - - - Cheque - - - - - Credit Card - - - - - Demand Draft - - - - - - - - Funds - crm.case - form,graph - - - - - - graph - - - - - - form - - - - - - - - My Funds - crm.case - tree,form - - - - - - tree - - - - - - graph - - - - - - form - - - - - - - My Funds Waiting Validation - crm.case - tree,form,graph - - - - - - tree - - - - - - form - - - - - - graph - - - - - - - My Funds To Be Processed - crm.case - tree,form,graph - - - - - - tree - - - - - - form - - - - - - graph - - - - - - - - All Funds - crm.case - tree,form,graph - - - - - - tree - - - - - - form - - - - - - graph - - - - - - - All Funds Waiting Validation - crm.case - tree,form,graph - - - - - - tree - - - - - - form - - - - - - graph - - - - - - - All Funds To Be Processed - crm.case - tree,form,graph - - - - - - tree - - - - - - form - - - - - - graph - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/crm_configuration/crm_fund_menu.xml b/addons/crm_configuration/crm_fund_menu.xml new file mode 100644 index 00000000000..40c3e9fdee7 --- /dev/null +++ b/addons/crm_configuration/crm_fund_menu.xml @@ -0,0 +1,198 @@ + + + + + Fund Raising + funds + + + + + + + Funds + crm.case + form,graph + + + + + + graph + + + + + + form + + + + + + + + My Funds + crm.case + tree,form + + + + + + tree + + + + + + graph + + + + + + form + + + + + + + My Funds Waiting Validation + crm.case + tree,form,graph + + + + + + tree + + + + + + form + + + + + + graph + + + + + + + My Funds To Be Processed + crm.case + tree,form,graph + + + + + + tree + + + + + + form + + + + + + graph + + + + + + + + All Funds + crm.case + tree,form,graph + + + + + + tree + + + + + + form + + + + + + graph + + + + + + + All Funds Waiting Validation + crm.case + tree,form,graph + + + + + + tree + + + + + + form + + + + + + graph + + + + + + + All Funds To Be Processed + crm.case + tree,form,graph + + + + + + tree + + + + + + form + + + + + + graph + + + + + + + diff --git a/addons/crm_configuration/crm_jobs_data.xml b/addons/crm_configuration/crm_jobs_data.xml index 9366486e483..8fdbbea6c17 100644 --- a/addons/crm_configuration/crm_jobs_data.xml +++ b/addons/crm_configuration/crm_jobs_data.xml @@ -1,149 +1,67 @@ - + + Jobs + jobs + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Salesman + + + Junior Developer + + + + + + + Graduate + + + + Licenced + + + + > Bac +5 + + + + + + + Initial Jobs Demand + + + + First Interview + + + + Second Interview + + + + Contract Proposed + + + + Contract Signed + + + + Refused by Employee + + + + Refused by Company + + diff --git a/addons/crm_configuration/crm_jobs_demo.xml b/addons/crm_configuration/crm_jobs_demo.xml index d2aebb803a6..9366486e483 100644 --- a/addons/crm_configuration/crm_jobs_demo.xml +++ b/addons/crm_configuration/crm_jobs_demo.xml @@ -1,411 +1,149 @@ - - - Jobs - jobs - - - - - - Salesman - - - - - Junior Developer - - - - - - - Graduate - - - - Licenced - - - - > Bac +5 - - - - - - - Initial Jobs Demand - - - - First Interview - - - - Second Interview - - - - Contract Proposed - - - - Contract Signed - - - - Refused by Employee - - - - Refused by Company - - - - ######################## JOB OPPORTUNITIES (menu) ########################### - - - - My Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - My Unclosed Requests - crm.case - tree,calendar,form - - + + + + + + + + + + + + + + + + + + + - - - tree - - + + + + + + + + + + + + + + + + + + + + + - - - calendar - - + + + + + + + + + + + + + + + + + + + - - - form - - + + + + + + + + + + + + + + + + - - - - My Jobs Propositions to Review - crm.case - tree,calendar,form - - + + + + + + + + + + + + + + + + + + - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Pending Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Open Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - Calendar Of Jobs Meetings - crm.case - calendar,tree,form - - - - - - calendar - - - - - - tree - - - - - - form - - + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - - - All Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - All Unclosed Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Jobs Propositions - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Pending Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - All Open Jobs Requests - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Calendar Of Jobs Meetings - crm.case - calendar,tree,form - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - - - - diff --git a/addons/crm_configuration/crm_jobs_menu.xml b/addons/crm_configuration/crm_jobs_menu.xml new file mode 100644 index 00000000000..44ac99da6de --- /dev/null +++ b/addons/crm_configuration/crm_jobs_menu.xml @@ -0,0 +1,346 @@ + + + + + Jobs + jobs + + + ######################## JOB OPPORTUNITIES (menu) ########################### + + + + + My Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Unclosed Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Jobs Propositions to Review + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Pending Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Open Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + Calendar Of Jobs Meetings + crm.case + calendar,tree,form + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + All Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + All Unclosed Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Jobs Propositions + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Pending Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + All Open Jobs Requests + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Calendar Of Jobs Meetings + crm.case + calendar,tree,form + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + diff --git a/addons/crm_configuration/crm_lead_data.xml b/addons/crm_configuration/crm_lead_data.xml index c53098b6518..a761961968c 100644 --- a/addons/crm_configuration/crm_lead_data.xml +++ b/addons/crm_configuration/crm_lead_data.xml @@ -1,143 +1,105 @@ - + + + Leads + leads + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Existing Customer + + + + Self Generated + + + + Employee + + + + Partner + + + + Campaign + + + + Website + + + + Word of mouth + + + + Other + + + + + + New + + + + Assigned + + + + In Process + + + + Converted + + + + Recycled + + + + Dead + + + + + + Telesales + + + + Mail + + + + Email + + + + Print + + + + Web + + + + Radio + + + + Television + + + + Newsletter + + + +
diff --git a/addons/crm_configuration/crm_lead_demo.xml b/addons/crm_configuration/crm_lead_demo.xml index 17acce86078..c53098b6518 100644 --- a/addons/crm_configuration/crm_lead_demo.xml +++ b/addons/crm_configuration/crm_lead_demo.xml @@ -1,562 +1,143 @@ - - - Leads - leads - + - - - Existing Customer - - - - Self Generated - - - - Employee - - - - Partner - - - - Campaign - - - - Website - - - - Word of mouth - - - - Other - - - - - - New - - - - Assigned - - - - In Process - - - - Converted - - - - Recycled - - - - Dead - - - - - - Telesales - - - - Mail - - - - Email - - - - Print - - - - Web - - - - Radio - - - - Television - - - - Newsletter - - - - - - - Leads - crm.case - form - form,tree - - - - - - tree - - - - - - form - - - - - - - - All Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Unclosed Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Draft Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Open Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Pending Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - All Cancelled Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Calendar Of All Leads Meetings - crm.case - calendar,tree,form - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - My Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Unclosed Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Draft Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Open Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Pending Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Cancelled Leads - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - Calendar Of My Leads Meetings - crm.case - calendar,tree,form - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - - - - - report.crm.case.user - form - graph,tree - - - - - - - report.crm.case.section.categ2 - form - graph,tree - - - - - - report.crm.case.section.stage - form - graph,tree - - - - - - report.crm.case.section.categ.stage - form - tree - - - - - - report.crm.case.section.categ.categ2 - form - tree - - - - - - - - - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/crm_configuration/crm_lead_menu.xml b/addons/crm_configuration/crm_lead_menu.xml new file mode 100644 index 00000000000..277b0dd2fa0 --- /dev/null +++ b/addons/crm_configuration/crm_lead_menu.xml @@ -0,0 +1,460 @@ + + + + + Leads + leads + + + + + Leads + crm.case + form + form,tree + + + + + + tree + + + + + + form + + + + + + + + All Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Unclosed Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Draft Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Open Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Pending Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + All Cancelled Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Calendar Of All Leads Meetings + crm.case + calendar,tree,form + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + My Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Unclosed Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Draft Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Open Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Pending Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Cancelled Leads + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + Calendar Of My Leads Meetings + crm.case + calendar,tree,form + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + + + + + report.crm.case.user + form + graph,tree + + + + + + + report.crm.case.section.categ2 + form + graph,tree + + + + + + report.crm.case.section.stage + form + graph,tree + + + + + + report.crm.case.section.categ.stage + form + tree + + + + + + report.crm.case.section.categ.categ2 + form + tree + + + + + + + diff --git a/addons/crm_configuration/crm_meeting_data.xml b/addons/crm_configuration/crm_meeting_data.xml index 4444573e9b7..55101c62b17 100644 --- a/addons/crm_configuration/crm_meeting_data.xml +++ b/addons/crm_configuration/crm_meeting_data.xml @@ -1,114 +1,63 @@ - - - - - - - - - - - - - - - - - - + + Meetings + Mtngs + + - - - - - - - - - - - - - - - - - + + Sales Meeting + + + + Internal Meeting + + + + Training + + - - - - - - - - - - - - - - - - - + + + + Office + + + + Home + + + + Customer Office + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Fixed + + + + Not fixed + + + + Invalid + + + + Awaiting Response + + + + Future + + + + diff --git a/addons/crm_configuration/crm_meeting_demo.xml b/addons/crm_configuration/crm_meeting_demo.xml index f931633e4c6..4444573e9b7 100644 --- a/addons/crm_configuration/crm_meeting_demo.xml +++ b/addons/crm_configuration/crm_meeting_demo.xml @@ -1,288 +1,114 @@ - - - Meetings - Mtngs - - - - - Sales Meeting - - - - Internal Meeting - - - - Training - - - - - - - Office - - - - Home - - - - Customer Office - - - - - - - Fixed - - - - Not fixed - - - - Invalid - - - - Awaiting Response - - - - Future - - - - ######################## MEETINGS (menu) ########################### - - Meetings - crm.case - form - form,tree - - - - - form - - - - - - tree - - - - - - - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - Draft Meetings - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - Confirmed Meetings - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - - crm.case - tree,form,calendar - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - Draft Meetings - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - Confirmed Meetings - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - Next Deadlines - crm.case - form - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - - - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/crm_configuration/crm_meeting_menu.xml b/addons/crm_configuration/crm_meeting_menu.xml new file mode 100644 index 00000000000..4802fd5124b --- /dev/null +++ b/addons/crm_configuration/crm_meeting_menu.xml @@ -0,0 +1,229 @@ + + + + + Meetings + Mtngs + + + ######################## MEETINGS (menu) ########################### + + Meetings + crm.case + form + form,tree + + + + + form + + + + + + tree + + + + + + + + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + Draft Meetings + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + Confirmed Meetings + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + + crm.case + tree,form,calendar + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + Draft Meetings + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + Confirmed Meetings + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + Next Deadlines + crm.case + form + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + diff --git a/addons/crm_configuration/crm_opportunity_data.xml b/addons/crm_configuration/crm_opportunity_data.xml index c20cb450468..41ef8714aa5 100644 --- a/addons/crm_configuration/crm_opportunity_data.xml +++ b/addons/crm_configuration/crm_opportunity_data.xml @@ -1,98 +1,84 @@ - + + Opportunities + oppor + - + + + Existing Customer + + + + Self Generated + + + + Employee + + + + Partner + + + + Campaign + + + + Website + + + + Word of mouth + + + + Other + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Prospecting + + + + Needs Analysis + + + + Value Proposition + + + + Proposal/Price Quote + + + + Negotiation/Review + + + + Closed Won + + + + Closed Lost + + + + + + Existing Business + + + + New Business + + + + diff --git a/addons/crm_configuration/crm_opportunity_demo.xml b/addons/crm_configuration/crm_opportunity_demo.xml index 964da43ba5f..c20cb450468 100644 --- a/addons/crm_configuration/crm_opportunity_demo.xml +++ b/addons/crm_configuration/crm_opportunity_demo.xml @@ -1,325 +1,98 @@ - - Opportunities - oppor - + - - - Existing Customer - - - - Self Generated - - - - Employee - - - - Partner - - - - Campaign - - - - Website - - - - Word of mouth - - - - Other - - + - - - Prospecting - - - - Needs Analysis - - - - Value Proposition - - - - Proposal/Price Quote - - - - Negotiation/Review - - - - Closed Won - - - - Closed Lost - - - - - - Existing Business - - - - New Business - - - - - - - - - All Opportunities - crm.case - tree,form,calendar - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - Opportunity - crm.case - form - form,tree - - - - - - form - - - - - - tree - - - - - - - All Open Opportunities - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - All Pending Opportunities - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - - My Opportunities - crm.case - tree,calendar,form - - - - - - calendar - - - - - - tree - - - - - - form - - - - - - - - My Open Opportunities - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - My Pending Opportunities - crm.case - tree,calendar,form - - - - - - tree - - - - - - calendar - - - - - - form - - - - - - - - report.crm.case.user - form - graph,tree - - - - - - - report.crm.case.section.categ2 - form - graph,tree - - - - - - report.crm.case.section.stage - form - graph,tree - - - - - - report.crm.case.section.categ.stage - form - tree - - - - - - report.crm.case.section.categ.categ2 - form - tree - - - - - - - - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/crm_configuration/crm_opportunity_menu.xml b/addons/crm_configuration/crm_opportunity_menu.xml new file mode 100644 index 00000000000..2104d39f415 --- /dev/null +++ b/addons/crm_configuration/crm_opportunity_menu.xml @@ -0,0 +1,244 @@ + + + + + Opportunities + oppor + + + + + + + All Opportunities + crm.case + tree,form,calendar + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + Opportunity + crm.case + form + form,tree + + + + + + form + + + + + + tree + + + + + + + All Open Opportunities + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + All Pending Opportunities + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + + My Opportunities + crm.case + tree,calendar,form + + + + + + calendar + + + + + + tree + + + + + + form + + + + + + + + My Open Opportunities + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + My Pending Opportunities + crm.case + tree,calendar,form + + + + + + tree + + + + + + calendar + + + + + + form + + + + + + + + report.crm.case.user + form + graph,tree + + + + + + + report.crm.case.section.categ2 + form + graph,tree + + + + + + report.crm.case.section.stage + form + graph,tree + + + + + + report.crm.case.section.categ.stage + form + tree + + + + + + report.crm.case.section.categ.categ2 + form + tree + + + + + + + diff --git a/addons/crm_vertical/__init__.py b/addons/crm_vertical/__init__.py index cd9c7c0a27c..a820153d64e 100644 --- a/addons/crm_vertical/__init__.py +++ b/addons/crm_vertical/__init__.py @@ -3,4 +3,4 @@ # Generated by the Tiny ERP module recorder ! # # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - +#import crm_vertical diff --git a/addons/crm_vertical/__terp__.py b/addons/crm_vertical/__terp__.py index d30dae92963..889ba7fd67f 100644 --- a/addons/crm_vertical/__terp__.py +++ b/addons/crm_vertical/__terp__.py @@ -9,7 +9,7 @@ "depends" : ["crm_configuration"], "init_xml" : [ ], "demo_xml" : [ ], - "update_xml" : ["crm_vertical_view.xml"], + "update_xml" : [], "installable": True } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_vertical/crm_bugs_vertical_view.xml b/addons/crm_vertical/crm_bugs_vertical_view.xml new file mode 100644 index 00000000000..75dbffc9559 --- /dev/null +++ b/addons/crm_vertical/crm_bugs_vertical_view.xml @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/addons/crm_vertical/crm_fund_vertical_view.xml b/addons/crm_vertical/crm_fund_vertical_view.xml new file mode 100644 index 00000000000..0a611753ec2 --- /dev/null +++ b/addons/crm_vertical/crm_fund_vertical_view.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/addons/crm_vertical/crm_jobs_vertical_view.xml b/addons/crm_vertical/crm_jobs_vertical_view.xml new file mode 100644 index 00000000000..2a3abb7fe42 --- /dev/null +++ b/addons/crm_vertical/crm_jobs_vertical_view.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/addons/crm_vertical/crm_lead_vertical_view.xml b/addons/crm_vertical/crm_lead_vertical_view.xml new file mode 100644 index 00000000000..be658f099de --- /dev/null +++ b/addons/crm_vertical/crm_lead_vertical_view.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/addons/crm_vertical/crm_meeting_vertical_view.xml b/addons/crm_vertical/crm_meeting_vertical_view.xml new file mode 100644 index 00000000000..fe638b8abab --- /dev/null +++ b/addons/crm_vertical/crm_meeting_vertical_view.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/addons/crm_vertical/crm_opportunity_vertical_view.xml b/addons/crm_vertical/crm_opportunity_vertical_view.xml new file mode 100644 index 00000000000..f7c4dd5f8d6 --- /dev/null +++ b/addons/crm_vertical/crm_opportunity_vertical_view.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/addons/crm_vertical/crm_vertical.py b/addons/crm_vertical/crm_vertical.py new file mode 100644 index 00000000000..c8ae2e23554 --- /dev/null +++ b/addons/crm_vertical/crm_vertical.py @@ -0,0 +1,54 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# $Id$ +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import time +import tools +from osv import fields,osv,orm +import os +import mx.DateTime +import base64 + +# here need to implement inheritance on osv_memory object. after that, it will work well. +class crm_menu_config_wizard(osv.osv_memory): + _inherit='crm.menu.config_wizard' + def action_create(self, cr, uid, ids, *args): + res=super(crm_menu_config_wizard, self).action_create(cr, uid, ids, *args) + for res in self.read(cr,uid,ids): + res.__delitem__('id') + for section in res : + if res[section]: + file_name = 'crm_'+section+'_vertical_view.xml' + try: + tools.convert_xml_import(cr, 'crm_configuration', tools.file_open(os.path.join('crm_vertical',file_name )), {}, 'init', *args) + except Exception, e: + raise osv.except_osv('Error !', e) + return res + +crm_menu_config_wizard() diff --git a/addons/crm_vertical/crm_vertical_view.xml b/addons/crm_vertical/crm_vertical_view.xml deleted file mode 100644 index 57d4c1eeb69..00000000000 --- a/addons/crm_vertical/crm_vertical_view.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 0274b668a0425fc8f216092b9759ea10e857b936 Mon Sep 17 00:00:00 2001 From: "hda@tinyerp.com" <> Date: Fri, 19 Sep 2008 17:30:16 +0530 Subject: [PATCH 17/26] improve fields.related for speed improvement bzr revid: hda@tinyerp.com-20080919120016-wmygwid2asy5dkyo --- bin/osv/fields.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/bin/osv/fields.py b/bin/osv/fields.py index 60586e5e5af..825420b1ec6 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -637,8 +637,16 @@ class function(_column): class related(function): - def _fnct_search(self, cr, uid, ids, obj=None, name=None, context=None): + def _fnct_search(self, tobj, cr, uid, obj=None, name=None, context=None): raise 'Not Implemented Yet' +# field_detail=self._field_get(cr,uid,obj,obj._name,name) +# print field_detail +# if field_detail[1] in ('many2one'): +# ids=obj.pool.get(field_detail[0] or obj._name).search(cr,uid,[('name','ilike',context[0][2])]) +# print ids +# return [('id','in',[5,6,7])] +# return True + def _fnct_write(self,obj,cr, uid, ids, field_name, args, context=None): raise 'Not Implemented Yet' @@ -652,7 +660,7 @@ class related(function): t_data=data relation=obj._name for i in range(len(self.arg)): - field_detail=self._field_get(cr,uid,relation,self.arg[i]) + field_detail=self._field_get(cr,uid,obj,relation,self.arg[i]) relation=field_detail[0] if not t_data[self.arg[i]]: t_data = False @@ -670,13 +678,15 @@ class related(function): def __init__(self,*arg,**args): print arg self.arg = arg - super(related, self).__init__(self._fnct_read, arg, fnct_inf=self._fnct_write, fnct_inv_arg=arg,method=True, fnct_search=self._fnct_search,**args) + super(related, self).__init__(self._fnct_read, arg, fnct_inv=self._fnct_write, fnct_inv_arg=arg,method=True, fnct_search=self._fnct_search,**args) # TODO: call field_get on the object, not in the DB - def _field_get(self, cr, uid, model_name, prop): - cr.execute('SELECT relation,ttype FROM ir_model_fields WHERE name=%s AND model=%s', (prop, model_name)) - res = cr.fetchone() - return res + def _field_get(self, cr, uid, obj, model_name, prop): + fields=obj.pool.get(model_name).fields_get(cr,uid,[prop]) + if fields.get(prop,False): + return(fields[prop].get('relation',False),fields[prop].get('type',False)) + else: + raise 'Fields %s not exist in %s'%(prop,model_name) # --------------------------------------------------------- # Serialized fields From 2b8402d590f8bee03b5ed021223fb38824526e87 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 19 Sep 2008 14:56:57 +0200 Subject: [PATCH 18/26] fix and complete base access rights bzr revid: christophe@tinyerp.com-20080919125657-q9spohajdvnxrikt --- bin/addons/base/__terp__.py | 2 +- bin/addons/base/base_security.xml | 120 +--------------------------- bin/addons/base/ir.model.access.csv | 23 ++++++ 3 files changed, 27 insertions(+), 118 deletions(-) diff --git a/bin/addons/base/__terp__.py b/bin/addons/base/__terp__.py index 917a0ff3541..ae83f7ea164 100644 --- a/bin/addons/base/__terp__.py +++ b/bin/addons/base/__terp__.py @@ -47,7 +47,6 @@ "res/partner/crm_demo.xml", ], "update_xml" : [ - "ir.model.access.csv", "base_update.xml", "ir/wizard/wizard_menu_view.xml", "ir/ir.xml", @@ -68,6 +67,7 @@ "res/partner/partner_data.xml", "res/ir_property_view.xml", "base_security.xml", + "ir.model.access.csv", ], "active": True, "installable": True, diff --git a/bin/addons/base/base_security.xml b/bin/addons/base/base_security.xml index 387044d8a50..d109ae05e9c 100644 --- a/bin/addons/base/base_security.xml +++ b/bin/addons/base/base_security.xml @@ -1,6 +1,7 @@ - + + - - - - ir.actions.actions Employee - - - - - - - - - - ir.actions.act_window Employee - - - - - - - - - - ir.actions.act_window_close System - - - - - - - - - - ir.actions.act_window_close System - - - - - - - - - - ir.actions.act_window_close System - - - - - - - - - - workflow group_system - - - - - - - - - - workflow_activity group_system - - - - - - - - - - workflow_instance group_system - - - - - - - - - - workflow_transition group_system - - - - - - - - - - workflow_triggers group_system - - - - - - - - - - workflow_workitem group_system - - - - - - - - - + diff --git a/bin/addons/base/ir.model.access.csv b/bin/addons/base/ir.model.access.csv index 4ec941b0f28..a9ae41ee90e 100644 --- a/bin/addons/base/ir.model.access.csv +++ b/bin/addons/base/ir.model.access.csv @@ -7,6 +7,7 @@ access_ir_exports_group_system,"ir_exports group_system",model_ir_exports,,1,1,1 access_ir_exports_line_group_system,"ir_exports_line group_system",model_ir_exports_line,,1,1,1,1 access_ir_model_group_system,"ir_model group_system",model_ir_model,,1,0,0,0 access_ir_model_access_group_system,"ir_model_access group_system",model_ir_model_access,,1,0,0,0 +access_ir_model_grid_group_system,ir_model_access_grid_group_system,model_ir_model_grid,,1,0,0,0 access_ir_model_config_group_system,"ir_model_config group_system",model_ir_model_config,,1,0,0,0 access_ir_model_data_group_user,"ir_model_data group_user",model_ir_model_data,,1,0,0,0 access_ir_model_fields_group_user,"ir_model_fields group_user",model_ir_model_fields,,1,0,0,0 @@ -26,6 +27,7 @@ access_ir_sequence_type_group_user,"ir_sequence_type group_user",model_ir_sequen access_ir_translation_group_system,"ir_translation group_system",model_ir_translation,,1,1,1,1 access_ir_ui_menu_group_user,"ir_ui_menu group_user",model_ir_ui_menu,,1,0,0,0 access_ir_ui_view_group_user,"ir_ui_view group_user",model_ir_ui_view,,1,0,0,0 +access_ir_ui_view_custom_group_user,ir_ui_view_custom_group_user,model_ir_ui_view_custom,,1,0,0,0 access_ir_ui_view_sc_group_user,"ir_ui_view_sc group_user",model_ir_ui_view_sc,,1,1,1,1 access_ir_values_group_erp_manager,"ir_values group_erp_manager",model_ir_values,,1,1,1,1 access_wizard_ir_model_menu_create_group_system,"wizard_ir_model_menu_create group_system",model_wizard_ir_model_menu_create,group_system,1,1,1,1 @@ -74,3 +76,24 @@ access_res_request_link_group_system,"res_request_link group_system",model_res_r access_res_request_link_group_user,"res_request_link group_user",model_res_request_link,,1,0,0,0 access_res_users_group_user,"res_users group_user",model_res_users,,1,0,0,0 access_res_users_group_erp_manager,"res_users group_erp_manager",model_res_users,group_erp_manager,1,1,1,1 +access_ir_actions_employee,ir_actions_employee,model_ir_actions_actions,group_user,1,0,0,0 +access_ir_actions_act_window_employee,ir_actions_act_window_employee,model_ir_actions_act_window,group_user,1,0,0,0 +access_ir_actions_act_window_close_group_system,ir_actions_act_window_close_system,model_ir_actions_act_window_close,group_system,1,0,0,0 +access_ir_actions_report_xml_group_system,ir_actions_report_xml_system,model_ir_actions_report_xml,group_system,1,0,0,0 +access_ir_actions_wizard_group_system,ir_actions_wizard,model_ir_actions_wizard,group_system,1,0,0,0 +access_workflow_group_system,workflow_group_system,model_workflow,group_system,1,0,0,0 +access_workflow_activity_group_system,workflow_activity_group_system,model_workflow_activity,group_system,1,0,0,0 +access_workflow_instance_group_system,workflow_instance_group_system,model_workflow_instance,group_system,1,0,0,0 +access_workflow_transition_group_system,workflow_transition_group_system,model_workflow_transition,group_system,1,0,0,0 +access_workflow_triggers_group_system,workflow_triggers_group_system,model_workflow_triggers,group_system,1,0,0,0 +access_workflow_workitem_group_system,workflow_workitem_group_system,model_workflow_workitem,group_system,1,0,0,0 +access_actions_report_custom_group_system,ir_actions_report_custom_group_system,model_ir_actions_report_custom,group_system,1,0,0,0 +access_ir_actions_act_window_view_group_employee,ir_actions_act_window_view_group_employee,model_ir_actions_act_window_view,group_user,1,0,0,0 +access_ir_actions_url_group_user,ir_actions_url_group_user,model_ir_actions_url,group_user,1,0,0,0 +access_ir_server_object_lines_group_user,ir_server_object_lines_group_user,model_ir_server_object_lines,group_user,1,0,0,0 +access_ir_actions_server_group_user,ir_actions_server_group_user,model_ir_actions_server,group_user,1,0,0,0 +access_module_update_translations_group_user,wizard_update_translations_group_user,model_wizard_module_update_translations,group_user,1,1,1,1 +access_res_bank_group_system,res_bank_group_system,model_res_bank,group_system,1,1,1,1 +access_res_payterm_group_system,res_payterm_group_system,model_res_payterm,group_system,1,1,1,1 +access_res_roles_group_erpmanager,res_roles_group_erp_manager,model_res_roles,group_erp_manager,1,1,1,1 +access_res_config_view_group_erpmanager,res_config_view_erp_manager,model_res_config_view,group_erp_manager,1,1,1,1 From 7089825650628de32c73d40d804e95980d50084f Mon Sep 17 00:00:00 2001 From: Harshad Modi Date: Fri, 19 Sep 2008 19:31:46 +0530 Subject: [PATCH 19/26] resolve menu problem on sale_journal module bzr revid: hmo@tinyerp.com-20080919140146-5ah0mz0bqj9mro2z --- addons/sale_journal/picking_journal_view.xml | 12 ++++++------ addons/sale_journal/picking_journal_view_report.xml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/sale_journal/picking_journal_view.xml b/addons/sale_journal/picking_journal_view.xml index 4bc9493e6bd..87ef5eedea3 100644 --- a/addons/sale_journal/picking_journal_view.xml +++ b/addons/sale_journal/picking_journal_view.xml @@ -56,8 +56,8 @@ tree,form - - + + Packings by journal @@ -67,8 +67,8 @@ [] - - + + My open packing journals @@ -98,8 +98,8 @@ tree - - + + diff --git a/addons/sale_journal/picking_journal_view_report.xml b/addons/sale_journal/picking_journal_view_report.xml index 7f956736fc0..d177673726e 100644 --- a/addons/sale_journal/picking_journal_view_report.xml +++ b/addons/sale_journal/picking_journal_view_report.xml @@ -57,7 +57,7 @@ [('name','=',time.strftime('%Y-%m-01'))] - + From ae297f02073e1b9426abf0c92051f3d7d3a24ff1 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Fri, 19 Sep 2008 16:35:02 +0200 Subject: [PATCH 20/26] improvement bzr revid: fp@tinyerp.com-20080919143502-9ed1rufs8kmis002 --- addons/account_payment/payment.py | 2 +- addons/mrp/mrp_view.xml | 6 +- addons/sale/sale.py | 4 +- addons/sale/sale_view.xml | 1 - addons/sale_journal/sale_journal_view.xml | 534 +++++++++++----------- addons/stock/stock_view.xml | 6 +- 6 files changed, 282 insertions(+), 271 deletions(-) diff --git a/addons/account_payment/payment.py b/addons/account_payment/payment.py index 7b110f8635a..23b0b40140e 100644 --- a/addons/account_payment/payment.py +++ b/addons/account_payment/payment.py @@ -438,7 +438,7 @@ class payment_line(osv.osv): if move_line_id: line = self.pool.get('account.move.line').browse(cr,uid,move_line_id) data['amount_currency']=line.amount_to_pay - res = self.onchange_amount(cr, uid, ids, data['amount_currency'], currency, company_currency, + #res = self.onchange_amount(cr, uid, ids, data['amount_currency'], currency, company_currency, if res: data['amount'] = res['value']['amount'] data['partner_id']=line.partner_id.id diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index a5d0c6f0500..2718dbefd7d 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -677,7 +677,7 @@ form - + Draft procurements @@ -706,7 +706,7 @@ tree,form [('state','=','exception')] - + Exceptions procurements to fix @@ -735,7 +735,7 @@ form form,tree - + diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 7de48d9370c..b427a0588cb 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -214,7 +214,7 @@ class sale_order(osv.osv): 'partner_shipping_id':fields.many2one('res.partner.address', 'Shipping Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), 'incoterm': fields.selection(_incoterm_get, 'Incoterm',size=3), - 'picking_policy': fields.selection([('direct','Partial Delivery'),('one','Complete Delivery')], 'Packing Policy', required=True ), + 'picking_policy': fields.selection([('direct','Partial Delivery'),('one','Complete Delivery')], 'Packing Policy', required=True), 'order_policy': fields.selection([ ('prepaid','Payment before delivery'), ('manual','Shipping & Manual Invoice'), @@ -241,7 +241,7 @@ class sale_order(osv.osv): 'amount_untaxed': fields.function(_amount_untaxed, method=True, string='Untaxed Amount'), 'amount_tax': fields.function(_amount_tax, method=True, string='Taxes'), 'amount_total': fields.function(_amount_total, method=True, string='Total'), - 'invoice_quantity': fields.selection([('order','Ordered Quantities'),('procurement','Shipped Quantities')], 'Invoice on', help="The sale order will automatically create the invoice proposition (draft invoice). Ordered and delivered quantities may not be the same. You have to choose if you invoice based on ordered or shipped quantities. If the product is a service, shipped quantities means hours spent on the associated tasks."), + 'invoice_quantity': fields.selection([('order','Ordered Quantities'),('procurement','Shipped Quantities')], 'Invoice on', help="The sale order will automatically create the invoice proposition (draft invoice). Ordered and delivered quantities may not be the same. You have to choose if you invoice based on ordered or shipped quantities. If the product is a service, shipped quantities means hours spent on the associated tasks.",required=True), 'payment_term' : fields.many2one('account.payment.term', 'Payment Term'), } _defaults = { diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 13523bb86ed..d4b6f973de8 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -101,7 +101,6 @@ - diff --git a/addons/sale_journal/sale_journal_view.xml b/addons/sale_journal/sale_journal_view.xml index be96302c583..7647a7b2bfb 100644 --- a/addons/sale_journal/sale_journal_view.xml +++ b/addons/sale_journal/sale_journal_view.xml @@ -1,283 +1,295 @@ - - sale_journal.invoice.type.form - sale_journal.invoice.type - form - -
- - - - - - - -
- - sale_journal.invoice.type.tree - sale_journal.invoice.type - tree - - - - - - - - - sale_journal.invoice.type - form - tree,form - - - + + sale_journal.invoice.type.form + sale_journal.invoice.type + form + +
+ + + + + + + +
+ + sale_journal.invoice.type.tree + sale_journal.invoice.type + tree + + + + + + + + + sale_journal.invoice.type + form + tree,form + + + - - sale_journal.sale.journal.form - sale_journal.sale.journal - form - -
- - - - - - - - - - - - -