How to create nested tree view for departments Odoo 10 - python-2.7

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

adding new menuitem odoo 10 Sales addon doesn't work

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"/>

add another options in action button in tree view odoo 10

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"/>

How to replace purchase order form id purchase.purchase_order_form to custom form id in odoo 10?

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

inherit res.partner in odoo 8 always error

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'/>

Odoo hide edit and more buttons if not admin

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