I want to add a button and a field on the header of "tree" view at "create" and "import" button;
how shall I do / set for this? or shall I to do this?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
I want to add a button and a field on the header of "tree" view at "create" and "import" button;
how shall I do / set for this? or shall I to do this?
Create an xml file for qweb and also add in __openerp__.py
Example:
'qweb': ['static/src/xml/qweb.xml'],
In qweb.xml
<?xml version="1.0" encoding="UTF-8"?><templates id="template" xml:space="preserve">
<T t-extend = "ListView.buttons">
<T t-jquery = "button.oe_list_add" t-operation = "after">
<T t if = "widget.model == 'YOUR.MODEL'">
<Button class = "oe_button" type = "button"> YOU BUTTON </ button>
</ T>
</ T>
</ T>
there something eroro:
ERROR MeiTek openerp.http: Exception during JSON request handling.
ParseError: not well-formed (invalid token): line 10, column 67
<T t if = "widget.model == 'YOUR.MODEL'"> modified into <T t-if = "widget.model == 'Detection'">, <Button class = "oe_button" type = "button"> YOU BUTTON </ button> modified into <Button class = "oe_button" type = "button"> register</ button>
When I delete the "qweb" file, all is ok;
Maybe shall I add a common "field" instead of "button"?
I have modified a little about your code as below:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<T t-extend = "ListView.buttons">
<T t-jquery = "button.oe_list_add" t-operation = "after">
<T t-if = "widget.model == 'Detection'">
<button class = "oe_button" type = "button" string="Test"> register</button>
</T>
</T>
</T>
</templates>
in .py file:
@api.multi
def register(self):
print 'just a test!'
return True
my this module name: "Detection"; and I also created an qweb file as your request in "../addons/Detection/static/src/xml/qweb.xml";
when I modified the file and restart Odoo and update the "Detection" module; there is no error, but when I open the "tree", nothing changed.
You add your model name here .(Not module name)
Example :
<T t if = "widget.model == 'sale.order'">
The button will be appear in the tree view of sale.order
Thank you for you constant support; I have a try for that, but I still can;t see the button in tree view; now I will show all files here:
__init__.py : from . import meeting_model
__openerp__.py:
'name': 'Meeting Application',
'description': 'Publish a meeting',
'author': 'Odoo',
'application': True,
'qweb': ['qweb.xml'],
'data': ['meeting_view.xml']
}
meeting_model.py:
# -*- coding: utf-8 -*-
from openerp import models, fields,api
class MeetingTask(models.Model):
_name = 'meeting.task'
_description = 'Meeting task'
Theme = fields.Char('theme')
@api.multi
def register(self):
self.Theme='Just a test!'
qweb.xml:
<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<T t-extend = "ListView.buttons">
<T t-jquery = "button.oe_list_add" t-operation = "after">
<T t-if = "widget.model == 'meeting.task'">
<button class = "oe_button" type = "button" >register</button>
</T>
</T>
</T>
</templates>
meeting_view.xml:
<?xml version="1.0"?>
<openerp>
<data>
<!-- Action to open To-Do Task list -->
<act_window id="action_meeting_task"
name="Meeting Tasks"
res_model="meeting.task"
view_mode="tree,form" />
<!-- Menu Item to open To-Do Task list -->
<menuitem id="menu_meeting_task"
name="Meeting"
sequence="20"
action="action_meeting_task" />
<!-- To-Do Task Form view -->
<record id="view_form_meeting_task" model="ir.ui.view">
<field name="name">Meeting Task Form</field>
<field name="model">meeting.task</field>
<field name="arch" type="xml">
<form>
<button name="register" type="object" string="Participate" />
<group name="group_top">
<field name="Theme"/>
</group>
</form>
</field>
</record>
<!-- To-Do Task List view -->
<record id="view_tree_meeting_task" model="ir.ui.view">
<field name="name">Meeting Task Tree</field>
<field name="model">meeting.task</field>
<field name="arch" type="xml">
<tree>
<field name="Theme"/>
</tree>
</field>
</record>
</data>
</openerp>
in addition, could you give me an example which add button/fields at create/import buttons on "tree" view? my email: 116599778@qq.com; thank you again!
I created the following module in odoo v9 and it works.
==================================================
◰ button_tree
-|___◰static
-|-----|___◰description
-|-----|___◰src
-|---------|___◰xml
-|--------------|___☐qweb.xml
-|___☐__init__.py
-|___☐__openerp__.py
==================================================
1) __init__.py : <empty>
2) __openerp__.py:
{
'name': 'Button at top of Tree',
'version': '1.0',
'author': 'Shameem',
'category': '',
'description': """ """,
'depends': ['sale'],
'data': [],
'qweb': ['static/src/xml/qweb.xml'],
'demo': [],
'installable': True,
'auto_install': False,
}
3) qweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_add" t-operation="after">
<t t-if="widget.model=='sale.order'">
<button class="oe_button oe_highlight"
type="button">Custom Button</button>
</t>
</t>
</t>
</templates>
Probably im late but i will post it if someone need it in the future.
on Odoo 12 is modelName NOT model
<t t-if="widget.modelName == 'stock.quant'">
<button id="custom_print_btn" class="btn btn-primary o_list_button_custom_print" type="button" >Print</button>
</t>
where on the tree view code did you put this sir?
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Jul 24
|
359 | ||
|
1
Jul 22
|
1661 | ||
|
1
Apr 16
|
3034 | ||
|
0
Aug 15
|
7182 | ||
|
0
Oct 24
|
3 |
hi, did you manage to fix this ? I am using Odoo 11 and having the same problem.
i am sorry. i dont resolve this problem until now.
hi, did you manage to fix this ? I am using Odoo 11 and having the same problem.
--
peter
Sent by Odoo S.A. using Odoo.