diff --git a/addons/account/account.py b/addons/account/account.py index d902d2cb482..75bfc891980 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2100,7 +2100,7 @@ class account_tax(osv.osv): "Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included") return self._compute(cr, uid, taxes, price_unit, quantity, product, partner) - def _compute(self, cr, uid, taxes, price_unit, quantity,product=None, partner=None): + def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None): """ Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID. diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 406fd56ee31..6d499b4d3ad 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -152,7 +152,7 @@ - + @@ -260,7 +260,7 @@ - + diff --git a/addons/account/account_pre_install.yml b/addons/account/account_pre_install.yml index 744a8c4bc99..e295989e698 100644 --- a/addons/account/account_pre_install.yml +++ b/addons/account/account_pre_install.yml @@ -8,7 +8,7 @@ part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner')) # if we know the country and the wizard has not yet been executed, we do it if (part.country_id.id) and (wiz.state=='open'): - mod = 'l10n_'+part.country_id.co7de.lower() + mod = 'l10n_'+part.country_id.code.lower() ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context) if ids: wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], { diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml index a7dc94c69f5..c97024977ed 100644 --- a/addons/account/partner_view.xml +++ b/addons/account/partner_view.xml @@ -96,7 +96,7 @@ - + diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index fc6fc3f1898..bb142587de0 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -166,9 +166,9 @@ - Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]] - Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]] - VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]] + Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]] + Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]] + VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]] @@ -210,7 +210,7 @@ [[ o.origin or '' ]] - [[ (o.partner_id and o.partner_id.ref) or ' ' ]] + [[ (o.partner_id.ref) or ' ' ]] diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index 6a9de4f7f41..eec4b974e2b 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -197,9 +197,9 @@ - Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]] - Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]] - VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]] + Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]] + Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]] + VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]] @@ -247,7 +247,7 @@ [[ o.name or '' ]] - [[ (o.partner_id and o.partner_id.ref) or ' ' ]] + [[ (o.partner_id.ref) or ' ' ]] diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index bd3eb175dd0..97a7f131df6 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -201,8 +201,8 @@ - Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]] - Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]] + Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]] + Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]] VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]] @@ -251,7 +251,7 @@ [[ o.name or '' ]] - [[ ( o.partner_id and o.partner_id.ref) or ' ' ]] + [[ ( o.partner_id.ref) or ' ' ]] diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index cc645dc87ad..166f0b0c6e7 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -183,56 +183,30 @@ class payment_line(osv.osv): "reference": "ref"}.get(orig, orig) def info_owner(self, cr, uid, ids, name=None, args=None, context=None): - if not ids: return {} - partner_zip_obj = self.pool.get('res.partner.zip') - result = {} - info='' for line in self.browse(cr, uid, ids, context=context): owner = line.order_id.mode.bank_id.partner_id - result[line.id] = False - if owner: - if owner.type == 'default': - st = owner.street and owner.street or '' - st1 = owner.street2 and owner.street2 or '' - if 'zip_id' in owner: - zip_city = owner.zip_id and partner_zip_obj.name_get(cr, uid, [owner.zip_id.id])[0][1] or '' - else: - zip = owner.zip and owner.zip or '' - city = owner.city and owner.city or '' - zip_city = zip + ' ' + city - cntry = owner.country_id and owner.country_id.name or '' - info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - result[line.id] = info - break + result[line.id] = self._get_info_partner(cr, uid, owner, context=context) return result - def info_partner(self, cr, uid, ids, name=None, args=None, context=None): - if not ids: return {} - partner_zip_obj = self.pool.get('res.partner.zip') - result = {} - info = '' + def _get_info_partner(cr, uid, partner_record, context=None): + if not partner_record: + return False + st = partner_record.street or '' + st1 = partner_record.street2 or '' + zip = partner_record.zip or '' + city = partner_record.city or '' + zip_city = zip + ' ' + city + cntry = partner_record.country_id and partner_record.country_id.name or '' + return partner_record.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry + def info_partner(self, cr, uid, ids, name=None, args=None, context=None): + result = {} for line in self.browse(cr, uid, ids, context=context): result[line.id] = False if not line.partner_id: break - partner = line.partner_id.name or '' - if line.partner_id: - #for ads in line.partner_id: - if line.partner_id.type == 'default': - st = line.partner_id.street and line.partner_id.street or '' - st1 = line.partner_id.street2 and line.partner_id.street2 or '' - if 'zip_id' in line.partner_id: - zip_city = line.partner_id.zip_id and partner_zip_obj.name_get(cr, uid, [line.partner_id.zip_id.id])[0][1] or '' - else: - zip = line.partner_id.zip and line.partner_id.zip or '' - city = line.partner_id.city and line.partner_id.city or '' - zip_city = zip + ' ' + city - cntry = line.partner_id.country_id and line.partner_id.country_id.name or '' - info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - result[line.id] = info - break + result[line.id] = self._get_info_partner(cr, uid, line.partner_id, context=context) return result #dead code @@ -419,7 +393,6 @@ class payment_line(osv.osv): def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None): data = {} - partner_zip_obj = self.pool.get('res.partner.zip') partner_obj = self.pool.get('res.partner') payment_mode_obj = self.pool.get('payment.mode') data['info_partner'] = data['bank_id'] = False @@ -427,23 +400,7 @@ class payment_line(osv.osv): if partner_id: part_obj = partner_obj.browse(cr, uid, partner_id, context=context) partner = part_obj.name or '' - if part_obj: - #for ads in part_obj.address: - if part_obj.type == 'default': - st = part_obj.street and part_obj.street or '' - st1 = part_obj.street2 and part_obj.street2 or '' - - if 'zip_id' in part_obj: - zip_city = part_obj.zip_id and partner_zip_obj.name_get(cr, uid, [part_obj.zip_id.id])[0][1] or '' - else: - zip = part_obj.zip and part_obj.zip or '' - city = part_obj.city and part_obj.city or '' - zip_city = zip + ' ' + city - - cntry = part_obj.country_id and part_obj.country_id.name or '' - info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - - data['info_partner'] = info + data['info_partner'] = self._get_info_partner(cr, uid, part_obj, context=context) if part_obj.bank_ids and payment_type: bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context) diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 8f988bea148..6e800247cb5 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -217,12 +217,6 @@ class account_analytic_account(osv.osv): default['line_ids'] = [] return super(account_analytic_account, self).copy(cr, uid, id, default, context=context) - def on_change_partner_id(self, cr, uid, id, partner_id, context={}): - if not partner_id: - return {'value': {'partner_id': False}} - addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['invoice']) - return {'value': {'partner_id': addr.get('invoice', False)}} - def on_change_company(self, cr, uid, id, company_id): if not company_id: return {} @@ -242,13 +236,6 @@ class account_analytic_account(osv.osv): res['value']['partner_id'] = partner return res - def onchange_partner_id(self, cr, uid, ids, partner, context=None): - partner_obj = self.pool.get('res.partner') - if not partner: - return {'value':{'partner_id': False}} - address = partner_obj.address_get(cr, uid, [partner], ['contact']) - return {'value':{'partner_id': address['contact']}} - def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): if not args: args=[] diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index 097367ce43f..78a180e8d4d 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -375,7 +375,7 @@ class audittrail_objects_proxy(object_proxy): } The reason why the structure returned is build as above is because when modifying an existing - record (res.partner, for example), we may have to log a change done in a x2many field + record, we may have to log a change done in a x2many field of that object """ key = (model.id, resource_id) lines = { diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml index 0f9d288d5c2..ea0d444ce54 100644 --- a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml +++ b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml @@ -27,7 +27,7 @@ - + diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index c0a7d297e6c..2b319e565da 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -60,13 +60,6 @@ class crm_lead(crm_case, osv.osv): 'stage_id': _read_group_stage_ids } - # especially if base_contact is installed. - def name_get(self, cr, user, ids, context=None): - if isinstance(ids, (int, long)): - ids = [ids] - return [(r['id'], tools.ustr(r[self._rec_name])) - for r in self.read(cr, user, ids, [self._rec_name], context)] - def _compute_day(self, cr, uid, ids, fields, args, context=None): """ @param cr: the current row, from the database cursor, @@ -170,7 +163,7 @@ class crm_lead(crm_case, osv.osv): 'contact_name': fields.char('Contact Name', size=64), 'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner company that will be created while converting the lead into opportunity', select=1), 'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."), - 'opt_out': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), + 'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), 'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'date_closed': fields.datetime('Closed', readonly=True), @@ -222,19 +215,11 @@ class crm_lead(crm_case, osv.osv): 'color': 0, } - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - """This function returns value of partner email based on Partner Address - """ - if not add: - return {'value': {'email_from': False, 'country_id': False}} - address = self.pool.get('res.partner').browse(cr, uid, add) - return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}} - def on_change_optin(self, cr, uid, ids, optin): - return {'value':{'optin':optin,'opt_out':False}} + return {'value':{'optin':optin,'optout':False}} def on_change_optout(self, cr, uid, ids, optout): - return {'value':{'opt_out':optout,'optin':False}} + return {'value':{'optout':optout,'optin':False}} def onchange_stage_id(self, cr, uid, ids, stage_id, context={}): if not stage_id: diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 4a0cba021a0..0d8c560aaaf 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -186,7 +186,7 @@ - + @@ -539,7 +539,7 @@ - + diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index a5a4c0862bf..c6a59d9aace 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -86,16 +86,6 @@ class crm_phonecall(crm_base, osv.osv): 'active': 1, } - # From crm.case - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - res = super(crm_phonecall, self).onchange_partner_address_id(cr, uid, ids, add, email) - res.setdefault('value', {}) - if add: - address = self.pool.get('res.partner').browse(cr, uid, add) - res['value']['partner_phone'] = address.phone - res['value']['partner_mobile'] = address.mobile - return res - def case_close(self, cr, uid, ids, *args): """Overrides close for crm_case for setting close date """ diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 5b2b6ebe2f3..74a6a7ec6aa 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -137,7 +137,6 @@ - diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py index 62cd977a428..3d43bc76022 100644 --- a/addons/crm/res_partner.py +++ b/addons/crm/res_partner.py @@ -50,16 +50,14 @@ class res_partner(osv.osv): return value def make_opportunity(self, cr, uid, ids, opportunity_summary, planned_revenue=0.0, probability=0.0, partner_id=None, context=None): - categ = self.pool.get('crm.case.categ') - address = self.address_get(cr, uid, ids) - categ_ids = categ.search(cr, uid, [('object_id.model','=','crm.lead')]) - lead = self.pool.get('crm.lead') + categ_obj = self.pool.get('crm.case.categ') + categ_ids = categ_obj.search(cr, uid, [('object_id.model','=','crm.lead')]) + lead_obj = self.pool.get('crm.lead') opportunity_ids = {} for partner in self.browse(cr, uid, ids, context=context): - address = self.address_get(cr, uid, [partner.id])['default'] if not partner_id: partner_id = partner.id - opportunity_id = lead.create(cr, uid, { + opportunity_id = lead_obj.create(cr, uid, { 'name' : opportunity_summary, 'planned_revenue' : planned_revenue, 'probability' : probability, diff --git a/addons/crm/test/ui/crm_demo.yml b/addons/crm/test/ui/crm_demo.yml index a949fecae03..5ef40838466 100644 --- a/addons/crm/test/ui/crm_demo.yml +++ b/addons/crm/test/ui/crm_demo.yml @@ -15,7 +15,7 @@ name: 'Need 20 Days of Consultancy' type: opportunity state: draft - opt_out: True + optout: True - I create phonecall record to call partner onchange method. - diff --git a/addons/crm/wizard/crm_phonecall_to_partner.py b/addons/crm/wizard/crm_phonecall_to_partner.py index 0263bfe3b53..422af02f99d 100644 --- a/addons/crm/wizard/crm_phonecall_to_partner.py +++ b/addons/crm/wizard/crm_phonecall_to_partner.py @@ -43,11 +43,8 @@ class crm_phonecall2partner(osv.osv_memory): partner_id = False for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context): partner_ids = partner_obj.search(cr, uid, [('name', '=', phonecall.name or phonecall.name)]) - if not partner_ids and phonecall.email_from: - address_ids = partner_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) - if address_ids: - addresses = partner_ids.browse(cr, uid, address_ids) - partner_ids = addresses and [addresses[0].parent_id.id] or False + if not partner_ids and (phonecall.partner_phone or phonecall.partner_mobile): + partner_ids = partner_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) partner_id = partner_ids and partner_ids[0] or False return partner_id diff --git a/addons/edi/models/res_company.py b/addons/edi/models/res_company.py index 7e7b2ea4f92..0ab6607cdad 100644 --- a/addons/edi/models/res_company.py +++ b/addons/edi/models/res_company.py @@ -37,7 +37,6 @@ class res_company(osv.osv): an empty dict if no address can be found """ res_partner = self.pool.get('res.partner') -# res_partner_address = self.pool.get('res.partner.address') addresses = res_partner.address_get(cr, uid, [company.partner_id.id], ['default', 'contact', 'invoice']) addr_id = addresses['invoice'] or addresses['contact'] or addresses['default'] result = {} diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index f5f728765de..357fdec061b 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -76,7 +76,7 @@ class res_partner(osv.osv, EDIMixin): if edi_bank_ids: contact = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=contact.id, + default_partner_id = contact.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: diff --git a/addons/event/event.py b/addons/event/event.py index f4e72c36790..6bf1ea24786 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -261,7 +261,6 @@ class event_registration(osv.osv): 'nb_register': fields.integer('Number of Participants', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), - 'create_date': fields.datetime('Creation Date' , readonly=True), 'date_closed': fields.datetime('Attended Date', readonly=True), 'date_open': fields.datetime('Registration Date', readonly=True), @@ -282,6 +281,8 @@ class event_registration(osv.osv): 'nb_register': 1, 'state': 'draft', } + _order = 'name, create_date desc' + def do_draft(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state': 'draft'}, context=context) diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index cfccb7c6a60..0825cef42c5 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -448,7 +448,7 @@ + filter_domain="['|','|', ('name','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/> %endfor