mirror of
https://github.com/ForgeFlow/stock-rma.git
synced 2025-01-21 12:57:49 +02:00
[MIG] Add metafiles
[skip ci]
This commit is contained in:
18
.coveragerc
Normal file
18
.coveragerc
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Config file .coveragerc
|
||||||
|
# adapt the include for your project
|
||||||
|
|
||||||
|
[report]
|
||||||
|
include =
|
||||||
|
*/ForgeFlow/rma/*
|
||||||
|
|
||||||
|
omit =
|
||||||
|
*/tests/*
|
||||||
|
*__init__.py
|
||||||
|
|
||||||
|
# Regexes for lines to exclude from consideration
|
||||||
|
exclude_lines =
|
||||||
|
# Have to re-enable the standard pragma
|
||||||
|
pragma: no cover
|
||||||
|
|
||||||
|
# Don't complain about null context checking
|
||||||
|
if context is None:
|
||||||
20
.editorconfig
Normal file
20
.editorconfig
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Configuration for known file extensions
|
||||||
|
[*.{css,js,json,less,md,py,rst,sass,scss,xml,yaml,yml}]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[.eslintrc,*.{json,yml,yaml,rst,md}]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# Do not configure editor for libs and autogenerated content
|
||||||
|
[*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst]
|
||||||
|
charset = unset
|
||||||
|
end_of_line = unset
|
||||||
|
indent_size = unset
|
||||||
|
indent_style = unset
|
||||||
|
insert_final_newline = false
|
||||||
|
trim_trailing_whitespace = false
|
||||||
291
.eslintrc
Normal file
291
.eslintrc
Normal file
@@ -0,0 +1,291 @@
|
|||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
10
.flake8
Normal file
10
.flake8
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[flake8]
|
||||||
|
max-line-length = 80
|
||||||
|
max-complexity = 16
|
||||||
|
# B = bugbear
|
||||||
|
# B9 = bugbear opinionated (incl line length)
|
||||||
|
select = C,E,F,W,B,B9
|
||||||
|
# E203: whitespace before ':' (black behaviour)
|
||||||
|
# E501: flake8 line length (covered by bugbear B950)
|
||||||
|
# W503: line break before binary operator (black behaviour)
|
||||||
|
ignore = E203,E501,W503
|
||||||
56
.gitignore
vendored
Normal file
56
.gitignore
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
env/
|
||||||
|
bin/
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.coverage
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Pycharm
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# Mr Developer
|
||||||
|
.mr.developer.cfg
|
||||||
|
.project
|
||||||
|
.pydevproject
|
||||||
|
|
||||||
|
# Rope
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# Backup files
|
||||||
|
*~
|
||||||
|
*.swp
|
||||||
12
.isort.cfg
Normal file
12
.isort.cfg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[settings]
|
||||||
|
; see https://github.com/psf/black
|
||||||
|
multi_line_output=3
|
||||||
|
include_trailing_comma=True
|
||||||
|
force_grid_wrap=0
|
||||||
|
combine_as_imports=True
|
||||||
|
use_parentheses=True
|
||||||
|
line_length=88
|
||||||
|
known_odoo=odoo
|
||||||
|
known_odoo_addons=odoo.addons
|
||||||
|
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
|
||||||
|
known_third_party=
|
||||||
68
.pre-commit-config.yaml
Normal file
68
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
exclude: "^setup/|/static/lib/|/static/src/lib/"
|
||||||
|
default_language_version:
|
||||||
|
python: python3
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: 19.3b0
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v2.3.0
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
# exclude autogenerated files
|
||||||
|
exclude: /README\.rst$|\.pot?$
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
# exclude autogenerated files
|
||||||
|
exclude: /README\.rst$|\.pot?$
|
||||||
|
- id: debug-statements
|
||||||
|
- id: flake8
|
||||||
|
name: flake8 except __init__.py
|
||||||
|
exclude: /__init__\.py$
|
||||||
|
additional_dependencies: ["flake8-bugbear==19.8.0"]
|
||||||
|
- id: flake8
|
||||||
|
name: flake8 only __init__.py
|
||||||
|
args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py
|
||||||
|
files: /__init__\.py$
|
||||||
|
additional_dependencies: ["flake8-bugbear==19.8.0"]
|
||||||
|
- id: fix-encoding-pragma
|
||||||
|
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
|
||||||
|
hooks:
|
||||||
|
- id: pylint
|
||||||
|
name: pylint with optional checks
|
||||||
|
args: ["--rcfile=.pylintrc", "--exit-zero"]
|
||||||
|
verbose: true
|
||||||
|
additional_dependencies: ["pylint-odoo==3.0.3"]
|
||||||
|
- id: pylint
|
||||||
|
name: pylint with mandatory checks
|
||||||
|
args: ["--rcfile=.pylintrc-mandatory"]
|
||||||
|
additional_dependencies: ["pylint-odoo==3.0.3"]
|
||||||
|
- repo: https://github.com/asottile/pyupgrade
|
||||||
|
rev: v1.24.0
|
||||||
|
hooks:
|
||||||
|
- id: pyupgrade
|
||||||
|
- repo: https://github.com/asottile/seed-isort-config
|
||||||
|
rev: v1.9.3
|
||||||
|
hooks:
|
||||||
|
- id: seed-isort-config
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-isort
|
||||||
|
rev: v4.3.21
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
||||||
|
name: isort except __init__.py
|
||||||
|
exclude: /__init__\.py$
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-eslint
|
||||||
|
rev: v6.5.1
|
||||||
|
hooks:
|
||||||
|
- id: eslint
|
||||||
|
verbose: true
|
||||||
85
.pylintrc
Normal file
85
.pylintrc
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
[MASTER]
|
||||||
|
load-plugins=pylint_odoo
|
||||||
|
score=n
|
||||||
|
|
||||||
|
[ODOOLINT]
|
||||||
|
readme_template_url="https://github.com/ForgeFlow/maintainer-tools/blob/master/template/module/README.rst"
|
||||||
|
manifest_required_keys=license
|
||||||
|
manifest_deprecated_keys=description,active
|
||||||
|
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||||
|
valid_odoo_versions=13.0
|
||||||
|
|
||||||
|
[MESSAGES CONTROL]
|
||||||
|
disable=all
|
||||||
|
|
||||||
|
# This .pylintrc contains optional AND mandatory checks and is meant to be
|
||||||
|
# loaded in an IDE to have it check everything, in the hope this will make
|
||||||
|
# optional checks more visible to contributors who otherwise never look at a
|
||||||
|
# green travis to see optional checks that failed.
|
||||||
|
# .pylintrc-mandatory containing only mandatory checks is used the pre-commit
|
||||||
|
# config as a blocking check.
|
||||||
|
|
||||||
|
enable=anomalous-backslash-in-string,
|
||||||
|
api-one-deprecated,
|
||||||
|
api-one-multi-together,
|
||||||
|
assignment-from-none,
|
||||||
|
attribute-deprecated,
|
||||||
|
class-camelcase,
|
||||||
|
dangerous-default-value,
|
||||||
|
dangerous-view-replace-wo-priority,
|
||||||
|
duplicate-id-csv,
|
||||||
|
duplicate-key,
|
||||||
|
duplicate-xml-fields,
|
||||||
|
duplicate-xml-record-id,
|
||||||
|
eval-referenced,
|
||||||
|
eval-used,
|
||||||
|
incoherent-interpreter-exec-perm,
|
||||||
|
license-allowed,
|
||||||
|
manifest-author-string,
|
||||||
|
manifest-deprecated-key,
|
||||||
|
manifest-required-key,
|
||||||
|
manifest-version-format,
|
||||||
|
method-compute,
|
||||||
|
method-inverse,
|
||||||
|
method-required-super,
|
||||||
|
method-search,
|
||||||
|
missing-import-error,
|
||||||
|
missing-manifest-dependency,
|
||||||
|
openerp-exception-warning,
|
||||||
|
pointless-statement,
|
||||||
|
pointless-string-statement,
|
||||||
|
print-used,
|
||||||
|
redundant-keyword-arg,
|
||||||
|
redundant-modulename-xml,
|
||||||
|
reimported,
|
||||||
|
relative-import,
|
||||||
|
return-in-init,
|
||||||
|
rst-syntax-error,
|
||||||
|
sql-injection,
|
||||||
|
too-few-format-args,
|
||||||
|
translation-field,
|
||||||
|
translation-required,
|
||||||
|
unreachable,
|
||||||
|
use-vim-comment,
|
||||||
|
wrong-tabs-instead-of-spaces,
|
||||||
|
xml-syntax-error,
|
||||||
|
# messages that do not cause the lint step to fail
|
||||||
|
consider-merging-classes-inherited,
|
||||||
|
create-user-wo-reset-password,
|
||||||
|
dangerous-filter-wo-user,
|
||||||
|
deprecated-module,
|
||||||
|
file-not-used,
|
||||||
|
invalid-commit,
|
||||||
|
missing-newline-extrafiles,
|
||||||
|
missing-readme,
|
||||||
|
no-utf8-coding-comment,
|
||||||
|
odoo-addons-relative-import,
|
||||||
|
old-api7-method-defined,
|
||||||
|
redefined-builtin,
|
||||||
|
too-complex,
|
||||||
|
unnecessary-utf8-coding-comment
|
||||||
|
|
||||||
|
[REPORTS]
|
||||||
|
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
|
||||||
|
output-format=colorized
|
||||||
|
reports=no
|
||||||
63
.pylintrc-mandatory
Normal file
63
.pylintrc-mandatory
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
[MASTER]
|
||||||
|
load-plugins=pylint_odoo
|
||||||
|
score=n
|
||||||
|
|
||||||
|
[ODOOLINT]
|
||||||
|
readme_template_url="https://github.com/ForgeFlow/maintainer-tools/blob/master/template/module/README.rst"
|
||||||
|
manifest_required_keys=license
|
||||||
|
manifest_deprecated_keys=description,active
|
||||||
|
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||||
|
valid_odoo_versions=13.0
|
||||||
|
|
||||||
|
[MESSAGES CONTROL]
|
||||||
|
disable=all
|
||||||
|
|
||||||
|
enable=anomalous-backslash-in-string,
|
||||||
|
api-one-deprecated,
|
||||||
|
api-one-multi-together,
|
||||||
|
assignment-from-none,
|
||||||
|
attribute-deprecated,
|
||||||
|
class-camelcase,
|
||||||
|
dangerous-default-value,
|
||||||
|
dangerous-view-replace-wo-priority,
|
||||||
|
duplicate-id-csv,
|
||||||
|
duplicate-key,
|
||||||
|
duplicate-xml-fields,
|
||||||
|
duplicate-xml-record-id,
|
||||||
|
eval-referenced,
|
||||||
|
eval-used,
|
||||||
|
incoherent-interpreter-exec-perm,
|
||||||
|
license-allowed,
|
||||||
|
manifest-author-string,
|
||||||
|
manifest-deprecated-key,
|
||||||
|
manifest-required-key,
|
||||||
|
manifest-version-format,
|
||||||
|
method-compute,
|
||||||
|
method-inverse,
|
||||||
|
method-required-super,
|
||||||
|
method-search,
|
||||||
|
missing-import-error,
|
||||||
|
missing-manifest-dependency,
|
||||||
|
openerp-exception-warning,
|
||||||
|
pointless-statement,
|
||||||
|
pointless-string-statement,
|
||||||
|
print-used,
|
||||||
|
redundant-keyword-arg,
|
||||||
|
redundant-modulename-xml,
|
||||||
|
reimported,
|
||||||
|
relative-import,
|
||||||
|
return-in-init,
|
||||||
|
rst-syntax-error,
|
||||||
|
sql-injection,
|
||||||
|
too-few-format-args,
|
||||||
|
translation-field,
|
||||||
|
translation-required,
|
||||||
|
unreachable,
|
||||||
|
use-vim-comment,
|
||||||
|
wrong-tabs-instead-of-spaces,
|
||||||
|
xml-syntax-error
|
||||||
|
|
||||||
|
[REPORTS]
|
||||||
|
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
|
||||||
|
output-format=colorized
|
||||||
|
reports=no
|
||||||
48
.travis.yml
Normal file
48
.travis.yml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
language: python
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $HOME/.cache/pip
|
||||||
|
- $HOME/.cache/pre-commit
|
||||||
|
|
||||||
|
python:
|
||||||
|
- "3.6"
|
||||||
|
|
||||||
|
addons:
|
||||||
|
postgresql: "9.6"
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- expect-dev # provides unbuffer utility
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- linting
|
||||||
|
- test
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- stage: linting
|
||||||
|
name: "pre-commit"
|
||||||
|
before_install:
|
||||||
|
install: pip install pre-commit
|
||||||
|
script: pre-commit run --all --show-diff-on-failure
|
||||||
|
after_success:
|
||||||
|
- stage: test
|
||||||
|
env:
|
||||||
|
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
|
||||||
|
- stage: test
|
||||||
|
env:
|
||||||
|
- TESTS="1" ODOO_REPO="OCA/OCB"
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- VERSION="13.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
|
||||||
|
|
||||||
|
install:
|
||||||
|
- git clone -b master-eficent https://github.com/ForgeFlow/maintainer-quality-tools.git $HOME/maintainer-quality-tools
|
||||||
|
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
|
||||||
|
- travis_install_nightly
|
||||||
|
|
||||||
|
script:
|
||||||
|
- travis_run_tests
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- travis_after_tests_success
|
||||||
165
LICENSE
Normal file
165
LICENSE
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
||||||
24
README.md
Normal file
24
README.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[](https://travis-ci.org/forgeflow/stock-rma)
|
||||||
|
[](https://codecov.io/gh/forgeflow/stock-rma)
|
||||||
|
|
||||||
|
RMA (Return Merchandise Authorization)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
A Return Merchandise Authorization (RMA), is a part of the process of
|
||||||
|
returning a product in order to receive a refund, replacement, or repair
|
||||||
|
during the product's warranty period.
|
||||||
|
|
||||||
|
The purchaser of the product must contact the manufacturer (or distributor
|
||||||
|
or retailer) to obtain authorization to return the product.
|
||||||
|
|
||||||
|
The resulting RMA number must be displayed on or included in the returned
|
||||||
|
product's packaging.
|
||||||
|
|
||||||
|
The issuance of an RMA is a key gatekeeping moment in the reverse logistics
|
||||||
|
cycle, providing the vendor with a final opportunity to diagnose and correct
|
||||||
|
the customer's problem with the product (such as improper installation or
|
||||||
|
configuration) before the customer permanently relinquishes ownership
|
||||||
|
of the product to the manufacturer, commonly referred to as a return.
|
||||||
|
|
||||||
|
As returns are costly for the vendor and inconvenient for the customer,
|
||||||
|
any return that can be prevented benefits both parties.
|
||||||
Reference in New Issue
Block a user