From f07518d0d397f96e5bd15d2c35b62121db568f9c Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Thu, 8 Jul 2010 19:02:41 +0530 Subject: [PATCH 1/7] [FIX] account: fix problem in account chart configuration wizard bzr revid: hmo@tinyerp.com-20100708133241-4t2jsm5ibj135mt4 --- addons/account/account.py | 4 ++-- addons/account/installer.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 7f01f60253d..322d77eced9 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2560,8 +2560,8 @@ class wizard_multi_charts_accounts(osv.osv_memory): obj_journal.create(cr,uid,vals_journal) # Bank Journals - view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0] - view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0] + view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: why put fix name + view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fix name ref_acc_bank = obj_multi.chart_template_id.bank_account_view_id current_num = 1 diff --git a/addons/account/installer.py b/addons/account/installer.py index 45ea43040a4..aec82032e9a 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -207,8 +207,8 @@ class account_installer(osv.osv_memory): new_account = obj_acc.create(cr, uid, vals) acc_template_ref[account_template.id] = new_account if account_template.name == 'Bank Current Account': - view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0] - view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0] + view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal View')])[0] #why fixed name here? + view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #Why Fixed name here? ref_acc_bank = obj_multi.bank_account_view_id cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash') @@ -328,8 +328,8 @@ class account_installer(osv.osv_memory): obj_journal.create(cr,uid,vals_journal) # Bank Journals - view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0] - view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0] + view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: Why put fixed name ? + view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fixed name? ref_acc_bank = obj_multi.bank_account_view_id From dceac87f08ffc9707f0b3adcef59c3ded3a6c464 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Thu, 8 Jul 2010 19:03:42 +0530 Subject: [PATCH 2/7] [IMP] project_mrp: Add the user_id and project_id in product and add the task_id in procurement bzr revid: sbh@tinyerp.com-20100708133342-105x6v60zwc26c98 --- addons/project_mrp/__openerp__.py | 1 + addons/project_mrp/mrp.py | 14 +++++++---- addons/project_mrp/project_mrp.py | 8 +++++++ addons/project_mrp/project_mrp_view.xml | 31 +++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 addons/project_mrp/project_mrp_view.xml diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py index a51a95c5d16..2ac983e67e4 100644 --- a/addons/project_mrp/__openerp__.py +++ b/addons/project_mrp/__openerp__.py @@ -51,6 +51,7 @@ automatically created via sale orders. 'init_xml': [], 'update_xml': ['project_mrp_workflow.xml', #'process/project_mrp_process.xml', + 'project_mrp_view.xml' ], 'demo_xml': [], 'test': ['test/project_task_procurement.yml'], diff --git a/addons/project_mrp/mrp.py b/addons/project_mrp/mrp.py index dc5d52e241d..b8eff3c8fa8 100644 --- a/addons/project_mrp/mrp.py +++ b/addons/project_mrp/mrp.py @@ -26,12 +26,16 @@ import tools class procurement_order(osv.osv): _name = "procurement.order" _inherit = "procurement.order" + _columns = { + 'task_id': fields.many2one('project.task', 'Task') + } def action_produce_assign_service(self, cr, uid, ids, context=None): if context is None: context = {} for procurement in self.browse(cr, uid, ids): sline = self.pool.get('sale.order.line') + product_obj=self.pool.get('product.product') content = '' sale_order = self.pool.get('sale.order') so_ref = procurement.name.split(':')[0] @@ -69,6 +73,7 @@ class procurement_order(osv.osv): self.write(cr, uid, [procurement.id], {'state': 'running'}) name_task = ('','') + planned_hours=0.0 if procurement.product_id.type == 'service': proc_name = procurement.name if procurement.origin == proc_name: @@ -77,12 +82,12 @@ class procurement_order(osv.osv): name_task = (procurement.origin, proc_name or '') else: name_task = (procurement.product_id.name or procurement.origin, procurement.name or '') - + planned_hours= procurement.product_id.sale_delay +procurement.product_id. produce_delay task_id = self.pool.get('project.task').create(cr, uid, { 'name': '%s:%s' % name_task, 'date_deadline': procurement.date_planned, - 'planned_hours': procurement.product_qty, - 'remaining_hours': procurement.product_qty, + 'planned_hours':planned_hours, + 'remaining_hours': planned_hours, 'user_id': procurement.product_id.product_manager.id, 'notes': "b"+(l and l.order_id.note or ''), 'procurement_id': procurement.id, @@ -93,7 +98,8 @@ class procurement_order(osv.osv): 'company_id': procurement.company_id.id, 'project_id': project_id, },context=context) - + self.write(cr, uid, [procurement.id],{'task_id':task_id}) + product_obj.write(cr,uid,[procurement.product_id.id],{'user_id':uid,'project_id':project_id}) return task_id procurement_order() diff --git a/addons/project_mrp/project_mrp.py b/addons/project_mrp/project_mrp.py index 09820d44c71..d946e2c2fd6 100644 --- a/addons/project_mrp/project_mrp.py +++ b/addons/project_mrp/project_mrp.py @@ -48,5 +48,13 @@ class project_task(osv.osv): return True project_task() +class product_product(osv.osv): + _inherit = "product.product" + _columns = { + 'user_id': fields.many2one('res.users', 'Responsible', ondelete='set null',help='Project Manager'), + 'project_id': fields.many2one('project.project', 'Project', ondelete='set null',) + } +product_product() + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_mrp/project_mrp_view.xml b/addons/project_mrp/project_mrp_view.xml new file mode 100644 index 00000000000..5d0c1d71381 --- /dev/null +++ b/addons/project_mrp/project_mrp_view.xml @@ -0,0 +1,31 @@ + + + + + procurement.procurement.form.view.inherit + procurement.order + form + + + + + + + + + + product.form.view.inherit + product.product + form + + + + + + + + + + + + \ No newline at end of file From 8064b86d8db8e932b46335d92acb74c084c09593 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 8 Jul 2010 16:03:52 +0200 Subject: [PATCH 3/7] [IMP] crm_lead: reopen cases upon receipt of new email in states pending, done, cancel bzr revid: odo@openerp.com-20100708140352-tbb36pq8cqq0tqqm --- addons/crm/crm_lead.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 6708f3e8f0e..01c597fcb97 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -31,6 +31,13 @@ import collections import binascii import tools + +CRM_LEAD_PENDING_STATES = ( + crm.AVAILABLE_STATES[2][0], # Cancelled + crm.AVAILABLE_STATES[3][0], # Done + crm.AVAILABLE_STATES[4][0], # Pending +) + class crm_lead(osv.osv, crm_case): """ CRM Lead Case """ _name = "crm.lead" @@ -95,6 +102,10 @@ class crm_lead(osv.osv, crm_case): return res _columns = { + # Overridden from res.partner.address: + 'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null', + select=True, help="Optional linked partner, usually after conversion of the lead"), + # From crm.case 'name': fields.char('Name', size=64), 'active': fields.boolean('Active', required=False), @@ -334,8 +345,8 @@ and users"), # previous state, so we have to loop: for case in self.browse(cr, uid, ids, context=context): values = dict(vals) - if case.state == crm.AVAILABLE_STATES[4][0]: #pending - values.update(state=crm.AVAILABLE_STATES[1][0]) #open + if case.state in CRM_LEAD_PENDING_STATES: + values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open res = self.write(cr, uid, [case.id], values, context=context) return res From 977d51f5698dd19a4bc97fd30c33a7218322bc29 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Thu, 8 Jul 2010 19:51:02 +0530 Subject: [PATCH 4/7] [IMP] purchase_requisition: if state is done the readonly some field and button bzr revid: sbh@tinyerp.com-20100708142102-ctl0bozqkby8nh6b --- addons/purchase_requisition/purchase_requisition.py | 2 +- addons/purchase_requisition/purchase_requisition_view.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index 3bdc461917b..db05650354b 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -39,7 +39,7 @@ class purchase_requisition(osv.osv): 'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', required=True, help="Purchase Tender (exclusive):On the confirmation of a purchase order, it cancels the remaining purchase order.Multiple Requisitions:It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""), 'description': fields.text('Description'), 'company_id': fields.many2one('res.company', 'Company', required=True), - 'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'), + 'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders',states={'done': [('readonly', True)]}), 'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase',states={'done': [('readonly', True)]}), 'state': fields.selection([('draft','Draft'),('in_progress','In Progress'),('cancel','Cancelled'),('done','Done')], 'State', required=True) } diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml index 93f4f111da0..76aa70aaf42 100644 --- a/addons/purchase_requisition/purchase_requisition_view.xml +++ b/addons/purchase_requisition/purchase_requisition_view.xml @@ -41,7 +41,6 @@ - @@ -83,7 +82,8 @@