mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
@@ -1,8 +1,7 @@
|
|||||||
# Do NOT update manually; changes here will be overwritten by Copier
|
# Do NOT update manually; changes here will be overwritten by Copier
|
||||||
_commit: v1.14.2
|
_commit: v1.17.2
|
||||||
_src_path: gh:oca/oca-addons-repo-template
|
_src_path: gh:oca/oca-addons-repo-template
|
||||||
ci: GitHub
|
ci: GitHub
|
||||||
dependency_installation_mode: PIP
|
|
||||||
generate_requirements_txt: true
|
generate_requirements_txt: true
|
||||||
github_check_license: true
|
github_check_license: true
|
||||||
github_ci_extra_env: {}
|
github_ci_extra_env: {}
|
||||||
@@ -11,6 +10,7 @@ github_enable_makepot: true
|
|||||||
github_enable_stale_action: true
|
github_enable_stale_action: true
|
||||||
github_enforce_dev_status_compatibility: true
|
github_enforce_dev_status_compatibility: true
|
||||||
include_wkhtmltopdf: false
|
include_wkhtmltopdf: false
|
||||||
|
odoo_test_flavor: Both
|
||||||
odoo_version: 14.0
|
odoo_version: 14.0
|
||||||
org_name: Odoo Community Association (OCA)
|
org_name: Odoo Community Association (OCA)
|
||||||
org_slug: OCA
|
org_slug: OCA
|
||||||
@@ -19,6 +19,4 @@ repo_description: Odoo modules related to Manufacturing
|
|||||||
repo_name: Odoo Manufacturing Modules
|
repo_name: Odoo Manufacturing Modules
|
||||||
repo_slug: manufacture
|
repo_slug: manufacture
|
||||||
repo_website: https://github.com/OCA/manufacture
|
repo_website: https://github.com/OCA/manufacture
|
||||||
travis_apt_packages: []
|
|
||||||
travis_apt_sources: []
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ globals:
|
|||||||
odoo: readonly
|
odoo: readonly
|
||||||
openerp: readonly
|
openerp: readonly
|
||||||
owl: readonly
|
owl: readonly
|
||||||
|
luxon: readonly
|
||||||
|
|
||||||
# Styling is handled by Prettier, so we only need to enable AST rules;
|
# Styling is handled by Prettier, so we only need to enable AST rules;
|
||||||
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
|
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
|
||||||
|
|||||||
13
.github/workflows/pre-commit.yml
vendored
13
.github/workflows/pre-commit.yml
vendored
@@ -13,8 +13,10 @@ jobs:
|
|||||||
pre-commit:
|
pre-commit:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: "3.11"
|
||||||
- name: Get python version
|
- name: Get python version
|
||||||
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
||||||
- uses: actions/cache@v1
|
- uses: actions/cache@v1
|
||||||
@@ -25,6 +27,15 @@ jobs:
|
|||||||
run: pip install pre-commit
|
run: pip install pre-commit
|
||||||
- name: Run pre-commit
|
- name: Run pre-commit
|
||||||
run: pre-commit run --all-files --show-diff-on-failure --color=always
|
run: pre-commit run --all-files --show-diff-on-failure --color=always
|
||||||
|
env:
|
||||||
|
# Consider valid a PR that changes README fragments but doesn't
|
||||||
|
# change the README.rst file itself. It's not really a problem
|
||||||
|
# because the bot will update it anyway after merge. This way, we
|
||||||
|
# lower the barrier for functional contributors that want to fix the
|
||||||
|
# readme fragments, while still letting developers get README
|
||||||
|
# auto-generated (which also helps functionals when using runboat).
|
||||||
|
# DOCS https://pre-commit.com/#temporarily-disabling-hooks
|
||||||
|
SKIP: oca-gen-addon-readme
|
||||||
- name: Check that all files generated by pre-commit are in git
|
- name: Check that all files generated by pre-commit are in git
|
||||||
run: |
|
run: |
|
||||||
newfiles="$(git ls-files --others --exclude-from=.gitignore)"
|
newfiles="$(git ls-files --others --exclude-from=.gitignore)"
|
||||||
|
|||||||
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Detect unreleased dependencies
|
name: Detect unreleased dependencies
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- run: |
|
- run: |
|
||||||
for reqfile in requirements.txt test-requirements.txt ; do
|
for reqfile in requirements.txt test-requirements.txt ; do
|
||||||
if [ -f ${reqfile} ] ; then
|
if [ -f ${reqfile} ] ; then
|
||||||
@@ -36,10 +36,10 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- container: ghcr.io/oca/oca-ci/py3.6-odoo14.0:latest
|
- container: ghcr.io/oca/oca-ci/py3.6-odoo14.0:latest
|
||||||
makepot: "true"
|
|
||||||
name: test with Odoo
|
name: test with Odoo
|
||||||
- container: ghcr.io/oca/oca-ci/py3.6-ocb14.0:latest
|
- container: ghcr.io/oca/oca-ci/py3.6-ocb14.0:latest
|
||||||
name: test with OCB
|
name: test with OCB
|
||||||
|
makepot: "true"
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:9.6
|
image: postgres:9.6
|
||||||
@@ -50,7 +50,7 @@ jobs:
|
|||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install addons and dependencies
|
- name: Install addons and dependencies
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ exclude: |
|
|||||||
/static/(src/)?lib/|
|
/static/(src/)?lib/|
|
||||||
# Repos using Sphinx to generate docs don't need prettying
|
# Repos using Sphinx to generate docs don't need prettying
|
||||||
^docs/_templates/.*\.html$|
|
^docs/_templates/.*\.html$|
|
||||||
|
# Don't bother non-technical authors with formatting issues in docs
|
||||||
|
readme/.*\.(rst|md)$|
|
||||||
# You don't usually want a bot to modify your legal texts
|
# You don't usually want a bot to modify your legal texts
|
||||||
(LICENSE.*|COPYING.*)
|
(LICENSE.*|COPYING.*)
|
||||||
default_language_version:
|
default_language_version:
|
||||||
@@ -33,12 +35,24 @@ repos:
|
|||||||
language: fail
|
language: fail
|
||||||
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
|
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
|
||||||
- repo: https://github.com/oca/maintainer-tools
|
- repo: https://github.com/oca/maintainer-tools
|
||||||
rev: ab1d7f6
|
rev: 969238e47c07d0c40573acff81d170f63245d738
|
||||||
hooks:
|
hooks:
|
||||||
# update the NOT INSTALLABLE ADDONS section above
|
# update the NOT INSTALLABLE ADDONS section above
|
||||||
- id: oca-update-pre-commit-excluded-addons
|
- id: oca-update-pre-commit-excluded-addons
|
||||||
- id: oca-fix-manifest-website
|
- id: oca-fix-manifest-website
|
||||||
args: ["https://github.com/OCA/manufacture"]
|
args: ["https://github.com/OCA/manufacture"]
|
||||||
|
- id: oca-gen-addon-readme
|
||||||
|
args:
|
||||||
|
- --addons-dir=.
|
||||||
|
- --branch=14.0
|
||||||
|
- --org-name=OCA
|
||||||
|
- --repo-name=manufacture
|
||||||
|
- --if-source-changed
|
||||||
|
- repo: https://github.com/OCA/odoo-pre-commit-hooks
|
||||||
|
rev: v0.0.25
|
||||||
|
hooks:
|
||||||
|
- id: oca-checks-odoo-module
|
||||||
|
- id: oca-checks-po
|
||||||
- repo: https://github.com/myint/autoflake
|
- repo: https://github.com/myint/autoflake
|
||||||
rev: v1.4
|
rev: v1.4
|
||||||
hooks:
|
hooks:
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<field name="name">mrp.bom.line.tree.view</field>
|
<field name="name">mrp.bom.line.tree.view</field>
|
||||||
<field name="model">mrp.bom.line</field>
|
<field name="model">mrp.bom.line</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Components" create="1" edit="1" delete="1">
|
<tree create="1" edit="1" delete="1">
|
||||||
<field name="bom_id" />
|
<field name="bom_id" />
|
||||||
<field name="product_id" />
|
<field name="product_id" />
|
||||||
<field name="product_qty" />
|
<field name="product_qty" />
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<field name="model">mrp.area</field>
|
<field name="model">mrp.area</field>
|
||||||
<field name="type">tree</field>
|
<field name="type">tree</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="MRP Area">
|
<tree>
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="warehouse_id" />
|
<field name="warehouse_id" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<field name="model">mrp.inventory</field>
|
<field name="model">mrp.inventory</field>
|
||||||
<field name="type">tree</field>
|
<field name="type">tree</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="MRP Inventory" create="false">
|
<tree create="false">
|
||||||
<field name="mrp_area_id" />
|
<field name="mrp_area_id" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
<field name="product_id" />
|
<field name="product_id" />
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<field name="name">mrp.move.tree</field>
|
<field name="name">mrp.move.tree</field>
|
||||||
<field name="model">mrp.move</field>
|
<field name="model">mrp.move</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="MRP Moves">
|
<tree>
|
||||||
<field name="mrp_date" />
|
<field name="mrp_date" />
|
||||||
<field name="current_date" />
|
<field name="current_date" />
|
||||||
<field name="mrp_origin" />
|
<field name="mrp_origin" />
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<field name="model">product.mrp.area</field>
|
<field name="model">product.mrp.area</field>
|
||||||
<field name="type">tree</field>
|
<field name="type">tree</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Product MRP Area parameters">
|
<tree>
|
||||||
<field name="mrp_area_id" />
|
<field name="mrp_area_id" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
<field name="product_tmpl_id" />
|
<field name="product_tmpl_id" />
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<group name="items" string="Items">
|
<group name="items" string="Items">
|
||||||
<field name="item_ids" nolabel="1">
|
<field name="item_ids" nolabel="1">
|
||||||
<tree string="Items" nocreate="1" editable="top">
|
<tree nocreate="1" editable="top">
|
||||||
<field name="mrp_inventory_id" invisible="True" />
|
<field name="mrp_inventory_id" invisible="True" />
|
||||||
<field
|
<field
|
||||||
name="warehouse_id"
|
name="warehouse_id"
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo noupdate="1">
|
||||||
<data noupdate="1">
|
|
||||||
|
|
||||||
<record id="sequence_mrp_route" model="ir.sequence">
|
<record id="sequence_mrp_route" model="ir.sequence">
|
||||||
<field name="name">Routing</field>
|
<field name="name">Routing</field>
|
||||||
<field name="code">mrp.routing</field>
|
<field name="code">mrp.routing</field>
|
||||||
<field name="prefix">RO/</field>
|
<field name="prefix">RO/</field>
|
||||||
<field name="padding">5</field>
|
<field name="padding">5</field>
|
||||||
<field name="number_next">1</field>
|
<field name="number_next">1</field>
|
||||||
<field name="number_increment">1</field>
|
<field name="number_increment">1</field>
|
||||||
<field name="company_id" eval="False" />
|
<field name="company_id" eval="False" />
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,116 +1,114 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_0" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_0" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
||||||
<field name="name">Manual Assembly</field>
|
<field name="name">Manual Assembly</field>
|
||||||
<field name="time_cycle_manual">60</field>
|
<field name="time_cycle_manual">60</field>
|
||||||
<field name="sequence">5</field>
|
<field name="sequence">5</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/assebly-worksheet.pdf"
|
file="mrp/static/img/assebly-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_1" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_1" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
||||||
<field name="name">Long time assembly</field>
|
<field name="name">Long time assembly</field>
|
||||||
<field name="time_cycle_manual">180</field>
|
<field name="time_cycle_manual">180</field>
|
||||||
<field name="sequence">15</field>
|
<field name="sequence">15</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/cutting-worksheet.pdf"
|
file="mrp/static/img/cutting-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_3" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_3" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
||||||
<field name="name">Testing</field>
|
<field name="name">Testing</field>
|
||||||
<field name="time_cycle_manual">60</field>
|
<field name="time_cycle_manual">60</field>
|
||||||
<field name="sequence">10</field>
|
<field name="sequence">10</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/assebly-worksheet.pdf"
|
file="mrp/static/img/assebly-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_4" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_4" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_1" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_1" />
|
||||||
<field name="name">Packing</field>
|
<field name="name">Packing</field>
|
||||||
<field name="time_cycle_manual">30</field>
|
<field name="time_cycle_manual">30</field>
|
||||||
<field name="sequence">5</field>
|
<field name="sequence">5</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/cutting-worksheet.pdf"
|
file="mrp/static/img/cutting-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_2" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_2" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_2" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_2" />
|
||||||
<field name="time_cycle_manual">120</field>
|
<field name="time_cycle_manual">120</field>
|
||||||
<field name="sequence">5</field>
|
<field name="sequence">5</field>
|
||||||
<field name="name">Manual Assembly</field>
|
<field name="name">Manual Assembly</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/assebly-worksheet.pdf"
|
file="mrp/static/img/assebly-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_5" model="mrp.routing.workcenter.template">
|
<record id="mrp_routing_workcenter_5" model="mrp.routing.workcenter.template">
|
||||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
<field name="workcenter_id" ref="mrp.mrp_workcenter_3" />
|
||||||
<field name="time_cycle_manual">120</field>
|
<field name="time_cycle_manual">120</field>
|
||||||
<field name="sequence">10</field>
|
<field name="sequence">10</field>
|
||||||
<field name="name">Assembly Line 1</field>
|
<field name="name">Assembly Line 1</field>
|
||||||
<field name="worksheet_type">pdf</field>
|
<field name="worksheet_type">pdf</field>
|
||||||
<field
|
<field
|
||||||
name="worksheet"
|
name="worksheet"
|
||||||
type="base64"
|
type="base64"
|
||||||
file="mrp/static/img/cutting-worksheet.pdf"
|
file="mrp/static/img/cutting-worksheet.pdf"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_0" model="mrp.routing">
|
<record id="mrp_routing_0" model="mrp.routing">
|
||||||
<field name="name">Primary Assembly</field>
|
<field name="name">Primary Assembly</field>
|
||||||
<field
|
<field
|
||||||
name="operation_ids"
|
name="operation_ids"
|
||||||
eval="[(6, 0, [ref('mrp_routing_workcenter_0')])]"
|
eval="[(6, 0, [ref('mrp_routing_workcenter_0')])]"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_1" model="mrp.routing">
|
<record id="mrp_routing_1" model="mrp.routing">
|
||||||
<field name="name">Secondary Assembly</field>
|
<field name="name">Secondary Assembly</field>
|
||||||
<field
|
<field
|
||||||
name="operation_ids"
|
name="operation_ids"
|
||||||
eval="[(6, 0, [ref('mrp_routing_workcenter_1'), ref('mrp_routing_workcenter_3'), ref('mrp_routing_workcenter_4')])]"
|
eval="[(6, 0, [ref('mrp_routing_workcenter_1'), ref('mrp_routing_workcenter_3'), ref('mrp_routing_workcenter_4')])]"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_2" model="mrp.routing">
|
<record id="mrp_routing_2" model="mrp.routing">
|
||||||
<field name="name">Manual Component's Assembly</field>
|
<field name="name">Manual Component's Assembly</field>
|
||||||
<field
|
<field
|
||||||
name="operation_ids"
|
name="operation_ids"
|
||||||
eval="[(6, 0, [ref('mrp_routing_workcenter_2')])]"
|
eval="[(6, 0, [ref('mrp_routing_workcenter_2')])]"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_3" model="mrp.routing">
|
<record id="mrp_routing_3" model="mrp.routing">
|
||||||
<field name="name">Assemble Furniture</field>
|
<field name="name">Assemble Furniture</field>
|
||||||
<field
|
<field
|
||||||
name="operation_ids"
|
name="operation_ids"
|
||||||
eval="[(6, 0, [ref('mrp_routing_workcenter_5')])]"
|
eval="[(6, 0, [ref('mrp_routing_workcenter_5')])]"
|
||||||
/>
|
/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,18 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="mrp_bom_form_view" model="ir.ui.view">
|
<record id="mrp_bom_form_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.bom.form.view</field>
|
<field name="name">mrp.bom.form.view</field>
|
||||||
<field name="model">mrp.bom</field>
|
<field name="model">mrp.bom</field>
|
||||||
<field name="inherit_id" ref="mrp.mrp_bom_form_view" />
|
<field name="inherit_id" ref="mrp.mrp_bom_form_view" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='operation_ids']" position="before">
|
<xpath expr="//field[@name='operation_ids']" position="before">
|
||||||
<label for="routing_id" />
|
<label for="routing_id" />
|
||||||
<field name="routing_id" />
|
<field name="routing_id" />
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,139 +1,137 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="mrp_routing_form_view" model="ir.ui.view">
|
<record id="mrp_routing_form_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.form</field>
|
<field name="name">mrp.routing.form</field>
|
||||||
<field name="model">mrp.routing</field>
|
<field name="model">mrp.routing</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Routing">
|
<form string="Routing">
|
||||||
<sheet>
|
<sheet>
|
||||||
<div class="oe_button_box" name="button_box">
|
<div class="oe_button_box" name="button_box">
|
||||||
</div>
|
</div>
|
||||||
<widget
|
<widget
|
||||||
name="web_ribbon"
|
name="web_ribbon"
|
||||||
title="Archived"
|
title="Archived"
|
||||||
bg_color="bg-danger"
|
bg_color="bg-danger"
|
||||||
attrs="{'invisible': [('active', '=', True)]}"
|
attrs="{'invisible': [('active', '=', True)]}"
|
||||||
/>
|
/>
|
||||||
<div class="oe_title">
|
<div class="oe_title">
|
||||||
<h1>
|
<h1>
|
||||||
<field name="code" />
|
<field name="code" />
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<field name="name" />
|
||||||
<field name="name" />
|
<field name="active" invisible="1" />
|
||||||
<field name="active" invisible="1" />
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field
|
|
||||||
name="company_id"
|
|
||||||
options="{'no_create': True}"
|
|
||||||
groups="base.group_multi_company"
|
|
||||||
/>
|
|
||||||
</group>
|
|
||||||
</group>
|
</group>
|
||||||
<notebook>
|
<group>
|
||||||
<page string="Work Center Operations">
|
<field
|
||||||
<field
|
name="company_id"
|
||||||
name="operation_ids"
|
options="{'no_create': True}"
|
||||||
context="{'default_routing_id': id}"
|
groups="base.group_multi_company"
|
||||||
/>
|
/>
|
||||||
</page>
|
</group>
|
||||||
<page string="Notes">
|
</group>
|
||||||
<field name="note" />
|
<notebook>
|
||||||
</page>
|
<page string="Work Center Operations">
|
||||||
</notebook>
|
<field
|
||||||
</sheet>
|
name="operation_ids"
|
||||||
</form>
|
context="{'default_routing_id': id}"
|
||||||
</field>
|
/>
|
||||||
</record>
|
</page>
|
||||||
|
<page string="Notes">
|
||||||
|
<field name="note" />
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
|
</sheet>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_tree_view" model="ir.ui.view">
|
<record id="mrp_routing_tree_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.tree</field>
|
<field name="name">mrp.routing.tree</field>
|
||||||
<field name="model">mrp.routing</field>
|
<field name="model">mrp.routing</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Routing">
|
<tree>
|
||||||
<field name="code" />
|
<field name="code" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="active" invisible="1" />
|
<field name="active" invisible="1" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_kanban_view" model="ir.ui.view">
|
<record id="mrp_routing_kanban_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.kanban</field>
|
<field name="name">mrp.routing.kanban</field>
|
||||||
<field name="model">mrp.routing</field>
|
<field name="model">mrp.routing</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<kanban class="o_kanban_mobile">
|
<kanban class="o_kanban_mobile">
|
||||||
<field name="code" />
|
<field name="code" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<templates>
|
<templates>
|
||||||
<t t-name="kanban-box">
|
<t t-name="kanban-box">
|
||||||
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
|
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
|
||||||
<div class="o_kanban_record_top">
|
<div class="o_kanban_record_top">
|
||||||
<div class="o_kanban_record_headings mt4">
|
<div class="o_kanban_record_headings mt4">
|
||||||
<strong class="o_kanban_record_title"><span><t
|
<strong class="o_kanban_record_title"><span><t
|
||||||
t-esc="record.name.value"
|
t-esc="record.name.value"
|
||||||
/></span></strong>
|
/></span></strong>
|
||||||
</div>
|
|
||||||
<span class="badge badge-pill"><field
|
|
||||||
name="code"
|
|
||||||
/></span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span class="badge badge-pill"><field
|
||||||
|
name="code"
|
||||||
|
/></span>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</div>
|
||||||
</templates>
|
</t>
|
||||||
</kanban>
|
</templates>
|
||||||
</field>
|
</kanban>
|
||||||
</record>
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_search_view" model="ir.ui.view">
|
<record id="mrp_routing_search_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.search</field>
|
<field name="name">mrp.routing.search</field>
|
||||||
<field name="model">mrp.routing</field>
|
<field name="model">mrp.routing</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Routing">
|
<search string="Routing">
|
||||||
<field
|
<field
|
||||||
name="name"
|
name="name"
|
||||||
string="Routing"
|
string="Routing"
|
||||||
filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
|
filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
|
||||||
/>
|
/>
|
||||||
<filter
|
<filter
|
||||||
name="inactive"
|
name="inactive"
|
||||||
string="Archived"
|
string="Archived"
|
||||||
domain="[('active', '=', False)]"
|
domain="[('active', '=', False)]"
|
||||||
/>
|
/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_action" model="ir.actions.act_window">
|
<record id="mrp_routing_action" model="ir.actions.act_window">
|
||||||
<field name="name">Routings</field>
|
<field name="name">Routings</field>
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">mrp.routing</field>
|
<field name="res_model">mrp.routing</field>
|
||||||
<field name="view_mode">tree,kanban,form</field>
|
<field name="view_mode">tree,kanban,form</field>
|
||||||
<field name="view_id" ref="mrp_routing_tree_view" />
|
<field name="view_id" ref="mrp_routing_tree_view" />
|
||||||
<field name="search_view_id" ref="mrp_routing_search_view" />
|
<field name="search_view_id" ref="mrp_routing_search_view" />
|
||||||
<field name="help" type="html">
|
<field name="help" type="html">
|
||||||
<p class="o_view_nocontent_smiling_face">
|
<p class="o_view_nocontent_smiling_face">
|
||||||
Create a new routing
|
Create a new routing
|
||||||
</p><p>
|
</p><p>
|
||||||
Routings define the successive operations that need to be
|
Routings define the successive operations that need to be
|
||||||
done to realize a Manufacturing Order. Each operation from
|
done to realize a Manufacturing Order. Each operation from
|
||||||
a Routing is done at a specific Work Center and has a specific duration.
|
a Routing is done at a specific Work Center and has a specific duration.
|
||||||
</p>
|
</p>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem
|
<menuitem
|
||||||
id="menu_mrp_routing_action"
|
id="menu_mrp_routing_action"
|
||||||
action="mrp_routing_action"
|
action="mrp_routing_action"
|
||||||
parent="mrp.menu_mrp_bom"
|
parent="mrp.menu_mrp_bom"
|
||||||
groups="mrp.group_mrp_routings"
|
groups="mrp.group_mrp_routings"
|
||||||
sequence="50"
|
sequence="50"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,143 +1,136 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_template_tree_view" model="ir.ui.view">
|
<record id="mrp_routing_workcenter_template_tree_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.workcenter.template.tree</field>
|
<field name="name">mrp.routing.workcenter.template.tree</field>
|
||||||
<field name="model">mrp.routing.workcenter.template</field>
|
<field name="model">mrp.routing.workcenter.template</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Template Routing Work Centers">
|
<tree>
|
||||||
<field name="sequence" widget="handle" />
|
<field name="sequence" widget="handle" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="workcenter_id" />
|
<field name="workcenter_id" />
|
||||||
<field name="routing_ids" widget="many2many_tags" />
|
<field name="routing_ids" widget="many2many_tags" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_template_form_view" model="ir.ui.view">
|
<record id="mrp_routing_workcenter_template_form_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.workcenter.template.form</field>
|
<field name="name">mrp.routing.workcenter.template.form</field>
|
||||||
<field name="model">mrp.routing.workcenter.template</field>
|
<field name="model">mrp.routing.workcenter.template</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Template Routing Work Centers">
|
<form string="Template Routing Work Centers">
|
||||||
<sheet>
|
<sheet>
|
||||||
<group>
|
<group>
|
||||||
<group name="description">
|
<group name="description">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
|
<field
|
||||||
|
name="workcenter_id"
|
||||||
|
context="{'default_company_id': company_id}"
|
||||||
|
/>
|
||||||
|
<field name="sequence" groups="base.group_no_one" />
|
||||||
|
<field name="on_template_change" />
|
||||||
|
</group><group name="workorder">
|
||||||
|
<field name="time_mode" widget="radio" />
|
||||||
|
<label
|
||||||
|
for="time_mode_batch"
|
||||||
|
attrs="{'invisible': [('time_mode', '=', 'manual')]}"
|
||||||
|
/>
|
||||||
|
<div attrs="{'invisible': [('time_mode', '=', 'manual')]}">
|
||||||
|
last
|
||||||
|
<field name="time_mode_batch" class="oe_inline" />
|
||||||
|
work orders
|
||||||
|
</div>
|
||||||
|
<label
|
||||||
|
for="time_cycle_manual"
|
||||||
|
attrs="{'invisible': [('time_mode', '=', 'auto')]}"
|
||||||
|
string="Default Duration"
|
||||||
|
/>
|
||||||
|
<div attrs="{'invisible': [('time_mode', '=', 'auto')]}">
|
||||||
<field
|
<field
|
||||||
name="workcenter_id"
|
name="time_cycle_manual"
|
||||||
context="{'default_company_id': company_id}"
|
widget="float_time"
|
||||||
/>
|
class="oe_inline"
|
||||||
<field name="sequence" groups="base.group_no_one" />
|
/> minutes
|
||||||
<field name="on_template_change" />
|
</div>
|
||||||
</group><group name="workorder">
|
<field
|
||||||
<field name="time_mode" widget="radio" />
|
name="company_id"
|
||||||
<label
|
groups="base.group_multi_company"
|
||||||
for="time_mode_batch"
|
/>
|
||||||
attrs="{'invisible': [('time_mode', '=', 'manual')]}"
|
</group>
|
||||||
/>
|
</group>
|
||||||
<div
|
<notebook>
|
||||||
attrs="{'invisible': [('time_mode', '=', 'manual')]}"
|
<page string="Work Sheet" name="worksheet">
|
||||||
>
|
<group>
|
||||||
last
|
<field name="worksheet_type" widget="radio" />
|
||||||
<field name="time_mode_batch" class="oe_inline" />
|
|
||||||
work orders
|
|
||||||
</div>
|
|
||||||
<label
|
|
||||||
for="time_cycle_manual"
|
|
||||||
attrs="{'invisible': [('time_mode', '=', 'auto')]}"
|
|
||||||
string="Default Duration"
|
|
||||||
/>
|
|
||||||
<div
|
|
||||||
attrs="{'invisible': [('time_mode', '=', 'auto')]}"
|
|
||||||
>
|
|
||||||
<field
|
|
||||||
name="time_cycle_manual"
|
|
||||||
widget="float_time"
|
|
||||||
class="oe_inline"
|
|
||||||
/> minutes
|
|
||||||
</div>
|
|
||||||
<field
|
<field
|
||||||
name="company_id"
|
name="worksheet"
|
||||||
groups="base.group_multi_company"
|
help="Upload your PDF file."
|
||||||
|
widget="pdf_viewer"
|
||||||
|
attrs="{'invisible': [('worksheet_type', '!=', 'pdf')], 'required': [('worksheet_type', '=', 'pdf')]}"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="worksheet_google_slide"
|
||||||
|
placeholder="Google Slide Link"
|
||||||
|
widget="embed_viewer"
|
||||||
|
attrs="{'invisible': [('worksheet_type', '!=', 'google_slide')], 'required': [('worksheet_type', '=', 'google_slide')]}"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="note"
|
||||||
|
attrs="{'invisible': [('worksheet_type', '!=', 'text')]}"
|
||||||
/>
|
/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</page>
|
||||||
<notebook>
|
<page string="Routings" name="routings">
|
||||||
<page string="Work Sheet" name="worksheet">
|
<field name="routing_ids" />
|
||||||
<group>
|
</page>
|
||||||
<field name="worksheet_type" widget="radio" />
|
</notebook>
|
||||||
<field
|
</sheet>
|
||||||
name="worksheet"
|
</form>
|
||||||
help="Upload your PDF file."
|
</field>
|
||||||
widget="pdf_viewer"
|
</record>
|
||||||
attrs="{'invisible': [('worksheet_type', '!=', 'pdf')], 'required': [('worksheet_type', '=', 'pdf')]}"
|
|
||||||
/>
|
|
||||||
<field
|
|
||||||
name="worksheet_google_slide"
|
|
||||||
placeholder="Google Slide Link"
|
|
||||||
widget="embed_viewer"
|
|
||||||
attrs="{'invisible': [('worksheet_type', '!=', 'google_slide')], 'required': [('worksheet_type', '=', 'google_slide')]}"
|
|
||||||
/>
|
|
||||||
<field
|
|
||||||
name="note"
|
|
||||||
attrs="{'invisible': [('worksheet_type', '!=', 'text')]}"
|
|
||||||
/>
|
|
||||||
</group>
|
|
||||||
</page>
|
|
||||||
<page string="Routings" name="routings">
|
|
||||||
<field name="routing_ids" />
|
|
||||||
</page>
|
|
||||||
</notebook>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_template_search_view" model="ir.ui.view">
|
<record id="mrp_routing_workcenter_template_search_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.workcenter.template.search</field>
|
<field name="name">mrp.routing.workcenter.template.search</field>
|
||||||
<field name="model">mrp.routing.workcenter.template</field>
|
<field name="model">mrp.routing.workcenter.template</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Template Operations">
|
<search string="Template Operations">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="workcenter_id" />
|
<field name="workcenter_id" />
|
||||||
<field name="routing_ids" />
|
<field name="routing_ids" />
|
||||||
<filter
|
<filter
|
||||||
name="group_by_workcenter"
|
name="group_by_workcenter"
|
||||||
string="Workcenter"
|
string="Workcenter"
|
||||||
context="{'group_by':'workcenter_id'}"
|
context="{'group_by':'workcenter_id'}"
|
||||||
/>
|
/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record
|
<record
|
||||||
id="action_mrp_routing_workcenter_template_tree_view"
|
id="action_mrp_routing_workcenter_template_tree_view"
|
||||||
model="ir.actions.act_window"
|
model="ir.actions.act_window"
|
||||||
>
|
>
|
||||||
<field name="name">Template Operations</field>
|
<field name="name">Template Operations</field>
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">mrp.routing.workcenter.template</field>
|
<field name="res_model">mrp.routing.workcenter.template</field>
|
||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
<field name="view_id" ref="mrp_routing_workcenter_template_tree_view" />
|
<field name="view_id" ref="mrp_routing_workcenter_template_tree_view" />
|
||||||
<field name="help" type="html">
|
<field name="help" type="html">
|
||||||
<p class="o_view_nocontent_smiling_face">
|
<p class="o_view_nocontent_smiling_face">
|
||||||
Create a new template operation
|
Create a new template operation
|
||||||
</p><p>
|
</p><p>
|
||||||
Template Operation can be used to make template for operations related to bill of materials.
|
Template Operation can be used to make template for operations related to bill of materials.
|
||||||
</p>
|
</p>
|
||||||
</field>
|
</field>
|
||||||
<field name="domain">[]</field>
|
<field name="domain">[]</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem
|
<menuitem
|
||||||
id="menu_action_mrp_routing_workcenter_template_tree_view"
|
id="menu_action_mrp_routing_workcenter_template_tree_view"
|
||||||
action="action_mrp_routing_workcenter_template_tree_view"
|
action="action_mrp_routing_workcenter_template_tree_view"
|
||||||
parent="mrp.menu_mrp_configuration"
|
parent="mrp.menu_mrp_configuration"
|
||||||
groups="mrp.group_mrp_routings"
|
groups="mrp.group_mrp_routings"
|
||||||
sequence="100"
|
sequence="100"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,43 +1,41 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_tree_view" model="ir.ui.view">
|
<record id="mrp_routing_workcenter_tree_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.workcenter.tree</field>
|
<field name="name">mrp.routing.workcenter.tree</field>
|
||||||
<field name="model">mrp.routing.workcenter</field>
|
<field name="model">mrp.routing.workcenter</field>
|
||||||
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_tree_view" />
|
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_tree_view" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='workcenter_id']" position="before">
|
<xpath expr="//field[@name='workcenter_id']" position="before">
|
||||||
<field name="template_id" force_save="1" />
|
<field name="template_id" force_save="1" />
|
||||||
<field name="on_template_change" />
|
<field name="on_template_change" />
|
||||||
<!--FIXME: Can we skip this invisible files to get correct data on onchange?-->
|
<!--FIXME: Can we skip this invisible files to get correct data on onchange?-->
|
||||||
<field name="time_mode" invisible="1" />
|
<field name="time_mode" invisible="1" />
|
||||||
<field name="time_mode_batch" invisible="1" />
|
<field name="time_mode_batch" invisible="1" />
|
||||||
<field name="time_cycle_manual" invisible="1" />
|
<field name="time_cycle_manual" invisible="1" />
|
||||||
<field name="company_id" invisible="1" />
|
<field name="company_id" invisible="1" />
|
||||||
<field name="worksheet" invisible="1" />
|
<field name="worksheet" invisible="1" />
|
||||||
<field name="worksheet_type" invisible="1" />
|
<field name="worksheet_type" invisible="1" />
|
||||||
<field name="worksheet_google_slide" invisible="1" />
|
<field name="worksheet_google_slide" invisible="1" />
|
||||||
<field name="note" invisible="1" />
|
<field name="note" invisible="1" />
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="mrp_routing_workcenter_form_view" model="ir.ui.view">
|
<record id="mrp_routing_workcenter_form_view" model="ir.ui.view">
|
||||||
<field name="name">mrp.routing.workcenter.form</field>
|
<field name="name">mrp.routing.workcenter.form</field>
|
||||||
<field name="model">mrp.routing.workcenter</field>
|
<field name="model">mrp.routing.workcenter</field>
|
||||||
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_form_view" />
|
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_form_view" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='name']" position="before">
|
<xpath expr="//field[@name='name']" position="before">
|
||||||
<field name="template_id" />
|
<field name="template_id" />
|
||||||
<field
|
<field
|
||||||
name="on_template_change"
|
name="on_template_change"
|
||||||
attrs="{'invisible': [('template_id', '=', False)]}"
|
attrs="{'invisible': [('template_id', '=', False)]}"
|
||||||
/>
|
/>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,24 +1,22 @@
|
|||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<odoo>
|
<odoo noupdate="1">
|
||||||
<data noupdate="1">
|
<record id="route_subcontracting_dropshipping" model='stock.location.route'>
|
||||||
<record id="route_subcontracting_dropshipping" model='stock.location.route'>
|
<field name="name">Dropship Subcontractor on Order</field>
|
||||||
<field name="name">Dropship Subcontractor on Order</field>
|
<field name="sequence">5</field>
|
||||||
<field name="sequence">5</field>
|
<field name="company_id" />
|
||||||
<field name="company_id" />
|
<field name="product_selectable" eval="True" />
|
||||||
<field name="product_selectable" eval="True" />
|
</record>
|
||||||
</record>
|
|
||||||
|
|
||||||
<function
|
<function
|
||||||
model="res.company"
|
model="res.company"
|
||||||
name="create_missing_subcontracting_dropshipping_rules"
|
name="create_missing_subcontracting_dropshipping_rules"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<function model="stock.warehouse" name="write">
|
||||||
|
<value
|
||||||
|
model="stock.warehouse"
|
||||||
|
eval="obj().env['stock.warehouse'].search([]).ids"
|
||||||
/>
|
/>
|
||||||
|
<value eval="{'subcontracting_dropshipping_to_resupply': True}" />
|
||||||
<function model="stock.warehouse" name="write">
|
</function>
|
||||||
<value
|
|
||||||
model="stock.warehouse"
|
|
||||||
eval="obj().env['stock.warehouse'].search([]).ids"
|
|
||||||
/>
|
|
||||||
<value eval="{'subcontracting_dropshipping_to_resupply': True}" />
|
|
||||||
</function>
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
<field name="name">mrp.tag.view.tree</field>
|
<field name="name">mrp.tag.view.tree</field>
|
||||||
<field name="model">mrp.tag</field>
|
<field name="model">mrp.tag</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Tags" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="color" widget="color_picker" />
|
<field name="color" widget="color_picker" />
|
||||||
</tree>
|
</tree>
|
||||||
|
|||||||
@@ -6,27 +6,21 @@
|
|||||||
Copyright 2017 Simone Rubino - Agile Business Group
|
Copyright 2017 Simone Rubino - Agile Business Group
|
||||||
Copyright 2021 Tecnativa - Carlos Roca
|
Copyright 2021 Tecnativa - Carlos Roca
|
||||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||||
<odoo>
|
<odoo noupdate="1">
|
||||||
<data noupdate="1">
|
<record id="qc_test_template_category_generic" model="qc.test.category">
|
||||||
<record id="qc_test_template_category_generic" model="qc.test.category">
|
<field name="name">Generic</field>
|
||||||
<field name="name">Generic</field>
|
</record>
|
||||||
</record>
|
<record id="qc_test_template_category_referenced" model="qc.test.category">
|
||||||
<record id="qc_test_template_category_referenced" model="qc.test.category">
|
<field name="name">Referenced</field>
|
||||||
<field name="name">Referenced</field>
|
</record>
|
||||||
</record>
|
<record forcecreate="True" id="decimal_quality_control" model="decimal.precision">
|
||||||
<record
|
<field name="name">Quality Control</field>
|
||||||
forcecreate="True"
|
<field name="digits">5</field>
|
||||||
id="decimal_quality_control"
|
</record>
|
||||||
model="decimal.precision"
|
<record id="seq_qc_inspection" model="ir.sequence">
|
||||||
>
|
<field name="name">Quality inspection</field>
|
||||||
<field name="name">Quality Control</field>
|
<field name="code">qc.inspection</field>
|
||||||
<field name="digits">5</field>
|
<field name="prefix">QC-</field>
|
||||||
</record>
|
<field name="padding">6</field>
|
||||||
<record id="seq_qc_inspection" model="ir.sequence">
|
</record>
|
||||||
<field name="name">Quality inspection</field>
|
|
||||||
<field name="code">qc.inspection</field>
|
|
||||||
<field name="prefix">QC-</field>
|
|
||||||
<field name="padding">6</field>
|
|
||||||
</record>
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,34 +1,32 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<odoo>
|
<odoo noupdate="1">
|
||||||
<data noupdate="1">
|
<record model="qc.test" id="qc_test_1">
|
||||||
<record model="qc.test" id="qc_test_1">
|
<field name="name">Generic Test (demo)</field>
|
||||||
<field name="name">Generic Test (demo)</field>
|
<field name="type">generic</field>
|
||||||
<field name="type">generic</field>
|
<field name="active" eval="True" />
|
||||||
<field name="active" eval="True" />
|
<field name="category" ref="qc_test_template_category_generic" />
|
||||||
<field name="category" ref="qc_test_template_category_generic" />
|
</record>
|
||||||
</record>
|
<record model="qc.test.question" id="qc_test_question_1">
|
||||||
<record model="qc.test.question" id="qc_test_question_1">
|
<field name="name">Overall quality</field>
|
||||||
<field name="name">Overall quality</field>
|
<field name="test" ref="qc_test_1" />
|
||||||
<field name="test" ref="qc_test_1" />
|
<field name="type">qualitative</field>
|
||||||
<field name="type">qualitative</field>
|
</record>
|
||||||
</record>
|
<record model="qc.test.question.value" id="qc_test_question_value_1">
|
||||||
<record model="qc.test.question.value" id="qc_test_question_value_1">
|
<field name="name">Good</field>
|
||||||
<field name="name">Good</field>
|
<field name="ok" eval="True" />
|
||||||
<field name="ok" eval="True" />
|
<field name="test_line" ref="qc_test_question_1" />
|
||||||
<field name="test_line" ref="qc_test_question_1" />
|
</record>
|
||||||
</record>
|
<record model="qc.test.question.value" id="qc_test_question_value_2">
|
||||||
<record model="qc.test.question.value" id="qc_test_question_value_2">
|
<field name="name">Bad</field>
|
||||||
<field name="name">Bad</field>
|
<field name="ok" eval="False" />
|
||||||
<field name="ok" eval="False" />
|
<field name="test_line" ref="qc_test_question_1" />
|
||||||
<field name="test_line" ref="qc_test_question_1" />
|
</record>
|
||||||
</record>
|
<record model="qc.test.question" id="qc_test_question_2">
|
||||||
<record model="qc.test.question" id="qc_test_question_2">
|
<field name="name">Size</field>
|
||||||
<field name="name">Size</field>
|
<field name="test" ref="qc_test_1" />
|
||||||
<field name="test" ref="qc_test_1" />
|
<field name="type">quantitative</field>
|
||||||
<field name="type">quantitative</field>
|
<field name="min_value" eval="1.0" />
|
||||||
<field name="min_value" eval="1.0" />
|
<field name="max_value" eval="10.0" />
|
||||||
<field name="max_value" eval="10.0" />
|
<field name="uom_id" ref="uom.product_uom_unit" />
|
||||||
<field name="uom_id" ref="uom.product_uom_unit" />
|
</record>
|
||||||
</record>
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -336,17 +336,11 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: quality_control_oca
|
#. module: quality_control_oca
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_inspection__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_inspection__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_inspection__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_test__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_test__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_test__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_line__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_line__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_category_line__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_category_line__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_category_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_line__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_line__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_template_line__message_has_error
|
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_template_line__message_has_error
|
||||||
#: model:ir.model.fields,help:quality_control_oca.field_qc_trigger_product_template_line__message_has_sms_error
|
|
||||||
msgid "If checked, some messages have a delivery error."
|
msgid "If checked, some messages have a delivery error."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -847,16 +841,6 @@ msgstr ""
|
|||||||
msgid "Responsible User"
|
msgid "Responsible User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: quality_control_oca
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_inspection__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_test__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_trigger_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_trigger_product_category_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_trigger_product_line__message_has_sms_error
|
|
||||||
#: model:ir.model.fields,field_description:quality_control_oca.field_qc_trigger_product_template_line__message_has_sms_error
|
|
||||||
msgid "SMS Delivery error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: quality_control_oca
|
#. module: quality_control_oca
|
||||||
#: model_terms:ir.ui.view,arch_db:quality_control_oca.qc_inspection_search_view
|
#: model_terms:ir.ui.view,arch_db:quality_control_oca.qc_inspection_search_view
|
||||||
msgid "Search inspection"
|
msgid "Search inspection"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<group name="first" position="after">
|
<group name="first" position="after">
|
||||||
<group name="qc" string="Quality control">
|
<group name="qc" string="Quality control">
|
||||||
<field name="qc_triggers" nolabel="1">
|
<field name="qc_triggers" nolabel="1">
|
||||||
<tree string="Quality control triggers" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field
|
<field
|
||||||
name="trigger"
|
name="trigger"
|
||||||
options="{'no_create': True, 'no_edit': True, 'no_open': True}"
|
options="{'no_create': True, 'no_edit': True, 'no_open': True}"
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<page name="inventory" position="inside">
|
<page name="inventory" position="inside">
|
||||||
<group name="qc" string="Quality control">
|
<group name="qc" string="Quality control">
|
||||||
<field name="qc_triggers" nolabel="1">
|
<field name="qc_triggers" nolabel="1">
|
||||||
<tree string="Quality control triggers" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field
|
<field
|
||||||
name="trigger"
|
name="trigger"
|
||||||
options="{'no_create': True, 'no_edit': True, 'no_open': True}"
|
options="{'no_create': True, 'no_edit': True, 'no_open': True}"
|
||||||
|
|||||||
@@ -86,12 +86,7 @@
|
|||||||
<notebook>
|
<notebook>
|
||||||
<page string="Questions">
|
<page string="Questions">
|
||||||
<field name="inspection_lines" nolabel="1">
|
<field name="inspection_lines" nolabel="1">
|
||||||
<tree
|
<tree editable="top" delete="false" create="false">
|
||||||
string="Inspection lines"
|
|
||||||
editable="top"
|
|
||||||
delete="false"
|
|
||||||
create="false"
|
|
||||||
>
|
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="question_type" />
|
<field name="question_type" />
|
||||||
<field name="possible_ql_values" invisible="1" />
|
<field name="possible_ql_values" invisible="1" />
|
||||||
@@ -141,7 +136,7 @@
|
|||||||
<field name="name">qc.inspection.tree</field>
|
<field name="name">qc.inspection.tree</field>
|
||||||
<field name="model">qc.inspection</field>
|
<field name="model">qc.inspection</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Inspections">
|
<tree>
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="user" />
|
<field name="user" />
|
||||||
<field name="test" />
|
<field name="test" />
|
||||||
@@ -241,7 +236,6 @@
|
|||||||
<tree
|
<tree
|
||||||
decoration-danger="success==False"
|
decoration-danger="success==False"
|
||||||
decoration-info="success==True"
|
decoration-info="success==True"
|
||||||
string="Inspection lines"
|
|
||||||
delete="false"
|
delete="false"
|
||||||
create="false"
|
create="false"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<field name="name">qc.test.category.tree</field>
|
<field name="name">qc.test.category.tree</field>
|
||||||
<field name="model">qc.test.category</field>
|
<field name="model">qc.test.category</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Test categories" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="complete_name" />
|
<field name="complete_name" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="parent_id" />
|
<field name="parent_id" />
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<field name="test_lines" nolabel="1">
|
<field name="test_lines" nolabel="1">
|
||||||
<tree string="Questions">
|
<tree>
|
||||||
<field name="sequence" widget="handle" />
|
<field name="sequence" widget="handle" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="type" />
|
<field name="type" />
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<field name="name">qc.test.tree</field>
|
<field name="name">qc.test.tree</field>
|
||||||
<field name="model">qc.test</field>
|
<field name="model">qc.test</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Tests">
|
<tree>
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="category" />
|
<field name="category" />
|
||||||
<field name="type" />
|
<field name="type" />
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
nolabel="1"
|
nolabel="1"
|
||||||
attrs="{'required': [('type','=','qualitative')]}"
|
attrs="{'required': [('type','=','qualitative')]}"
|
||||||
>
|
>
|
||||||
<tree string="Question value" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="ok" />
|
<field name="ok" />
|
||||||
</tree>
|
</tree>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<field name="name">qc.trigger.tree</field>
|
<field name="name">qc.trigger.tree</field>
|
||||||
<field name="model">qc.trigger</field>
|
<field name="model">qc.trigger</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Quality control triggers" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
<field name="partner_selectable" />
|
<field name="partner_selectable" />
|
||||||
|
|||||||
@@ -1,84 +1,76 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="view_repair_order_form" model="ir.ui.view">
|
<record id="view_repair_order_form" model="ir.ui.view">
|
||||||
<field name="name">repair.order.form.view</field>
|
<field name="name">repair.order.form.view</field>
|
||||||
<field name="model">repair.order</field>
|
<field name="model">repair.order</field>
|
||||||
<field name="inherit_id" ref="repair.view_repair_order_form" />
|
<field name="inherit_id" ref="repair.view_repair_order_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath
|
<xpath expr="//button[@name='action_created_invoice']" position="before">
|
||||||
expr="//button[@name='action_created_invoice']"
|
<button
|
||||||
position="before"
|
name="action_show_sales_order"
|
||||||
|
type="object"
|
||||||
|
class="oe_stat_button"
|
||||||
|
icon="fa-pencil-square-o"
|
||||||
|
attrs="{'invisible': [('sale_order_count', '=', 0.0)]}"
|
||||||
|
groups="sales_team.group_sale_salesman"
|
||||||
>
|
>
|
||||||
<button
|
<field
|
||||||
name="action_show_sales_order"
|
name="sale_order_count"
|
||||||
type="object"
|
widget="statinfo"
|
||||||
class="oe_stat_button"
|
string="Sale Order(s)"
|
||||||
icon="fa-pencil-square-o"
|
|
||||||
attrs="{'invisible': [('sale_order_count', '=', 0.0)]}"
|
|
||||||
groups="sales_team.group_sale_salesman"
|
|
||||||
>
|
|
||||||
<field
|
|
||||||
name="sale_order_count"
|
|
||||||
widget="statinfo"
|
|
||||||
string="Sale Order(s)"
|
|
||||||
/>
|
|
||||||
</button>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//field[@name='invoice_state']" position="after">
|
|
||||||
<field name="create_sale_order" invisible="1" />
|
|
||||||
</xpath>
|
|
||||||
<xpath
|
|
||||||
expr="//button[@name='action_repair_start']"
|
|
||||||
position="attributes"
|
|
||||||
>
|
|
||||||
<attribute
|
|
||||||
name="attrs"
|
|
||||||
>{'invisible': ['|', ('create_sale_order', '=', True), '&', ('state','!=','confirmed'), '!', '&', ('state','=','ready'), ('invoice_method','=','b4repair')]}</attribute>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//button[@name='action_repair_start']" position="after">
|
|
||||||
<button
|
|
||||||
name="action_create_sale_order"
|
|
||||||
type="object"
|
|
||||||
string="Create Sales Order"
|
|
||||||
attrs="{'invisible': ['|', '|', ('create_sale_order', '=', False), ('sale_order_count', '>', 0), ('state','!=','confirmed')]}"
|
|
||||||
class="oe_highlight"
|
|
||||||
/>
|
/>
|
||||||
</xpath>
|
</button>
|
||||||
<xpath expr="//field[@name='invoice_method']" position="attributes">
|
</xpath>
|
||||||
<attribute
|
<xpath expr="//field[@name='invoice_state']" position="after">
|
||||||
name="attrs"
|
<field name="create_sale_order" invisible="1" />
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
</xpath>
|
||||||
</xpath>
|
<xpath expr="//button[@name='action_repair_start']" position="attributes">
|
||||||
<xpath expr="//field[@name='location_id']" position="attributes">
|
<attribute
|
||||||
<attribute
|
name="attrs"
|
||||||
name="attrs"
|
>{'invisible': ['|', ('create_sale_order', '=', True), '&', ('state','!=','confirmed'), '!', '&', ('state','=','ready'), ('invoice_method','=','b4repair')]}</attribute>
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
</xpath>
|
||||||
</xpath>
|
<xpath expr="//button[@name='action_repair_start']" position="after">
|
||||||
<xpath
|
<button
|
||||||
expr="//field[@name='operations']//tree//field[@name='type']"
|
name="action_create_sale_order"
|
||||||
position="attributes"
|
type="object"
|
||||||
>
|
string="Create Sales Order"
|
||||||
<attribute
|
attrs="{'invisible': ['|', '|', ('create_sale_order', '=', False), ('sale_order_count', '>', 0), ('state','!=','confirmed')]}"
|
||||||
name="attrs"
|
class="oe_highlight"
|
||||||
>{'column_invisible': [('parent.create_sale_order', '=', True)]}</attribute>
|
/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<xpath expr="//field[@name='invoice_method']" position="attributes">
|
||||||
expr="//field[@name='operations']//tree//field[@name='lot_id']"
|
<attribute
|
||||||
position="attributes"
|
name="attrs"
|
||||||
>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
<attribute
|
</xpath>
|
||||||
name="attrs"
|
<xpath expr="//field[@name='location_id']" position="attributes">
|
||||||
>{'column_invisible': [('parent.create_sale_order', '=', True)]}</attribute>
|
<attribute
|
||||||
</xpath>
|
name="attrs"
|
||||||
<xpath expr="//field[@name='partner_id']" position="attributes">
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
<attribute
|
</xpath>
|
||||||
name="attrs"
|
<xpath
|
||||||
>{'required': ['|', ('create_sale_order', '=', True), ('invoice_method','!=','none')]}</attribute>
|
expr="//field[@name='operations']//tree//field[@name='type']"
|
||||||
</xpath>
|
position="attributes"
|
||||||
</field>
|
>
|
||||||
</record>
|
<attribute
|
||||||
|
name="attrs"
|
||||||
|
>{'column_invisible': [('parent.create_sale_order', '=', True)]}</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath
|
||||||
|
expr="//field[@name='operations']//tree//field[@name='lot_id']"
|
||||||
|
position="attributes"
|
||||||
|
>
|
||||||
|
<attribute
|
||||||
|
name="attrs"
|
||||||
|
>{'column_invisible': [('parent.create_sale_order', '=', True)]}</attribute>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='partner_id']" position="attributes">
|
||||||
|
<attribute
|
||||||
|
name="attrs"
|
||||||
|
>{'required': ['|', ('create_sale_order', '=', True), ('invoice_method','!=','none')]}</attribute>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,54 +1,52 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="view_repair_type_form" model="ir.ui.view">
|
<record id="view_repair_type_form" model="ir.ui.view">
|
||||||
<field name="name">repair.type.form.view</field>
|
<field name="name">repair.type.form.view</field>
|
||||||
<field name="model">repair.type</field>
|
<field name="model">repair.type</field>
|
||||||
<field name="inherit_id" ref="repair_type.repair_type_view_form" />
|
<field name="inherit_id" ref="repair_type.repair_type_view_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='source_location_id']" position="before">
|
<xpath expr="//field[@name='source_location_id']" position="before">
|
||||||
<field name="create_sale_order" />
|
<field name="create_sale_order" />
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='source_location_id']" position="attributes">
|
<xpath expr="//field[@name='source_location_id']" position="attributes">
|
||||||
<attribute
|
<attribute
|
||||||
name="attrs"
|
name="attrs"
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<xpath
|
||||||
expr="//field[@name='source_location_add_part_id']"
|
expr="//field[@name='source_location_add_part_id']"
|
||||||
position="attributes"
|
position="attributes"
|
||||||
>
|
>
|
||||||
<attribute
|
<attribute
|
||||||
name="attrs"
|
name="attrs"
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<xpath
|
||||||
expr="//field[@name='destination_location_add_part_id']"
|
expr="//field[@name='destination_location_add_part_id']"
|
||||||
position="attributes"
|
position="attributes"
|
||||||
>
|
>
|
||||||
<attribute
|
<attribute
|
||||||
name="attrs"
|
name="attrs"
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<xpath
|
||||||
expr="//field[@name='source_location_remove_part_id']"
|
expr="//field[@name='source_location_remove_part_id']"
|
||||||
position="attributes"
|
position="attributes"
|
||||||
>
|
>
|
||||||
<attribute
|
<attribute
|
||||||
name="attrs"
|
name="attrs"
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<xpath
|
||||||
expr="//field[@name='destination_location_remove_part_id']"
|
expr="//field[@name='destination_location_remove_part_id']"
|
||||||
position="attributes"
|
position="attributes"
|
||||||
>
|
>
|
||||||
<attribute
|
<attribute
|
||||||
name="attrs"
|
name="attrs"
|
||||||
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
>{'invisible': [('create_sale_order', '=', True)]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,29 +1,27 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="view_sale_order_form" model="ir.ui.view">
|
<record id="view_sale_order_form" model="ir.ui.view">
|
||||||
<field name="name">sale.order.form.view</field>
|
<field name="name">sale.order.form.view</field>
|
||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
<field name="inherit_id" ref="sale.view_order_form" />
|
<field name="inherit_id" ref="sale.view_order_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//button[@name='action_view_invoice']" position="before">
|
<xpath expr="//button[@name='action_view_invoice']" position="before">
|
||||||
<button
|
<button
|
||||||
name="action_show_repair_order"
|
name="action_show_repair_order"
|
||||||
type="object"
|
type="object"
|
||||||
class="oe_stat_button"
|
class="oe_stat_button"
|
||||||
icon="fa-pencil-square-o"
|
icon="fa-pencil-square-o"
|
||||||
attrs="{'invisible': [('repair_order_count', '=', 0.0)]}"
|
attrs="{'invisible': [('repair_order_count', '=', 0.0)]}"
|
||||||
>
|
>
|
||||||
<field
|
<field
|
||||||
name="repair_order_count"
|
name="repair_order_count"
|
||||||
widget="statinfo"
|
widget="statinfo"
|
||||||
string="Repair Order(s)"
|
string="Repair Order(s)"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user