Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
7528 Prikazi

Hi Everyone !
I am trying to create dynamic view ,  so i want to create views in python side . But when i try to save the view the "arch_base" field is not set . Can someone tell me what's the problem ? Here is my function 


@api.onchange('field_id')
def create_validation_button(self):
model = self.field_id.model_id.model
model_view = self.env['ir.ui.view'].search([("model", "=", model), ('type', "=", "form")])
arch = '<xpath expr="//header" postition="inside"><button string="Add Followers" type="object" name="add_project_followers" /></xpath>'
if model_view:
self.view_id = None
self.env['ir.ui.view'].search(
[("model", "=", model), ('name', "=", 'validation.' + model_view.name)]).unlink()
view_data = {'name': 'validation.' + model_view.name, 'type': 'form', 'model': model, 'priority': 1,
'inherit_id': model_view.id,
'mode': 'extension',
'arch_base': arch.encode('utf-8')}
view = self.env["ir.ui.view"].create(view_data)
self.view_id = view
Avatar
Opusti
Best Answer

Do you not want to be writing to the field `arch`, not `arch_base`?

Either way this seems pretty hinky, and there may well be an easier way to do this just via XML, though I can't quite understand what you're trying to accomplish with the above code

Avatar
Opusti
Avtor

thank you , it works .

Glad to hear it!

Related Posts Odgovori Prikazi Aktivnost
1
mar. 15
5391
1
mar. 24
2754
3
avg. 22
11915
2
feb. 19
4117
2
jun. 16
6010