I'd like to have visualization for my departments in odoo v 10.0, like so:
Parent Department 1
-> Child department 1
--> Job position of this department
--> Job position of this department
-> Child department 2
--> Job position of this department
--> Job position of this department
Parent department 2
instead of simply having Parent department / Child department
How this might be achieved? Should I use grouping or iteration or something else in view? If possible - with example please
Try this code:
<record id="action_hr_department_test" model="ir.actions.act_window">
<field name="name">Departments</field>
<field name="res_model">hr.department</field>
<field name="view_type">tree</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{'group_by':['parent_id','name','manager_id']}</field>
</record>
<menuitem id="menu_hr_department_test" name="Departments Test"
action="action_hr_department_test"/>
Hope it will help you.
Related
I don't know what's missing here but the menuitem doesn't show in Odoo 10
I want to add a menuitem for showing a specific Customers called "Annonceur"
here my field in python code
from odoo import models, fields, api
class Annonceur(models.Model):
_inherit = 'res.partner'
annonceur = fields.Boolean("annonceur", default=False)
then I want to add a menuitem in Left menu of Sale addon and window_action for showing this type of Customers axactly like Customers
<record id="action_partner_annonceur_form" model="ir.actions.act_window">
<field name="name">Annonceurs</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="domain">[('annonceur','=','True')]</field>
<field name="context">{'default_customer':1, 'search_default_customer':1}</field>
<field name="filter" eval="True"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a contact in your address book.
</p><p>
Odoo helps you easily track all activities related to
a customer: discussions, history of business opportunities,
documents, etc.
</p>
</field>
</record>
<menuitem id="annonceur_view"
parent="sales_team.menu_sales"
name="Annonceurs"
action="action_partner_annonceur_form"
sequence="5"/>
that's all my code please help me what's missing here
Add inherit id in Action menu.
Add the code below in your action menu.
<field name="inherit_id" ref="base.view_res_partner_filter"/>
I want to add another options in action button on tree view. Moreover in export and delete, i want to add "Confirm" options. I don't know how, please help me. Thanks
<record id="action_id" model="ir.actions.server">
<field name="name">name</field>
<field name="model_id" ref="module_name.model_object_name" />
<field name="code">
action = model.function_name()
</field>
</record>
You can do by this way:
<record id="id" model="ir.actions.act_window">
<field name="name">Confirm Order</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">custom.model.name</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
If you want to add custom group for this option then you can add one attribute here also like:
<field name="groups_id" eval="[(4,ref('model.group_name'))]"/>
I was able to make a popup wizard appear in a different model with this:
<act_window id="module_name.your_custom_action_name"
name="your_custom_name"
src_model="model.in.wich.you.want.to.add.the.action"
res_model="model.in.wich.the.action.resides"
view_mode="form"
target="new"
multi="True"/>
I want to replace purchase order form id purchase.purchase_order_form to own custom id in Odoo 10 using
replace id priority or X path or other method using xml please sort out my problem and send some demo.
you can try with this:
<record id="purchase.purchase_order_form" model="ir.ui.view">
<field name="name">purchase.order.form</field>
<field name="model">purchase.order</field>
<field name="arch" type="xml">
<form string="Purchase Order">
<header>
</header>
</form>
</field>
</record>
don`t forget add depends for purchase at manifest.py
maybe this can help you
i have problem when i tried using res.partner as the model.
my code model is like this :
class Master(models.Model):
_inherit = 'res.partner'
provinc = fields.Many2one(
'provinc.relation',
string='Provinsi',
)
city = fields.Many2one(
'city.relation',
string='city',
)
district = fields.Many2one(
'kabupaten.relation',
string='Kabupaten',
)
zip_code = fields.Integer(
# 'res.partner',
string='Zip',
)
and the xml like this :
<record model='ir.ui.view' id='practice_relation_res_partner'>
<field name='name'>practice_relation_res_partner_inherit</field>
<field name='model'>res.partner</field>
<field name='inherit_id' ref='base.view_company_form'/>
<field name='arch' type='xml'>
<xpath expr="//field[#name='street']" position="after">
<field name="provinc" />
</xpath>
</field>
</record>
the error is :
Field rml_footer does not exist
Error is becuase you inherited wrong view for partner model in xml
<field name='inherit_id' ref='base.view_company_form'/> is res.company view and you are working with res.partner model
inherit partner form view
<field name='inherit_id' ref='base.view_partner_form'/>
I'm trying to hide the edit and more button in user form if the connected user is not the admin.
Here is my code
<xpath expr='//form[#string="Users"]' position='attributes'>
<attribute name="edit" >{'false':[('id', '!=', '1')]}</attribute>
<attribute name="more">{'false':[('id', '!=', '1')]}</attribute>
</xpath>
i get the following error:
SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data
Unfortunately, what you trying achive is not possible using expression, rather I would advise to user "Customized Views"
Make out of user form edit="false" this will make edit button go away for all users (res.users.form).
Now go to Customized Views under Settings/Technical/User Interface/Customized Views, you need to be in debug mode to be able to see this menu.
Under Customized Views create a new record and choose User : Admin and in original view choose : res.users.form and in View Architecture
copy and pare original view View Architecture and just remove edit='false'
This should help, I believe.
Bests
Expanding #shodowsjedi's answer, To achieve what you want you have to create two views (They're essentially the same just that one is attached to a specific group and will be displayed for a user that belongs to that group)
This is a mockup of how your xml file should look
<!--original form view-->
<record id="model_form_view" model="ir.ui.view">
<field name="name">your.model</field>
<field name="model">your.model</field>
<field name="arch" type="xml">
<form string="Users">
<!--whatever is in your form -->
</field>
</record>
<!--inherited formview to hide edit option -->
<record id="model_form_view_noedit" model="ir.ui.view">
<field name="name">your.model</field>
<field name="model">your.model</field>
<field name="inherit_id" ref="model_form_view"/>
<field name="groups_id" eval="[(6, 0, [ref('base.group_user') ])]"/>
<field name="arch" type="xml">
<xpath expr='//form[#string="Users"]' position='attributes'>
<attribute name="edit">false</attribute>
</xpath>
</field>
</record>
It's always better to know how things work from the backend in Odoo