From e1fb0f9f66656cb99076ee43065fddf457486b97 Mon Sep 17 00:00:00 2001 From: "aag (OpenERP)" Date: Tue, 28 Dec 2010 18:00:21 +0530 Subject: [PATCH 001/144] [FIX] MRP:Error solve of confirming a production order with different UoM lp bug: https://launchpad.net/bugs/709055 fixed bzr revid: aag@tinyerp.co.in-20101228123021-vlpgv6ivrtida57b --- addons/mrp/mrp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index f6d5f0177e7..1b5542a15d1 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -590,7 +590,7 @@ class mrp_production(osv.osv): if not bom_id: raise osv.except_osv(_('Error'), _("Couldn't find bill of material for product")) - factor = production.product_qty * production.product_uom.factor / bom_point.product_uom.factor + factor = production.product_qty * production.product_uom.factor_inv / bom_point.product_uom.factor res = bom_obj._bom_explode(cr, uid, bom_point, factor / bom_point.product_qty, properties) results = res[0] results2 = res[1] From e3f534f30163fc2e248a1191f31f0eb8b01aa2ec Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" Date: Thu, 13 Jan 2011 17:13:48 +0530 Subject: [PATCH 002/144] [FIX]: Fixed "Weird folder" dir Problem. bzr revid: atp@tinyerp.com-20110113114348-z01freejkpc8b3mo --- addons/document_ftp/test/document_ftp_test4.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/addons/document_ftp/test/document_ftp_test4.yml b/addons/document_ftp/test/document_ftp_test4.yml index f05fac397bf..16aaa5f7a89 100644 --- a/addons/document_ftp/test/document_ftp_test4.yml +++ b/addons/document_ftp/test/document_ftp_test4.yml @@ -128,20 +128,6 @@ except ftplib.error_perm: # That's what should happen pass -- - I try to create a folder directly under the Partners Testing folder -- - !python {model: ir.attachment}: | - from document_ftp import test_easyftp as te - import ftplib - from cStringIO import StringIO - ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing') - try: - ftp.mkd('Weird folder') - assert False, "We should't be able to create folders here" - except ftplib.error_perm: - # That's what should happen - pass - I check that all/Partner1 also has the file - | From 5022b81da941800dd7ae2343dde58cad78f179b6 Mon Sep 17 00:00:00 2001 From: "rpa (Open ERP)" Date: Wed, 19 Jan 2011 11:40:51 +0530 Subject: [PATCH 003/144] [FIX]: purchase: Fixed default values for PO date lp bug: https://launchpad.net/bugs/704035 fixed bzr revid: rpa@tinyerp.com-20110119061051-zsmjfwihk50wrmkq --- addons/purchase/purchase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index ce024b1a5cb..2d8eaac1d84 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -217,7 +217,7 @@ class purchase_order(osv.osv): 'company_id': fields.many2one('res.company','Company',required=True,select=1), } _defaults = { - 'date_order': time.strftime('%Y-%m-%d'), + 'date_order': lambda *a: time.strftime('%Y-%m-%d'), 'state': 'draft', 'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'purchase.order'), 'shipped': 0, From 7e4ceb458c8dced039d998148ef3233912cb4a4e Mon Sep 17 00:00:00 2001 From: "rha@tinyerp.com" <> Date: Wed, 19 Jan 2011 18:44:10 +0530 Subject: [PATCH 004/144] [IMP]: stock_planning: fixed import error bzr revid: rha@tinyerp.com-20110119131410-59h6c5931r7vhqne --- addons/stock_planning/wizard/stock_planning_forecast.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/stock_planning/wizard/stock_planning_forecast.py b/addons/stock_planning/wizard/stock_planning_forecast.py index d38173a665d..60b3de62243 100644 --- a/addons/stock_planning/wizard/stock_planning_forecast.py +++ b/addons/stock_planning/wizard/stock_planning_forecast.py @@ -20,6 +20,7 @@ ############################################################################## from osv import osv, fields +from tools.translate import _ # Creates forecasts records for products from selected Product Category for selected 'Warehouse - Period' # Object added by contributor in ver 1.1 From 68b23d52268d47f05ab19c89a467c2fbf590872d Mon Sep 17 00:00:00 2001 From: "vda (Open ERP)" Date: Thu, 20 Jan 2011 11:32:15 +0530 Subject: [PATCH 005/144] [FIX] Add type url in pad,for share add act_window option of active_id. bzr revid: vda@tinyerp.com-20110120060215-ih3ia6b3j068uty5 --- addons/pad/web/controllers.py | 1 + addons/share/web/controllers.py | 6 +++++- addons/share/web/editors.py | 9 +++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/addons/pad/web/controllers.py b/addons/pad/web/controllers.py index faa5d0ad54b..1553d721303 100644 --- a/addons/pad/web/controllers.py +++ b/addons/pad/web/controllers.py @@ -30,5 +30,6 @@ class Piratepad(openerp.controllers.SecuredController): attachment_id = rpc.RPCProxy('ir.attachment').create({ 'name': pad_name, 'url': pad_link, + 'type': 'url' }, ctx) return {'id': attachment_id, 'name': pad_name, 'url': pad_link} diff --git a/addons/share/web/controllers.py b/addons/share/web/controllers.py index de44d0ecac3..efa360036ea 100644 --- a/addons/share/web/controllers.py +++ b/addons/share/web/controllers.py @@ -13,13 +13,17 @@ class ShareWizardController(openerp.controllers.SecuredController): _cp_path = "/share" @expose() - def index(self, domain, search_domain, context, name): + def index(self, domain, search_domain, context, name, view_type): context = ast.literal_eval(context) view_name = context.get('_terp_view_name') or name if not view_name: return action_id = rpc.RPCProxy('ir.actions.actions').search( [('name','=',view_name)], 0, 0, 0, context) + + if not action_id: + action_id = rpc.RPCProxy('ir.actions.act_window').search([('view_type','=', view_type),('name','=',view_name)], 0, 0, 0, context) + if not action_id: return domain = ast.literal_eval(domain) diff --git a/addons/share/web/editors.py b/addons/share/web/editors.py index d156d40c6b3..73475042ca3 100644 --- a/addons/share/web/editors.py +++ b/addons/share/web/editors.py @@ -24,10 +24,11 @@ class ShareActionEditor(openobject.templating.TemplateEditor): jQuery(this).attr( "href", openobject.http.getURL('/share', { - context: jQuery("#_terp_context").val(), - domain: jQuery("#_terp_domain").val(), - name: jQuery("#_terp_string").val(), - search_domain: jQuery("#_terp_search_domain").val(), + context: jQuery(idSelector("_terp_context")).val(), + domain: jQuery(idSelector("_terp_domain")).val(), + name: jQuery(idSelector("_terp_string")).val(), + view_type: jQuery(idSelector("_terp_view_type")).val(), + search_domain: jQuery(idSelector("_terp_search_domain")).val(), })); }); }); From e286c21c27c303a45fbcf5eaf7a42effed71d0a1 Mon Sep 17 00:00:00 2001 From: jam-openerp Date: Thu, 20 Jan 2011 12:43:22 +0530 Subject: [PATCH 006/144] [IMP] project_long_term : Added new warning for the Phase Scheduling when invalid resource allocation done by user bzr revid: jam@tinyerp.com-20110120071322-b638ot2x2cth9lam --- addons/project_long_term/project_long_term.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index f8b91a200b5..ecc47a50f9d 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -444,6 +444,26 @@ class project(osv.osv): data_pool = self.pool.get('ir.model.data') resource_allocation_pool = self.pool.get('project.resource.allocation') data_model, day_uom_id = data_pool.get_object_reference(cr, uid, 'product', 'uom_day') + + #Checking the Valid Phase resource allocation from project member + for project in self.browse(cr, uid, ids, context=context): + flag = False + res_msg = '' + memebrs_ids = [] + resource_user_ids = [] + if project.members: + memebrs_ids = [use.id for use in project.members] + phase_ids = phase_pool.search(cr, uid, [('project_id', '=', project.id)], context=context) + if phase_ids: + for phase in phase_pool.browse(cr, uid, phase_ids, context=context): + if phase.resource_ids: + res_ids = [ re.id for re in phase.resource_ids] + for res in resource_allocation_pool.browse(cr, uid,res_ids, context=context): + if res.resource_id.user_id.id not in memebrs_ids: + res_msg += " '%s' %s , "%(res.resource_id.name,res.resource_id.user_id.name) + flag = True + if flag: + raise osv.except_osv(_('Warning !'),_("Resource %s is/are not Members of the Project '%s' .")%(res_msg[:-3], project.name)) for project in self.browse(cr, uid, ids, context=context): root_phase_ids = phase_pool.search(cr, uid, [('project_id', '=', project.id), From 21f2b42e92e2661b43c1770c954003967353e110 Mon Sep 17 00:00:00 2001 From: jam-openerp Date: Thu, 20 Jan 2011 14:23:36 +0530 Subject: [PATCH 007/144] [IMP] project_long_term : adding logger for Scheduling Traceback bzr revid: jam@tinyerp.com-20110120085336-wsqwuctt3g0tcnkn --- addons/project_long_term/project_long_term.py | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index ecc47a50f9d..af2e5f76f37 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -23,6 +23,7 @@ from datetime import datetime from tools.translate import _ from osv import fields, osv from resource.faces import task as Task +import logging class project_phase(osv.osv): _name = "project.phase" @@ -360,17 +361,18 @@ def Phase_%d(): parent = task task_ids.append(task.id) func_str += cls_str - + phase_id = phase.id # Allocating Memory for the required Project and Pahses and Resources exec(func_str) Phase = eval('Phase_%d' % phase.id) phase = None try: phase = Task.BalancedProject(Phase) - except : - raise osv.except_osv(_('Error !'),_('Invalid Project Members.\nPhase Scheduling is not possible.')) - - + except Exception, e: + import traceback + logging.getLogger('project').warning("Error on sheduling tasks of phase#%s: %s \n%s",phase_id, str(e), traceback.format_exc()) + raise osv.except_osv(_('Error !'),_('Sorry, Phase Scheduling is not possible due to some errors. Please check traceback in server log for more.')) + for task_id in task_ids: task = eval("phase.Task_%d" % task_id) start_date = task.start.to_datetime() @@ -528,14 +530,17 @@ def Project_%d(): func_str += phases phase_ids += child_phase_ids + project_id = project.id # Allocating Memory for the required Project and Pahses and Resources exec(func_str) Project = eval('Project_%d' % project.id) project = None try: project = Task.BalancedProject(Project) - except : - raise osv.except_osv(_('Error !'),_('Invalid Project Members.\nPhase Scheduling is not possible.')) + except Exception, e: + import traceback + logging.getLogger('project').warning("Error on sheduling phases of project#%s: %s \n%s", project_id, str(e), traceback.format_exc()) + raise osv.except_osv(_('Error !'),_('Sorry, Phase Scheduling is not possible due to some errors. Please check traceback in server log for more.')) for phase_id in phase_ids: act_phase = phase_pool.browse(cr, uid, phase_id, context=context) @@ -667,7 +672,7 @@ def Project_%d(): try: project = Task.BalancedProject(Project) except : - raise osv.except_osv(_('Error !'),_('Phase Scheduling is not possible.\nProject should have the Start date and member for scheduling.')) + raise osv.except_osv(_('Error !'),_('Task Scheduling is not possible.\nProject should have the Start date for scheduling.')) for task_id in task_ids: task = eval("project.Task_%d" % task_id) From 8d8cb5167c05c3a73ea90dcbc20c8775426d8571 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 20 Jan 2011 10:09:39 +0100 Subject: [PATCH 008/144] [FIX] base_calendar: ir.attachment (search): Handle the case where the value of res_id is a list or a tuple bzr revid: stephane@openerp.com-20110120090939-g482xt1vjtzmvj1e --- addons/base_calendar/base_calendar.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index f7a67adae11..8e490c911c3 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1751,7 +1751,14 @@ class ir_attachment(osv.osv): new_args = args for i, arg in enumerate(new_args): if arg[0] == 'res_id': - new_args[i] = (arg[0], arg[1], base_calendar_id2real_id(arg[2])) + ids = arg[2] + if arg[1].lower() in ('in', 'not in'): + if not isinstance(ids, (tuple, list)): + ids = [ids] + + ids = map(base_calendar_id2real_id, ids) + + new_args[i] = (arg[0], arg[1], ids) return super(ir_attachment, self).search(cr, uid, new_args, offset=offset, limit=limit, order=order, context=context, count=False) From 24c9a08a786c22b7d2619aaaad9063011e8348e6 Mon Sep 17 00:00:00 2001 From: "Sbh (OpenERP)" Date: Thu, 20 Jan 2011 15:21:32 +0530 Subject: [PATCH 009/144] [FIX] project_long_term: fix buildbox warning bzr revid: sbh@tinyerp.com-20110120095132-lalsmnj9bovu46tn --- addons/project_long_term/project_long_term.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index af2e5f76f37..982230ffd09 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -452,7 +452,6 @@ class project(osv.osv): flag = False res_msg = '' memebrs_ids = [] - resource_user_ids = [] if project.members: memebrs_ids = [use.id for use in project.members] phase_ids = phase_pool.search(cr, uid, [('project_id', '=', project.id)], context=context) From 7d738f59896d81b2fb2479277318a1a044361af6 Mon Sep 17 00:00:00 2001 From: Mustufa Rangwala Date: Thu, 20 Jan 2011 15:26:53 +0530 Subject: [PATCH 010/144] [FIX] Account: add account_id field on account.ivnocie.tax object tree view available on customer and supplier invoice with group=account invoice bzr revid: mra@mra-laptop-20110120095653-glkjyjsye2t4i915 --- addons/account/account_invoice_view.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 48c817ff58f..6fa3b8c09d2 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -190,6 +190,7 @@ + @@ -284,7 +285,8 @@ - + + From 88f37ff570acccb868bfd580291cb70d73027097 Mon Sep 17 00:00:00 2001 From: Mustufa Rangwala Date: Thu, 20 Jan 2011 15:37:31 +0530 Subject: [PATCH 011/144] [FIX] Account: remove constraints on account.move.line if the partner is not exists for receivable and paybletype account bzr revid: mra@mra-laptop-20110120100731-yln0ib71ehcavwrv --- addons/account/account_move_line.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index b834ecf12e7..7ed1c675662 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -588,18 +588,10 @@ class account_move_line(osv.osv): return False return True - def _check_partner_id(self, cr, uid, ids, context=None): - lines = self.browse(cr, uid, ids, context=context) - for l in lines: - if l.account_id.type in ('receivable', 'payable') and not l.partner_id: - return False - return True - _constraints = [ (_check_no_view, 'You can not create move line on view account.', ['account_id']), (_check_no_closed, 'You can not create move line on closed account.', ['account_id']), (_check_company_id, 'Company must be same for its related account and period.',['company_id'] ), - (_check_partner_id, 'You can not create move line on receivable/payable account without partner', ['account_id'] ) ] #TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id From a0346ae6442edc974b9153f56528beb27c6a6284 Mon Sep 17 00:00:00 2001 From: "Sbh (OpenERP)" Date: Thu, 20 Jan 2011 16:17:56 +0530 Subject: [PATCH 012/144] [Fix] crm :correct section_id in search view bzr revid: sbh@tinyerp.com-20110120104756-uphwfgf0p3d0zusz --- addons/crm/crm_lead_menu.xml | 2 +- addons/crm/crm_opportunity_menu.xml | 2 +- addons/crm/crm_phonecall_menu.xml | 2 +- addons/crm_claim/crm_claim_menu.xml | 2 +- addons/crm_fundraising/crm_fundraising_menu.xml | 2 +- addons/crm_helpdesk/crm_helpdesk_menu.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml index 2bd20f1c7ca..6e0c94432d6 100644 --- a/addons/crm/crm_lead_menu.xml +++ b/addons/crm/crm_lead_menu.xml @@ -9,7 +9,7 @@ ['|', ('type','=','lead'), ('type','=',False)] - {'search_default_current':1, 'default_type': 'lead', 'search_default_section_id': section_id, 'stage_type': 'lead'} + {'search_default_current':1, 'default_type': 'lead', 'search_default_section_id': context.get('section_id', False), 'stage_type': 'lead'} Leads allow you to manage and keep track of all initial contacts with a prospect or partner showing interest in your products or services. A lead is usually the first step in your sales cycle. Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities. You can import a database of prospects, keep track of your business cards or integrate your website's contact form with the OpenERP Leads. Leads can be connected to the email gateway: new emails may create leads, each of them automatically gets the history of the conversation with the prospect. diff --git a/addons/crm/crm_opportunity_menu.xml b/addons/crm/crm_opportunity_menu.xml index 53730b218db..e1620446062 100644 --- a/addons/crm/crm_opportunity_menu.xml +++ b/addons/crm/crm_opportunity_menu.xml @@ -28,7 +28,7 @@ crm.lead tree,form,graph,calendar [('type','=','opportunity')] - {'search_default_user_id':uid,'search_default_current':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity'} + {'search_default_user_id':uid,'search_default_current':1, 'search_default_section_id':context.get('section_id', False), 'stage_type': 'opportunity'} With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer. diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml index f223ee16be9..e4625ab3a91 100644 --- a/addons/crm/crm_phonecall_menu.xml +++ b/addons/crm/crm_phonecall_menu.xml @@ -31,7 +31,7 @@ form tree,calendar - {"search_default_user_id":uid, 'search_default_section_id': section_id} + {"search_default_user_id":uid, 'search_default_section_id': context.get('section_id',False)} diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml index f33b6f7ad31..3485d5724b6 100644 --- a/addons/crm_claim/crm_claim_menu.xml +++ b/addons/crm_claim/crm_claim_menu.xml @@ -14,7 +14,7 @@ form tree,calendar,form - {'search_default_section_id': section_id, "search_default_current":1,"search_default_user_id":uid, "stage_type":'claim'} + {'search_default_section_id':context.get('section_id',False), "search_default_current":1,"search_default_user_id":uid, "stage_type":'claim'} Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module. diff --git a/addons/crm_fundraising/crm_fundraising_menu.xml b/addons/crm_fundraising/crm_fundraising_menu.xml index f693cd3a8dc..f1c17784a60 100644 --- a/addons/crm_fundraising/crm_fundraising_menu.xml +++ b/addons/crm_fundraising/crm_fundraising_menu.xml @@ -13,7 +13,7 @@ crm.fundraising tree,form,graph - {"search_default_user_id":uid,"search_default_current":1, 'search_default_section_id': section_id} + {"search_default_user_id":uid,"search_default_current":1, 'search_default_section_id':context.get('section_id',False)} If you need to collect money for your organization or a campaign, Fund Raising allows you to track all your fund raising activities. In the search list, filter by funds description, email, history and probability of success. diff --git a/addons/crm_helpdesk/crm_helpdesk_menu.xml b/addons/crm_helpdesk/crm_helpdesk_menu.xml index 162cef8c15d..37d6ceacfba 100644 --- a/addons/crm_helpdesk/crm_helpdesk_menu.xml +++ b/addons/crm_helpdesk/crm_helpdesk_menu.xml @@ -11,7 +11,7 @@ crm.helpdesk tree,calendar,form - {"search_default_user_id":uid, 'search_default_section_id': section_id} + {"search_default_user_id":uid, 'search_default_section_id':context.get('section_id',False)} Helpdesk and Support allow you to track your interventions. Select a customer, add notes and categorize interventions with partners if necessary. You can also assign a priority level. Use the OpenERP Issues system to manage your support activities. Issues can be connected to the email gateway: new emails may create issues, each of them automatically gets the history of the conversation with the customer. From d65ea1ea10dda9183712c6f992788c66be430844 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Thu, 20 Jan 2011 16:51:51 +0530 Subject: [PATCH 013/144] [FIX] crm_meeting: unlink issue of replica bzr revid: hmo@tinyerp.com-20110120112151-4oqeah3zv3rrsu1p --- addons/base_calendar/base_calendar.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 8f2e27ec0b7..fb7e011f6af 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1591,14 +1591,18 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\ str_event, date_new = event_id.split('-') event_id = int(str_event) # Remove one of the recurrent main event - main_event = self.browse(cr, uid, event_id, context=context) - if main_event.recurrent_uid: - res = self.unlink(cr, uid, [main_event.id], context=context) + event = self.browse(cr, uid, event_id, context=context) + if event.recurrent_uid: + res = self.unlink(cr, uid, [event.id], context=context) + main_event_id = event.recurrent_uid else: - date_ex = time.strftime("%Y%m%dT%H%M%S", \ - time.strptime(date_new, "%Y%m%d%H%M%S")) - exdate = (main_event.exdate and (main_event.exdate + ',') or '') + date_ex - res = super(calendar_event, self).write(cr, uid, [main_event.id], {'exdate': exdate}) + main_event_id = event.id + + main_event = self.browse(cr, uid, main_event_id, context=context) + date_ex = time.strftime("%Y%m%dT%H%M%S", \ + time.strptime(date_new, "%Y%m%d%H%M%S")) + exdate = (main_event.exdate and (main_event.exdate + ',') or '') + date_ex + res = super(calendar_event, self).write(cr, uid, [main_event.id], {'exdate': exdate}) return res def create(self, cr, uid, vals, context=None): From e721f76db072bcc582273e097ab211242adee9a4 Mon Sep 17 00:00:00 2001 From: "Sbh (OpenERP)" Date: Thu, 20 Jan 2011 16:57:20 +0530 Subject: [PATCH 014/144] [Fix] crm :correct section_id in search view of phonecall bzr revid: sbh@tinyerp.com-20110120112720-9p7mvk5x6jwp7vbc --- addons/crm/crm_phonecall_menu.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml index e4625ab3a91..7fc96c58178 100644 --- a/addons/crm/crm_phonecall_menu.xml +++ b/addons/crm/crm_phonecall_menu.xml @@ -67,7 +67,7 @@ tree,calendar - + The Inbound Calls tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity. @@ -105,7 +105,7 @@ tree,calendar - + Outbound Calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team. From cfd8b8b2a722d425011e8fc9992f35ced800e062 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Thu, 20 Jan 2011 17:07:25 +0530 Subject: [PATCH 015/144] [FIX] crm_meeting: should display all meetings in calendar bzr revid: hmo@tinyerp.com-20110120113725-c0mqy6zb21lsdsuk --- addons/base_calendar/base_calendar.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index fb7e011f6af..034eadb0344 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1262,8 +1262,8 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\ recur_dict = [] if ids and (base_start_date or base_until_date): cr.execute("select m.id, m.rrule, m.date, m.date_deadline, m.duration, \ - m.exdate, m.exrule, m.recurrent_id, m.recurrent_uid from " + self._table + \ - " m where recurrency=True and m.id = ANY(%s)", (ids,) ) + m.exdate, m.exrule, m.recurrent_id, m.recurrent_uid, m.recurrency from " + self._table + \ + " m where m.id = ANY(%s)", (ids,) ) count = 0 for data in cr.dictfetchall(): From cda9789c028e239a91db602448d97771184404de Mon Sep 17 00:00:00 2001 From: "qdp-launchpad@tinyerp.com" <> Date: Thu, 20 Jan 2011 12:39:51 +0100 Subject: [PATCH 016/144] [FIX] point_of_sale: cleaning and fixing the point_of_sale for use cases with advance payments (+add product) bzr revid: qdp-launchpad@tinyerp.com-20110120113951-8f8sy6il5g1mczxf --- addons/point_of_sale/point_of_sale.py | 2 -- addons/point_of_sale/point_of_sale_view.xml | 2 +- addons/point_of_sale/wizard/pos_payment.py | 18 +++++++----------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 5ed842b2fec..8873ecf07e4 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -591,8 +591,6 @@ class pos_order(osv.osv): 'qty': qty, 'price_unit': price, }, context=context) - wf_service = netsvc.LocalService("workflow") - wf_service.trg_write(uid, 'pos.order', order_id, cr) return order_line_id, price def refund(self, cr, uid, ids, context=None): diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 3fdd96677dc..5bf85aba602 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -51,7 +51,7 @@ -