[IMP] Update pre-commit lints according with OCA ones

This commit is contained in:
HviorForgeFlow
2020-05-29 12:27:01 +02:00
committed by AaronHForgeFlow
parent 8b945f4194
commit 08752350a8
48 changed files with 2477 additions and 1578 deletions

View File

@@ -7,11 +7,11 @@ indent_style = space
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[.eslintrc,*.{json,yml,yaml,rst,md}] [*.{json,yml,yaml,rst,md}]
indent_size = 2 indent_size = 2
# Do not configure editor for libs and autogenerated content # Do not configure editor for libs and autogenerated content
[*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst] [{*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst}]
charset = unset charset = unset
end_of_line = unset end_of_line = unset
indent_size = unset indent_size = unset

291
.eslintrc
View File

@@ -1,291 +0,0 @@
{
"globals": {
"$": false,
"_": false,
"fuzzy": false,
"jQuery": false,
"moment": false,
"odoo": false,
"openerp": false,
"self": false
},
"env": {
"browser": true
},
"rules": {
"no-alert": "warn",
"no-array-constructor": "warn",
"no-bitwise": "off",
"no-caller": "warn",
"no-case-declarations": "warn",
"no-catch-shadow": "warn",
"no-class-assign": "warn",
"no-cond-assign": "warn",
"no-confusing-arrow": "warn",
"no-console": "off",
"no-const-assign": "warn",
"no-constant-condition": "warn",
"no-continue": "off",
"no-control-regex": "warn",
"no-debugger": "warn",
"no-delete-var": "warn",
"no-div-regex": "warn",
"no-dupe-args": "warn",
"no-dupe-class-members": "warn",
"no-dupe-keys": "warn",
"no-duplicate-case": "warn",
"no-duplicate-imports": "warn",
"no-else-return": "warn",
"no-empty": "warn",
"no-empty-character-class": "warn",
"no-empty-function": "warn",
"no-empty-pattern": "warn",
"no-eq-null": "warn",
"no-eval": "warn",
"no-ex-assign": "warn",
"no-extend-native": "warn",
"no-extra-bind": "warn",
"no-extra-boolean-cast": "warn",
"no-extra-label": "warn",
"no-extra-parens": "warn",
"no-extra-semi": "warn",
"no-fallthrough": "warn",
"no-floating-decimal": "warn",
"no-func-assign": "warn",
"no-implicit-coercion": ["warn", {
"allow": ["~"]
}],
"no-implicit-globals": "warn",
"no-implied-eval": "warn",
"no-inline-comments": "warn",
"no-inner-declarations": "warn",
"no-invalid-regexp": "warn",
"no-invalid-this": "off",
"no-irregular-whitespace": "warn",
"no-iterator": "warn",
"no-label-var": "warn",
"no-labels": "warn",
"no-lone-blocks": "warn",
"no-lonely-if": "warn",
"no-loop-func": "off",
"no-magic-numbers": "off",
"no-mixed-operators": "warn",
"no-mixed-requires": "warn",
"no-mixed-spaces-and-tabs": "warn",
"no-multi-spaces": "warn",
"no-multi-str": "warn",
"no-multiple-empty-lines": "warn",
"no-native-reassign": "warn",
"no-negated-condition": "warn",
"no-negated-in-lhs": "warn",
"no-nested-ternary": "off",
"no-new": "warn",
"no-new-func": "warn",
"no-new-object": "warn",
"no-new-require": "warn",
"no-new-symbol": "warn",
"no-new-wrappers": "warn",
"no-obj-calls": "warn",
"no-octal": "warn",
"no-octal-escape": "warn",
"no-param-reassign": "warn",
"no-path-concat": "warn",
"no-plusplus": "off",
"no-process-env": "warn",
"no-process-exit": "warn",
"no-proto": "warn",
"no-prototype-builtins": "warn",
"no-redeclare": "warn",
"no-regex-spaces": "warn",
"no-restricted-globals": "warn",
"no-restricted-imports": "warn",
"no-restricted-modules": "warn",
"no-restricted-syntax": "warn",
"no-return-assign": "warn",
"no-script-url": "warn",
"no-self-assign": "warn",
"no-self-compare": "warn",
"no-sequences": "warn",
"no-shadow": "warn",
"no-shadow-restricted-names": "warn",
"no-whitespace-before-property": "warn",
"no-spaced-func": "warn",
"no-sparse-arrays": "warn",
"no-sync": "warn",
"no-tabs": "warn",
"no-ternary": "off",
"no-trailing-spaces": "warn",
"no-this-before-super": "warn",
"no-throw-literal": "warn",
"no-undef": "warn",
"no-undef-init": "warn",
"no-undefined": "off",
"no-unexpected-multiline": "warn",
"no-underscore-dangle": "off",
"no-unmodified-loop-condition": "warn",
"no-unneeded-ternary": "warn",
"no-unreachable": "warn",
"no-unsafe-finally": "warn",
"no-unused-expressions": "warn",
"no-unused-labels": "warn",
"no-unused-vars": "warn",
"no-use-before-define": "warn",
"no-useless-call": "warn",
"no-useless-computed-key": "warn",
"no-useless-concat": "warn",
"no-useless-constructor": "warn",
"no-useless-escape": "warn",
"no-useless-rename": "warn",
"no-void": "warn",
"no-var": "off",
"no-warning-comments": "off",
"no-with": "warn",
"array-bracket-spacing": "off",
"array-callback-return": "warn",
"arrow-body-style": "warn",
"arrow-parens": "warn",
"arrow-spacing": "off",
"accessor-pairs": "warn",
"block-scoped-var": "off",
"block-spacing": ["warn", "always"],
"brace-style": "warn",
"callback-return": "warn",
"camelcase": "off",
"capitalized-comments": ["warn", "always", {
"ignoreConsecutiveComments": true,
"ignoreInlineComments": true
}],
"comma-dangle": ["warn", "always-multiline"],
"comma-spacing": ["warn", {
"before": false,
"after": true
}],
"comma-style": "warn",
"complexity": [
"warn",
15
],
"computed-property-spacing": "off",
"consistent-return": "off",
"consistent-this": "off",
"constructor-super": "warn",
"curly": "warn",
"default-case": "off",
"dot-location": ["warn", "property"],
"dot-notation": "warn",
"eol-last": "warn",
"eqeqeq": "warn",
"func-names": "off",
"func-style": "off",
"generator-star-spacing": "off",
"global-require": "warn",
"guard-for-in": "off",
"handle-callback-err": "warn",
"id-blacklist": "warn",
"id-length": "off",
"id-match": "warn",
"indent": "warn",
"init-declarations": "warn",
"jsx-quotes": "warn",
"key-spacing": "off",
"keyword-spacing": "warn",
"linebreak-style": [
"warn",
"unix"
],
"lines-around-comment": "warn",
"max-depth": "warn",
"max-len": ["warn", {
"code": 88,
"ignorePattern": "odoo\\.define\\(",
"tabWidth": 4
}],
"max-lines": "off",
"max-nested-callbacks": "warn",
"max-params": "off",
"max-statements": "off",
"max-statements-per-line": "warn",
"multiline-ternary": "off",
"new-cap": "off",
"new-parens": "warn",
"newline-after-var": "off",
"newline-before-return": "off",
"newline-per-chained-call": "off",
"object-curly-newline": ["warn", { "consistent": true }],
"object-curly-spacing": ["warn", "never"],
"object-property-newline": ["warn", {
"allowAllPropertiesOnSameLine": true
}],
"object-shorthand": "off",
"one-var": "off",
"one-var-declaration-per-line": "off",
"operator-assignment": "warn",
"operator-linebreak": "warn",
"padded-blocks": "off",
"prefer-arrow-callback": "off",
"prefer-const": "warn",
"prefer-reflect": "off",
"prefer-rest-params": "off",
"prefer-spread": "off",
"prefer-template": "off",
"quote-props": "off",
"quotes": "off",
"radix": "warn",
"require-yield": "warn",
"rest-spread-spacing": "off",
"semi": [
"warn",
"always"
],
"semi-spacing": "warn",
"sort-imports": "warn",
"sort-vars": "off",
"space-before-blocks": "warn",
"space-before-function-paren": "warn",
"space-in-parens": "off",
"space-infix-ops": "off",
"space-unary-ops": "off",
"spaced-comment": ["warn", "always"],
"strict": ["warn", "function"],
"template-curly-spacing": "off",
"unicode-bom": "warn",
"use-isnan": "warn",
"valid-jsdoc": ["warn", {
"prefer": {
"arg": "param",
"argument": "param",
"augments": "extends",
"constructor": "class",
"exception": "throws",
"func": "function",
"method": "function",
"prop": "property",
"return": "returns",
"virtual": "abstract",
"yield": "yields"
},
"preferType": {
"array": "Array",
"bool": "Boolean",
"boolean": "Boolean",
"number": "Number",
"object": "Object",
"str": "String",
"string": "String"
},
"requireParamDescription": false,
"requireReturn": false,
"requireReturnDescription": false,
"requireReturnType": false
}],
"valid-typeof": "warn",
"vars-on-top": "off",
"wrap-iife": "warn",
"wrap-regex": "warn",
"yield-star-spacing": "off",
"yoda": "warn"
},
"parserOptions": {
"ecmaVersion": 2017
}
}

282
.eslintrc.yml Normal file
View File

@@ -0,0 +1,282 @@
{
"globals":
{
"$": false,
"_": false,
"fuzzy": false,
"jQuery": false,
"moment": false,
"odoo": false,
"openerp": false,
"self": false,
},
"env": { "browser": true },
"rules":
{
"no-alert": "warn",
"no-array-constructor": "warn",
"no-bitwise": "off",
"no-caller": "warn",
"no-case-declarations": "warn",
"no-catch-shadow": "warn",
"no-class-assign": "warn",
"no-cond-assign": "warn",
"no-confusing-arrow": "warn",
"no-console": "off",
"no-const-assign": "warn",
"no-constant-condition": "warn",
"no-continue": "off",
"no-control-regex": "warn",
"no-debugger": "warn",
"no-delete-var": "warn",
"no-div-regex": "warn",
"no-dupe-args": "warn",
"no-dupe-class-members": "warn",
"no-dupe-keys": "warn",
"no-duplicate-case": "warn",
"no-duplicate-imports": "warn",
"no-else-return": "warn",
"no-empty": "warn",
"no-empty-character-class": "warn",
"no-empty-function": "warn",
"no-empty-pattern": "warn",
"no-eq-null": "warn",
"no-eval": "warn",
"no-ex-assign": "warn",
"no-extend-native": "warn",
"no-extra-bind": "warn",
"no-extra-boolean-cast": "warn",
"no-extra-label": "warn",
"no-extra-parens": "warn",
"no-extra-semi": "warn",
"no-fallthrough": "warn",
"no-floating-decimal": "warn",
"no-func-assign": "warn",
"no-implicit-coercion": ["warn", { "allow": ["~"] }],
"no-implicit-globals": "warn",
"no-implied-eval": "warn",
"no-inline-comments": "warn",
"no-inner-declarations": "warn",
"no-invalid-regexp": "warn",
"no-invalid-this": "off",
"no-irregular-whitespace": "warn",
"no-iterator": "warn",
"no-label-var": "warn",
"no-labels": "warn",
"no-lone-blocks": "warn",
"no-lonely-if": "warn",
"no-loop-func": "off",
"no-magic-numbers": "off",
"no-mixed-operators": "warn",
"no-mixed-requires": "warn",
"no-mixed-spaces-and-tabs": "warn",
"no-multi-spaces": "warn",
"no-multi-str": "warn",
"no-multiple-empty-lines": "warn",
"no-native-reassign": "warn",
"no-negated-condition": "warn",
"no-negated-in-lhs": "warn",
"no-nested-ternary": "off",
"no-new": "warn",
"no-new-func": "warn",
"no-new-object": "warn",
"no-new-require": "warn",
"no-new-symbol": "warn",
"no-new-wrappers": "warn",
"no-obj-calls": "warn",
"no-octal": "warn",
"no-octal-escape": "warn",
"no-param-reassign": "warn",
"no-path-concat": "warn",
"no-plusplus": "off",
"no-process-env": "warn",
"no-process-exit": "warn",
"no-proto": "warn",
"no-prototype-builtins": "warn",
"no-redeclare": "warn",
"no-regex-spaces": "warn",
"no-restricted-globals": "warn",
"no-restricted-imports": "warn",
"no-restricted-modules": "warn",
"no-restricted-syntax": "warn",
"no-return-assign": "warn",
"no-script-url": "warn",
"no-self-assign": "warn",
"no-self-compare": "warn",
"no-sequences": "warn",
"no-shadow": "warn",
"no-shadow-restricted-names": "warn",
"no-whitespace-before-property": "warn",
"no-spaced-func": "warn",
"no-sparse-arrays": "warn",
"no-sync": "warn",
"no-tabs": "warn",
"no-ternary": "off",
"no-trailing-spaces": "warn",
"no-this-before-super": "warn",
"no-throw-literal": "warn",
"no-undef": "warn",
"no-undef-init": "warn",
"no-undefined": "off",
"no-unexpected-multiline": "warn",
"no-underscore-dangle": "off",
"no-unmodified-loop-condition": "warn",
"no-unneeded-ternary": "warn",
"no-unreachable": "warn",
"no-unsafe-finally": "warn",
"no-unused-expressions": "warn",
"no-unused-labels": "warn",
"no-unused-vars": "warn",
"no-use-before-define": "warn",
"no-useless-call": "warn",
"no-useless-computed-key": "warn",
"no-useless-concat": "warn",
"no-useless-constructor": "warn",
"no-useless-escape": "warn",
"no-useless-rename": "warn",
"no-void": "warn",
"no-var": "off",
"no-warning-comments": "off",
"no-with": "warn",
"array-bracket-spacing": "off",
"array-callback-return": "warn",
"arrow-body-style": "warn",
"arrow-parens": "warn",
"arrow-spacing": "off",
"accessor-pairs": "warn",
"block-scoped-var": "off",
"block-spacing": ["warn", "always"],
"brace-style": "warn",
"callback-return": "warn",
"camelcase": "off",
"capitalized-comments":
[
"warn",
"always",
{ "ignoreConsecutiveComments": true, "ignoreInlineComments": true },
],
"comma-dangle": ["warn", "always-multiline"],
"comma-spacing": ["warn", { "before": false, "after": true }],
"comma-style": "warn",
"complexity": ["warn", 15],
"computed-property-spacing": "off",
"consistent-return": "off",
"consistent-this": "off",
"constructor-super": "warn",
"curly": "warn",
"default-case": "off",
"dot-location": ["warn", "property"],
"dot-notation": "warn",
"eol-last": "warn",
"eqeqeq": "warn",
"func-names": "off",
"func-style": "off",
"generator-star-spacing": "off",
"global-require": "warn",
"guard-for-in": "off",
"handle-callback-err": "warn",
"id-blacklist": "warn",
"id-length": "off",
"id-match": "warn",
"indent": "warn",
"init-declarations": "warn",
"jsx-quotes": "warn",
"key-spacing": "off",
"keyword-spacing": "warn",
"linebreak-style": ["warn", "unix"],
"lines-around-comment": "warn",
"max-depth": "warn",
"max-len":
[
"warn",
{ "code": 88, "ignorePattern": "odoo\\.define\\(", "tabWidth": 4 },
],
"max-lines": "off",
"max-nested-callbacks": "warn",
"max-params": "off",
"max-statements": "off",
"max-statements-per-line": "warn",
"multiline-ternary": "off",
"new-cap": "off",
"new-parens": "warn",
"newline-after-var": "off",
"newline-before-return": "off",
"newline-per-chained-call": "off",
"object-curly-newline": ["warn", { "consistent": true }],
"object-curly-spacing": ["warn", "never"],
"object-property-newline":
["warn", { "allowAllPropertiesOnSameLine": true }],
"object-shorthand": "off",
"one-var": "off",
"one-var-declaration-per-line": "off",
"operator-assignment": "warn",
"operator-linebreak": "warn",
"padded-blocks": "off",
"prefer-arrow-callback": "off",
"prefer-const": "warn",
"prefer-reflect": "off",
"prefer-rest-params": "off",
"prefer-spread": "off",
"prefer-template": "off",
"quote-props": "off",
"quotes": "off",
"radix": "warn",
"require-yield": "warn",
"rest-spread-spacing": "off",
"semi": ["warn", "always"],
"semi-spacing": "warn",
"sort-imports": "warn",
"sort-vars": "off",
"space-before-blocks": "warn",
"space-before-function-paren": "warn",
"space-in-parens": "off",
"space-infix-ops": "off",
"space-unary-ops": "off",
"spaced-comment": ["warn", "always"],
"strict": ["warn", "function"],
"template-curly-spacing": "off",
"unicode-bom": "warn",
"use-isnan": "warn",
"valid-jsdoc":
[
"warn",
{
"prefer":
{
"arg": "param",
"argument": "param",
"augments": "extends",
"constructor": "class",
"exception": "throws",
"func": "function",
"method": "function",
"prop": "property",
"return": "returns",
"virtual": "abstract",
"yield": "yields",
},
"preferType":
{
"array": "Array",
"bool": "Boolean",
"boolean": "Boolean",
"number": "Number",
"object": "Object",
"str": "String",
"string": "String",
},
"requireParamDescription": false,
"requireReturn": false,
"requireReturnDescription": false,
"requireReturnType": false,
},
],
"valid-typeof": "warn",
"vars-on-top": "off",
"wrap-iife": "warn",
"wrap-regex": "warn",
"yield-star-spacing": "off",
"yoda": "warn",
},
"parserOptions": { "ecmaVersion": 2017 },
}

View File

@@ -9,4 +9,4 @@ line_length=88
known_odoo=odoo known_odoo=odoo
known_odoo_addons=odoo.addons known_odoo_addons=odoo.addons
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
known_third_party= default_section=THIRDPARTY

View File

@@ -1,13 +1,47 @@
exclude: "^setup/|/static/lib/|/static/src/lib/" exclude: |
(?x)
# Files and folders generated by bots, to avoid loops
^setup/|/static/description/index\.html$|
# Maybe reactivate this when all README files include prettier ignore tags?
^README\.md$|
# Library files can have extraneous formatting (even minimized)
/static/(src/)?lib/|
# Repos using Sphinx to generate docs don't need prettying
^docs/_templates/.*\.html$|
# You don't usually want a bot to modify your legal texts
(LICENSE.*|COPYING.*)
default_language_version: default_language_version:
python: python3 python: python3
repos: repos:
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 19.3b0 rev: 19.10b0
hooks: hooks:
- id: black - id: black
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/prettier/prettier
rev: v2.3.0 rev: "1.19.1"
hooks:
- id: prettier
# TODO Avoid awebdeveloper/pre-commit-prettier if possible
# HACK https://github.com/prettier/prettier/issues/7407
- repo: https://github.com/awebdeveloper/pre-commit-prettier
rev: v0.0.1
hooks:
- id: prettier
name: prettier xml plugin
additional_dependencies:
- "prettier@1.19.1"
- "@prettier/plugin-xml@0.7.2"
files: \.xml$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v6.8.0
hooks:
- id: eslint
verbose: true
args:
- --color
- --fix
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.4.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
# exclude autogenerated files # exclude autogenerated files
@@ -16,6 +50,21 @@ repos:
# exclude autogenerated files # exclude autogenerated files
exclude: /README\.rst$|\.pot?$ exclude: /README\.rst$|\.pot?$
- id: debug-statements - id: debug-statements
- id: fix-encoding-pragma
args: ["--remove"]
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-merge-conflict
# exclude files where underlines are not distinguishable from merge conflicts
exclude: /README\.rst$|^docs/.*\.rst$
- id: check-symlinks
- id: check-xml
- id: mixed-line-ending
args: ["--fix=lf"]
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
hooks:
- id: flake8 - id: flake8
name: flake8 except __init__.py name: flake8 except __init__.py
exclude: /__init__\.py$ exclude: /__init__\.py$
@@ -25,44 +74,29 @@ repos:
args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py
files: /__init__\.py$ files: /__init__\.py$
additional_dependencies: ["flake8-bugbear==19.8.0"] additional_dependencies: ["flake8-bugbear==19.8.0"]
- id: fix-encoding-pragma - repo: https://github.com/pre-commit/mirrors-pylint
args: ["--remove"]
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-symlinks
- id: check-xml
- id: mixed-line-ending
args: ["--fix=lf"]
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.3.1 rev: v2.3.1
hooks: hooks:
- id: pylint - id: pylint
name: pylint with optional checks name: pylint with optional checks
args: ["--rcfile=.pylintrc", "--exit-zero"] args: ["--rcfile=.pylintrc", "--exit-zero"]
verbose: true verbose: true
additional_dependencies: ["pylint-odoo==3.0.3"] additional_dependencies: ["pylint-odoo==3.1.0"]
- id: pylint - id: pylint
name: pylint with mandatory checks name: pylint with mandatory checks
args: ["--rcfile=.pylintrc-mandatory"] args: ["--rcfile=.pylintrc-mandatory"]
additional_dependencies: ["pylint-odoo==3.0.3"] additional_dependencies: ["pylint-odoo==3.1.0"]
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: v1.24.0 rev: v1.26.2
hooks: hooks:
- id: pyupgrade - id: pyupgrade
- repo: https://github.com/asottile/seed-isort-config - repo: https://github.com/pre-commit/mirrors-isort
rev: v1.9.3
hooks:
- id: seed-isort-config
- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21 rev: v4.3.21
hooks: hooks:
- id: isort - id: isort
name: isort except __init__.py name: isort except __init__.py
exclude: /__init__\.py$ exclude: /__init__\.py$
- repo: https://github.com/pre-commit/mirrors-eslint - repo: https://github.com/acsone/setuptools-odoo
rev: v6.5.1 rev: 2.5.2
hooks: hooks:
- id: eslint - id: setuptools-odoo-make-default
verbose: true

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<record id="rma_operation_customer_replace" model="rma.operation"> <record id="rma_operation_customer_replace" model="rma.operation">
<field name="name">Replace After Receive</field> <field name="name">Replace After Receive</field>
@@ -6,8 +6,8 @@
<field name="receipt_policy">ordered</field> <field name="receipt_policy">ordered</field>
<field name="delivery_policy">received</field> <field name="delivery_policy">received</field>
<field name="type">customer</field> <field name="type">customer</field>
<field name="in_route_id" ref="rma.route_rma_customer"/> <field name="in_route_id" ref="rma.route_rma_customer" />
<field name="out_route_id" ref="rma.route_rma_customer"/> <field name="out_route_id" ref="rma.route_rma_customer" />
</record> </record>
<record id="rma_operation_supplier_replace" model="rma.operation"> <record id="rma_operation_supplier_replace" model="rma.operation">
@@ -16,8 +16,8 @@
<field name="receipt_policy">ordered</field> <field name="receipt_policy">ordered</field>
<field name="delivery_policy">ordered</field> <field name="delivery_policy">ordered</field>
<field name="type">supplier</field> <field name="type">supplier</field>
<field name="in_route_id" ref="rma.route_rma_supplier"/> <field name="in_route_id" ref="rma.route_rma_supplier" />
<field name="out_route_id" ref="rma.route_rma_supplier"/> <field name="out_route_id" ref="rma.route_rma_supplier" />
</record> </record>
<record id="rma_operation_ds_replace" model="rma.operation"> <record id="rma_operation_ds_replace" model="rma.operation">
@@ -26,9 +26,9 @@
<field name="receipt_policy">ordered</field> <field name="receipt_policy">ordered</field>
<field name="delivery_policy">no</field> <field name="delivery_policy">no</field>
<field name="type">customer</field> <field name="type">customer</field>
<field name="customer_to_supplier" eval="True"/> <field name="customer_to_supplier" eval="True" />
<field name="out_route_id" ref="rma.route_rma_dropship"/> <field name="out_route_id" ref="rma.route_rma_dropship" />
<field name="in_route_id" ref="rma.route_rma_dropship"/> <field name="in_route_id" ref="rma.route_rma_dropship" />
</record> </record>
<record id="rma_operation_ds_replace_supplier" model="rma.operation"> <record id="rma_operation_ds_replace_supplier" model="rma.operation">
@@ -37,9 +37,9 @@
<field name="receipt_policy">no</field> <field name="receipt_policy">no</field>
<field name="delivery_policy">ordered</field> <field name="delivery_policy">ordered</field>
<field name="type">supplier</field> <field name="type">supplier</field>
<field name="supplier_to_customer" eval="True"/> <field name="supplier_to_customer" eval="True" />
<field name="out_route_id" ref="rma.route_rma_dropship"/> <field name="out_route_id" ref="rma.route_rma_dropship" />
<field name="in_route_id" ref="rma.route_rma_dropship"/> <field name="in_route_id" ref="rma.route_rma_dropship" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<record id="rma_seq" model="ir.sequence"> <record id="rma_seq" model="ir.sequence">
<field name="name">Customer RMA sequence</field> <field name="name">Customer RMA sequence</field>
<field name="code">rma.order.customer</field> <field name="code">rma.order.customer</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="prefix">RMAG/%(year)s/</field> <field name="prefix">RMAG/%(year)s/</field>
<field eval="1" name="number_next"/> <field eval="1" name="number_next" />
<field eval="1" name="number_increment"/> <field eval="1" name="number_increment" />
</record> </record>
<record id="rma_supplier_seq" model="ir.sequence"> <record id="rma_supplier_seq" model="ir.sequence">
@@ -14,9 +14,9 @@
<field name="code">rma.order.supplier</field> <field name="code">rma.order.supplier</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="prefix">RTVG/%(year)s/</field> <field name="prefix">RTVG/%(year)s/</field>
<field eval="1" name="number_next"/> <field eval="1" name="number_next" />
<field eval="1" name="number_increment"/> <field eval="1" name="number_increment" />
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="rma_line_seq" model="ir.sequence"> <record id="rma_line_seq" model="ir.sequence">
@@ -24,9 +24,9 @@
<field name="code">rma.order.line.customer</field> <field name="code">rma.order.line.customer</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="prefix">RMA/%(year)s/</field> <field name="prefix">RMA/%(year)s/</field>
<field eval="1" name="number_next"/> <field eval="1" name="number_next" />
<field eval="1" name="number_increment"/> <field eval="1" name="number_increment" />
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="rma_line_supplier_seq" model="ir.sequence"> <record id="rma_line_supplier_seq" model="ir.sequence">
@@ -34,9 +34,9 @@
<field name="code">rma.order.line.supplier</field> <field name="code">rma.order.line.supplier</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="prefix">RTV/%(year)s/</field> <field name="prefix">RTV/%(year)s/</field>
<field eval="1" name="number_next"/> <field eval="1" name="number_next" />
<field eval="1" name="number_increment"/> <field eval="1" name="number_increment" />
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,216 +1,233 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<record id="location_rma" model="stock.location"> <record id="location_rma" model="stock.location">
<field name="name">WH RMA</field> <field name="name">WH RMA</field>
<field name="usage">internal</field> <field name="usage">internal</field>
<field name="location_id" ref="stock.stock_location_stock"/> <field name="location_id" ref="stock.stock_location_stock" />
</record> </record>
<record id="seq_picking_type_rma_cust_out" model="ir.sequence"> <record id="seq_picking_type_rma_cust_out" model="ir.sequence">
<field name="name">DOC</field> <field name="name">DOC</field>
<field name="prefix">RCO</field> <field name="prefix">RCO</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_cust_in" model="ir.sequence"> <record id="seq_picking_type_rma_cust_in" model="ir.sequence">
<field name="name">INC</field> <field name="name">INC</field>
<field name="prefix">RCI</field> <field name="prefix">RCI</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_sup_out" model="ir.sequence"> <record id="seq_picking_type_rma_sup_out" model="ir.sequence">
<field name="name">DOS</field> <field name="name">DOS</field>
<field name="prefix">RSO</field> <field name="prefix">RSO</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_sup_in" model="ir.sequence"> <record id="seq_picking_type_rma_sup_in" model="ir.sequence">
<field name="name">INS</field> <field name="name">INS</field>
<field name="prefix">RSI</field> <field name="prefix">RSI</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_dropship" model="ir.sequence"> <record id="seq_picking_type_rma_dropship" model="ir.sequence">
<field name="name">DSS</field> <field name="name">DSS</field>
<field name="prefix">DSS</field> <field name="prefix">DSS</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="picking_type_rma_cust_out" model="stock.picking.type"> <record id="picking_type_rma_cust_out" model="stock.picking.type">
<field name="name">RMA → Customer</field> <field name="name">RMA → Customer</field>
<field name="sequence_id" ref="seq_picking_type_rma_cust_out"/> <field name="sequence_id" ref="seq_picking_type_rma_cust_out" />
<field name="sequence_code">RMA → Customer</field> <field name="sequence_code">RMA → Customer</field>
<field name="default_location_src_id" ref="rma.location_rma"/> <field name="default_location_src_id" ref="rma.location_rma" />
<field name="default_location_dest_id" <field
ref="stock.stock_location_customers"/> name="default_location_dest_id"
<field name="warehouse_id" eval="False"/> ref="stock.stock_location_customers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">outgoing</field> <field name="code">outgoing</field>
</record> </record>
<record id="picking_type_rma_cust_in" model="stock.picking.type"> <record id="picking_type_rma_cust_in" model="stock.picking.type">
<field name="name">Customer → RMA</field> <field name="name">Customer → RMA</field>
<field name="sequence_id" ref="seq_picking_type_rma_cust_in"/> <field name="sequence_id" ref="seq_picking_type_rma_cust_in" />
<field name="sequence_code">Customer → RMA</field> <field name="sequence_code">Customer → RMA</field>
<field name="default_location_src_id" ref="stock.stock_location_customers"/> <field
<field name="default_location_dest_id" name="default_location_src_id"
ref="rma.location_rma"/> ref="stock.stock_location_customers"
<field name="warehouse_id" eval="False"/> />
<field name="default_location_dest_id" ref="rma.location_rma" />
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
<record id="picking_type_rma_sup_out" model="stock.picking.type"> <record id="picking_type_rma_sup_out" model="stock.picking.type">
<field name="name">RMA -> Supplier</field> <field name="name">RMA -> Supplier</field>
<field name="sequence_id" ref="seq_picking_type_rma_sup_out"/> <field name="sequence_id" ref="seq_picking_type_rma_sup_out" />
<field name="sequence_code">RMA -> Supplier</field> <field name="sequence_code">RMA -> Supplier</field>
<field name="default_location_src_id" ref="rma.location_rma"/> <field name="default_location_src_id" ref="rma.location_rma" />
<field name="default_location_dest_id" <field
ref="stock.stock_location_suppliers"/> name="default_location_dest_id"
<field name="warehouse_id" eval="False"/> ref="stock.stock_location_suppliers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">outgoing</field> <field name="code">outgoing</field>
</record> </record>
<record id="picking_type_rma_sup_in" model="stock.picking.type"> <record id="picking_type_rma_sup_in" model="stock.picking.type">
<field name="name">Supplier -> RMA</field> <field name="name">Supplier -> RMA</field>
<field name="sequence_id" ref="seq_picking_type_rma_sup_in"/> <field name="sequence_id" ref="seq_picking_type_rma_sup_in" />
<field name="sequence_code">Supplier -> RMA</field> <field name="sequence_code">Supplier -> RMA</field>
<field name="default_location_src_id" ref="stock.stock_location_suppliers"/> <field
<field name="default_location_dest_id" name="default_location_src_id"
ref="rma.location_rma"/> ref="stock.stock_location_suppliers"
<field name="warehouse_id" eval="False"/> />
<field name="default_location_dest_id" ref="rma.location_rma" />
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
<record id="picking_type_rma_dropship_return" model="stock.picking.type"> <record id="picking_type_rma_dropship_return" model="stock.picking.type">
<field name="name">Customer -> Supplier</field> <field name="name">Customer -> Supplier</field>
<field name="sequence_id" ref="seq_picking_type_rma_dropship"/> <field name="sequence_id" ref="seq_picking_type_rma_dropship" />
<field name="sequence_code">Customer -> Supplier</field> <field name="sequence_code">Customer -> Supplier</field>
<field name="default_location_src_id" <field
ref="stock.stock_location_customers"/> name="default_location_src_id"
<field name="default_location_dest_id" ref="stock.stock_location_customers"
ref="stock.stock_location_suppliers"/> />
<field name="warehouse_id" eval="False"/> <field
name="default_location_dest_id"
ref="stock.stock_location_suppliers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
<record id="picking_type_rma_dropship" model="stock.picking.type"> <record id="picking_type_rma_dropship" model="stock.picking.type">
<field name="name">Supplier -> Customer</field> <field name="name">Supplier -> Customer</field>
<field name="sequence_id" ref="seq_picking_type_rma_dropship"/> <field name="sequence_id" ref="seq_picking_type_rma_dropship" />
<field name="sequence_code">Supplier -> Customer</field> <field name="sequence_code">Supplier -> Customer</field>
<field name="default_location_src_id" <field
ref="stock.stock_location_suppliers"/> name="default_location_src_id"
<field name="default_location_dest_id" ref="stock.stock_location_suppliers"
ref="stock.stock_location_customers"/> />
<field name="warehouse_id" eval="False"/> <field
name="default_location_dest_id"
ref="stock.stock_location_customers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
<record id="stock.warehouse0" model="stock.warehouse"> <record id="stock.warehouse0" model="stock.warehouse">
<field name="lot_rma_id" ref="location_rma"/> <field name="lot_rma_id" ref="location_rma" />
<field name="rma_cust_out_type_id" ref="picking_type_rma_cust_out"/> <field name="rma_cust_out_type_id" ref="picking_type_rma_cust_out" />
<field name="rma_cust_in_type_id" ref="picking_type_rma_cust_in"/> <field name="rma_cust_in_type_id" ref="picking_type_rma_cust_in" />
<field name="rma_sup_out_type_id" ref="picking_type_rma_sup_out"/> <field name="rma_sup_out_type_id" ref="picking_type_rma_sup_out" />
<field name="rma_sup_in_type_id" ref="picking_type_rma_sup_in"/> <field name="rma_sup_in_type_id" ref="picking_type_rma_sup_in" />
</record> </record>
<record id="route_rma_customer" model='stock.location.route'> <record id="route_rma_customer" model='stock.location.route'>
<field name="name">RMA Customer</field> <field name="name">RMA Customer</field>
<field name="company_id" eval="0"/> <field name="company_id" eval="0" />
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<record id="route_rma_supplier" model='stock.location.route'> <record id="route_rma_supplier" model='stock.location.route'>
<field name="name">RMA Supplier</field> <field name="name">RMA Supplier</field>
<field name="company_id" eval="0"/> <field name="company_id" eval="0" />
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<record id="route_rma_dropship" model='stock.location.route'> <record id="route_rma_dropship" model='stock.location.route'>
<field name="name">RMA Dropship</field> <field name="name">RMA Dropship</field>
<field name="company_id" eval="0"/> <field name="company_id" eval="0" />
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<record id="rule_rma_customer_in_pull" model="stock.rule"> <record id="rule_rma_customer_in_pull" model="stock.rule">
<field name="name">Customer → RMA</field> <field name="name">Customer → RMA</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_src_id" ref="stock.stock_location_customers"/> <field name="location_src_id" ref="stock.stock_location_customers" />
<field name="location_id" ref="rma.location_rma"/> <field name="location_id" ref="rma.location_rma" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_customer"/> <field name="route_id" ref="rma.route_rma_customer" />
<field name="picking_type_id" ref="rma.picking_type_rma_cust_in"/> <field name="picking_type_id" ref="rma.picking_type_rma_cust_in" />
</record> </record>
<record id="rule_rma_customer_out_pull" model="stock.rule"> <record id="rule_rma_customer_out_pull" model="stock.rule">
<field name="name">RMA → Customer</field> <field name="name">RMA → Customer</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_src_id" ref="rma.location_rma"/> <field name="location_src_id" ref="rma.location_rma" />
<field name="location_id" ref="stock.stock_location_customers"/> <field name="location_id" ref="stock.stock_location_customers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_customer"/> <field name="route_id" ref="rma.route_rma_customer" />
<field name="picking_type_id" ref="rma.picking_type_rma_cust_out"/> <field name="picking_type_id" ref="rma.picking_type_rma_cust_out" />
</record> </record>
<record id="rule_rma_supplier_out_pull" model="stock.rule"> <record id="rule_rma_supplier_out_pull" model="stock.rule">
<field name="name">RMA → Supplier</field> <field name="name">RMA → Supplier</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_id" ref="stock.stock_location_suppliers"/> <field name="location_id" ref="stock.stock_location_suppliers" />
<field name="location_src_id" ref="rma.location_rma"/> <field name="location_src_id" ref="rma.location_rma" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_supplier"/> <field name="route_id" ref="rma.route_rma_supplier" />
<field name="picking_type_id" ref="rma.picking_type_rma_sup_out"/> <field name="picking_type_id" ref="rma.picking_type_rma_sup_out" />
</record> </record>
<record id="rule_rma_supplier_in_pull" model="stock.rule"> <record id="rule_rma_supplier_in_pull" model="stock.rule">
<field name="name">Supplier → RMA</field> <field name="name">Supplier → RMA</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_id" ref="rma.location_rma"/> <field name="location_id" ref="rma.location_rma" />
<field name="location_src_id" ref="stock.stock_location_suppliers"/> <field name="location_src_id" ref="stock.stock_location_suppliers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_supplier"/> <field name="route_id" ref="rma.route_rma_supplier" />
<field name="picking_type_id" ref="rma.picking_type_rma_sup_in"/> <field name="picking_type_id" ref="rma.picking_type_rma_sup_in" />
</record> </record>
<record id="rule_rma_dropship_return" model="stock.rule"> <record id="rule_rma_dropship_return" model="stock.rule">
<field name="name">Customer → Supplier</field> <field name="name">Customer → Supplier</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="location_id" ref="stock.stock_location_suppliers"/> <field name="location_id" ref="stock.stock_location_suppliers" />
<field name="location_src_id" ref="stock.stock_location_customers"/> <field name="location_src_id" ref="stock.stock_location_customers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_dropship"/> <field name="route_id" ref="rma.route_rma_dropship" />
<field name="picking_type_id" <field
ref="rma.picking_type_rma_dropship_return"/> name="picking_type_id"
ref="rma.picking_type_rma_dropship_return"
/>
</record> </record>
<record id="rule_rma_dropship" model="stock.rule"> <record id="rule_rma_dropship" model="stock.rule">
<field name="name">Supplier → Customer</field> <field name="name">Supplier → Customer</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="location_id" ref="stock.stock_location_customers"/> <field name="location_id" ref="stock.stock_location_customers" />
<field name="location_src_id" ref="stock.stock_location_suppliers"/> <field name="location_src_id" ref="stock.stock_location_suppliers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_dropship"/> <field name="route_id" ref="rma.route_rma_dropship" />
<field name="picking_type_id" <field name="picking_type_id" ref="rma.picking_type_rma_dropship" />
ref="rma.picking_type_rma_dropship"/>
</record> </record>
</odoo> </odoo>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<!--Sequences--> <!--Sequences-->
@@ -6,57 +6,65 @@
<field name="name">RMA Customer Sequence out</field> <field name="name">RMA Customer Sequence out</field>
<field name="prefix">RMA/CUST/OUT</field> <field name="prefix">RMA/CUST/OUT</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_cust_in" model="ir.sequence"> <record id="seq_picking_type_rma_cust_in" model="ir.sequence">
<field name="name">RMA Customer Sequence in</field> <field name="name">RMA Customer Sequence in</field>
<field name="prefix">RMA/CUST/IN</field> <field name="prefix">RMA/CUST/IN</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_sup_out" model="ir.sequence"> <record id="seq_picking_type_rma_sup_out" model="ir.sequence">
<field name="name">RMA Supplier Sequence out</field> <field name="name">RMA Supplier Sequence out</field>
<field name="prefix">RMA/SUPP/OUT</field> <field name="prefix">RMA/SUPP/OUT</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_sup_in" model="ir.sequence"> <record id="seq_picking_type_rma_sup_in" model="ir.sequence">
<field name="name">RMA Supplier Sequence in</field> <field name="name">RMA Supplier Sequence in</field>
<field name="prefix">RMA/SUPP/IN</field> <field name="prefix">RMA/SUPP/IN</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<record id="seq_picking_type_rma_dropship" model="ir.sequence"> <record id="seq_picking_type_rma_dropship" model="ir.sequence">
<field name="name">RMA Dropship</field> <field name="name">RMA Dropship</field>
<field name="prefix">RMA/DS</field> <field name="prefix">RMA/DS</field>
<field name="padding">5</field> <field name="padding">5</field>
<field name="company_id" eval="False"/> <field name="company_id" eval="False" />
</record> </record>
<!--Dropshipping Types--> <!--Dropshipping Types-->
<record id="picking_type_rma_dropship_return" model="stock.picking.type"> <record id="picking_type_rma_dropship_return" model="stock.picking.type">
<field name="name">Customer -> Supplier</field> <field name="name">Customer -> Supplier</field>
<field name="sequence_id" ref="seq_picking_type_rma_dropship"/> <field name="sequence_id" ref="seq_picking_type_rma_dropship" />
<field name="default_location_src_id" <field
ref="stock.stock_location_customers"/> name="default_location_src_id"
<field name="default_location_dest_id" ref="stock.stock_location_customers"
ref="stock.stock_location_suppliers"/> />
<field name="warehouse_id" eval="False"/> <field
name="default_location_dest_id"
ref="stock.stock_location_suppliers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
<record id="picking_type_rma_dropship" model="stock.picking.type"> <record id="picking_type_rma_dropship" model="stock.picking.type">
<field name="name">Supplier -> Customer</field> <field name="name">Supplier -> Customer</field>
<field name="sequence_id" ref="seq_picking_type_rma_dropship"/> <field name="sequence_id" ref="seq_picking_type_rma_dropship" />
<field name="default_location_src_id" <field
ref="stock.stock_location_suppliers"/> name="default_location_src_id"
<field name="default_location_dest_id" ref="stock.stock_location_suppliers"
ref="stock.stock_location_customers"/> />
<field name="warehouse_id" eval="False"/> <field
name="default_location_dest_id"
ref="stock.stock_location_customers"
/>
<field name="warehouse_id" eval="False" />
<field name="code">incoming</field> <field name="code">incoming</field>
</record> </record>
@@ -64,58 +72,59 @@
<record id="route_rma_customer" model="stock.location.route"> <record id="route_rma_customer" model="stock.location.route">
<field name="name">RMA Customer</field> <field name="name">RMA Customer</field>
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<record id="route_rma_supplier" model="stock.location.route"> <record id="route_rma_supplier" model="stock.location.route">
<field name="name">RMA Supplier</field> <field name="name">RMA Supplier</field>
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<record id="route_rma_dropship" model="stock.location.route"> <record id="route_rma_dropship" model="stock.location.route">
<field name="name">RMA Dropship</field> <field name="name">RMA Dropship</field>
<field name="sequence">10</field> <field name="sequence">10</field>
<field name="product_selectable" eval="False"/> <field name="product_selectable" eval="False" />
<field name="product_categ_selectable" eval="False"/> <field name="product_categ_selectable" eval="False" />
<field name="warehouse_selectable" eval="False"/> <field name="warehouse_selectable" eval="False" />
<field name="rma_selectable" eval="True"/> <field name="rma_selectable" eval="True" />
</record> </record>
<!--Dropship rules--> <!--Dropship rules-->
<record id="rule_rma_dropship_return" model="stock.rule"> <record id="rule_rma_dropship_return" model="stock.rule">
<field name="name">Customer → Supplier</field> <field name="name">Customer → Supplier</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_id" ref="stock.stock_location_suppliers"/> <field name="location_id" ref="stock.stock_location_suppliers" />
<field name="location_src_id" ref="stock.stock_location_customers"/> <field name="location_src_id" ref="stock.stock_location_customers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_dropship"/> <field name="route_id" ref="rma.route_rma_dropship" />
<field name="picking_type_id" <field
ref="rma.picking_type_rma_dropship_return"/> name="picking_type_id"
ref="rma.picking_type_rma_dropship_return"
/>
</record> </record>
<record id="rule_rma_dropship" model="stock.rule"> <record id="rule_rma_dropship" model="stock.rule">
<field name="name">Supplier → Customer</field> <field name="name">Supplier → Customer</field>
<field name="action">pull</field> <field name="action">pull</field>
<field name="warehouse_id" ref="stock.warehouse0"/> <field name="warehouse_id" ref="stock.warehouse0" />
<field name="location_id" ref="stock.stock_location_customers"/> <field name="location_id" ref="stock.stock_location_customers" />
<field name="location_src_id" ref="stock.stock_location_suppliers"/> <field name="location_src_id" ref="stock.stock_location_suppliers" />
<field name="procure_method">make_to_stock</field> <field name="procure_method">make_to_stock</field>
<field name="route_id" ref="rma.route_rma_dropship"/> <field name="route_id" ref="rma.route_rma_dropship" />
<field name="picking_type_id" <field name="picking_type_id" ref="rma.picking_type_rma_dropship" />
ref="rma.picking_type_rma_dropship"/>
</record> </record>
<!-- Enable the RMA in warehouse0 --> <!-- Enable the RMA in warehouse0 -->
<record id="stock.warehouse0" model="stock.warehouse"> <record id="stock.warehouse0" model="stock.warehouse">
<field name="rma_in_this_wh" eval="True"/> <field name="rma_in_this_wh" eval="True" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<data> <data>
<report <report

View File

@@ -1,61 +1,92 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<template id="report_rma_order_line_document"> <template id="report_rma_order_line_document">
<t t-call="web.external_layout"> <t t-call="web.external_layout">
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" /> <t
t-set="doc"
t-value="doc.with_context({'lang':doc.partner_id.lang})"
/>
<div class="page"> <div class="page">
<div class="oe_structure"/> <div class="oe_structure" />
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<t t-if="(doc.customer_to_supplier==False and doc.type=='customer') or (doc.supplier_to_customer==False and doc.type=='supplier')"> <t
t-if="(doc.customer_to_supplier==False and doc.type=='customer') or (doc.supplier_to_customer==False and doc.type=='supplier')"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div class="mt8"> <div class="mt8">
<div t-field="doc.in_warehouse_id.partner_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.in_warehouse_id.partner_id"
<p t-if="doc.in_warehouse_id.partner_id.vat">VAT: <span t-field="doc.in_warehouse_id.partner_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p
t-if="doc.in_warehouse_id.partner_id.vat"
>VAT: <span
t-field="doc.in_warehouse_id.partner_id.vat"
/></p>
</div> </div>
</t> </t>
<div t-if="doc.customer_to_supplier and doc.type=='customer'" class="mt8"> <div
t-if="doc.customer_to_supplier and doc.type=='customer'"
class="mt8"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div t-field="doc.supplier_address_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.supplier_address_id"
<p t-if="doc.supplier_address_id.vat">VAT: <span t-field="doc.supplier_address_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p t-if="doc.supplier_address_id.vat">VAT: <span
t-field="doc.supplier_address_id.vat"
/></p>
</div> </div>
<div t-if="doc.supplier_to_customer and doc.type=='supplier'" class="mt8"> <div
t-if="doc.supplier_to_customer and doc.type=='supplier'"
class="mt8"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div t-field="doc.customer_address_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.customer_address_id"
<p t-if="doc.customer_address_id.vat">VAT: <span t-field="doc.customer_address_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p t-if="doc.customer_address_id.vat">VAT: <span
t-field="doc.customer_address_id.vat"
/></p>
</div> </div>
</div> </div>
<div class="col-3 offset-1"> <div class="col-3 offset-1">
<strong t-if="doc.type=='customer'">Customer:</strong> <strong t-if="doc.type=='customer'">Customer:</strong>
<strong t-if="doc.type=='supplier'">Supplier:</strong> <strong t-if="doc.type=='supplier'">Supplier:</strong>
<div t-field="doc.partner_id" <div
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' /> t-field="doc.partner_id"
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}'
/>
</div> </div>
</div> </div>
<h2 class="mt32"> <h2 class="mt32">
<span t-field="doc.name"/> <span t-field="doc.name" />
</h2> </h2>
<div class="row mt32 mb32" id="informations"> <div class="row mt32 mb32" id="informations">
<div t-if="doc.origin" class="col-3"> <div t-if="doc.origin" class="col-3">
<strong>Origin Reference:</strong> <strong>Origin Reference:</strong>
<p t-field="doc.origin"/> <p t-field="doc.origin" />
</div> </div>
<div t-if="doc.create_date" class="col-3"> <div t-if="doc.create_date" class="col-3">
<strong>Date Ordered:</strong> <strong>Date Ordered:</strong>
<p t-field="doc.create_date"/> <p t-field="doc.create_date" />
</div> </div>
<div t-if="doc.requested_by.name" class="col-3"> <div t-if="doc.requested_by.name" class="col-3">
<strong>Contact Person:</strong> <strong>Contact Person:</strong>
<p t-field="doc.requested_by.name"/> <p t-field="doc.requested_by.name" />
</div> </div>
<div name="operation_id" t-if="doc.operation_id" class="col-3"> <div
name="operation_id"
t-if="doc.operation_id"
class="col-3"
>
<strong>Operation:</strong> <strong>Operation:</strong>
<p t-field="doc.operation_id.name"/> <p t-field="doc.operation_id.name" />
</div> </div>
</div> </div>
@@ -69,24 +100,30 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><span t-field="doc.product_id"/></td> <td><span t-field="doc.product_id" /></td>
<td class="text-right"> <td class="text-right">
<span t-field="doc.product_qty"/> <span t-field="doc.product_qty" />
<span t-field="doc.uom_id" groups="uom.group_uom"/> <span
t-field="doc.uom_id"
groups="uom.group_uom"
/>
</td> </td>
<td class="text-right"> <td class="text-right">
<span t-field="doc.price_unit" t-options='{"widget": "monetary", "display_currency": doc.currency_id}'/> <span
t-field="doc.price_unit"
t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
/>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div t-if="doc.description"> <div t-if="doc.description">
<strong><p>Description</p></strong> <strong><p>Description</p></strong>
<span t-field="doc.description"></span> <span t-field="doc.description" />
</div> </div>
<div t-if="doc.conditions"> <div t-if="doc.conditions">
<strong><p>Term and conditions</p></strong> <strong><p>Term and conditions</p></strong>
<span t-field="doc.conditions"></span> <span t-field="doc.conditions" />
</div> </div>
</div> </div>
</t> </t>
@@ -96,7 +133,10 @@
<template id="report_rma_order_line"> <template id="report_rma_order_line">
<t t-call="web.html_container"> <t t-call="web.html_container">
<t t-foreach="docs" t-as="doc"> <t t-foreach="docs" t-as="doc">
<t t-call="rma.report_rma_order_line_document" t-lang="doc.partner_id.lang"/> <t
t-call="rma.report_rma_order_line_document"
t-lang="doc.partner_id.lang"
/>
</t> </t>
</t> </t>
</template> </template>
@@ -104,56 +144,83 @@
<template id="report_rma_order_document"> <template id="report_rma_order_document">
<t t-call="web.external_layout"> <t t-call="web.external_layout">
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" /> <t
t-set="doc"
t-value="doc.with_context({'lang':doc.partner_id.lang})"
/>
<div class="page"> <div class="page">
<div class="oe_structure"/> <div class="oe_structure" />
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<t t-if="(doc.customer_to_supplier==False and doc.type=='customer') or (doc.supplier_to_customer==False and doc.type=='supplier')"> <t
t-if="(doc.customer_to_supplier==False and doc.type=='customer') or (doc.supplier_to_customer==False and doc.type=='supplier')"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div class="mt8"> <div class="mt8">
<div t-field="doc.in_warehouse_id.partner_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.in_warehouse_id.partner_id"
<p t-if="doc.in_warehouse_id.partner_id.vat">VAT: <span t-field="doc.in_warehouse_id.partner_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p
t-if="doc.in_warehouse_id.partner_id.vat"
>VAT: <span
t-field="doc.in_warehouse_id.partner_id.vat"
/></p>
</div> </div>
</t> </t>
<div t-if="doc.customer_to_supplier and doc.type=='customer'" class="mt8"> <div
t-if="doc.customer_to_supplier and doc.type=='customer'"
class="mt8"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div t-field="doc.supplier_address_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.supplier_address_id"
<p t-if="doc.supplier_address_id.vat">VAT: <span t-field="doc.supplier_address_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p t-if="doc.supplier_address_id.vat">VAT: <span
t-field="doc.supplier_address_id.vat"
/></p>
</div> </div>
<div t-if="doc.supplier_to_customer and doc.type=='supplier'" class="mt8"> <div
t-if="doc.supplier_to_customer and doc.type=='supplier'"
class="mt8"
>
<strong>Shipping address:</strong> <strong>Shipping address:</strong>
<div t-field="doc.customer_address_id" <div
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'/> t-field="doc.customer_address_id"
<p t-if="doc.customer_address_id.vat">VAT: <span t-field="doc.customer_address_id.vat"/></p> t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
/>
<p t-if="doc.customer_address_id.vat">VAT: <span
t-field="doc.customer_address_id.vat"
/></p>
</div> </div>
</div> </div>
<div class="col-3 offset-1"> <div class="col-3 offset-1">
<strong t-if="doc.type=='customer'">Customer:</strong> <strong t-if="doc.type=='customer'">Customer:</strong>
<strong t-if="doc.type=='supplier'">Supplier:</strong> <strong t-if="doc.type=='supplier'">Supplier:</strong>
<div t-field="doc.partner_id" <div
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' /> t-field="doc.partner_id"
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}'
/>
</div> </div>
</div> </div>
<h2 class="mt32"> <h2 class="mt32">
<span t-field="doc.name"/> <span t-field="doc.name" />
</h2> </h2>
<div class="row mt32 mb32" id="informations"> <div class="row mt32 mb32" id="informations">
<div t-if="doc.reference" class="col-3"> <div t-if="doc.reference" class="col-3">
<strong>Reference:</strong> <strong>Reference:</strong>
<p t-field="doc.reference"/> <p t-field="doc.reference" />
</div> </div>
<div t-if="doc.date_rma" class="col-3"> <div t-if="doc.date_rma" class="col-3">
<strong>Date Ordered:</strong> <strong>Date Ordered:</strong>
<p t-field="doc.date_rma"/> <p t-field="doc.date_rma" />
</div> </div>
<div t-if="doc.requested_by.name" class="col-3"> <div t-if="doc.requested_by.name" class="col-3">
<strong>Contact Person:</strong> <strong>Contact Person:</strong>
<p t-field="doc.requested_by.name"/> <p t-field="doc.requested_by.name" />
</div> </div>
</div> </div>
@@ -169,22 +236,25 @@
</thead> </thead>
<tbody> <tbody>
<tr t-foreach="doc.rma_line_ids" t-as="l"> <tr t-foreach="doc.rma_line_ids" t-as="l">
<td><span t-field="l.origin"/></td> <td><span t-field="l.origin" /></td>
<td><span t-field="l.operation_id.name"/></td> <td><span t-field="l.operation_id.name" /></td>
<td><span t-field="l.product_id"/></td> <td><span t-field="l.product_id" /></td>
<td class="text-right"> <td class="text-right">
<span t-field="l.product_qty"/> <span t-field="l.product_qty" />
<span t-field="l.uom_id" groups="uom.group_uom"/> <span
t-field="l.uom_id"
groups="uom.group_uom"
/>
</td> </td>
<td class="text-right"> <td class="text-right">
<span t-field="l.price_unit"/> <span t-field="l.price_unit" />
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div t-if="doc.comment"> <div t-if="doc.comment">
<strong><p>Additional Information</p></strong> <strong><p>Additional Information</p></strong>
<span t-field="doc.comment"></span> <span t-field="doc.comment" />
</div> </div>
</div> </div>
</t> </t>
@@ -193,7 +263,10 @@
<template id="report_rma_order"> <template id="report_rma_order">
<t t-call="web.html_container"> <t t-call="web.html_container">
<t t-foreach="docs" t-as="doc"> <t t-foreach="docs" t-as="doc">
<t t-call="rma.report_rma_order_document" t-lang="doc.partner_id.lang"/> <t
t-call="rma.report_rma_order_document"
t-lang="doc.partner_id.lang"
/>
</t> </t>
</t> </t>
</template> </template>

View File

@@ -1,72 +1,100 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<data noupdate="0"> <data noupdate="0">
<record model="ir.module.category" id="module_category_rma"> <record model="ir.module.category" id="module_category_rma">
<field name="name">RMA</field> <field name="name">RMA</field>
<field name="parent_id" ref="base.module_category_sales"/> <field name="parent_id" ref="base.module_category_sales" />
<field name="sequence">30</field> <field name="sequence">30</field>
</record> </record>
<record id="group_rma_customer_user" model="res.groups"> <record id="group_rma_customer_user" model="res.groups">
<field name="name">RMA Customer User</field> <field name="name">RMA Customer User</field>
<field name="implied_ids" eval="[(4, ref('stock.group_stock_user'))]"/> <field
<field name="category_id" ref="module_category_rma"/> name="implied_ids"
eval="[(4, ref('stock.group_stock_user'))]"
/>
<field name="category_id" ref="module_category_rma" />
</record> </record>
<record id="group_rma_supplier_user" model="res.groups"> <record id="group_rma_supplier_user" model="res.groups">
<field name="name">RMA Supplier User</field> <field name="name">RMA Supplier User</field>
<field name="implied_ids" eval="[(4, ref('stock.group_stock_user'))]"/> <field
<field name="category_id" ref="module_category_rma"/> name="implied_ids"
eval="[(4, ref('stock.group_stock_user'))]"
/>
<field name="category_id" ref="module_category_rma" />
</record> </record>
<record id="group_rma_manager" model="res.groups"> <record id="group_rma_manager" model="res.groups">
<field name="name">RMA Manager</field> <field name="name">RMA Manager</field>
<field name="implied_ids" <field
name="implied_ids"
eval="[(4, ref('rma.group_rma_customer_user')), eval="[(4, ref('rma.group_rma_customer_user')),
(4, ref('rma.group_rma_supplier_user'))]"/> (4, ref('rma.group_rma_supplier_user'))]"
<field name="users" eval="[(4, ref('base.user_root'))]"/> />
<field name="category_id" ref="module_category_rma"/> <field name="users" eval="[(4, ref('base.user_root'))]" />
<field name="category_id" ref="module_category_rma" />
</record> </record>
<record id="group_rma_delivery_invoice_address" model="res.groups"> <record id="group_rma_delivery_invoice_address" model="res.groups">
<field name="name">Addresses in RMA</field> <field name="name">Addresses in RMA</field>
<field name="category_id" ref="module_category_rma"/> <field name="category_id" ref="module_category_rma" />
<field name="users" eval="[(4, ref('base.user_root'))]"/> <field name="users" eval="[(4, ref('base.user_root'))]" />
</record> </record>
<record id="group_rma_groups" model="res.groups"> <record id="group_rma_groups" model="res.groups">
<field name="name">RMA Groups</field> <field name="name">RMA Groups</field>
<field name="category_id" ref="module_category_rma"/> <field name="category_id" ref="module_category_rma" />
</record> </record>
<record id="stock.group_stock_manager" model="res.groups"> <record id="stock.group_stock_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_rma_manager'))]"/> <field name="implied_ids" eval="[(4, ref('group_rma_manager'))]" />
</record> </record>
<record id="stock.group_stock_user" model="res.groups"> <record id="stock.group_stock_user" model="res.groups">
<field name="implied_ids" <field
name="implied_ids"
eval="[(4, ref('group_rma_customer_user')), eval="[(4, ref('group_rma_customer_user')),
(4, ref('group_rma_supplier_user'))]"/> (4, ref('group_rma_supplier_user'))]"
/>
</record> </record>
<record model="ir.rule" id="rma_order_rule"> <record model="ir.rule" id="rma_order_rule">
<field name="name">rma order multi-company</field> <field name="name">rma order multi-company</field>
<field name="model_id" search="[('model','=','rma.order')]" model="ir.model"/> <field
<field name="global" eval="True"/> name="model_id"
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> search="[('model','=','rma.order')]"
model="ir.model"
/>
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record> </record>
<record model="ir.rule" id="rma_order_line_rule"> <record model="ir.rule" id="rma_order_line_rule">
<field name="name">rma order line multi-company</field> <field name="name">rma order line multi-company</field>
<field name="model_id" search="[('model','=','rma.order.line')]" model="ir.model"/> <field
<field name="global" eval="True"/> name="model_id"
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> search="[('model','=','rma.order.line')]"
model="ir.model"
/>
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record> </record>
<record model="ir.rule" id="rma_operation_rule"> <record model="ir.rule" id="rma_operation_rule">
<field name="name">rma operation multi-company</field> <field name="name">rma operation multi-company</field>
<field name="model_id" search="[('model','=','rma.operation')]" model="ir.model"/> <field
<field name="global" eval="True"/> name="model_id"
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> search="[('model','=','rma.operation')]"
model="ir.model"
/>
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record> </record>
</data> </data>

View File

@@ -1,19 +1,29 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="product_category_form_view" model="ir.ui.view"> <record id="product_category_form_view" model="ir.ui.view">
<field name="name">product.category.form</field> <field name="name">product.category.form</field>
<field name="model">product.category</field> <field name="model">product.category</field>
<field name="inherit_id" ref="stock.product_category_form_view_inherit"/> <field
name="inherit_id"
ref="stock.product_category_form_view_inherit"
/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="removal_strategy_id" position="after"> <field name="removal_strategy_id" position="after">
<group name="rma"> <group name="rma">
<field name="rma_approval_policy" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"/> <field
<field name="rma_customer_operation_id" name="rma_approval_policy"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','customer')]"/> />
<field name="rma_supplier_operation_id" <field
name="rma_customer_operation_id"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','supplier')]"/> domain="[('type','=','customer')]"
/>
<field
name="rma_supplier_operation_id"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','supplier')]"
/>
</group> </group>
</field> </field>
</field> </field>
@@ -22,17 +32,24 @@
<record id="product_template_form_view" model="ir.ui.view"> <record id="product_template_form_view" model="ir.ui.view">
<field name="name">product.template.stock.property.form.inherit</field> <field name="name">product.template.stock.property.form.inherit</field>
<field name="model">product.template</field> <field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/> <field name="inherit_id" ref="product.product_template_form_view" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="inventory" position="inside"> <group name="inventory" position="inside">
<group name="rma" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"> <group
<field name="rma_approval_policy"/> name="rma"
<field name="rma_customer_operation_id"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','customer')]"/> >
<field name="rma_supplier_operation_id" <field name="rma_approval_policy" />
<field
name="rma_customer_operation_id"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','supplier')]"/> domain="[('type','=','customer')]"
/>
<field
name="rma_supplier_operation_id"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
domain="[('type','=','supplier')]"
/>
</group> </group>
</group> </group>
</field> </field>

View File

@@ -1,23 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<odoo> <odoo>
<record id="res_config_settings_view_form" model="ir.ui.view"> <record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.rma</field> <field name="name">res.config.settings.view.form.inherit.rma</field>
<field name="model">res.config.settings</field> <field name="model">res.config.settings</field>
<field name="priority" eval="10"/> <field name="priority" eval="10" />
<field name="inherit_id" ref="base.res_config_settings_view_form" /> <field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[hasclass('settings')]" position="inside"> <xpath expr="//div[hasclass('settings')]" position="inside">
<div class="app_settings_block" data-string="RMA" string="RMA" data-key="rma" groups="rma.group_rma_manager"> <div
class="app_settings_block"
data-string="RMA"
string="RMA"
data-key="rma"
groups="rma.group_rma_manager"
>
<h2>Return Merchandise Authorization</h2> <h2>Return Merchandise Authorization</h2>
<div class="row mt16 o_settings_container"> <div class="row mt16 o_settings_container">
<div class="col-12 col-lg-6 o_setting_box"> <div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane"> <div class="o_setting_left_pane">
<field name="group_rma_delivery_address"/> <field name="group_rma_delivery_address" />
</div> </div>
<div class="o_setting_right_pane"> <div class="o_setting_right_pane">
<label for="group_rma_delivery_address"/> <label for="group_rma_delivery_address" />
<div class="text-muted"> <div class="text-muted">
Display 3 fields on rma: partner, invoice address, delivery address. Display 3 fields on rma: partner, invoice address, delivery address.
</div> </div>
@@ -25,10 +30,10 @@
</div> </div>
<div class="col-12 col-lg-6 o_setting_box"> <div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane"> <div class="o_setting_left_pane">
<field name="group_rma_lines"/> <field name="group_rma_lines" />
</div> </div>
<div class="o_setting_right_pane"> <div class="o_setting_right_pane">
<label for="group_rma_lines"/> <label for="group_rma_lines" />
<div class="text-muted"> <div class="text-muted">
Group RMA lines in one RMA group Group RMA lines in one RMA group
</div> </div>
@@ -36,10 +41,10 @@
</div> </div>
<div class="col-12 col-lg-6 o_setting_box"> <div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane"> <div class="o_setting_left_pane">
<field name="module_rma_account"/> <field name="module_rma_account" />
</div> </div>
<div class="o_setting_right_pane"> <div class="o_setting_right_pane">
<label for="module_rma_account"/> <label for="module_rma_account" />
<div class="text-muted"> <div class="text-muted">
Enable RMA invoicing Enable RMA invoicing
</div> </div>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_partner_form" model="ir.ui.view"> <record id="view_partner_form" model="ir.ui.view">
@@ -7,14 +7,19 @@
<field name="inherit_id" ref="base.view_partner_form" /> <field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name="button_box" position="inside"> <div name="button_box" position="inside">
<button type="object" <button
type="object"
name="action_open_partner_rma" name="action_open_partner_rma"
class="oe_stat_button" class="oe_stat_button"
icon="fa-dropbox" icon="fa-dropbox"
context="{'res_partner_search_mode': 'customer'}" context="{'res_partner_search_mode': 'customer'}"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"> groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
<field name="rma_line_count" widget="statinfo" >
string="RMAs"/> <field
name="rma_line_count"
widget="statinfo"
string="RMAs"
/>
</button> </button>
</div> </div>
</field> </field>

View File

@@ -6,94 +6,143 @@
name="RMA" name="RMA"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user,rma.group_rma_manager" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user,rma.group_rma_manager"
web_icon="rma,static/description/icon.png" web_icon="rma,static/description/icon.png"
sequence="100"/> sequence="100"
/>
<!-- Customer RMA --> <!-- Customer RMA -->
<menuitem id="menu_customer_rma" <menuitem
id="menu_customer_rma"
name="Customer RMA" name="Customer RMA"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
sequence="30" sequence="30"
parent="menu_rma_root"/> parent="menu_rma_root"
/>
<menuitem <menuitem
id="menu_rma_act_customer" id="menu_rma_act_customer"
sequence="50" sequence="50"
parent="menu_customer_rma" parent="menu_customer_rma"
groups="rma.group_rma_groups" groups="rma.group_rma_groups"
action="action_rma_customer"/> action="action_rma_customer"
/>
<menuitem <menuitem
id="menu_rma_line_customer" id="menu_rma_line_customer"
sequence="20" sequence="20"
parent="menu_customer_rma" parent="menu_customer_rma"
groups="rma.group_rma_customer_user" groups="rma.group_rma_customer_user"
action="action_rma_customer_lines"/> action="action_rma_customer_lines"
/>
<!-- Supplier RMA --> <!-- Supplier RMA -->
<menuitem id="menu_supplier_rma" <menuitem
id="menu_supplier_rma"
name="Supplier RMA" name="Supplier RMA"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
sequence="31" sequence="31"
parent="menu_rma_root"/> parent="menu_rma_root"
/>
<menuitem <menuitem
id="menu_rma_act_supplier" id="menu_rma_act_supplier"
sequence="50" sequence="50"
parent="menu_supplier_rma" parent="menu_supplier_rma"
groups="rma.group_rma_groups" groups="rma.group_rma_groups"
action="action_rma_supplier"/> action="action_rma_supplier"
/>
<menuitem <menuitem
id="menu_rma_line_supplier" id="menu_rma_line_supplier"
sequence="20" sequence="20"
parent="menu_supplier_rma" parent="menu_supplier_rma"
groups="rma.group_rma_supplier_user" groups="rma.group_rma_supplier_user"
action="action_rma_supplier_lines"/> action="action_rma_supplier_lines"
/>
<!-- Settings--> <!-- Settings-->
<menuitem id="menu_rma_config" <menuitem
id="menu_rma_config"
name="Configuration" name="Configuration"
groups="rma.group_rma_manager" groups="rma.group_rma_manager"
sequence="999" sequence="999"
parent="menu_rma_root"/> parent="menu_rma_root"
/>
<menuitem id="menu_rma_global_settings" name="Settings" <menuitem
id="menu_rma_global_settings"
name="Settings"
parent="rma.menu_rma_config" parent="rma.menu_rma_config"
sequence="1" action="action_rma_config_settings" sequence="1"
groups="base.group_system"/> action="action_rma_config_settings"
groups="base.group_system"
/>
<menuitem id="menu_rma_operation_customer" <menuitem
id="menu_rma_operation_customer"
name="Customer Operations" name="Customer Operations"
groups="rma.group_rma_manager" groups="rma.group_rma_manager"
sequence="35" sequence="35"
parent="rma.menu_rma_config" parent="rma.menu_rma_config"
action="action_rma_operation_customer"/> action="action_rma_operation_customer"
/>
<menuitem id="menu_rma_operation_supplier" <menuitem
id="menu_rma_operation_supplier"
name="Supplier Operations" name="Supplier Operations"
groups="rma.group_rma_manager" groups="rma.group_rma_manager"
sequence="40" sequence="40"
parent="rma.menu_rma_config" parent="rma.menu_rma_config"
action="action_rma_operation_supplier"/> action="action_rma_operation_supplier"
/>
<!-- Master data menus--> <!-- Master data menus-->
<menuitem id="menu_rma_rma_control" name="Master Data" parent="menu_rma_root" sequence="50"/> <menuitem
<menuitem id="menu_rma_config_warehouse" name="Warehouse" id="menu_rma_rma_control"
parent="rma.menu_rma_rma_control" sequence="10"/> name="Master Data"
<menuitem id="menu_rma_config_stock" name="Products" action="stock.product_template_action_product" parent="menu_rma_root"
parent="rma.menu_rma_config_warehouse" sequence="10"/> sequence="50"
<menuitem id="rma_product_product_menu" name="Product Variants" action="stock.stock_product_normal_action" />
parent="rma.menu_rma_config_warehouse" sequence="20" groups="product.group_product_variant"/> <menuitem
id="menu_rma_config_warehouse"
name="Warehouse"
parent="rma.menu_rma_rma_control"
sequence="10"
/>
<menuitem
id="menu_rma_config_stock"
name="Products"
action="stock.product_template_action_product"
parent="rma.menu_rma_config_warehouse"
sequence="10"
/>
<menuitem
id="rma_product_product_menu"
name="Product Variants"
action="stock.stock_product_normal_action"
parent="rma.menu_rma_config_warehouse"
sequence="20"
groups="product.group_product_variant"
/>
<menuitem id="menu_rma_config_partners" name="Partners" <menuitem
parent="rma.menu_rma_rma_control" sequence="20"/> id="menu_rma_config_partners"
<menuitem id="rma_res_partner_menu_customer" name="Partners"
parent="rma.menu_rma_rma_control"
sequence="20"
/>
<menuitem
id="rma_res_partner_menu_customer"
name="Customers" name="Customers"
parent="rma.menu_rma_config_partners" parent="rma.menu_rma_config_partners"
action="base.action_partner_form" action="base.action_partner_form"
sequence="50"/> sequence="50"
<menuitem id="rma_res_partner_menu_suppliers" name="Suppliers" />
<menuitem
id="rma_res_partner_menu_suppliers"
name="Suppliers"
parent="rma.menu_rma_config_partners" parent="rma.menu_rma_config_partners"
action="account.res_partner_action_supplier" sequence="60"/> action="account.res_partner_action_supplier"
sequence="60"
/>
</odoo> </odoo>

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="rma_operation_tree" model="ir.ui.view"> <record id="rma_operation_tree" model="ir.ui.view">
<field name="name">rma.operation.tree</field> <field name="name">rma.operation.tree</field>
<field name="model">rma.operation</field> <field name="model">rma.operation</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="RMA Operations"> <tree string="RMA Operations">
<field name="active" invisible="1"/> <field name="active" invisible="1" />
<field name="code"/> <field name="code" />
<field name="name"/> <field name="name" />
<field name="receipt_policy"/> <field name="receipt_policy" />
<field name="delivery_policy"/> <field name="delivery_policy" />
</tree> </tree>
</field> </field>
</record> </record>
@@ -21,38 +21,52 @@
<form string="RMA Operations"> <form string="RMA Operations">
<sheet> <sheet>
<div class="oe_button_box" name="button_box"> <div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" <button
class="oe_stat_button" icon="fa-archive"> name="toggle_active"
<field name="active" widget="boolean_button" type="object"
options='{"terminology": "archive"}'/> class="oe_stat_button"
icon="fa-archive"
>
<field
name="active"
widget="boolean_button"
options='{"terminology": "archive"}'
/>
</button> </button>
</div> </div>
<group colspan="4" col="2"> <group colspan="4" col="2">
<group name="description" <group name="description" string="Description">
string="Description"> <field name="code" />
<field name="code"/> <field name="name" />
<field name="name"/> <field name="type" />
<field name="type"/> <field
<field name="company_id" groups="base.group_multi_company"/> name="company_id"
groups="base.group_multi_company"
/>
</group> </group>
<group name="policies" <group name="policies" string="Policies">
string="Policies"> <field name="receipt_policy" />
<field name="receipt_policy"/> <field name="delivery_policy" />
<field name="delivery_policy"/>
</group> </group>
<group name="inbound" string="Inbound"> <group name="inbound" string="Inbound">
<field name="in_route_id"/> <field name="in_route_id" />
<field name="in_warehouse_id"/> <field name="in_warehouse_id" />
<field name="location_id" <field
domain="[('usage', '=', 'internal')]"/> name="location_id"
<field name="customer_to_supplier" domain="[('usage', '=', 'internal')]"
attrs="{'invisible':[('type', '=', 'supplier')]}"/> />
<field
name="customer_to_supplier"
attrs="{'invisible':[('type', '=', 'supplier')]}"
/>
</group> </group>
<group name="outbound" string="Outbound"> <group name="outbound" string="Outbound">
<field name="out_route_id"/> <field name="out_route_id" />
<field name="out_warehouse_id"/> <field name="out_warehouse_id" />
<field name="supplier_to_customer" <field
attrs="{'invisible':[('type', '=', 'customer')]}"/> name="supplier_to_customer"
attrs="{'invisible':[('type', '=', 'customer')]}"
/>
</group> </group>
</group> </group>
</sheet> </sheet>
@@ -66,7 +80,7 @@
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="context">{'default_type': "customer"}</field> <field name="context">{'default_type': "customer"}</field>
<field name="domain">[('type','=', 'customer')]</field> <field name="domain">[('type','=', 'customer')]</field>
<field name="view_id" ref="rma_operation_tree"/> <field name="view_id" ref="rma_operation_tree" />
</record> </record>
<record id="action_rma_operation_supplier" model="ir.actions.act_window"> <record id="action_rma_operation_supplier" model="ir.actions.act_window">
@@ -75,7 +89,7 @@
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="context">{'default_type': "supplier"}</field> <field name="context">{'default_type': "supplier"}</field>
<field name="domain">[('type','=', 'supplier')]</field> <field name="domain">[('type','=', 'supplier')]</field>
<field name="view_id" ref="rma_operation_tree"/> <field name="view_id" ref="rma_operation_tree" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,24 +1,26 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<data> <data>
<record id="view_rma_line_tree" model="ir.ui.view"> <record id="view_rma_line_tree" model="ir.ui.view">
<field name="name">rma.order.line.tree</field> <field name="name">rma.order.line.tree</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="RMA Line" <tree
decoration-info="state in ('draft','to_approve')"> string="RMA Line"
<field name="name"/> decoration-info="state in ('draft','to_approve')"
<field name="partner_id"/> >
<field name="product_id"/> <field name="name" />
<field name="lot_id" groups="stock.group_production_lot"/> <field name="partner_id" />
<field name="rma_id" groups="rma.group_rma_groups"/> <field name="product_id" />
<field name="origin"/> <field name="lot_id" groups="stock.group_production_lot" />
<field name="operation_id"/> <field name="rma_id" groups="rma.group_rma_groups" />
<field name="supplier_address_id"/> <field name="origin" />
<field name="uom_id" groups="uom.group_uom"/> <field name="operation_id" />
<field name="product_qty"/> <field name="supplier_address_id" />
<field name="price_unit"/> <field name="uom_id" groups="uom.group_uom" />
<field name="state"/> <field name="product_qty" />
<field name="price_unit" />
<field name="state" />
</tree> </tree>
</field> </field>
</record> </record>
@@ -27,19 +29,24 @@
<field name="name">rma.order.line.supplier.tree</field> <field name="name">rma.order.line.supplier.tree</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="RMA Line" <tree
decoration-info="state in ('draft','to_approve')"> string="RMA Line"
<field name="name"/> decoration-info="state in ('draft','to_approve')"
<field name="partner_id"/> >
<field name="product_id"/> <field name="name" />
<field name="lot_id" groups="stock.group_production_lot"/> <field name="partner_id" />
<field name="rma_id" groups="rma.group_rma_groups"/> <field name="product_id" />
<field name="origin"/> <field name="lot_id" groups="stock.group_production_lot" />
<field name="operation_id" domain="[('type','=','supplier')]"/> <field name="rma_id" groups="rma.group_rma_groups" />
<field name="uom_id" groups="uom.group_uom"/> <field name="origin" />
<field name="product_qty"/> <field
<field name="price_unit"/> name="operation_id"
<field name="state"/> domain="[('type','=','supplier')]"
/>
<field name="uom_id" groups="uom.group_uom" />
<field name="product_qty" />
<field name="price_unit" />
<field name="state" />
</tree> </tree>
</field> </field>
</record> </record>
@@ -50,160 +57,235 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="RMA Line"> <form string="RMA Line">
<header> <header>
<button name="action_rma_to_approve" type="object" <button
name="action_rma_to_approve"
type="object"
string="Request Approval" string="Request Approval"
attrs="{'invisible':[('state', '!=', 'draft')]}" attrs="{'invisible':[('state', '!=', 'draft')]}"
class="oe_highlight" groups="rma.group_rma_customer_user"/> class="oe_highlight"
<button name="action_rma_draft" type="object" groups="rma.group_rma_customer_user"
/>
<button
name="action_rma_draft"
type="object"
string="Back to Draft" string="Back to Draft"
attrs="{'invisible':[('state', '=', 'draft')]}" class="oe_highlight" attrs="{'invisible':[('state', '=', 'draft')]}"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"/> class="oe_highlight"
<button name="action_rma_approve" type="object" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
/>
<button
name="action_rma_approve"
type="object"
string="Approve" string="Approve"
attrs="{'invisible':[('state', '!=', 'to_approve')]}" class="oe_highlight" groups="rma.group_rma_customer_user"/> attrs="{'invisible':[('state', '!=', 'to_approve')]}"
<button name="action_rma_done" type="object" class="oe_highlight"
groups="rma.group_rma_customer_user"
/>
<button
name="action_rma_done"
type="object"
string="Done" string="Done"
attrs="{'invisible':[('state', 'in', ('done', 'draft'))]}" attrs="{'invisible':[('state', 'in', ('done', 'draft'))]}"
groups="rma.group_rma_customer_user"/> groups="rma.group_rma_customer_user"
<field name="state" widget="statusbar" nolabel="1"/> />
<field name="state" widget="statusbar" nolabel="1" />
</header> </header>
<sheet> <sheet>
<div name="button_box" class="oe_button_box"> <div name="button_box" class="oe_button_box">
<button type="object" name="action_view_in_shipments" <button
type="object"
name="action_view_in_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="in_shipment_count" widget="statinfo" >
string="Shipments"/> <field
name="in_shipment_count"
widget="statinfo"
string="Shipments"
/>
</button> </button>
<button type="object" name="action_view_out_shipments" <button
type="object"
name="action_view_out_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="out_shipment_count" widget="statinfo" >
string="Deliveries"/> <field
name="out_shipment_count"
widget="statinfo"
string="Deliveries"
/>
</button> </button>
<button type="object" name="action_view_rma_lines" <button
type="object"
name="action_view_rma_lines"
class="oe_stat_button" class="oe_stat_button"
icon="fa-link" icon="fa-link"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="rma_line_count" widget="statinfo" >
string="Customer RMA"/> <field
name="rma_line_count"
widget="statinfo"
string="Customer RMA"
/>
</button> </button>
</div> </div>
<div class="oe_title" name="title"> <div class="oe_title" name="title">
<h1> <h1>
<field name="name" readonly="1" <field
invisible="context.get('hide_title',False)"/> name="name"
readonly="1"
invisible="context.get('hide_title',False)"
/>
</h1> </h1>
</div> </div>
<group> <group>
<group name="partner"> <group name="partner">
<field name="partner_id" <field
name="partner_id"
context="{'res_partner_search_mode': 'supplier'}" context="{'res_partner_search_mode': 'supplier'}"
string="Supplier"/> string="Supplier"
<field name="delivery_address_id" />
<field
name="delivery_address_id"
domain="['|', ('parent_id', '=', partner_id),('id', '=', partner_id)]" domain="['|', ('parent_id', '=', partner_id),('id', '=', partner_id)]"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
groups='rma.group_rma_delivery_invoice_address'/> groups='rma.group_rma_delivery_invoice_address'
/>
</group> </group>
</group> </group>
<group> <group>
<group name="product" string="Product"> <group name="product" string="Product">
<field name="product_id"/> <field name="product_id" />
<newline/> <newline />
<field name="product_tracking" invisible="1"/> <field name="product_tracking" invisible="1" />
<field name="lot_id" <field
name="lot_id"
groups="stock.group_production_lot" groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}" attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"
domain="[('product_id', '=', product_id)]"/> domain="[('product_id', '=', product_id)]"
/>
</group> </group>
<group name="product_qty" string="Quantity"> <group name="product_qty" string="Quantity">
<field name="product_qty"/> <field name="product_qty" />
<field name="price_unit"/> <field name="price_unit" />
<field name="uom_id" groups="uom.group_uom"/> <field name="uom_id" groups="uom.group_uom" />
</group> </group>
</group> </group>
<group name="main_info" string="Origin"> <group name="main_info" string="Origin">
<field name="reference_move_id" <field
name="reference_move_id"
options="{'no_create': True}" options="{'no_create': True}"
domain="[('picking_id.partner_id', '=', partner_id), domain="[('picking_id.partner_id', '=', partner_id),
('location_id.usage', '=', 'supplier'), ('location_id.usage', '=', 'supplier'),
('state', '=', 'done')]"/> ('state', '=', 'done')]"
/>
</group> </group>
<group> <group>
<group name="operation" string="Operation"> <group name="operation" string="Operation">
<field name="operation_id" <field
domain="[('type','=','supplier')]"/> name="operation_id"
<field name="receipt_policy"/> domain="[('type','=','supplier')]"
<field name="delivery_policy"/> />
<field name="receipt_policy" />
<field name="delivery_policy" />
</group> </group>
<group name="description" string="Description"> <group name="description" string="Description">
<field name="description" nolabel="1"/> <field name="description" nolabel="1" />
</group> </group>
<group name="contact" string="Contact"> <group name="contact" string="Contact">
<field name="requested_by" readonly="1"/> <field name="requested_by" readonly="1" />
<field name="assigned_to"/> <field name="assigned_to" />
</group> </group>
</group> </group>
<notebook> <notebook>
<page name="route" string="Routes"> <page name="route" string="Routes">
<group> <group>
<group name="inbound" string="Inbound"> <group name="inbound" string="Inbound">
<field name="in_warehouse_id"/> <field name="in_warehouse_id" />
<field name="location_id" <field
domain="[('usage', '=', 'internal')]"/> name="location_id"
<field name="in_route_id" groups="stock.group_adv_location"/> domain="[('usage', '=', 'internal')]"
/>
<field
name="in_route_id"
groups="stock.group_adv_location"
/>
</group> </group>
<group name="outbound" string="Outbound"> <group name="outbound" string="Outbound">
<field name="out_warehouse_id"/> <field name="out_warehouse_id" />
<field name="out_route_id" groups="stock.group_adv_location"/> <field
<field name="supplier_to_customer"/> name="out_route_id"
<field name="customer_address_id" groups="stock.group_adv_location"
/>
<field name="supplier_to_customer" />
<field
name="customer_address_id"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
attrs="{'required':[('supplier_to_customer', '=', True)], attrs="{'required':[('supplier_to_customer', '=', True)],
'invisible':[('supplier_to_customer', '=', False)]}"/> 'invisible':[('supplier_to_customer', '=', False)]}"
/>
</group> </group>
</group> </group>
</page> </page>
<page name="stock" string="Stock Moves"> <page name="stock" string="Stock Moves">
<field name="move_ids" nolabel="1" readonly="1"/> <field
name="move_ids"
nolabel="1"
readonly="1"
/>
</page> </page>
<page name="quantities" string="Quantities"> <page name="quantities" string="Quantities">
<group> <group>
<group name="quantities" col="4" string="Quantities"> <group
name="quantities"
col="4"
string="Quantities"
>
<group name="receive"> <group name="receive">
<field name="qty_to_receive"/> <field name="qty_to_receive" />
<field name="qty_incoming"/> <field name="qty_incoming" />
<field name="qty_received"/> <field name="qty_received" />
</group> </group>
<group name="deliver"> <group name="deliver">
<field name="qty_to_deliver"/> <field name="qty_to_deliver" />
<field name="qty_outgoing"/> <field name="qty_outgoing" />
<field name="qty_delivered"/> <field name="qty_delivered" />
</group> </group>
</group> </group>
</group> </group>
</page> </page>
<page name="other" string="Other Info"> <page name="other" string="Other Info">
<group name="general" string="General"> <group name="general" string="General">
<field name="conditions"/> <field name="conditions" />
<field name="rma_id" groups="rma.group_rma_groups"/> <field
<field name="origin"/> name="rma_id"
groups="rma.group_rma_groups"
/>
<field name="origin" />
</group> </group>
<group name="company" string="Company" <group
groups="base.group_multi_company"> name="company"
<field name="company_id"/> string="Company"
groups="base.group_multi_company"
>
<field name="company_id" />
</group> </group>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_chatter"> <div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> <field
<field name="message_ids" widget="mail_thread"/> name="message_follower_ids"
widget="mail_followers"
groups="base.group_user"
/>
<field name="message_ids" widget="mail_thread" />
</div> </div>
</form> </form>
</field> </field>
@@ -215,38 +297,66 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="RMA Line"> <form string="RMA Line">
<header> <header>
<button name="action_rma_to_approve" type="object" <button
name="action_rma_to_approve"
type="object"
string="Request Approval" string="Request Approval"
attrs="{'invisible':[('state', '!=', 'draft')]}" attrs="{'invisible':[('state', '!=', 'draft')]}"
class="oe_highlight" groups="rma.group_rma_customer_user"/> class="oe_highlight"
<button name="action_rma_draft" type="object" groups="rma.group_rma_customer_user"
/>
<button
name="action_rma_draft"
type="object"
string="Back to Draft" string="Back to Draft"
attrs="{'invisible':[('state', '=', 'draft')]}" class="oe_highlight" attrs="{'invisible':[('state', '=', 'draft')]}"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"/> class="oe_highlight"
<button name="action_rma_approve" type="object" groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
/>
<button
name="action_rma_approve"
type="object"
string="Approve" string="Approve"
attrs="{'invisible':[('state', '!=', 'to_approve')]}" class="oe_highlight" groups="rma.group_rma_customer_user"/> attrs="{'invisible':[('state', '!=', 'to_approve')]}"
<button name="action_rma_done" type="object" class="oe_highlight"
groups="rma.group_rma_customer_user"
/>
<button
name="action_rma_done"
type="object"
string="Done" string="Done"
attrs="{'invisible':[('state', 'in', ('done', 'draft'))]}" attrs="{'invisible':[('state', 'in', ('done', 'draft'))]}"
groups="rma.group_rma_customer_user"/> groups="rma.group_rma_customer_user"
<field name="state" widget="statusbar" nolabel="1"/> />
<field name="state" widget="statusbar" nolabel="1" />
</header> </header>
<sheet> <sheet>
<div name="button_box" class="oe_button_box"> <div name="button_box" class="oe_button_box">
<button type="object" name="action_view_in_shipments" <button
type="object"
name="action_view_in_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="in_shipment_count" widget="statinfo" >
string="Shipments"/> <field
name="in_shipment_count"
widget="statinfo"
string="Shipments"
/>
</button> </button>
<button type="object" name="action_view_out_shipments" <button
type="object"
name="action_view_out_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="out_shipment_count" widget="statinfo" >
string="Deliveries"/> <field
name="out_shipment_count"
widget="statinfo"
string="Deliveries"
/>
</button> </button>
<!--Move this button to rma_account--> <!--Move this button to rma_account-->
<!--<button type="object" name="action_view_invoice" <!--<button type="object" name="action_view_invoice"
@@ -254,129 +364,179 @@
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
string="Origin Inv"> string="Origin Inv">
</button>--> </button>-->
<button type="object" name="action_view_rma_lines" <button
type="object"
name="action_view_rma_lines"
class="oe_stat_button" class="oe_stat_button"
icon="fa-link" icon="fa-link"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="rma_line_count" widget="statinfo" >
string="Supplier RMA"/> <field
name="rma_line_count"
widget="statinfo"
string="Supplier RMA"
/>
</button> </button>
</div> </div>
<div class="oe_title" name="title"> <div class="oe_title" name="title">
<h1> <h1>
<field name="name" readonly="1" <field
invisible="context.get('hide_title',False)"/> name="name"
readonly="1"
invisible="context.get('hide_title',False)"
/>
</h1> </h1>
</div> </div>
<group name="partner"> <group name="partner">
<group name="partner"> <group name="partner">
<field name="partner_id" <field
name="partner_id"
context="{'res_partner_search_mode': 'customer'}" context="{'res_partner_search_mode': 'customer'}"
string="Customer"/> string="Customer"
<field name="delivery_address_id" />
<field
name="delivery_address_id"
domain="['|', ('parent_id', '=', partner_id), domain="['|', ('parent_id', '=', partner_id),
('id', '=', partner_id)]" ('id', '=', partner_id)]"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
groups='rma.group_rma_delivery_invoice_address'/> groups='rma.group_rma_delivery_invoice_address'
<field name="under_warranty"/> />
<field name="under_warranty" />
</group> </group>
</group> </group>
<group> <group>
<group name="product" string="Product"> <group name="product" string="Product">
<field name="product_id"/> <field name="product_id" />
<newline/> <newline />
<field name="product_tracking" invisible="1"/> <field name="product_tracking" invisible="1" />
<field name="lot_id" <field
name="lot_id"
groups="stock.group_production_lot" groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"/> attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"
/>
</group> </group>
<group name="product_qty" string="Quantity"> <group name="product_qty" string="Quantity">
<field name="product_qty"/> <field name="product_qty" />
<field name="uom_id" groups="uom.group_uom"/> <field name="uom_id" groups="uom.group_uom" />
<field name="price_unit"/> <field name="price_unit" />
</group> </group>
</group> </group>
<group name="main_info" string="Origin"> <group name="main_info" string="Origin">
<field name="reference_move_id" <field
name="reference_move_id"
options="{'no_create': True}" options="{'no_create': True}"
domain="[('picking_id.partner_id', '=', partner_id), domain="[('picking_id.partner_id', '=', partner_id),
('location_dest_id.usage', '=', 'customer'), ('location_dest_id.usage', '=', 'customer'),
('state', '=', 'done')]"/> ('state', '=', 'done')]"
/>
</group> </group>
<group> <group>
<group name="operation" string="Operation"> <group name="operation" string="Operation">
<field name="operation_id" domain="[('type','=','customer')]"/> <field
<field name="receipt_policy"/> name="operation_id"
<field name="delivery_policy"/> domain="[('type','=','customer')]"
/>
<field name="receipt_policy" />
<field name="delivery_policy" />
</group> </group>
<group name="description" string="Description"> <group name="description" string="Description">
<field name="description" nolabel="1"/> <field name="description" nolabel="1" />
</group> </group>
</group> </group>
<group> <group>
<group name="contact" string="Contact"> <group name="contact" string="Contact">
<field name="requested_by" readonly="1"/> <field name="requested_by" readonly="1" />
<field name="assigned_to"/> <field name="assigned_to" />
</group> </group>
</group> </group>
<notebook> <notebook>
<page name="route" string="Routes"> <page name="route" string="Routes">
<group name="inbound" string="Inbound"> <group name="inbound" string="Inbound">
<field name="in_warehouse_id"/> <field name="in_warehouse_id" />
<field name="location_id" <field
domain="[('usage', '=', 'internal')]"/> name="location_id"
<field name="in_route_id" groups="stock.group_adv_location"/> domain="[('usage', '=', 'internal')]"
<field name="customer_to_supplier"/> />
<field name="supplier_address_id" <field
name="in_route_id"
groups="stock.group_adv_location"
/>
<field name="customer_to_supplier" />
<field
name="supplier_address_id"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
attrs="{'required':[('customer_to_supplier', '=', True)], attrs="{'required':[('customer_to_supplier', '=', True)],
'invisible':[('customer_to_supplier', '=', False)]}"/> 'invisible':[('customer_to_supplier', '=', False)]}"
/>
</group> </group>
<group name="outbound" string="Outbound"> <group name="outbound" string="Outbound">
<field name="out_warehouse_id"/> <field name="out_warehouse_id" />
<field name="out_route_id" groups="stock.group_adv_location"/> <field
name="out_route_id"
groups="stock.group_adv_location"
/>
</group> </group>
</page> </page>
<page name="stock" string="Stock Moves"> <page name="stock" string="Stock Moves">
<field name="move_ids" nolabel="1" readonly="1"/> <field
name="move_ids"
nolabel="1"
readonly="1"
/>
</page> </page>
<page name="quantities" string="Quantities"> <page name="quantities" string="Quantities">
<group name="quantities" col="4" string="Quantities"> <group
name="quantities"
col="4"
string="Quantities"
>
<group name="receive"> <group name="receive">
<field name="qty_to_receive"/> <field name="qty_to_receive" />
<field name="qty_incoming"/> <field name="qty_incoming" />
<field name="qty_received"/> <field name="qty_received" />
</group> </group>
<group name="deliver"> <group name="deliver">
<field name="qty_to_deliver"/> <field name="qty_to_deliver" />
<field name="qty_outgoing"/> <field name="qty_outgoing" />
<field name="qty_delivered"/> <field name="qty_delivered" />
</group> </group>
<group name="supplier_rma" <group
attrs="{'invisible':[('customer_to_supplier','=',False)]}"> name="supplier_rma"
<field name="qty_to_supplier_rma"/> attrs="{'invisible':[('customer_to_supplier','=',False)]}"
<field name="qty_in_supplier_rma"/> >
<field name="qty_to_supplier_rma" />
<field name="qty_in_supplier_rma" />
</group> </group>
</group> </group>
</page> </page>
<page name="other" string="Other Info"> <page name="other" string="Other Info">
<group name="general" string="General"> <group name="general" string="General">
<field name="conditions"/> <field name="conditions" />
<field name="rma_id" groups="rma.group_rma_groups"/> <field
<field name="origin"/> name="rma_id"
groups="rma.group_rma_groups"
/>
<field name="origin" />
</group> </group>
<group name="company" string="Company" <group
groups="base.group_multi_company"> name="company"
<field name="company_id"/> string="Company"
groups="base.group_multi_company"
>
<field name="company_id" />
</group> </group>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_chatter"> <div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> <field
<field name="message_ids" widget="mail_thread"/> name="message_follower_ids"
widget="mail_followers"
groups="base.group_user"
/>
<field name="message_ids" widget="mail_thread" />
</div> </div>
</form> </form>
</field> </field>
@@ -387,36 +547,79 @@
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Search RMA line"> <search string="Search RMA line">
<field name="name"/> <field name="name" />
<field name="rma_id" groups="rma.group_rma_groups"/> <field name="rma_id" groups="rma.group_rma_groups" />
<field name="partner_id"/> <field name="partner_id" />
<field name="requested_by"/> <field name="requested_by" />
<field name="assigned_to"/> <field name="assigned_to" />
<field name="product_id"/> <field name="product_id" />
<field name="lot_id"/> <field name="lot_id" />
<separator/> <separator />
<filter name="assigned_to" domain="[('assigned_to','=',uid)]" help="My RMAs"/> <filter
<separator/> name="assigned_to"
<group name="stock_quantities" groups="stock.group_stock_user"> domain="[('assigned_to','=',uid)]"
<filter name="to_receive" domain="[('state','!=', 'done'),('qty_to_receive','>',0.0)]" help="To Receive"/> help="My RMAs"
<filter name="to_deliver" domain="[('state','!=', 'done'),('qty_to_deliver','>',0.0)]" help="To Deliver"/> />
<separator />
<group
name="stock_quantities"
groups="stock.group_stock_user"
>
<filter
name="to_receive"
domain="[('state','!=', 'done'),('qty_to_receive','>',0.0)]"
help="To Receive"
/>
<filter
name="to_deliver"
domain="[('state','!=', 'done'),('qty_to_deliver','>',0.0)]"
help="To Deliver"
/>
</group> </group>
<group name="rma_supplier_quantities"> <group name="rma_supplier_quantities">
<filter name="to_send_to_supplier" domain="[('state','!=', 'done'),('qty_to_supplier_rma','>',0.0)]" help="To Send to Supplier RMA"/> <filter
name="to_send_to_supplier"
domain="[('state','!=', 'done'),('qty_to_supplier_rma','>',0.0)]"
help="To Send to Supplier RMA"
/>
</group> </group>
<group expand="0" string="Group By"> <group expand="0" string="Group By">
<filter name="status" string="State" domain="[]" <filter
context="{'group_by':'state'}"/> name="status"
<filter name="partner" string="Partner" domain="[]" string="State"
context="{'group_by':'partner_id'}"/> domain="[]"
<filter name="operation" string="Operation" domain="[]" context="{'group_by':'state'}"
context="{'group_by':'operation_id'}"/> />
<filter name="product" string="Product" domain="[]" <filter
context="{'group_by':'product_id'}"/> name="partner"
<filter name="to_receive" string="To Receive" domain="[('qty_to_receive', '>', 0)]" string="Partner"
context="{'group_by':'partner_id'}"/> domain="[]"
<filter name="to_deliver" string="To Deliver" domain="[('qty_to_deliver', '>', 0)]" context="{'group_by':'partner_id'}"
context="{'group_by':'partner_id'}"/> />
<filter
name="operation"
string="Operation"
domain="[]"
context="{'group_by':'operation_id'}"
/>
<filter
name="product"
string="Product"
domain="[]"
context="{'group_by':'product_id'}"
/>
<filter
name="to_receive"
string="To Receive"
domain="[('qty_to_receive', '>', 0)]"
context="{'group_by':'partner_id'}"
/>
<filter
name="to_deliver"
string="To Deliver"
domain="[('qty_to_deliver', '>', 0)]"
context="{'group_by':'partner_id'}"
/>
</group> </group>
</search> </search>
</field> </field>
@@ -428,31 +631,37 @@
<field name="domain">[('type','=', 'customer')]</field> <field name="domain">[('type','=', 'customer')]</field>
<field name="context">{"search_default_assigned_to":uid}</field> <field name="context">{"search_default_assigned_to":uid}</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_rma_line_tree"/> <field name="view_id" ref="view_rma_line_tree" />
</record> </record>
<record id="action_rma_supplier_lines" model="ir.actions.act_window"> <record id="action_rma_supplier_lines" model="ir.actions.act_window">
<field name="name">Supplier RMA</field> <field name="name">Supplier RMA</field>
<field name="res_model">rma.order.line</field> <field name="res_model">rma.order.line</field>
<field name="domain">[('type','=', 'supplier')]</field> <field name="domain">[('type','=', 'supplier')]</field>
<field name="context">{"search_default_assigned_to":uid, "supplier":1}</field> <field
name="context"
>{"search_default_assigned_to":uid, "supplier":1}</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_rma_line_supplier_tree"/> <field name="view_id" ref="view_rma_line_supplier_tree" />
</record> </record>
<record id="action_rma_line_supplier_tree" <record
model="ir.actions.act_window.view"> id="action_rma_line_supplier_tree"
<field eval="3" name="sequence"/> model="ir.actions.act_window.view"
>
<field eval="3" name="sequence" />
<field name="view_mode">tree</field> <field name="view_mode">tree</field>
<field name="act_window_id" ref="action_rma_supplier_lines"/> <field name="act_window_id" ref="action_rma_supplier_lines" />
</record> </record>
<record id="action_rma_line_supplier_form" <record
model="ir.actions.act_window.view"> id="action_rma_line_supplier_form"
<field eval="4" name="sequence"/> model="ir.actions.act_window.view"
>
<field eval="4" name="sequence" />
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="view_rma_line_supplier_form"/> <field name="view_id" ref="view_rma_line_supplier_form" />
<field name="act_window_id" ref="action_rma_supplier_lines"/> <field name="act_window_id" ref="action_rma_supplier_lines" />
</record> </record>
</data> </data>

View File

@@ -1,14 +1,18 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_tree" model="ir.ui.view"> <record id="view_rma_tree" model="ir.ui.view">
<field name="name">rma.order.tree</field> <field name="name">rma.order.tree</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="RMA"> <tree string="RMA">
<field name="name"/> <field name="name" />
<field name="reference"/> <field name="reference" />
<field name="partner_id" groups="base.group_user" string="Customer"/> <field
<field name="date_rma"/> name="partner_id"
groups="base.group_user"
string="Customer"
/>
<field name="date_rma" />
</tree> </tree>
</field> </field>
</record> </record>
@@ -18,11 +22,14 @@
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="RMA"> <tree string="RMA">
<field name="name"/> <field name="name" />
<field name="reference"/> <field name="reference" />
<field name="partner_id" groups="base.group_user" <field
string="Supplier"/> name="partner_id"
<field name="date_rma"/> groups="base.group_user"
string="Supplier"
/>
<field name="date_rma" />
</tree> </tree>
</field> </field>
</record> </record>
@@ -32,102 +39,153 @@
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="RMA"> <form string="RMA">
<header/> <header />
<sheet name='rma' string="RMA"> <sheet name='rma' string="RMA">
<div class="oe_button_box" name="button_box"> <div class="oe_button_box" name="button_box">
<button type="object" name="action_view_in_shipments" <button
type="object"
name="action_view_in_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="in_shipment_count" widget="statinfo" >
string="Shipments"/> <field
name="in_shipment_count"
widget="statinfo"
string="Shipments"
/>
</button> </button>
<button type="object" name="action_view_out_shipments" <button
type="object"
name="action_view_out_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="out_shipment_count" widget="statinfo" >
string="Deliveries"/> <field
name="out_shipment_count"
widget="statinfo"
string="Deliveries"
/>
</button> </button>
<button type="object" name="action_view_lines" <button
type="object"
name="action_view_lines"
class="oe_stat_button" class="oe_stat_button"
icon="fa-list" icon="fa-list"
groups="rma.group_rma_customer_user"> groups="rma.group_rma_customer_user"
<field name="line_count" widget="statinfo" >
string="RMA Lines"/> <field
name="line_count"
widget="statinfo"
string="RMA Lines"
/>
</button> </button>
<button type="object" name="action_view_supplier_lines" <button
type="object"
name="action_view_supplier_lines"
class="oe_stat_button" class="oe_stat_button"
attrs="{'invisible':[('supplier_line_count', '=', 0)]}" attrs="{'invisible':[('supplier_line_count', '=', 0)]}"
icon="fa-list" icon="fa-list"
groups="rma.group_rma_supplier_user"> groups="rma.group_rma_supplier_user"
<field name="supplier_line_count" widget="statinfo" >
string="Rel. RMA Lines"/> <field
name="supplier_line_count"
widget="statinfo"
string="Rel. RMA Lines"
/>
</button> </button>
</div> </div>
<div class="oe_title" name="title"> <div class="oe_title" name="title">
<h1> <h1>
<field name="name" readonly="1"/> <field name="name" readonly="1" />
</h1> </h1>
</div> </div>
<group> <group>
<group name="info"> <group name="info">
<field name="partner_id" <field
name="partner_id"
context="{'res_partner_search_mode': 'customer'}" context="{'res_partner_search_mode': 'customer'}"
string="Customer" string="Customer"
colspan="4" colspan="4"
/> />
<field name="date_rma" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
name="date_rma"
attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
</group> </group>
<group name="comments"> <group name="comments">
<field name="comment"/> <field name="comment" />
<field name="type" readonly="1" invisible="1"/> <field name="type" readonly="1" invisible="1" />
</group> </group>
</group> </group>
<group> <group>
<group name="inbound_route" string="Inbound"> <group name="inbound_route" string="Inbound">
<field name="in_warehouse_id" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
<field name="customer_to_supplier" attrs="{'readonly':[('state', '!=', 'draft')]}"/> name="in_warehouse_id"
<field name="state" invisible="True"/> attrs="{'readonly':[('state', '!=', 'draft')]}"
<field name="supplier_address_id" />
<field
name="customer_to_supplier"
attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
<field name="state" invisible="True" />
<field
name="supplier_address_id"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
attrs="{'required':[('customer_to_supplier', '=', True)], attrs="{'required':[('customer_to_supplier', '=', True)],
'invisible':[('customer_to_supplier', '=', False)], 'invisible':[('customer_to_supplier', '=', False)],
'readonly':[('state', '!=', 'draft')]}"/> 'readonly':[('state', '!=', 'draft')]}"
/>
</group> </group>
</group> </group>
<group> <group>
<group name="contact" string="Contact"> <group name="contact" string="Contact">
<field name="requested_by" readonly="1"/> <field name="requested_by" readonly="1" />
<field name="assigned_to" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
<field name="company_id" name="assigned_to"
groups="base.group_multi_company"/> attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
<field
name="company_id"
groups="base.group_multi_company"
/>
</group> </group>
</group> </group>
<notebook colspan="4"> <notebook colspan="4">
<page string="RMA Lines" name="lines"> <page string="RMA Lines" name="lines">
<field name="rma_line_ids" context="{'default_rma_id': active_id, <field
name="rma_line_ids"
context="{'default_rma_id': active_id,
'default_partner_id': partner_id, 'default_partner_id': partner_id,
'hide_title': True}"> 'hide_title': True}"
>
<tree string="RMA Lines" name="lines"> <tree string="RMA Lines" name="lines">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle" />
<field name="state" invisible="True"/> <field name="state" invisible="True" />
<field name="product_id"/> <field name="product_id" />
<field name="lot_id" groups="stock.group_production_lot"/> <field
<field name="name"/> name="lot_id"
<field name="uom_id" groups="uom.group_uom"/> groups="stock.group_production_lot"
<field name="operation_id"/> />
<field name="product_qty"/> <field name="name" />
<field name="price_unit"/> <field name="uom_id" groups="uom.group_uom" />
<field name="operation_id" />
<field name="product_qty" />
<field name="price_unit" />
</tree> </tree>
</field> </field>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_chatter"> <div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> <field
<field name="message_ids" widget="mail_thread"/> name="message_follower_ids"
widget="mail_followers"
groups="base.group_user"
/>
<field name="message_ids" widget="mail_thread" />
</div> </div>
</form> </form>
</field> </field>
@@ -138,100 +196,145 @@
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="RMA"> <form string="RMA">
<header/> <header />
<sheet string="RMA"> <sheet string="RMA">
<div class="oe_button_box" name="button_box"> <div class="oe_button_box" name="button_box">
<button type="object" name="action_view_in_shipments" <button
type="object"
name="action_view_in_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="in_shipment_count" widget="statinfo" >
string="Shipments"/> <field
name="in_shipment_count"
widget="statinfo"
string="Shipments"
/>
</button> </button>
<button type="object" name="action_view_out_shipments" <button
type="object"
name="action_view_out_shipments"
class="oe_stat_button" class="oe_stat_button"
icon="fa-truck" icon="fa-truck"
groups="stock.group_stock_user"> groups="stock.group_stock_user"
<field name="out_shipment_count" widget="statinfo" >
string="Deliveries"/> <field
name="out_shipment_count"
widget="statinfo"
string="Deliveries"
/>
</button> </button>
<button type="object" name="action_view_lines" <button
type="object"
name="action_view_lines"
class="oe_stat_button" class="oe_stat_button"
icon="fa-list" icon="fa-list"
groups="rma.group_rma_supplier_user"> groups="rma.group_rma_supplier_user"
<field name="line_count" widget="statinfo" >
string="RMA Lines"/> <field
name="line_count"
widget="statinfo"
string="RMA Lines"
/>
</button> </button>
</div> </div>
<div class="oe_title" name="title"> <div class="oe_title" name="title">
<h1> <h1>
<field name="name" readonly="1"/> <field name="name" readonly="1" />
</h1> </h1>
</div> </div>
<group> <group>
<group name="partner"> <group name="partner">
<field name="state" invisible="1"/> <field name="state" invisible="1" />
<field name="partner_id" <field
name="partner_id"
context="{'res_partner_search_mode': 'supplier'}" context="{'res_partner_search_mode': 'supplier'}"
string="Supplier" string="Supplier"
attrs="{'readonly':[('state', '!=', 'draft')]}"/> attrs="{'readonly':[('state', '!=', 'draft')]}"
<field name="reference"/> />
<field name="date_rma" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field name="reference" />
<field
name="date_rma"
attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
</group> </group>
<group> <group>
<field name="comment"/> <field name="comment" />
<field name="type" readonly="1" invisible="1"/> <field name="type" readonly="1" invisible="1" />
</group> </group>
</group> </group>
<group name="route"> <group name="route">
<group name="inbound_route" string="Inbound"> <group name="inbound_route" string="Inbound">
<field name="in_warehouse_id" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
name="in_warehouse_id"
attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
</group> </group>
<group name="outbound_route" string="Outbound"> <group name="outbound_route" string="Outbound">
<field name="supplier_to_customer" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
<field name="customer_address_id" name="supplier_to_customer"
attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
<field
name="customer_address_id"
context="{'show_address': 1}" context="{'show_address': 1}"
options="{'always_reload': 1}" options="{'always_reload': 1}"
attrs="{'required':[('supplier_to_customer', '=', True)], attrs="{'required':[('supplier_to_customer', '=', True)],
'invisible':[('supplier_to_customer', '=', False)], 'invisible':[('supplier_to_customer', '=', False)],
'readonly':[('state', '!=', 'draft')]}"/> 'readonly':[('state', '!=', 'draft')]}"
/>
</group> </group>
</group> </group>
<group> <group>
<group name="contact" string="Contact"> <group name="contact" string="Contact">
<field name="requested_by" readonly="1"/> <field name="requested_by" readonly="1" />
<field name="assigned_to" attrs="{'readonly':[('state', '!=', 'draft')]}"/> <field
<field name="company_id" name="assigned_to"
groups="base.group_multi_company"/> attrs="{'readonly':[('state', '!=', 'draft')]}"
/>
<field
name="company_id"
groups="base.group_multi_company"
/>
</group> </group>
</group> </group>
<notebook colspan="4"> <notebook colspan="4">
<page string="RMA Lines" name="lines"> <page string="RMA Lines" name="lines">
<field name="rma_line_ids" <field
name="rma_line_ids"
context="{'form_view_ref':'rma.view_rma_line_supplier_form', context="{'form_view_ref':'rma.view_rma_line_supplier_form',
'default_rma_id': active_id, 'default_rma_id': active_id,
'default_partner_id': partner_id, 'default_partner_id': partner_id,
'supplier': 1, 'supplier': 1,
'hide_title': True}"> 'hide_title': True}"
>
<tree string="RMA Lines"> <tree string="RMA Lines">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle" />
<field name="state" invisible="True"/> <field name="state" invisible="True" />
<field name="name"/> <field name="name" />
<field name="product_id"/> <field name="product_id" />
<field name="lot_id" groups="stock.group_production_lot"/> <field
<field name="name"/> name="lot_id"
<field name="uom_id" groups="uom.group_uom"/> groups="stock.group_production_lot"
<field name="operation_id"/> />
<field name="product_qty"/> <field name="name" />
<field name="origin"/> <field name="uom_id" groups="uom.group_uom" />
<field name="operation_id" />
<field name="product_qty" />
<field name="origin" />
</tree> </tree>
</field> </field>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_chatter"> <div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> <field
<field name="message_ids" widget="mail_thread"/> name="message_follower_ids"
widget="mail_followers"
groups="base.group_user"
/>
<field name="message_ids" widget="mail_thread" />
</div> </div>
</form> </form>
</field> </field>
@@ -242,15 +345,23 @@
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Search RMA"> <search string="Search RMA">
<field name="reference"/> <field name="reference" />
<field name="name"/> <field name="name" />
<field name="partner_id"/> <field name="partner_id" />
<separator/> <separator />
<group expand="0" string="Group By"> <group expand="0" string="Group By">
<filter name="partner" string="Partner" domain="[]" <filter
context="{'group_by':'partner_id'}"/> name="partner"
<filter name="rma_date" string="RMA Date" domain="[]" string="Partner"
context="{'group_by':'date_rma'}"/> domain="[]"
context="{'group_by':'partner_id'}"
/>
<filter
name="rma_date"
string="RMA Date"
domain="[]"
context="{'group_by':'date_rma'}"
/>
</group> </group>
</search> </search>
</field> </field>
@@ -262,7 +373,7 @@
<field name="domain">[('type','=', 'customer')]</field> <field name="domain">[('type','=', 'customer')]</field>
<field name="context">{'customer':1}</field> <field name="context">{'customer':1}</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_rma_tree"/> <field name="view_id" ref="view_rma_tree" />
</record> </record>
<record id="action_rma_supplier" model="ir.actions.act_window"> <record id="action_rma_supplier" model="ir.actions.act_window">
@@ -271,22 +382,20 @@
<field name="domain">[('type','=', 'supplier')]</field> <field name="domain">[('type','=', 'supplier')]</field>
<field name="context">{'supplier':1}</field> <field name="context">{'supplier':1}</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_rma_supplier_tree"/> <field name="view_id" ref="view_rma_supplier_tree" />
</record> </record>
<record id="action_rma_supplier_tree" <record id="action_rma_supplier_tree" model="ir.actions.act_window.view">
model="ir.actions.act_window.view"> <field eval="1" name="sequence" />
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field> <field name="view_mode">tree</field>
<field name="act_window_id" ref="action_rma_supplier"/> <field name="act_window_id" ref="action_rma_supplier" />
</record> </record>
<record id="action_rma_supplier_form" <record id="action_rma_supplier_form" model="ir.actions.act_window.view">
model="ir.actions.act_window.view"> <field eval="2" name="sequence" />
<field eval="2" name="sequence"/>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="view_rma_supplier_form"/> <field name="view_id" ref="view_rma_supplier_form" />
<field name="act_window_id" ref="action_rma_supplier"/> <field name="act_window_id" ref="action_rma_supplier" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_move_form" model="ir.ui.view"> <record id="view_move_form" model="ir.ui.view">
<field name="name">rma.move.form</field> <field name="name">rma.move.form</field>
@@ -7,19 +7,22 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="origin_grp" position="after"> <group name="origin_grp" position="after">
<group name="rma"> <group name="rma">
<field name="rma_line_id"/> <field name="rma_line_id" />
</group> </group>
</group> </group>
</field> </field>
</record> </record>
<record id="stock_location_route_form_view_inherit_rma_stock" model="ir.ui.view"> <record
id="stock_location_route_form_view_inherit_rma_stock"
model="ir.ui.view"
>
<field name="name">stock.location.route.form</field> <field name="name">stock.location.route.form</field>
<field name="inherit_id" ref="stock.stock_location_route_form_view"/> <field name="inherit_id" ref="stock.stock_location_route_form_view" />
<field name="model">stock.location.route</field> <field name="model">stock.location.route</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='warehouse_ids']" position="before"> <xpath expr="//field[@name='warehouse_ids']" position="before">
<field name="rma_selectable" string="RMA Order Lines"/> <field name="rma_selectable" string="RMA Order Lines" />
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,21 +1,24 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_warehouse_form" model="ir.ui.view"> <record id="view_warehouse_form" model="ir.ui.view">
<field name="name">view_warehouse_form</field> <field name="name">view_warehouse_form</field>
<field name="model">stock.warehouse</field> <field name="model">stock.warehouse</field>
<field name="inherit_id" ref="stock.view_warehouse"/> <field name="inherit_id" ref="stock.view_warehouse" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='wh_output_stock_loc_id']" position="after"> <xpath
<field name="lot_rma_id"/> expr="//field[@name='wh_output_stock_loc_id']"
position="after"
>
<field name="lot_rma_id" />
</xpath> </xpath>
<field name="resupply_wh_ids" position="after"> <field name="resupply_wh_ids" position="after">
<field name="rma_in_this_wh"/> <field name="rma_in_this_wh" />
</field> </field>
<xpath expr="//field[@name='out_type_id']" position="after"> <xpath expr="//field[@name='out_type_id']" position="after">
<field name="rma_cust_in_type_id"/> <field name="rma_cust_in_type_id" />
<field name="rma_cust_out_type_id"/> <field name="rma_cust_out_type_id" />
<field name="rma_sup_in_type_id"/> <field name="rma_sup_in_type_id" />
<field name="rma_sup_out_type_id"/> <field name="rma_sup_out_type_id" />
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_add_stock_move_customer" model="ir.ui.view"> <record id="view_rma_add_stock_move_customer" model="ir.ui.view">
<field name="name">rma.add.stock.move.customer</field> <field name="name">rma.add.stock.move.customer</field>
@@ -7,61 +6,91 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select Move"> <form string="Select Move">
<group> <group>
<field name="partner_id" <field
name="partner_id"
domain="[('customer','=',True)]" domain="[('customer','=',True)]"
string="Customer"/> string="Customer"
/>
</group> </group>
<separator string="Select Stock Moves to add"/> <separator string="Select Stock Moves to add" />
<field name="move_ids" <field
domain="[('picking_id.partner_id', '=', partner_id), ('location_dest_id.usage', '=', 'customer')]"> name="move_ids"
domain="[('picking_id.partner_id', '=', partner_id), ('location_dest_id.usage', '=', 'customer')]"
>
<tree> <tree>
<field name="product_id"/> <field name="product_id" />
<field name="product_uom_qty"/> <field name="product_uom_qty" />
<field name="product_uom" string="Unit of Measure" groups="uom.group_uom"/> <field
<field name="picking_id"/> name="product_uom"
<field name="location_id" groups="stock.group_stock_multi_locations"/> string="Unit of Measure"
<field name="location_dest_id" groups="stock.group_stock_multi_locations"/> groups="uom.group_uom"
<field name="create_date" groups="base.group_no_one"/> />
<field name="date" string="Date" groups="base.group_no_one"/> <field name="picking_id" />
<field name="date_expected" string="Date Expected"/> <field
<field name="state"/> name="location_id"
groups="stock.group_stock_multi_locations"
/>
<field
name="location_dest_id"
groups="stock.group_stock_multi_locations"
/>
<field name="create_date" groups="base.group_no_one" />
<field
name="date"
string="Date"
groups="base.group_no_one"
/>
<field name="date_expected" string="Date Expected" />
<field name="state" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="add_lines" type="object" name="add_lines"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
</record> </record>
<record id="action_rma_add_stock_move_customer" <record
model="ir.actions.act_window"> id="action_rma_add_stock_move_customer"
model="ir.actions.act_window"
>
<field name="name">Add from Stock Move</field> <field name="name">Add from Stock Move</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">rma_add_stock_move</field> <field name="res_model">rma_add_stock_move</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_add_stock_move_customer"/> <field name="view_id" ref="view_rma_add_stock_move_customer" />
<field name="groups_id" <field
eval="[(4, ref('rma.group_rma_customer_user'))]"/> name="groups_id"
eval="[(4, ref('rma.group_rma_customer_user'))]"
/>
</record> </record>
<record id="view_rma_add_stock_move_customer_form" model="ir.ui.view"> <record id="view_rma_add_stock_move_customer_form" model="ir.ui.view">
<field name="name">rma.order.form - stock.move wizard</field> <field name="name">rma.order.form - stock.move wizard</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_form"/> <field name="inherit_id" ref="rma.view_rma_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_add_stock_move_customer)d" <button
name="%(action_rma_add_stock_move_customer)d"
string="Add From Stock Move" string="Add From Stock Move"
type="action"/> type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>
@@ -72,48 +101,66 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select Move"> <form string="Select Move">
<group> <group>
<field name="partner_id" <field
name="partner_id"
domain="[('supplier','=',True)]" domain="[('supplier','=',True)]"
string="Supplier"/> string="Supplier"
/>
</group> </group>
<separator string="Select Stock Moves to add"/> <separator string="Select Stock Moves to add" />
<field name="move_ids" <field
domain="[('picking_id.partner_id', '=', partner_id), ('location_id.usage', '=', 'supplier')]"/> name="move_ids"
domain="[('picking_id.partner_id', '=', partner_id), ('location_id.usage', '=', 'supplier')]"
/>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="add_lines" type="object" name="add_lines"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
</record> </record>
<record id="action_rma_add_stock_move_supplier" <record
model="ir.actions.act_window"> id="action_rma_add_stock_move_supplier"
model="ir.actions.act_window"
>
<field name="name">Add from Stock Move</field> <field name="name">Add from Stock Move</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">rma_add_stock_move</field> <field name="res_model">rma_add_stock_move</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_add_stock_move_supplier"/> <field name="view_id" ref="view_rma_add_stock_move_supplier" />
<field name="groups_id" <field
eval="[(4, ref('rma.group_rma_supplier_user'))]"/> name="groups_id"
eval="[(4, ref('rma.group_rma_supplier_user'))]"
/>
</record> </record>
<record id="view_rma_add_stock_move_button_supplier_form" <record
model="ir.ui.view"> id="view_rma_add_stock_move_button_supplier_form"
model="ir.ui.view"
>
<field name="name">rma.order.supplier.form - stock.move wizard</field> <field name="name">rma.order.supplier.form - stock.move wizard</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_add_stock_move_supplier)d" <button
name="%(action_rma_add_stock_move_supplier)d"
string="Add From Stock Move" string="Add From Stock Move"
type="action"/> type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,29 +1,34 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_picking" model="ir.ui.view"> <record id="view_rma_picking" model="ir.ui.view">
<field name="name">rma_picking</field> <field name="name">rma_picking</field>
<field name="model">rma_make_picking.wizard</field> <field name="model">rma_make_picking.wizard</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select lines for picking" name="lines"> <form string="Select lines for picking" name="lines">
<separator string="Select lines for picking"/> <separator string="Select lines for picking" />
<field name="item_ids"> <field name="item_ids">
<tree string="RMA Lines" editable="bottom" create="false"> <tree string="RMA Lines" editable="bottom" create="false">
<field name="rma_id" groups="rma.group_rma_groups"/> <field name="rma_id" groups="rma.group_rma_groups" />
<field name="product_id"/> <field name="product_id" />
<field name="product_qty"/> <field name="product_qty" />
<field name="uom_id" groups="uom.group_uom"/> <field name="uom_id" groups="uom.group_uom" />
<field name="qty_to_receive" readonly="0"/> <field name="qty_to_receive" readonly="0" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="action_create_picking" type="object" name="action_create_picking"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -34,24 +39,30 @@
<field name="model">rma_make_picking.wizard</field> <field name="model">rma_make_picking.wizard</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select lines for picking" name="lines"> <form string="Select lines for picking" name="lines">
<separator string="Select lines for picking"/> <separator string="Select lines for picking" />
<field name="item_ids"> <field name="item_ids">
<tree string="RMA Lines" editable="bottom" create="false"> <tree string="RMA Lines" editable="bottom" create="false">
<field name="rma_id" groups="rma.group_rma_groups"/> <field name="rma_id" groups="rma.group_rma_groups" />
<field name="product_id"/> <field name="product_id" />
<field name="product_qty"/> <field name="product_qty" />
<field name="uom_id" groups="uom.group_uom"/> <field name="uom_id" groups="uom.group_uom" />
<field name="qty_to_deliver" readonly="0"/> <field name="qty_to_deliver" readonly="0" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="action_create_picking" type="object" name="action_create_picking"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -63,10 +74,10 @@
<field name="res_model">rma_make_picking.wizard</field> <field name="res_model">rma_make_picking.wizard</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_picking"/> <field name="view_id" ref="view_rma_picking" />
<field name="groups_id" eval="[(4, ref('stock.group_stock_user'))]"/> <field name="groups_id" eval="[(4, ref('stock.group_stock_user'))]" />
<field name="context">{'picking_type': 'incoming'}</field> <field name="context">{'picking_type': 'incoming'}</field>
<field name="binding_model_id" ref="rma.model_rma_order_line"/> <field name="binding_model_id" ref="rma.model_rma_order_line" />
</record> </record>
<record id="action_rma_picking_out" model="ir.actions.act_window"> <record id="action_rma_picking_out" model="ir.actions.act_window">
@@ -75,24 +86,32 @@
<field name="res_model">rma_make_picking.wizard</field> <field name="res_model">rma_make_picking.wizard</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_picking_out"/> <field name="view_id" ref="view_rma_picking_out" />
<field name="groups_id" eval="[(4, ref('stock.group_stock_user'))]"/> <field name="groups_id" eval="[(4, ref('stock.group_stock_user'))]" />
<field name="context">{'picking_type': 'outgoing'}</field> <field name="context">{'picking_type': 'outgoing'}</field>
<field name="binding_model_id" ref="rma.model_rma_order_line"/> <field name="binding_model_id" ref="rma.model_rma_order_line" />
</record> </record>
<record id="view_rma_line_button_form" model="ir.ui.view"> <record id="view_rma_line_button_form" model="ir.ui.view">
<field name="name">rma.order.line.form</field> <field name="name">rma.order.line.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_form"/> <field name="inherit_id" ref="rma.view_rma_line_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<header position="inside"> <header position="inside">
<button name="%(action_rma_picking_in)d" states="approved" <button
string="Create Incoming Shipment" class="oe_highlight" name="%(action_rma_picking_in)d"
type="action"/> states="approved"
<button name="%(action_rma_picking_out)d" states="approved" string="Create Incoming Shipment"
string="Create Delivery" class="oe_highlight" class="oe_highlight"
type="action"/> type="action"
/>
<button
name="%(action_rma_picking_out)d"
states="approved"
string="Create Delivery"
class="oe_highlight"
type="action"
/>
</header> </header>
</field> </field>
</record> </record>
@@ -100,15 +119,23 @@
<record id="view_rma_line_supplier_button_form" model="ir.ui.view"> <record id="view_rma_line_supplier_button_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.form</field> <field name="name">rma.order.line.supplier.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_line_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<header position="inside"> <header position="inside">
<button name="%(action_rma_picking_in)d" states="approved" <button
string="Create Incoming Shipment" class="oe_highlight" name="%(action_rma_picking_in)d"
type="action"/> states="approved"
<button name="%(action_rma_picking_out)d" states="approved" string="Create Incoming Shipment"
string="Create Delivery" class="oe_highlight" class="oe_highlight"
type="action"/> type="action"
/>
<button
name="%(action_rma_picking_out)d"
states="approved"
string="Create Delivery"
class="oe_highlight"
type="action"
/>
</header> </header>
</field> </field>
</record> </record>

View File

@@ -1,74 +1,87 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<!-- Copyright 2016 ForgeFlow <!-- Copyright 2016 ForgeFlow
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) --> License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
<odoo> <odoo>
<record id="view_rma_order_line_make_supplier_rma" <record id="view_rma_order_line_make_supplier_rma" model="ir.ui.view">
model="ir.ui.view">
<field name="name">RMA Line Make Supplier RMA</field> <field name="name">RMA Line Make Supplier RMA</field>
<field name="model">rma.order.line.make.supplier.rma</field> <field name="model">rma.order.line.make.supplier.rma</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Create Supplier RMA"> <form string="Create Supplier RMA">
<separator string="Existing Supplier RMA to update:"/> <separator string="Existing Supplier RMA to update:" />
<newline/> <newline />
<group> <group>
<field name="supplier_rma_id" domain="[('partner_id', '=', partner_id)]"/> <field
name="supplier_rma_id"
domain="[('partner_id', '=', partner_id)]"
/>
</group> </group>
<newline/> <newline />
<separator <separator string="New RMA details:" />
string="New RMA details:"/> <newline />
<newline/>
<group> <group>
<field name="partner_id"/> <field name="partner_id" />
</group> </group>
<newline/> <newline />
<group> <group>
<field name="item_ids" nolabel="1" colspan="2"> <field name="item_ids" nolabel="1" colspan="2">
<tree string="Details" editable="bottom" create="false"> <tree
<field name="line_id" string="Details"
options="{'no_open': true}"/> editable="bottom"
<field name="product_id"/> create="false"
<field name="name"/> >
<field name="operation_id"/> <field
<field name="product_qty"/> name="line_id"
<field name="uom_id" options="{'no_open': true}"
groups="uom.group_uom"/> />
<field name="product_id" />
<field name="name" />
<field name="operation_id" />
<field name="product_qty" />
<field name="uom_id" groups="uom.group_uom" />
</tree> </tree>
</field> </field>
</group> </group>
<newline/> <newline />
<footer colspan="2"> <footer colspan="2">
<button name="make_supplier_rma" <button
name="make_supplier_rma"
string="Create/Update Supplier RMA" string="Create/Update Supplier RMA"
type="object" type="object"
class="oe_highlight"/> class="oe_highlight"
<button special="cancel" string="Cancel" class="oe_link"/> />
<button special="cancel" string="Cancel" class="oe_link" />
</footer> </footer>
</form> </form>
</field> </field>
</record> </record>
<record id="action_rma_order_line_make_supplier_rma" <record
model="ir.actions.act_window"> id="action_rma_order_line_make_supplier_rma"
model="ir.actions.act_window"
>
<field name="name">Create Supplier RMA</field> <field name="name">Create Supplier RMA</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">rma.order.line.make.supplier.rma</field> <field name="res_model">rma.order.line.make.supplier.rma</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="view_rma_order_line_make_supplier_rma"/> <field name="view_id" ref="view_rma_order_line_make_supplier_rma" />
<field name="target">new</field> <field name="target">new</field>
<field name="binding_model_id" ref="rma.model_rma_order_line"/> <field name="binding_model_id" ref="rma.model_rma_order_line" />
</record> </record>
<record id="view_rma_line_supplier_rma_button_form" model="ir.ui.view"> <record id="view_rma_line_supplier_rma_button_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.rma.form</field> <field name="name">rma.order.line.supplier.rma.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_form"/> <field name="inherit_id" ref="rma.view_rma_line_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<header position="inside"> <header position="inside">
<button name="%(action_rma_order_line_make_supplier_rma)d" <button
name="%(action_rma_order_line_make_supplier_rma)d"
states="approved" states="approved"
string="Create Supplier RMA" class="oe_highlight" string="Create Supplier RMA"
type="action"/> class="oe_highlight"
type="action"
/>
</header> </header>
</field> </field>
</record> </record>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<record id="rma.rma_operation_customer_replace" model="rma.operation"> <record id="rma.rma_operation_customer_replace" model="rma.operation">
@@ -16,8 +16,8 @@
<field name="receipt_policy">ordered</field> <field name="receipt_policy">ordered</field>
<field name="delivery_policy">no</field> <field name="delivery_policy">no</field>
<field name="type">customer</field> <field name="type">customer</field>
<field name="in_route_id" ref="rma.route_rma_customer"/> <field name="in_route_id" ref="rma.route_rma_customer" />
<field name="out_route_id" ref="rma.route_rma_customer"/> <field name="out_route_id" ref="rma.route_rma_customer" />
</record> </record>
<record id="rma_operation_supplier_refund" model="rma.operation"> <record id="rma_operation_supplier_refund" model="rma.operation">
@@ -27,8 +27,8 @@
<field name="receipt_policy">no</field> <field name="receipt_policy">no</field>
<field name="delivery_policy">ordered</field> <field name="delivery_policy">ordered</field>
<field name="type">supplier</field> <field name="type">supplier</field>
<field name="in_route_id" ref="rma.route_rma_supplier"/> <field name="in_route_id" ref="rma.route_rma_supplier" />
<field name="out_route_id" ref="rma.route_rma_supplier"/> <field name="out_route_id" ref="rma.route_rma_supplier" />
</record> </record>
<record id="rma.rma_operation_ds_replace" model="rma.operation"> <record id="rma.rma_operation_ds_replace" model="rma.operation">

View File

@@ -1,18 +1,27 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="invoice_form" model="ir.ui.view"> <record id="invoice_form" model="ir.ui.view">
<field name="name">account.move.form</field> <field name="name">account.move.form</field>
<field name="model">account.move</field> <field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/> <field name="inherit_id" ref="account.view_move_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="name" position="before"> <field name="name" position="before">
<div class="oe_button_box" attrs="{'invisible': [('rma_count', '=', 0)]}"> <div
<button type="object" name="action_view_rma_customer" class="oe_button_box"
attrs="{'invisible': [('rma_count', '=', 0)]}"
>
<button
type="object"
name="action_view_rma_customer"
class="oe_stat_button" class="oe_stat_button"
icon="fa-eject" icon="fa-eject"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"> groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
<field name="rma_count" widget="statinfo" >
string="RMA"/> <field
name="rma_count"
widget="statinfo"
string="RMA"
/>
</button> </button>
</div> </div>
</field> </field>
@@ -23,17 +32,18 @@
<record id="view_invoice_line_form" model="ir.ui.view"> <record id="view_invoice_line_form" model="ir.ui.view">
<field name="name">rma.invoice.line.form</field> <field name="name">rma.invoice.line.form</field>
<field name="model">account.move.line</field> <field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form"/> <field name="inherit_id" ref="account.view_move_line_form" />
<field eval="16" name="priority"/> <field eval="16" name="priority" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<data> <data>
<field name="name" position="after"> <field name="name" position="after">
<field name="rma_line_count" invisible="1"/> <field name="rma_line_count" invisible="1" />
<field name="rma_line_id" <field name="rma_line_id" string="RMA line originated" />
string="RMA line originated"/> <notebook
<notebook attrs="{'invisible': [('rma_line_count', '=', 0)]}"> attrs="{'invisible': [('rma_line_count', '=', 0)]}"
>
<page string="RMA Lines"> <page string="RMA Lines">
<field name="rma_line_ids"/> <field name="rma_line_ids" />
</page> </page>
</notebook> </notebook>
</field> </field>
@@ -45,17 +55,20 @@
<record id="view_invoice_customer_rma_form" model="ir.ui.view"> <record id="view_invoice_customer_rma_form" model="ir.ui.view">
<field name="name">account.move.customer.rma</field> <field name="name">account.move.customer.rma</field>
<field name="model">account.move</field> <field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/> <field name="inherit_id" ref="account.view_move_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="invoice_vendor_bill_id" position="after"> <field name="invoice_vendor_bill_id" position="after">
<field name="add_rma_line_id" <field
name="add_rma_line_id"
context="{'rma': True}" context="{'rma': True}"
domain="[('type', '=', 'customer'), domain="[('type', '=', 'customer'),
('partner_id', '=', partner_id)]" ('partner_id', '=', partner_id)]"
attrs="{'readonly': [('state','not in',['draft'])], attrs="{'readonly': [('state','not in',['draft'])],
'invisible': ['|', ('state', '=', 'paid'), 'invisible': ['|', ('state', '=', 'paid'),
('type', '=', 'in_invoice')]}" class="oe_edit_only" ('type', '=', 'in_invoice')]}"
options="{'no_create': True}"/> class="oe_edit_only"
options="{'no_create': True}"
/>
</field> </field>
</field> </field>
</record> </record>
@@ -64,6 +77,6 @@
<field name="name">Invoice Line</field> <field name="name">Invoice Line</field>
<field name="res_model">account.move.line</field> <field name="res_model">account.move.line</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="account.view_move_line_form"/> <field name="view_id" ref="account.view_move_line_form" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 ForgeFlow S.L. <!-- Copyright 2018 ForgeFlow S.L.
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) --> License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
<odoo> <odoo>
<record id="action_rma_account_customer_lines" model="ir.actions.act_window"> <record
id="action_rma_account_customer_lines"
model="ir.actions.act_window"
>
<field name="name">Customer RMA</field> <field name="name">Customer RMA</field>
<field name="res_model">rma.order.line</field> <field name="res_model">rma.order.line</field>
<field name="domain">[('type','=', 'customer')]</field> <field name="domain">[('type','=', 'customer')]</field>
@@ -15,45 +18,57 @@
<field name="name">Supplier RMA</field> <field name="name">Supplier RMA</field>
<field name="res_model">rma.order.line</field> <field name="res_model">rma.order.line</field>
<field name="domain">[('type','=', 'supplier')]</field> <field name="domain">[('type','=', 'supplier')]</field>
<field name="context">{"search_default_to_refund":1, "supplier":1}</field> <field
name="context"
>{"search_default_to_refund":1, "supplier":1}</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="rma.view_rma_line_supplier_tree"/> <field name="view_id" ref="rma.view_rma_line_supplier_tree" />
</record> </record>
<!-- Accountants menu RMA --> <!-- Accountants menu RMA -->
<menuitem id="menu_rma_account" <menuitem
id="menu_rma_account"
name="Accounting" name="Accounting"
groups="account.group_account_user" groups="account.group_account_user"
sequence="32" sequence="32"
parent="rma.menu_rma_root"/> parent="rma.menu_rma_root"
/>
<menuitem id="menu_rma_customer_refunds" <menuitem
id="menu_rma_customer_refunds"
name="Customer RMA to Refund" name="Customer RMA to Refund"
sequence="20" sequence="20"
parent="rma_account.menu_rma_account" parent="rma_account.menu_rma_account"
groups="rma.group_rma_customer_user" groups="rma.group_rma_customer_user"
action="action_rma_account_customer_lines"/> action="action_rma_account_customer_lines"
/>
<menuitem id="menu_rma_line_supplier_refunds" <menuitem
id="menu_rma_line_supplier_refunds"
name="Supplier RMA to Refund" name="Supplier RMA to Refund"
sequence="20" sequence="20"
parent="rma_account.menu_rma_account" parent="rma_account.menu_rma_account"
groups="rma.group_rma_customer_user" groups="rma.group_rma_customer_user"
action="action_rma_supplier_lines"/> action="action_rma_supplier_lines"
/>
<menuitem id="menu_rma_line_account_customer" <menuitem
id="menu_rma_line_account_customer"
name="Customer RMA to Refund" name="Customer RMA to Refund"
sequence="20" sequence="20"
parent="account.menu_finance_receivables" parent="account.menu_finance_receivables"
groups="rma.group_rma_customer_user" groups="rma.group_rma_customer_user"
action="action_rma_account_customer_lines"/> action="action_rma_account_customer_lines"
/>
<menuitem id="menu_rma_line_account_supplier" <menuitem
id="menu_rma_line_account_supplier"
name="Supplier RMA to Refund" name="Supplier RMA to Refund"
sequence="20" sequence="20"
parent="account.menu_finance_payables" parent="account.menu_finance_payables"
groups="rma.group_rma_supplier_user" groups="rma.group_rma_supplier_user"
action="action_rma_supplier_lines"/> action="action_rma_supplier_lines"
/>
</odoo> </odoo>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="rma_operation_tree" model="ir.ui.view"> <record id="rma_operation_tree" model="ir.ui.view">
<field name="name">rma.operation.tree</field> <field name="name">rma.operation.tree</field>
<field name="model">rma.operation</field> <field name="model">rma.operation</field>
<field name="inherit_id" ref="rma.rma_operation_tree"/> <field name="inherit_id" ref="rma.rma_operation_tree" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="name" position="after"> <field name="name" position="after">
<field name="refund_policy"/> <field name="refund_policy" />
</field> </field>
</field> </field>
</record> </record>
@@ -14,10 +14,10 @@
<record id="rma_operation_form" model="ir.ui.view"> <record id="rma_operation_form" model="ir.ui.view">
<field name="name">rma.operation.form</field> <field name="name">rma.operation.form</field>
<field name="model">rma.operation</field> <field name="model">rma.operation</field>
<field name="inherit_id" ref="rma.rma_operation_form"/> <field name="inherit_id" ref="rma.rma_operation_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="receipt_policy" position="before"> <field name="receipt_policy" position="before">
<field name="refund_policy"/> <field name="refund_policy" />
</field> </field>
</field> </field>
</record> </record>

View File

@@ -1,48 +1,61 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_line_supplier_form" model="ir.ui.view"> <record id="view_rma_line_supplier_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.form</field> <field name="name">rma.order.line.supplier.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_line_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<button name="action_view_out_shipments" position="after"> <button name="action_view_out_shipments" position="after">
<button type="object" name="action_view_invoice" <button
type="object"
name="action_view_invoice"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
string="Origin Inv"> string="Origin Inv"
>
</button> </button>
<button type="object" name="action_view_refunds" <button
type="object"
name="action_view_refunds"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="refund_count" widget="statinfo" >
string="Refunds"/> <field
name="refund_count"
widget="statinfo"
string="Refunds"
/>
</button> </button>
</button> </button>
<group name="main_info" position="inside"> <group name="main_info" position="inside">
<field name="account_move_line_id" <field
name="account_move_line_id"
options="{'no_create': True}" options="{'no_create': True}"
context="{'rma': True}" context="{'rma': True}"
domain="['|', domain="['|',
('move_id.partner_id', '=', partner_id), ('move_id.partner_id', '=', partner_id),
('move_id.partner_id', 'child_of', partner_id)]"/> ('move_id.partner_id', 'child_of', partner_id)]"
/>
</group> </group>
<field name="operation_id" position="after"> <field name="operation_id" position="after">
<field name="refund_policy"/> <field name="refund_policy" />
</field> </field>
<page name="stock" position="after"> <page name="stock" position="after">
<page name="refunds" string="Refunds"> <page name="refunds" string="Refunds">
<field name="refund_line_ids" nolabel="1"/> <field name="refund_line_ids" nolabel="1" />
</page> </page>
</page> </page>
<field name="delivery_address_id" position="after"> <field name="delivery_address_id" position="after">
<field name="invoice_address_id" <field
groups='rma.group_rma_delivery_invoice_address'/> name="invoice_address_id"
groups='rma.group_rma_delivery_invoice_address'
/>
</field> </field>
<group name="deliver" position="after"> <group name="deliver" position="after">
<group name="refund"> <group name="refund">
<field name="qty_to_refund"/> <field name="qty_to_refund" />
<field name="qty_refunded"/> <field name="qty_refunded" />
</group> </group>
</group> </group>
</field> </field>
@@ -51,46 +64,59 @@
<record id="view_rma_line_form" model="ir.ui.view"> <record id="view_rma_line_form" model="ir.ui.view">
<field name="name">rma.order.line.form</field> <field name="name">rma.order.line.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_form"/> <field name="inherit_id" ref="rma.view_rma_line_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<button name="action_view_out_shipments" position="after"> <button name="action_view_out_shipments" position="after">
<button type="object" name="action_view_invoice" <button
type="object"
name="action_view_invoice"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
string="Origin Inv"> string="Origin Inv"
>
</button> </button>
<button type="object" name="action_view_refunds" <button
type="object"
name="action_view_refunds"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="refund_count" widget="statinfo" >
string="Refunds"/> <field
name="refund_count"
widget="statinfo"
string="Refunds"
/>
</button> </button>
</button> </button>
<group name="main_info" position="inside"> <group name="main_info" position="inside">
<field name="account_move_line_id" <field
name="account_move_line_id"
options="{'no_create': True}" options="{'no_create': True}"
context="{'rma': True}" context="{'rma': True}"
domain="['|', domain="['|',
('move_id.partner_id', '=', partner_id), ('move_id.partner_id', '=', partner_id),
('move_id.partner_id', 'child_of', partner_id)]"/> ('move_id.partner_id', 'child_of', partner_id)]"
/>
</group> </group>
<field name="operation_id" position="after"> <field name="operation_id" position="after">
<field name="refund_policy"/> <field name="refund_policy" />
</field> </field>
<page name="stock" position="after"> <page name="stock" position="after">
<page name="refunds" string="Refunds"> <page name="refunds" string="Refunds">
<field name="refund_line_ids" nolabel="1"/> <field name="refund_line_ids" nolabel="1" />
</page> </page>
</page> </page>
<field name="delivery_address_id" position="after"> <field name="delivery_address_id" position="after">
<field name="invoice_address_id" <field
groups='rma.group_rma_delivery_invoice_address'/> name="invoice_address_id"
groups='rma.group_rma_delivery_invoice_address'
/>
</field> </field>
<group name="supplier_rma" position="after"> <group name="supplier_rma" position="after">
<group name="refund"> <group name="refund">
<field name="qty_to_refund"/> <field name="qty_to_refund" />
<field name="qty_refunded"/> <field name="qty_refunded" />
</group> </group>
</group> </group>
</field> </field>
@@ -99,11 +125,15 @@
<record id="view_rma_rma_line_filter" model="ir.ui.view"> <record id="view_rma_rma_line_filter" model="ir.ui.view">
<field name="name">rma.order.line.select</field> <field name="name">rma.order.line.select</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_rma_line_filter"/> <field name="inherit_id" ref="rma.view_rma_rma_line_filter" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="product_id" position="after"> <field name="product_id" position="after">
<filter name="to_refund" string="To Refund" domain="[('qty_to_refund', '>', 0)]" <filter
context="{'group_by':'partner_id'}"/> name="to_refund"
string="To Refund"
domain="[('qty_to_refund', '>', 0)]"
context="{'group_by':'partner_id'}"
/>
</field> </field>
</field> </field>
</record> </record>

View File

@@ -1,25 +1,36 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_form" model="ir.ui.view"> <record id="view_rma_form" model="ir.ui.view">
<field name="name">rma.order.form - rma_account</field> <field name="name">rma.order.form - rma_account</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_form"/> <field name="inherit_id" ref="rma.view_rma_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<button name="action_view_out_shipments" <button name="action_view_out_shipments" position="after">
position="after"> <button
<button type="object" name="action_view_invoice_refund" type="object"
name="action_view_invoice_refund"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="invoice_refund_count" widget="statinfo" >
string="Refunds"/> <field
name="invoice_refund_count"
widget="statinfo"
string="Refunds"
/>
</button> </button>
<button type="object" name="action_view_invoice" <button
type="object"
name="action_view_invoice"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="invoice_count" widget="statinfo" >
string="Origin Inv"/> <field
name="invoice_count"
widget="statinfo"
string="Origin Inv"
/>
</button> </button>
</button> </button>
<!-- <!--
@@ -34,23 +45,34 @@
<record id="view_rma_supplier_form" model="ir.ui.view"> <record id="view_rma_supplier_form" model="ir.ui.view">
<field name="name">rma.order.supplier.form</field> <field name="name">rma.order.supplier.form</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<button name="action_view_out_shipments" <button name="action_view_out_shipments" position="after">
position="after"> <button
<button type="object" name="action_view_invoice_refund" type="object"
name="action_view_invoice_refund"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="invoice_refund_count" widget="statinfo" >
string="Refunds"/> <field
name="invoice_refund_count"
widget="statinfo"
string="Refunds"
/>
</button> </button>
<button type="object" name="action_view_invoice" <button
type="object"
name="action_view_invoice"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="account.group_account_user"> groups="account.group_account_user"
<field name="invoice_count" widget="statinfo" >
string="Origin Inv"/> <field
name="invoice_count"
widget="statinfo"
string="Origin Inv"
/>
</button> </button>
</button> </button>
<!-- <!--

View File

@@ -1,5 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_add_account_move" model="ir.ui.view"> <record id="view_rma_add_account_move" model="ir.ui.view">
@@ -8,35 +7,48 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select Invoice from customer"> <form string="Select Invoice from customer">
<group> <group>
<field name="partner_id" <field
name="partner_id"
domain="[('customer','=',True)]" domain="[('customer','=',True)]"
string="Customer"/> string="Customer"
/>
</group> </group>
<separator string="Select Invoices lines to add"/> <separator string="Select Invoices lines to add" />
<field name="line_ids" <field
name="line_ids"
domain="[('move_id.partner_id', '=', partner_id), domain="[('move_id.partner_id', '=', partner_id),
('move_id.type', '=', 'out_invoice')]"> ('move_id.type', '=', 'out_invoice')]"
>
<tree string="Invoice Lines"> <tree string="Invoice Lines">
<field name="move_id"/> <field name="move_id" />
<field name="name"/> <field name="name" />
<field name="account_id" groups="account.group_account_user"/> <field
<field name="quantity"/> name="account_id"
<field name="product_id"/> groups="account.group_account_user"
<field name="product_uom_id"/> />
<field name="price_unit"/> <field name="quantity" />
<field name="discount" groups="base.group_no_one"/> <field name="product_id" />
<field name="price_subtotal"/> <field name="product_uom_id" />
<field name="currency_id" invisible="1"/> <field name="price_unit" />
<field name="discount" groups="base.group_no_one" />
<field name="price_subtotal" />
<field name="currency_id" invisible="1" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="add_lines" type="object" name="add_lines"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -48,35 +60,48 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select Invoice from supplier"> <form string="Select Invoice from supplier">
<group> <group>
<field name="partner_id" <field
name="partner_id"
domain="[('supplier','=',True)]" domain="[('supplier','=',True)]"
string="Supplier"/> string="Supplier"
/>
</group> </group>
<separator string="Select Invoices lines to add"/> <separator string="Select Invoices lines to add" />
<field name="line_ids" <field
name="line_ids"
domain="[('move_id.partner_id', '=', partner_id), domain="[('move_id.partner_id', '=', partner_id),
('move_id.type', '=', 'in_invoice')]"> ('move_id.type', '=', 'in_invoice')]"
>
<tree string="Invoice Lines"> <tree string="Invoice Lines">
<field name="move_id"/> <field name="move_id" />
<field name="name"/> <field name="name" />
<field name="account_id" groups="account.group_account_user"/> <field
<field name="quantity"/> name="account_id"
<field name="product_id"/> groups="account.group_account_user"
<field name="product_uom_id"/> />
<field name="price_unit"/> <field name="quantity" />
<field name="discount" groups="base.group_no_one"/> <field name="product_id" />
<field name="price_subtotal"/> <field name="product_uom_id" />
<field name="currency_id" invisible="1"/> <field name="price_unit" />
<field name="discount" groups="base.group_no_one" />
<field name="price_subtotal" />
<field name="currency_id" invisible="1" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="add_lines" type="object" name="add_lines"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -88,30 +113,41 @@
<field name="res_model">rma_add_account_move</field> <field name="res_model">rma_add_account_move</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_add_account_move"/> <field name="view_id" ref="view_rma_add_account_move" />
<field name="groups_id" eval="[(4, ref('rma.group_rma_customer_user'))]"/> <field
name="groups_id"
eval="[(4, ref('rma.group_rma_customer_user'))]"
/>
</record> </record>
<record id="action_rma_add_account_move_supplier" model="ir.actions.act_window"> <record
id="action_rma_add_account_move_supplier"
model="ir.actions.act_window"
>
<field name="name">Add Invoice</field> <field name="name">Add Invoice</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">rma_add_account_move</field> <field name="res_model">rma_add_account_move</field>
<field name="binding_model_id" ref="rma.model_rma_order_line"/> <field name="binding_model_id" ref="rma.model_rma_order_line" />
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_add_account_move_supplier"/> <field name="view_id" ref="view_rma_add_account_move_supplier" />
<field name="groups_id" eval="[(4, ref('rma.group_rma_supplier_user'))]"/> <field
name="groups_id"
eval="[(4, ref('rma.group_rma_supplier_user'))]"
/>
</record> </record>
<record id="view_rma_add_account_move_form" model="ir.ui.view"> <record id="view_rma_add_account_move_form" model="ir.ui.view">
<field name="name">rma.order.form - invoice wizard</field> <field name="name">rma.order.form - invoice wizard</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_form"/> <field name="inherit_id" ref="rma.view_rma_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_add_account_move)d" <button
name="%(action_rma_add_account_move)d"
string="Add From Invoice" string="Add From Invoice"
type="action"/> type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>
@@ -119,12 +155,14 @@
<record id="view_rma_add_account_move_button_form" model="ir.ui.view"> <record id="view_rma_add_account_move_button_form" model="ir.ui.view">
<field name="name">rma.order.supplier.form - invoice wizard</field> <field name="name">rma.order.supplier.form - invoice wizard</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_add_account_move_supplier)d" <button
name="%(action_rma_add_account_move_supplier)d"
string="Add From Invoice" string="Add From Invoice"
type="action"/> type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="view_rma_refund" model="ir.ui.view"> <record id="view_rma_refund" model="ir.ui.view">
<field name="name">rma.refund.form</field> <field name="name">rma.refund.form</field>
@@ -7,27 +7,36 @@
<form string="Credit Note"> <form string="Credit Note">
<group> <group>
<group> <group>
<field name="description"/> <field name="description" />
</group> </group>
<group> <group>
<field name="date_invoice"/> <field name="date_invoice" />
<field name="date"/> <field name="date" />
</group> </group>
</group> </group>
<field name="item_ids"> <field name="item_ids">
<tree string="RMA Lines" editable="bottom"> <tree string="RMA Lines" editable="bottom">
<field name="rma_id" invisible="1"/> <field name="rma_id" invisible="1" />
<field name="product_id" invisible="1"/> <field name="product_id" invisible="1" />
<field name="product"/> <field name="product" />
<field name="name"/> <field name="name" />
<field name="product_qty"/> <field name="product_qty" />
<field name="uom_id" groups="uom.group_uom"/> <field name="uom_id" groups="uom.group_uom" />
<field name="qty_to_refund" readonly="0"/> <field name="qty_to_refund" readonly="0" />
</tree> </tree>
</field> </field>
<footer> <footer>
<button string='Create Refund' name="invoice_refund" type="object" class="btn-primary"/> <button
<button string="Cancel" class="btn-default" special="cancel"/> string='Create Refund'
name="invoice_refund"
type="object"
class="btn-primary"
/>
<button
string="Cancel"
class="btn-default"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -37,22 +46,28 @@
<field name="name">Create Refund</field> <field name="name">Create Refund</field>
<field name="res_model">rma.refund</field> <field name="res_model">rma.refund</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_rma_refund"/> <field name="view_id" ref="view_rma_refund" />
<field name="binding_model_id" ref="rma.model_rma_order_line"/> <field name="binding_model_id" ref="rma.model_rma_order_line" />
<field name="groups_id" <field
eval="[(4, ref('account.group_account_invoice'))]"/> name="groups_id"
eval="[(4, ref('account.group_account_invoice'))]"
/>
<field name="target">new</field> <field name="target">new</field>
</record> </record>
<record id="view_rma_line_button_refund_form" model="ir.ui.view"> <record id="view_rma_line_button_refund_form" model="ir.ui.view">
<field name="name">rma.order.line.form</field> <field name="name">rma.order.line.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_form"/> <field name="inherit_id" ref="rma.view_rma_line_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_refund)d" states="approved" <button
string="Create Refund" class="oe_highlight" name="%(action_rma_refund)d"
type="action"/> states="approved"
string="Create Refund"
class="oe_highlight"
type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>
@@ -60,12 +75,16 @@
<record id="view_rma_line_supplier_button_refund_form" model="ir.ui.view"> <record id="view_rma_line_supplier_button_refund_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.form</field> <field name="name">rma.order.line.supplier.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_supplier_button_form"/> <field name="inherit_id" ref="rma.view_rma_line_supplier_button_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_refund)d" states="approved" <button
string="Create Refund" class="oe_highlight" name="%(action_rma_refund)d"
type="action"/> states="approved"
string="Create Refund"
class="oe_highlight"
type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<record id="rma_operation_customer_sale" model="rma.operation"> <record id="rma_operation_customer_sale" model="rma.operation">
@@ -9,8 +9,8 @@
<field name="delivery_policy">no</field> <field name="delivery_policy">no</field>
<field name="refund_policy">no</field> <field name="refund_policy">no</field>
<field name="type">customer</field> <field name="type">customer</field>
<field name="in_route_id" ref="rma.route_rma_customer"/> <field name="in_route_id" ref="rma.route_rma_customer" />
<field name="out_route_id" ref="rma.route_rma_customer"/> <field name="out_route_id" ref="rma.route_rma_customer" />
</record> </record>
<record id="rma_operation_customer_sale_advanced" model="rma.operation"> <record id="rma_operation_customer_sale_advanced" model="rma.operation">
@@ -21,8 +21,8 @@
<field name="delivery_policy">no</field> <field name="delivery_policy">no</field>
<field name="refund_policy">received</field> <field name="refund_policy">received</field>
<field name="type">customer</field> <field name="type">customer</field>
<field name="in_route_id" ref="rma.route_rma_customer"/> <field name="in_route_id" ref="rma.route_rma_customer" />
<field name="out_route_id" ref="rma.route_rma_customer"/> <field name="out_route_id" ref="rma.route_rma_customer" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="rma_operation_tree" model="ir.ui.view"> <record id="rma_operation_tree" model="ir.ui.view">
<field name="name">rma.operation.tree</field> <field name="name">rma.operation.tree</field>
<field name="model">rma.operation</field> <field name="model">rma.operation</field>
<field name="inherit_id" ref="rma.rma_operation_tree"/> <field name="inherit_id" ref="rma.rma_operation_tree" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="delivery_policy" position="after"> <field name="delivery_policy" position="after">
<field name="sale_policy"/> <field name="sale_policy" />
</field> </field>
</field> </field>
</record> </record>
@@ -15,10 +15,10 @@
<record id="rma_operation_form" model="ir.ui.view"> <record id="rma_operation_form" model="ir.ui.view">
<field name="name">rma.operation.form</field> <field name="name">rma.operation.form</field>
<field name="model">rma.operation</field> <field name="model">rma.operation</field>
<field name="inherit_id" ref="rma.rma_operation_form"/> <field name="inherit_id" ref="rma.rma_operation_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="delivery_policy" position="after"> <field name="delivery_policy" position="after">
<field name="sale_policy"/> <field name="sale_policy" />
</field> </field>
</field> </field>
</record> </record>

View File

@@ -1,41 +1,51 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="view_rma_line_form" model="ir.ui.view"> <record id="view_rma_line_form" model="ir.ui.view">
<field name="name">rma.order.line.form</field> <field name="name">rma.order.line.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_form"/> <field name="inherit_id" ref="rma.view_rma_line_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name='button_box' position="inside"> <div name='button_box' position="inside">
<button type="object" name="action_view_sale_order" <button
type="object"
name="action_view_sale_order"
class="oe_stat_button" class="oe_stat_button"
icon="fa-strikethrough" icon="fa-strikethrough"
groups="sales_team.group_sale_salesman_all_leads"> groups="sales_team.group_sale_salesman_all_leads"
<field name="sales_count" widget="statinfo" >
string="Sales Orders"/> <field
name="sales_count"
widget="statinfo"
string="Sales Orders"
/>
</button> </button>
</div> </div>
<group name="main_info" position="inside"> <group name="main_info" position="inside">
<field name="sale_line_id" <field
name="sale_line_id"
context="{'rma': True}" context="{'rma': True}"
options="{'no_create': True}"/> options="{'no_create': True}"
/>
</group> </group>
<group name="quantities" position="inside"> <group name="quantities" position="inside">
<group> <group>
<field name="qty_to_sell"/> <field name="qty_to_sell" />
<field name="qty_sold"/> <field name="qty_sold" />
</group> </group>
</group> </group>
<field name="delivery_policy" position="after"> <field name="delivery_policy" position="after">
<field name="sale_policy"/> <field name="sale_policy" />
</field> </field>
<field name="origin" position="after"> <field name="origin" position="after">
<field name="sale_id" <field
attrs="{'invisible': [('sale_line_id', '=', False)]}"/> name="sale_id"
attrs="{'invisible': [('sale_line_id', '=', False)]}"
/>
</field> </field>
<notebook position="inside"> <notebook position="inside">
<page name="sale" string="Sale Lines"> <page name="sale" string="Sale Lines">
<field name="sale_line_ids" nolabel="1"/> <field name="sale_line_ids" nolabel="1" />
</page> </page>
</notebook> </notebook>
</field> </field>
@@ -44,29 +54,35 @@
<record id="view_rma_line_supplier_form" model="ir.ui.view"> <record id="view_rma_line_supplier_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.form</field> <field name="name">rma.order.line.supplier.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_supplier_form"/> <field name="inherit_id" ref="rma.view_rma_line_supplier_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name='button_box' position="inside"> <div name='button_box' position="inside">
<button type="object" name="action_view_sale_order" <button
type="object"
name="action_view_sale_order"
class="oe_stat_button" class="oe_stat_button"
icon="fa-strikethrough" icon="fa-strikethrough"
groups="sales_team.group_sale_salesman_all_leads"> groups="sales_team.group_sale_salesman_all_leads"
<field name="sales_count" widget="statinfo" >
string="Sales Orders"/> <field
name="sales_count"
widget="statinfo"
string="Sales Orders"
/>
</button> </button>
</div> </div>
<group name="quantities" position="inside"> <group name="quantities" position="inside">
<group> <group>
<field name="qty_to_sell"/> <field name="qty_to_sell" />
<field name="qty_sold"/> <field name="qty_sold" />
</group> </group>
</group> </group>
<field name="delivery_policy" position="after"> <field name="delivery_policy" position="after">
<field name="sale_policy"/> <field name="sale_policy" />
</field> </field>
<notebook position="inside"> <notebook position="inside">
<page name="sale" string="Sale Lines"> <page name="sale" string="Sale Lines">
<field name="sale_line_ids" nolabel="1"/> <field name="sale_line_ids" nolabel="1" />
</page> </page>
</notebook> </notebook>
</field> </field>
@@ -75,24 +91,32 @@
<record id="view_rma_line_button_sale_form" model="ir.ui.view"> <record id="view_rma_line_button_sale_form" model="ir.ui.view">
<field name="name">rma.order.line.form</field> <field name="name">rma.order.line.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_button_form"/> <field name="inherit_id" ref="rma.view_rma_line_button_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<header position="inside"> <header position="inside">
<button name="%(action_rma_order_line_make_sale_order)d" states="approved" <button
string="Create Sales Quotation" class="oe_highlight" name="%(action_rma_order_line_make_sale_order)d"
type="action"/> states="approved"
string="Create Sales Quotation"
class="oe_highlight"
type="action"
/>
</header> </header>
</field> </field>
</record> </record>
<record id="view_rma_line_supplier_button_sale_form" model="ir.ui.view"> <record id="view_rma_line_supplier_button_sale_form" model="ir.ui.view">
<field name="name">rma.order.line.supplier.form</field> <field name="name">rma.order.line.supplier.form</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_line_supplier_button_form"/> <field name="inherit_id" ref="rma.view_rma_line_supplier_button_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<header position="inside"> <header position="inside">
<button name="%(action_rma_order_line_make_sale_order)d" states="approved" <button
string="Create Sales Quotation" class="oe_highlight" name="%(action_rma_order_line_make_sale_order)d"
type="action"/> states="approved"
string="Create Sales Quotation"
class="oe_highlight"
type="action"
/>
</header> </header>
</field> </field>
</record> </record>
@@ -100,11 +124,18 @@
<record id="view_rma_rma_line_filter" model="ir.ui.view"> <record id="view_rma_rma_line_filter" model="ir.ui.view">
<field name="name">rma.order.line.select - rma_sale</field> <field name="name">rma.order.line.select - rma_sale</field>
<field name="model">rma.order.line</field> <field name="model">rma.order.line</field>
<field name="inherit_id" ref="rma.view_rma_rma_line_filter"/> <field name="inherit_id" ref="rma.view_rma_rma_line_filter" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="stock_quantities" position="after"> <group name="stock_quantities" position="after">
<group name="sale_quantities" groups="sales_team.group_sale_salesman"> <group
<filter domain="[('state','!=', 'done'),('qty_to_sell','>',0.0)]" help="To Sell" name="to_sell"/> name="sale_quantities"
groups="sales_team.group_sale_salesman"
>
<filter
domain="[('state','!=', 'done'),('qty_to_sell','>',0.0)]"
help="To Sell"
name="to_sell"
/>
</group> </group>
</group> </group>
</field> </field>

View File

@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="view_rma_form" model="ir.ui.view"> <record id="view_rma_form" model="ir.ui.view">
<field name="name">rma.order.form</field> <field name="name">rma.order.form</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_form"/> <field name="inherit_id" ref="rma.view_rma_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name="button_box" position="inside"> <div name="button_box" position="inside">
<button type="object" name="action_view_sale_order" <button
type="object"
name="action_view_sale_order"
class="oe_stat_button" class="oe_stat_button"
icon="fa-pencil-square-o" icon="fa-pencil-square-o"
groups="sales_team.group_sale_salesman"> groups="sales_team.group_sale_salesman"
<field name="sale_count" widget="statinfo" >
string="Origin SO"/> <field
name="sale_count"
widget="statinfo"
string="Origin SO"
/>
</button> </button>
</div> </div>
</field> </field>

View File

@@ -1,16 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="view_order_form" model="ir.ui.view"> <record id="view_order_form" model="ir.ui.view">
<field name="name">sale.order.form</field> <field name="name">sale.order.form</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 <xpath
expr="//notebook/page/field[@name='order_line']/form/group/group/field[@name='price_unit']" expr="//notebook/page/field[@name='order_line']/form/group/group/field[@name='price_unit']"
position="after"> position="after"
<field name="rma_line_id" >
<field
name="rma_line_id"
options="{'no_create': True}" options="{'no_create': True}"
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"/> groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
/>
</xpath> </xpath>
</field> </field>
</record> </record>
@@ -20,17 +23,26 @@
<record id="view_order_form_inherit_sale_rma" model="ir.ui.view"> <record id="view_order_form_inherit_sale_rma" model="ir.ui.view">
<field name="name">sale.order.form.sale.rma</field> <field name="name">sale.order.form.sale.rma</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">
<data> <data>
<xpath expr="//button[@name='action_view_invoice']" position="before"> <xpath
<button type="object" expr="//button[@name='action_view_invoice']"
position="before"
>
<button
type="object"
name="action_view_rma" name="action_view_rma"
class="oe_stat_button" class="oe_stat_button"
icon="fa-dropbox" icon="fa-dropbox"
attrs="{'invisible': [('rma_count', '=', 0)]}" attrs="{'invisible': [('rma_count', '=', 0)]}"
groups="rma.group_rma_customer_user"> groups="rma.group_rma_customer_user"
<field name="rma_count" widget="statinfo" string="RMA"/> >
<field
name="rma_count"
widget="statinfo"
string="RMA"
/>
</button> </button>
</xpath> </xpath>
</data> </data>

View File

@@ -1,50 +1,69 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<record id="view_rma_add_sale" model="ir.ui.view"> <record id="view_rma_add_sale" model="ir.ui.view">
<field name="name">rma.add.sale</field> <field name="name">rma.add.sale</field>
<field name="model">rma_add_sale</field> <field name="model">rma_add_sale</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Select Sale Order from customer"> <form string="Select Sale Order from customer">
<separator string="Select Sale Order from customer"/> <separator string="Select Sale Order from customer" />
<group> <group>
<field name="partner_id" <field
name="partner_id"
domain="[('customer','=',True)]" domain="[('customer','=',True)]"
string="Customer"/> string="Customer"
/>
</group> </group>
<separator string="Select Sale Order Lines to Add"/> <separator string="Select Sale Order Lines to Add" />
<group> <group>
<field name="sale_id" <field
name="sale_id"
domain="[ domain="[
('partner_id','=',partner_id), (('state','not in',['draft','cancel']))]" ('partner_id','=',partner_id), (('state','not in',['draft','cancel']))]"
context="{'partner_id': partner_id}"/> context="{'partner_id': partner_id}"
/>
</group> </group>
<field name="sale_line_ids" <field
name="sale_line_ids"
domain="[('order_id', '=', sale_id)]" domain="[('order_id', '=', sale_id)]"
string="Sale Order Lines"> string="Sale Order Lines"
>
<tree> <tree>
<field name="product_id" invisible="1"/> <field name="product_id" invisible="1" />
<field name="order_id"/> <field name="order_id" />
<field name="order_partner_id"/> <field name="order_partner_id" />
<field name="name"/> <field name="name" />
<field name="salesman_id"/> <field name="salesman_id" />
<field name="product_uom_qty" string="Qty"/> <field name="product_uom_qty" string="Qty" />
<field name="qty_delivered"/> <field name="qty_delivered" />
<field name="qty_invoiced"/> <field name="qty_invoiced" />
<field name="qty_to_invoice"/> <field name="qty_to_invoice" />
<field name="product_uom" string="Unit of Measure" groups="uom.group_uom"/> <field
<field name="price_subtotal" sum="Total" widget="monetary"/> name="product_uom"
string="Unit of Measure"
groups="uom.group_uom"
/>
<field
name="price_subtotal"
sum="Total"
widget="monetary"
/>
</tree> </tree>
</field> </field>
<footer> <footer>
<button <button
string="Confirm" string="Confirm"
name="add_lines" type="object" name="add_lines"
class="oe_highlight"/> type="object"
class="oe_highlight"
/>
or or
<button name="action_cancel" <button
string="Cancel" class="oe_link" special="cancel"/> name="action_cancel"
string="Cancel"
class="oe_link"
special="cancel"
/>
</footer> </footer>
</form> </form>
</field> </field>
@@ -56,20 +75,25 @@
<field name="res_model">rma_add_sale</field> <field name="res_model">rma_add_sale</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="view_id" ref="view_rma_add_sale"/> <field name="view_id" ref="view_rma_add_sale" />
<field name="groups_id" eval="[(4, ref('rma.group_rma_customer_user')), (4, ref('rma.group_rma_customer_user'))]"/> <field
name="groups_id"
eval="[(4, ref('rma.group_rma_customer_user')), (4, ref('rma.group_rma_customer_user'))]"
/>
</record> </record>
<record id="view_rma_add_sale_form" model="ir.ui.view"> <record id="view_rma_add_sale_form" model="ir.ui.view">
<field name="name">rma.order.form - sale wizard</field> <field name="name">rma.order.form - sale wizard</field>
<field name="model">rma.order</field> <field name="model">rma.order</field>
<field name="inherit_id" ref="rma.view_rma_form"/> <field name="inherit_id" ref="rma.view_rma_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button name="%(action_rma_add_sale)d" <button
name="%(action_rma_add_sale)d"
string="Add From Sale Order" string="Add From Sale Order"
type="action"/> type="action"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Eficent Business and IT Consulting Services S.L. <!-- Copyright 2016 Eficent Business and IT Consulting Services S.L.
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) --> License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
<odoo> <odoo>
@@ -9,53 +9,64 @@
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Create Quotation"> <form string="Create Quotation">
<separator string="Existing Quotation to update:"/> <separator string="Existing Quotation to update:" />
<newline/> <newline />
<group> <group>
<field name="sale_order_id" <field
name="sale_order_id"
domain="[('partner_id','=', partner_id)]" domain="[('partner_id','=', partner_id)]"
context="{'partner_id': partner_id}"/> context="{'partner_id': partner_id}"
/>
</group> </group>
<newline/> <newline />
<separator <separator string="New Sales Order details:" />
string="New Sales Order details:"/> <newline />
<newline/>
<group> <group>
<field name="partner_id"/> <field name="partner_id" />
</group> </group>
<newline/> <newline />
<group> <group>
<field name="item_ids" nolabel="1" colspan="2"> <field name="item_ids" nolabel="1" colspan="2">
<tree string="Details" editable="bottom"> <tree string="Details" editable="bottom">
<field name="wiz_id" invisible="True"/> <field name="wiz_id" invisible="True" />
<field name="line_id" <field name="line_id" invisible="True" />
invisible="True"/> <field name="product_id" />
<field name="product_id"/> <field name="name" />
<field name="name"/> <field name="product_qty" />
<field name="product_qty"/> <field
<field name="product_uom_id" name="product_uom_id"
groups="uom.group_uom"/> groups="uom.group_uom"
<field name="free_of_charge"/> />
<field name="free_of_charge" />
</tree> </tree>
</field> </field>
</group> </group>
<footer colspan="2"> <footer colspan="2">
<button name="make_sale_order" <button
string="Create Sales Quotation" type="object" name="make_sale_order"
class="oe_highlight"/> string="Create Sales Quotation"
<button special="cancel" string="Cancel" class="oe_link"/> type="object"
class="oe_highlight"
/>
<button
special="cancel"
string="Cancel"
class="oe_link"
/>
</footer> </footer>
</form> </form>
</field> </field>
</record> </record>
<record id="action_rma_order_line_make_sale_order" <record
model="ir.actions.act_window"> id="action_rma_order_line_make_sale_order"
model="ir.actions.act_window"
>
<field name="name">Create Sales Quotation</field> <field name="name">Create Sales Quotation</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">rma.order.line.make.sale.order</field> <field name="res_model">rma.order.line.make.sale.order</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="view_rma_order_line_make_sale_order"/> <field name="view_id" ref="view_rma_order_line_make_sale_order" />
<field name="target">new</field> <field name="target">new</field>
</record> </record>

View File

@@ -0,0 +1,2 @@
# addons listed in this file are ignored by
# setuptools-odoo-make-default (one addon per line)

2
setup/README Normal file
View File

@@ -0,0 +1,2 @@
To learn more about this directory, please visit
https://pypi.python.org/pypi/setuptools-odoo

1
setup/rma/odoo/addons/rma Symbolic link
View File

@@ -0,0 +1 @@
../../../../rma

6
setup/rma/setup.py Normal file
View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

View File

@@ -0,0 +1 @@
../../../../rma_account

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

View File

@@ -0,0 +1 @@
../../../../rma_sale

6
setup/rma_sale/setup.py Normal file
View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)