diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/sale_project/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/sale_project/views')
| -rw-r--r-- | addons/sale_project/views/product_views.xml | 17 | ||||
| -rw-r--r-- | addons/sale_project/views/project_task_views.xml | 99 | ||||
| -rw-r--r-- | addons/sale_project/views/sale_order_views.xml | 24 |
3 files changed, 140 insertions, 0 deletions
diff --git a/addons/sale_project/views/product_views.xml b/addons/sale_project/views/product_views.xml new file mode 100644 index 00000000..47a0d2f1 --- /dev/null +++ b/addons/sale_project/views/product_views.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="product_template_form_view_invoice_policy_inherit_sale_project" model="ir.ui.view"> + <field name="name">product.template.inherit.sale.projectform</field> + <field name="model">product.template</field> + <field name="inherit_id" ref="sale.product_template_form_view_invoice_policy"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='service_type']" position="after"> + <field name="service_tracking" widget="radio" attrs="{'invisible': [('type','!=','service')]}"/> + <field name="project_id" context="{'default_allow_billable': True, 'default_bill_type': 'customer_task'}" attrs="{'invisible':[('service_tracking','!=','task_global_project')], 'required':[('service_tracking','==','task_global_project')]}"/> + <field name="project_template_id" context="{'active_test': False, 'default_allow_billable': True, 'default_bill_type': 'customer_project', 'default_pricing_type': 'fixed_rate'}" attrs="{'invisible':[('service_tracking','not in',['task_in_project', 'project_only'])]}"/> + </xpath> + </field> + </record> + +</odoo> diff --git a/addons/sale_project/views/project_task_views.xml b/addons/sale_project/views/project_task_views.xml new file mode 100644 index 00000000..992e55c9 --- /dev/null +++ b/addons/sale_project/views/project_task_views.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="project_project_view_tree_inherit_sale_project" model="ir.ui.view"> + <field name="name">project.project.tree.inherit.sale.project</field> + <field name="model">project.project</field> + <field name="inherit_id" ref="project.view_project"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='analytic_account_id']" position="after"> + <field name="sale_order_id" optional="hide" widget="sale_order_many2one"/> + <field name="sale_line_id" optional="hide" widget="sale_order_many2one" readonly="1"/> + </xpath> + </field> + </record> + + <record id="view_edit_project_inherit_form" model="ir.ui.view"> + <field name="name">project.project.view.inherit</field> + <field name="model">project.project</field> + <field name="inherit_id" ref="project.edit_project"/> + <field name="arch" type="xml"> + <div class="oe_button_box" position="inside"> + <button class="d-none d-md-inline oe_stat_button" + type="object" name="action_view_so" icon="fa-dollar" + attrs="{'invisible': [('sale_order_id', '=', False)]}" + groups="sales_team.group_sale_salesman" + string="Sales Order"> + <field name="sale_order_id" attrs="{'invisible': True}"/> + </button> + </div> + <xpath expr="//field[@name='partner_id']" position="attributes"> + <attribute name="options">{'always_reload': True}</attribute> + <attribute name="context">{'res_partner_search_mode': 'customer'}</attribute> + </xpath> + </field> + </record> + + <record id="view_sale_project_inherit_form" model="ir.ui.view"> + <field name="name">project.task.view.inherit</field> + <field name="model">project.task</field> + <field name="groups_id" eval="[(4, ref('base.group_user'))]"/> + <field name="inherit_id" ref="project.view_task_form2"/> + <field name="arch" type="xml"> + <div name="button_box" position="inside"> + <button class="d-none d-md-inline oe_stat_button" + type="object" name="action_view_so" icon="fa-dollar" + attrs="{'invisible': [('sale_order_id', '=', False)]}" + string="Sales Order" + groups="sales_team.group_sale_salesman"/> + </div> + <xpath expr="//field[@name='partner_id']" position="attributes"> + <attribute name="options">{'always_reload': True}</attribute> + <attribute name="context">{'res_partner_search_mode': 'customer'}</attribute> + </xpath> + <xpath expr="//field[@name='partner_phone']" position="after"> + <field name="sale_order_id" attrs="{'invisible': True}" groups="sales_team.group_sale_salesman"/> + <field name="sale_line_id" string="Sales Order Item" attrs="{'invisible': [('partner_id', '=', False)]}" options='{"no_open": True}' readonly="1" context="{'create': False, 'edit': False, 'delete': False}"/> + <field name="commercial_partner_id" invisible="1" /> + <field name="project_sale_order_id" invisible="1"/> + </xpath> + </field> + </record> + + <record id="project_task_view_form_inherit_sale_line_editable" model="ir.ui.view"> + <field name="name">project.task.form.inherit.sale.line.editable.salesman</field> + <field name="model">project.task</field> + <field name="inherit_id" ref="view_sale_project_inherit_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='sale_line_id']" position="attributes"> + <attribute name="options">{"no_create": True}</attribute> + <attribute name="readonly">0</attribute> + </xpath> + </field> + <field name="groups_id" eval="[(4, ref('sales_team.group_sale_salesman'))]"/> + </record> + + <record id="project_task_view_search" model="ir.ui.view"> + <field name="name">project.task.search.inherit</field> + <field name="model">project.task</field> + <field name="inherit_id" ref="project.view_task_search_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='stage_id']" position="before"> + <field name="sale_order_id" string="Sale Order" filter_domain="['|', ('sale_order_id', 'ilike', self), ('sale_line_id', 'ilike', self)]"/> + </xpath> + </field> + </record> + + <!-- To invoice batch action --> + <record id="project_task_server_action_batch_invoice" model="ir.actions.server"> + <field name="name">Create invoice</field> + <field name="model_id" ref="project.model_project_task"/> + <field name="binding_model_id" ref="project.model_project_task"/> + <field name="state">code</field> + <field name="code"> + if records: + action = records.action_create_invoice() + </field> + </record> + +</odoo> diff --git a/addons/sale_project/views/sale_order_views.xml b/addons/sale_project/views/sale_order_views.xml new file mode 100644 index 00000000..49c4e7cf --- /dev/null +++ b/addons/sale_project/views/sale_order_views.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="view_order_form_inherit_sale_project" model="ir.ui.view"> + <field name="name">sale.order.form.sale.project</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_form"/> + <field name="arch" type="xml"> + <xpath expr="//button[@name='action_view_invoice']" position="before"> + <button type="object" name="action_view_task" class="oe_stat_button" icon="fa-tasks" attrs="{'invisible': [('tasks_count', '=', 0)]}" groups="project.group_project_user"> + <field name="tasks_count" widget="statinfo" string="Tasks"/> + </button> + <button type="object" name="action_view_project_ids" class="oe_stat_button" icon="fa-puzzle-piece" string="Project" attrs="{'invisible': [('project_ids', '=', [])]}" groups="project.group_project_manager"> + <field name="project_ids" invisible="1"/> + </button> + </xpath> + <xpath expr="//field[@name='analytic_account_id']" position="after"> + <field name="visible_project" invisible="1"/> + <field name="project_id" options="{'no_create': True}" attrs="{'invisible': [('visible_project', '=', False)]}"/> + </xpath> + </field> + </record> + +</odoo> |
