[IMP] website_crm_partner_assign: improve 'Partner Assignment' and creation
- This commit removes `selection` widget given on 'Partner Level' and 'Activation' fields on contact form view to allow users to create records for them on the fly (with 'no_open' option). - This commit moves geo-location related fields below the parter assignment related fields in the 'Partner Assignment' page of contact form view. - This commit adds default lowest 'Partner Level' and 'Activation' (based on sequence) while creating assigned partner on the fly from opportunity form view. The purpose is to allow user to select the created partner again in 'Assigned Partner' m2o, which displays only partners having 'Partner Level' (grade_id) set. TaskID-2443894 closes https://github.com/odoo/odoo/pull/67524 Part-of: odoo/odoo#67524
This commit is contained in:
@@ -38,6 +38,18 @@ class ResPartnerActivation(models.Model):
|
||||
class ResPartner(models.Model):
|
||||
_inherit = "res.partner"
|
||||
|
||||
@api.model
|
||||
def default_get(self, fields_list):
|
||||
default_vals = super().default_get(fields_list)
|
||||
if self.env.context.get('partner_set_default_grade_activation'):
|
||||
# sets the lowest grade and activation if no default values given, mainly useful while
|
||||
# creating assigned partner on the fly (to make it visible in same m2o again)
|
||||
if 'grade_id' in fields_list and not default_vals.get('grade_id'):
|
||||
default_vals['grade_id'] = self.env['res.partner.grade'].search([], order='sequence', limit=1).id
|
||||
if 'activation' in fields_list and not default_vals.get('activation'):
|
||||
default_vals['activation'] = self.env['res.partner.activation'].search([], order='sequence', limit=1).id
|
||||
return default_vals
|
||||
|
||||
partner_weight = fields.Integer(
|
||||
'Level Weight', compute='_compute_partner_weight',
|
||||
readonly=False, store=True, tracking=True,
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</div>
|
||||
<button string="Automatic Assignment" name="action_assign_partner" type="object" class="btn-link"/>
|
||||
|
||||
<field name="partner_assigned_id" domain="[('grade_id','!=',False)]"/>
|
||||
<field name="partner_assigned_id" domain="[('grade_id','!=',False)]" context="{'partner_set_default_grade_activation': 1}"/>
|
||||
<button string="Send Email" type="action" class="btn-link"
|
||||
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
|
||||
name="%(crm_lead_forward_to_partner_act)d"
|
||||
|
||||
@@ -144,12 +144,12 @@
|
||||
<field name="inherit_id" ref="base_geolocalize.view_crm_partner_geo_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//page[@name='geo_location']" position="inside">
|
||||
<group>
|
||||
<xpath expr="//page[@name='geo_location']/group" position="before">
|
||||
<group name="group_partner_activation_review">
|
||||
<group>
|
||||
<separator string="Partner Activation" colspan="2"/>
|
||||
<field name="grade_id" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="activation" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="grade_id" options="{'no_open': True}"/>
|
||||
<field name="activation" options="{'no_open': True}"/>
|
||||
<field name="partner_weight"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
Reference in New Issue
Block a user