Mam pole member_id= fields.Many2one('res.partner', string="Member")
, a członek jest tworzony w moim module Building za pośrednictwem res.partner
. Chcę pokazać niestandardowy formularz na member_id
zamiast widoku formularza res.partner
. Jak to jest możliwe??
Kod:
class CreateTicket(models.Model):
_inherit = 'helpdesk.ticket'
member_id = fields.Many2one('res.partner', string="Member", domain=[('company_type', '=', 'person')])
office_no = fields.Char(string="Office No")
floor = fields.Char(string="Floor")
raised_by = fields.Char(string="Raised By")
assigned = fields.Char('Assigned')
@api.onchange('member_id')
def onchange_member_id(self):
obj=self.env['res.contract'].search([('membership_id','=',self.member_id.id)])
self.floor = obj.sector_id.name
self.office_no = obj.inventory_id.id
Kod XML:
<record model="ir.ui.view" id="create_ticket_inherit_view">
<field name="name">Create Ticket</field>
<field name="model">helpdesk.ticket</field>
<field name="inherit_id" ref="helpdesk_basic.view_helpdesk_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']/button[@name='action_get_attachments']" position="after">
<button class="oe_stat_button" name="on_assigned"
type="object" icon="fa-tasks">
<field name="assigned" widget="statinfo"/>
</button>
</xpath>
<xpath expr="//field[@name='priority']" position="after">
<field name="member_id"/>
<field name="office_no"/>
<field name="floor"/>
<field name="raised_by"/>
</xpath>
</field>
</record>
Utworzyłem członka w innym modelu i chcę mieć ten widok, ale res.partner
widok podstawowy jest wyświetlany za każdym razem.
1 odpowiedź
Użyj kontekstu, aby przekazać XML-Id
formularza , który many2one
powinien wyświetlić:
<field name="member_id"
context="{'form_view_ref':'app_name.xmlID_of_form'}" />
Istnieje tree_view_ref, kanban_view_ref
, które można wykorzystać w X2many polach
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.