pre-commit update

This commit is contained in:
OCA-git-bot
2020-03-14 12:19:41 +01:00
parent 6c9928760b
commit df0bcabf36
18 changed files with 590 additions and 611 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
}
}

180
.eslintrc.yml Normal file
View File

@@ -0,0 +1,180 @@
env:
browser: true
# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
parserOptions:
ecmaVersion: 2017
# Globals available in Odoo that shouldn't produce errorings
globals:
_: readonly
$: readonly
fuzzy: readonly
jQuery: readonly
moment: readonly
odoo: readonly
openerp: readonly
Promise: readonly
# Styling is handled by Prettier, so we only need to enable AST rules;
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
rules:
accessor-pairs: warn
array-callback-return: warn
callback-return: warn
capitalized-comments:
- warn
- always
- ignoreConsecutiveComments: true
ignoreInlineComments: true
complexity:
- warn
- 15
constructor-super: warn
dot-notation: warn
eqeqeq: warn
global-require: warn
handle-callback-err: warn
id-blacklist: warn
id-match: warn
init-declarations: error
max-depth: warn
max-nested-callbacks: warn
max-statements-per-line: warn
no-alert: warn
no-array-constructor: warn
no-caller: warn
no-case-declarations: warn
no-class-assign: warn
no-cond-assign: error
no-const-assign: error
no-constant-condition: warn
no-control-regex: warn
no-debugger: error
no-delete-var: warn
no-div-regex: warn
no-dupe-args: error
no-dupe-class-members: error
no-dupe-keys: error
no-duplicate-case: error
no-duplicate-imports: error
no-else-return: warn
no-empty-character-class: warn
no-empty-function: error
no-empty-pattern: error
no-empty: warn
no-eq-null: error
no-eval: error
no-ex-assign: error
no-extend-native: warn
no-extra-bind: warn
no-extra-boolean-cast: warn
no-extra-label: warn
no-fallthrough: warn
no-func-assign: error
no-global-assign: error
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-irregular-whitespace: warn
no-iterator: warn
no-label-var: warn
no-labels: warn
no-lone-blocks: warn
no-lonely-if: error
no-mixed-requires: error
no-multi-str: warn
no-native-reassign: error
no-negated-condition: warn
no-negated-in-lhs: error
no-new-func: warn
no-new-object: warn
no-new-require: warn
no-new-symbol: warn
no-new-wrappers: warn
no-new: warn
no-obj-calls: warn
no-octal-escape: warn
no-octal: warn
no-param-reassign: warn
no-path-concat: warn
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: error
no-script-url: warn
no-self-assign: warn
no-self-compare: warn
no-sequences: warn
no-shadow-restricted-names: warn
no-shadow: warn
no-sparse-arrays: warn
no-sync: warn
no-this-before-super: warn
no-throw-literal: warn
no-undef-init: warn
no-undef: error
no-unmodified-loop-condition: warn
no-unneeded-ternary: error
no-unreachable: error
no-unsafe-finally: error
no-unused-expressions: error
no-unused-labels: error
no-unused-vars: error
no-use-before-define: error
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-with: warn
operator-assignment: [error, always]
prefer-const: warn
radix: warn
require-yield: warn
sort-imports: warn
spaced-comment: [error, always]
strict: [error, function]
use-isnan: error
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
yoda: warn

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=mock 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
@@ -31,38 +65,35 @@ repos:
- id: check-docstring-first - id: check-docstring-first
- id: check-executables-have-shebangs - id: check-executables-have-shebangs
- id: check-merge-conflict - id: check-merge-conflict
# exclude files where underlines are not distinguishable from merge conflicts
exclude: /README\.rst$|^docs/.*\.rst$
- id: check-symlinks - id: check-symlinks
- id: check-xml - id: check-xml
- id: mixed-line-ending - id: mixed-line-ending
args: ["--fix=lf"] args: ["--fix=lf"]
- repo: https://github.com/pre-commit/mirrors-pylint - 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

8
.prettierrc.yml Normal file
View File

@@ -0,0 +1,8 @@
# Defaults for all prettier-supported languages.
# Prettier will complete this with settings from .editorconfig file.
bracketSpacing: false
printWidth: 88
proseWrap: always
semi: true
trailingComma: "es5"
xmlWhitespaceSensitivity: "ignore"

View File

@@ -39,7 +39,8 @@ env:
- VERSION="13.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0" - VERSION="13.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
install: install:
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools - git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git
${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly - travis_install_nightly

View File

@@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo noupdate="1"> <odoo noupdate="1">
<!-- printing.action --> <!-- printing.action -->
<record model="printing.action" id="printing_action_1"> <record model="printing.action" id="printing_action_1">
<field name="name">Send to Printer</field> <field name="name">Send to Printer</field>
@@ -13,21 +12,22 @@
<!-- properties --> <!-- properties -->
<record forcecreate="True" id="property_printing_action_id" model="ir.property"> <record forcecreate="True" id="property_printing_action_id" model="ir.property">
<field name="name">property_printing_action_id</field> <field name="name">property_printing_action_id</field>
<field name="fields_id" search="[('model', '=', 'ir.actions.report'), ('name', '=', 'property_printing_action_id')]"/> <field
<field name="value" eval="'printing.action,' + str(printing_action_2)"/> name="fields_id"
search="[('model', '=', 'ir.actions.report'), ('name', '=', 'property_printing_action_id')]"
/>
<field name="value" eval="'printing.action,' + str(printing_action_2)" />
</record> </record>
<record forcecreate="True" id="ir_cron_update_printers" model="ir.cron"> <record forcecreate="True" id="ir_cron_update_printers" model="ir.cron">
<field name="name">Update Printers Jobs</field> <field name="name">Update Printers Jobs</field>
<field eval="True" name="active"/> <field eval="True" name="active" />
<field name="user_id" ref="base.user_root"/> <field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field> <field name="interval_number">1</field>
<field name="interval_type">minutes</field> <field name="interval_type">minutes</field>
<field name="numbercall">-1</field> <field name="numbercall">-1</field>
<field eval="False" name="doall"/> <field eval="False" name="doall" />
<field name="model_id" ref="base_report_to_printer.model_printing_server"/> <field name="model_id" ref="base_report_to_printer.model_printing_server" />
<field name="state">code</field> <field name="state">code</field>
<field name="code">model.action_update_jobs()</field> <field name="code">model.action_update_jobs()</field>
</record> </record>
</odoo> </odoo>

View File

@@ -1,135 +1,125 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="printing_group_user" model="res.groups"> <record id="printing_group_user" model="res.groups">
<field name="name">Printing / Print User</field> <field name="name">Printing / Print User</field>
</record> </record>
<record id="printing_group_manager" model="res.groups"> <record id="printing_group_manager" model="res.groups">
<field name="name">Printing / Print Manager</field> <field name="name">Printing / Print Manager</field>
<field name="implied_ids" <field name="implied_ids" eval="[(4, ref('printing_group_user'))]" />
eval="[(4, ref('printing_group_user'))]"/>
</record> </record>
<record id="base.group_user" model="res.groups"> <record id="base.group_user" model="res.groups">
<field name="implied_ids" <field name="implied_ids" eval="[(4, ref('printing_group_user'))]" />
eval="[(4, ref('printing_group_user'))]"/>
</record> </record>
<record id="base.group_erp_manager" model="res.groups"> <record id="base.group_erp_manager" model="res.groups">
<field name="implied_ids" <field name="implied_ids" eval="[(4, ref('printing_group_manager'))]" />
eval="[(4, ref('printing_group_manager'))]"/>
</record> </record>
<record id="printing_server_group_manager" model="ir.model.access"> <record id="printing_server_group_manager" model="ir.model.access">
<field name="name">Printing Server Manager</field> <field name="name">Printing Server Manager</field>
<field name="model_id" ref="model_printing_server"/> <field name="model_id" ref="model_printing_server" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
<record id="printing_printer_group_manager" model="ir.model.access"> <record id="printing_printer_group_manager" model="ir.model.access">
<field name="name">Printing Printer Manager</field> <field name="name">Printing Printer Manager</field>
<field name="model_id" ref="model_printing_printer"/> <field name="model_id" ref="model_printing_printer" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
<record id="printing_action_group_manager" model="ir.model.access"> <record id="printing_action_group_manager" model="ir.model.access">
<field name="name">Printing Action Manager</field> <field name="name">Printing Action Manager</field>
<field name="model_id" ref="model_printing_action"/> <field name="model_id" ref="model_printing_action" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
<record id="printing_report_xml_action_group_manager" model="ir.model.access"> <record id="printing_report_xml_action_group_manager" model="ir.model.access">
<field name="name">Printing Report Xml Action Manager</field> <field name="name">Printing Report Xml Action Manager</field>
<field name="model_id" ref="model_printing_report_xml_action"/> <field name="model_id" ref="model_printing_report_xml_action" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
<record id="printing_server_group_user" model="ir.model.access"> <record id="printing_server_group_user" model="ir.model.access">
<field name="name">Printing Server User</field> <field name="name">Printing Server User</field>
<field name="model_id" ref="model_printing_server"/> <field name="model_id" ref="model_printing_server" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<record id="printing_printer_group_user" model="ir.model.access"> <record id="printing_printer_group_user" model="ir.model.access">
<field name="name">Printing Printer User</field> <field name="name">Printing Printer User</field>
<field name="model_id" ref="model_printing_printer"/> <field name="model_id" ref="model_printing_printer" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<record id="printing_job_group_user" model="ir.model.access"> <record id="printing_job_group_user" model="ir.model.access">
<field name="name">Printing Job User</field> <field name="name">Printing Job User</field>
<field name="model_id" ref="model_printing_job"/> <field name="model_id" ref="model_printing_job" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<record id="printing_job_group_manager" model="ir.model.access"> <record id="printing_job_group_manager" model="ir.model.access">
<field name="name">Printing Job User</field> <field name="name">Printing Job User</field>
<field name="model_id" ref="model_printing_job"/> <field name="model_id" ref="model_printing_job" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
<record id="printing_action_group_user" model="ir.model.access"> <record id="printing_action_group_user" model="ir.model.access">
<field name="name">Printing Action User</field> <field name="name">Printing Action User</field>
<field name="model_id" ref="model_printing_action"/> <field name="model_id" ref="model_printing_action" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<record id="printing_report_xml_action_group_user" model="ir.model.access"> <record id="printing_report_xml_action_group_user" model="ir.model.access">
<field name="name">Printing Report Xml Action User</field> <field name="name">Printing Report Xml Action User</field>
<field name="model_id" ref="model_printing_report_xml_action"/> <field name="model_id" ref="model_printing_report_xml_action" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<!--Ported from printing_tray --> <!--Ported from printing_tray -->
<record id="access_printing_tray_all" model="ir.model.access"> <record id="access_printing_tray_all" model="ir.model.access">
<field name="name">Printing Tray User</field> <field name="name">Printing Tray User</field>
<field name="model_id" ref="model_printing_tray"/> <field name="model_id" ref="model_printing_tray" />
<field name="group_id" ref="printing_group_user"/> <field name="group_id" ref="printing_group_user" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="0" name="perm_unlink"/> <field eval="0" name="perm_unlink" />
<field eval="0" name="perm_write"/> <field eval="0" name="perm_write" />
<field eval="0" name="perm_create"/> <field eval="0" name="perm_create" />
</record> </record>
<record id="access_printing_tray_operator" model="ir.model.access"> <record id="access_printing_tray_operator" model="ir.model.access">
<field name="name">Printing Tray User</field> <field name="name">Printing Tray User</field>
<field name="model_id" ref="model_printing_tray"/> <field name="model_id" ref="model_printing_tray" />
<field name="group_id" ref="printing_group_manager"/> <field name="group_id" ref="printing_group_manager" />
<field eval="1" name="perm_read"/> <field eval="1" name="perm_read" />
<field eval="1" name="perm_unlink"/> <field eval="1" name="perm_unlink" />
<field eval="1" name="perm_write"/> <field eval="1" name="perm_write" />
<field eval="1" name="perm_create"/> <field eval="1" name="perm_create" />
</record> </record>
</odoo> </odoo>

View File

@@ -1,43 +1,50 @@
odoo.define('base_report_to_printer.print', function (require) { odoo.define("base_report_to_printer.print", function(require) {
'use strict'; "use strict";
var ActionManager = require('web.ActionManager'); var ActionManager = require("web.ActionManager");
var core = require('web.core'); var core = require("web.core");
var _t = core._t; var _t = core._t;
ActionManager.include({ ActionManager.include({
_triggerDownload: function (action, options, type) { _triggerDownload: function(action, options, type) {
var self = this; var self = this;
var _super = this._super; var _super = this._super;
if (type === 'pdf') { if (type === "pdf") {
this._rpc({ this._rpc({
model: 'ir.actions.report', model: "ir.actions.report",
method: 'print_action_for_report_name', method: "print_action_for_report_name",
args: [action.report_name], args: [action.report_name],
}).then(function (print_action) { }).then(function(print_action) {
if (print_action && print_action.action === 'server') { if (print_action && print_action.action === "server") {
self._rpc({ self._rpc({
model: 'ir.actions.report', model: "ir.actions.report",
method: 'print_document', method: "print_document",
args: [action.id, action.context.active_ids], args: [action.id, action.context.active_ids],
kwargs: {data: action.data || {}}, kwargs: {data: action.data || {}},
context: action.context || {}, context: action.context || {},
}).then(function () { }).then(
self.do_notify(_t('Report'), function() {
self.do_notify(
_t("Report"),
_.str.sprintf( _.str.sprintf(
_t('Document sent to the printer %s'), _t("Document sent to the printer %s"),
print_action.printer_name print_action.printer_name
) )
); );
}, function () { },
self.do_notify(_t('Report'), function() {
self.do_notify(
_t("Report"),
_.str.sprintf( _.str.sprintf(
_t('Error when sending the document ' + _t(
'to the printer '), "Error when sending the document " +
"to the printer "
),
print_action.printer_name print_action.printer_name
) )
); );
}); }
);
} else { } else {
return _super.apply(self, [action, options, type]); return _super.apply(self, [action, options, type]);
} }

View File

@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<template id="assets_backend" name="base_report_to_printer assets" inherit_id="web.assets_backend"> <template
id="assets_backend"
name="base_report_to_printer assets"
inherit_id="web.assets_backend"
>
<xpath expr="." position="inside"> <xpath expr="." position="inside">
<script type="text/javascript" src="/base_report_to_printer/static/src/js/qweb_action_manager.js" /> <script
type="text/javascript"
src="/base_report_to_printer/static/src/js/qweb_action_manager.js"
/>
</xpath> </xpath>
</template> </template>
</odoo> </odoo>

View File

@@ -1,24 +1,21 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="ir.ui.view" id="act_report_xml_view"> <record model="ir.ui.view" id="act_report_xml_view">
<field name="name">ir.actions.report.form (in base_report_to_printer)</field> <field name="name">ir.actions.report.form (in base_report_to_printer)</field>
<field name="model">ir.actions.report</field> <field name="model">ir.actions.report</field>
<field name="inherit_id" ref="base.act_report_xml_view"/> <field name="inherit_id" ref="base.act_report_xml_view" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//page[@name='security']" position="before"> <xpath expr="//page[@name='security']" position="before">
<page string="Print" name="print"> <page string="Print" name="print">
<group> <group>
<field name="property_printing_action_id"/> <field name="property_printing_action_id" />
<field name="printing_printer_id"/> <field name="printing_printer_id" />
<field name="printer_tray_id"/> <field name="printer_tray_id" />
</group> </group>
<separator string="Specific actions per user" />
<separator string="Specific actions per user"/> <field name="printing_action_ids" />
<field name="printing_action_ids"/>
</page> </page>
</xpath> </xpath>
</field> </field>
</record> </record>
</odoo> </odoo>

View File

@@ -1,44 +1,46 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="ir.ui.view" id="printing_job_view_form"> <record model="ir.ui.view" id="printing_job_view_form">
<field name="name">printing.job.form (in base_report_to_printer)</field> <field name="name">printing.job.form (in base_report_to_printer)</field>
<field name="model">printing.job</field> <field name="model">printing.job</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Job"> <form string="Job">
<header> <header>
<button name="action_cancel" type="object" string="Cancel" attrs="{'invisible': [('job_state', 'in', ('canceled', 'aborted', 'completed'))]}"/> <button
<field name="job_state" widget="statusbar"/> name="action_cancel"
type="object"
string="Cancel"
attrs="{'invisible': [('job_state', 'in', ('canceled', 'aborted', 'completed'))]}"
/>
<field name="job_state" widget="statusbar" />
</header> </header>
<sheet> <sheet>
<group> <group>
<group> <group>
<field name="name"/> <field name="name" />
<field name="job_id_cups"/> <field name="job_id_cups" />
<field name="job_media_progress" widget="progressbar"/> <field name="job_media_progress" widget="progressbar" />
<field name="job_state_reason"/> <field name="job_state_reason" />
</group> </group>
<group> <group>
<field name="time_at_creation"/> <field name="time_at_creation" />
<field name="time_at_processing"/> <field name="time_at_processing" />
<field name="time_at_completed"/> <field name="time_at_completed" />
</group> </group>
</group> </group>
</sheet> </sheet>
</form> </form>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_job_view_tree"> <record model="ir.ui.view" id="printing_job_view_tree">
<field name="name">printing.job.tree (in base_report_to_printer)</field> <field name="name">printing.job.tree (in base_report_to_printer)</field>
<field name="model">printing.job</field> <field name="model">printing.job</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <tree>
<field name="name"/> <field name="name" />
<field name="job_id_cups"/> <field name="job_id_cups" />
<field name="job_state"/> <field name="job_state" />
</tree> </tree>
</field> </field>
</record> </record>
</odoo> </odoo>

View File

@@ -1,99 +1,125 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<menuitem
<menuitem name="Printing" name="Printing"
id="printing_menu" sequence="1" id="printing_menu"
sequence="1"
parent="base.menu_administration" parent="base.menu_administration"
groups="printing_group_manager" groups="printing_group_manager"
/> />
<record model="ir.ui.view" id="printing_printer_view_form"> <record model="ir.ui.view" id="printing_printer_view_form">
<field name="name">printing.printer.form (in base_report_to_printer)</field> <field name="name">printing.printer.form (in base_report_to_printer)</field>
<field name="model">printing.printer</field> <field name="model">printing.printer</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Printers"> <form string="Printers">
<header> <header>
<button name="enable" type="object" string="Enable" attrs="{'invisible': [('status', 'in', ('available', 'printing'))]}"/> <button
<button name="disable" type="object" string="Disable" attrs="{'invisible': [('status', '=', 'unavailable')]}"/> name="enable"
<button name="action_cancel_all_jobs" type="object" string="Cancel all running jobs" confirm="Are you sure to want to cancel all jobs of this printer?"/> type="object"
string="Enable"
attrs="{'invisible': [('status', 'in', ('available', 'printing'))]}"
/>
<button
name="disable"
type="object"
string="Disable"
attrs="{'invisible': [('status', '=', 'unavailable')]}"
/>
<button
name="action_cancel_all_jobs"
type="object"
string="Cancel all running jobs"
confirm="Are you sure to want to cancel all jobs of this printer?"
/>
</header> </header>
<sheet> <sheet>
<div class="oe_title"> <div class="oe_title">
<h1> <h1>
<field name="name"/> <field name="name" />
</h1> </h1>
</div> </div>
<group name="name"> <group name="name">
<field name="system_name"/> <field name="system_name" />
</group> </group>
<group col="4" colspan="4" name="default"> <group col="4" colspan="4" name="default">
<field name="default"/> <field name="default" />
<button name="set_default" string="Set Default" type="object" attrs="{'invisible': [('default','=', True)]}"/> <button
<button name="unset_default" string="Unset Default" type="object" attrs="{'invisible': [('default','=', False)]}"/> name="set_default"
string="Set Default"
type="object"
attrs="{'invisible': [('default','=', True)]}"
/>
<button
name="unset_default"
string="Unset Default"
type="object"
attrs="{'invisible': [('default','=', False)]}"
/>
</group> </group>
<group name="details"> <group name="details">
<field name="uri"/> <field name="uri" />
<field name="model"/> <field name="model" />
<field name="location"/> <field name="location" />
<field name="status"/> <field name="status" />
<field name="status_message"/> <field name="status_message" />
</group> </group>
<group string="Trays" name="trays"> <group string="Trays" name="trays">
<field name="tray_ids" nolabel="1"> <field name="tray_ids" nolabel="1">
<form> <form>
<group name="name_fields"> <group name="name_fields">
<field name="name"/> <field name="name" />
<field name="system_name"/> <field name="system_name" />
</group> </group>
</form> </form>
</field> </field>
</group> </group>
<group name="jobs"> <group name="jobs">
<separator string="Jobs" colspan="2"/> <separator string="Jobs" colspan="2" />
<field name="job_ids" nolabel="1"/> <field name="job_ids" nolabel="1" />
</group> </group>
</sheet> </sheet>
</form> </form>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_printer_view_tree"> <record model="ir.ui.view" id="printing_printer_view_tree">
<field name="name">printing.printer.tree (in base_report_to_printer)</field> <field name="name">printing.printer.tree (in base_report_to_printer)</field>
<field name="model">printing.printer</field> <field name="model">printing.printer</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree decoration-success="status=='available'" decoration-warning="status=='printing'" decoration-danger="status not in ['printing', 'available']"> <tree
<field name="default"/> decoration-success="status=='available'"
<field name="name"/> decoration-warning="status=='printing'"
<field name="system_name"/> decoration-danger="status not in ['printing', 'available']"
<field name="status"/> >
<field name="default" />
<field name="name" />
<field name="system_name" />
<field name="status" />
</tree> </tree>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_printer_view_search"> <record model="ir.ui.view" id="printing_printer_view_search">
<field name="name">printing.printer.search (in base_report_to_printer)</field> <field name="name">printing.printer.search (in base_report_to_printer)</field>
<field name="model">printing.printer</field> <field name="model">printing.printer</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Printers"> <search string="Printers">
<field name="name"/> <field name="name" />
<field name="system_name"/> <field name="system_name" />
<field name="location"/> <field name="location" />
<field name="status"/> <field name="status" />
</search> </search>
</field> </field>
</record> </record>
<record model="ir.actions.act_window" id="printing_printer_action"> <record model="ir.actions.act_window" id="printing_printer_action">
<field name="name">Show Printers</field> <field name="name">Show Printers</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">printing.printer</field> <field name="res_model">printing.printer</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
</record> </record>
<menuitem
<menuitem name="Printers" name="Printers"
sequence="20" sequence="20"
id="printing_printer_menu" id="printing_printer_menu"
parent="printing_menu" parent="printing_menu"
action="printing_printer_action"/> action="printing_printer_action"
/>
</odoo> </odoo>

View File

@@ -1,38 +1,40 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="ir.ui.view" id="printing_report_xml_action_view_form"> <record model="ir.ui.view" id="printing_report_xml_action_view_form">
<field name="name">printing.report.xml.action.form (in base_report_to_printer)</field> <field
name="name"
>printing.report.xml.action.form (in base_report_to_printer)</field>
<field name="model">printing.report.xml.action</field> <field name="model">printing.report.xml.action</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Report Printing Actions"> <form string="Report Printing Actions">
<group col="2"> <group col="2">
<field name="user_id"/> <field name="user_id" />
<field name="action"/> <field name="action" />
<field name="printer_id" select="1"/> <field name="printer_id" select="1" />
<field name="printer_tray_id"/> <field name="printer_tray_id" />
</group> </group>
</form> </form>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_report_xml_action_view_tree"> <record model="ir.ui.view" id="printing_report_xml_action_view_tree">
<field name="name">printing.report.xml.action.tree (in base_report_to_printer)</field> <field
name="name"
>printing.report.xml.action.tree (in base_report_to_printer)</field>
<field name="model">printing.report.xml.action</field> <field name="model">printing.report.xml.action</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <tree>
<field name="user_id"/> <field name="user_id" />
<field name="action"/> <field name="action" />
<field name="printer_id"/> <field name="printer_id" />
<field name="printer_tray_id"/> <field name="printer_tray_id" />
</tree> </tree>
</field> </field>
</record> </record>
<!-- Add a shorcut to "Actions/Report" in the Printing menu --> <!-- Add a shorcut to "Actions/Report" in the Printing menu -->
<menuitem id="printing_report_xml_action_menu" <menuitem
id="printing_report_xml_action_menu"
sequence="30" sequence="30"
parent="printing_menu" parent="printing_menu"
action="base.ir_action_report"/> action="base.ir_action_report"
/>
</odoo> </odoo>

View File

@@ -1,69 +1,73 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="ir.ui.view" id="printing_server_view_form"> <record model="ir.ui.view" id="printing_server_view_form">
<field name="name">printing.server.form (in base_report_to_printer)</field> <field name="name">printing.server.form (in base_report_to_printer)</field>
<field name="model">printing.server</field> <field name="model">printing.server</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Servers"> <form string="Servers">
<header> <header>
<button name="action_update_printers" type="object" string="Update Printers"/> <button
<button name="action_update_jobs" type="object" string="Update Jobs"/> name="action_update_printers"
type="object"
string="Update Printers"
/>
<button
name="action_update_jobs"
type="object"
string="Update Jobs"
/>
</header> </header>
<sheet> <sheet>
<div class="oe_title"> <div class="oe_title">
<h1> <h1>
<field name="name"/> <field name="name" />
</h1> </h1>
</div> </div>
<group> <group>
<field name="address"/> <field name="address" />
<field name="port"/> <field name="port" />
</group> </group>
<group> <group>
<separator string="Printers" colspan="2"/> <separator string="Printers" colspan="2" />
<field name="printer_ids" nolabel="1"/> <field name="printer_ids" nolabel="1" />
</group> </group>
</sheet> </sheet>
</form> </form>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_server_view_tree"> <record model="ir.ui.view" id="printing_server_view_tree">
<field name="name">printing.server.tree (in base_report_to_printer)</field> <field name="name">printing.server.tree (in base_report_to_printer)</field>
<field name="model">printing.server</field> <field name="model">printing.server</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <tree>
<field name="name"/> <field name="name" />
<field name="address"/> <field name="address" />
<field name="port"/> <field name="port" />
</tree> </tree>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="printing_server_view_search"> <record model="ir.ui.view" id="printing_server_view_search">
<field name="name">printing.server.search (in base_report_to_printer)</field> <field name="name">printing.server.search (in base_report_to_printer)</field>
<field name="model">printing.server</field> <field name="model">printing.server</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Servers"> <search string="Servers">
<field name="name"/> <field name="name" />
<field name="address"/> <field name="address" />
<field name="port"/> <field name="port" />
</search> </search>
</field> </field>
</record> </record>
<record model="ir.actions.act_window" id="printing_server_action"> <record model="ir.actions.act_window" id="printing_server_action">
<field name="name">Servers</field> <field name="name">Servers</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">printing.server</field> <field name="res_model">printing.server</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
</record> </record>
<menuitem
<menuitem name="Servers" name="Servers"
sequence="10" sequence="10"
id="printing_server_menu" id="printing_server_menu"
parent="printing_menu" parent="printing_menu"
action="printing_server_action"/> action="printing_server_action"
/>
</odoo> </odoo>

View File

@@ -1,32 +1,33 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="ir.ui.view" id="view_users_form"> <record model="ir.ui.view" id="view_users_form">
<field name="name">res.users.form (in base_report_to_printer)</field> <field name="name">res.users.form (in base_report_to_printer)</field>
<field name="model">res.users</field> <field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/> <field name="inherit_id" ref="base.view_users_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//group[@name='preferences']/ancestor::page" position="inside"> <xpath expr="//group[@name='preferences']/ancestor::page" position="inside">
<group string="Printing" name="printing"> <group string="Printing" name="printing">
<field name="printing_action"/> <field name="printing_action" />
<field name="printing_printer_id" options="{'no_create': True}"/> <field name="printing_printer_id" options="{'no_create': True}" />
</group> </group>
</xpath> </xpath>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="view_users_form_simple_modif"> <record model="ir.ui.view" id="view_users_form_simple_modif">
<field name="name">res.users.form.simple (in base_report_to_printer)</field> <field name="name">res.users.form.simple (in base_report_to_printer)</field>
<field name="model">res.users</field> <field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form_simple_modif"/> <field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<footer position="before"> <footer position="before">
<group string="Printing" name="printing"> <group string="Printing" name="printing">
<field name="printing_action" readonly="0"/> <field name="printing_action" readonly="0" />
<field name="printing_printer_id" readonly="0" options="{'no_create': True}"/> <field
name="printing_printer_id"
readonly="0"
options="{'no_create': True}"
/>
</group> </group>
</footer> </footer>
</field> </field>
</record> </record>
</odoo> </odoo>

View File

@@ -1,15 +1,24 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record id="printer_update_wizard" model="ir.ui.view"> <record id="printer_update_wizard" model="ir.ui.view">
<field name="name">printing.printer.update.wizard</field> <field name="name">printing.printer.update.wizard</field>
<field name="model">printing.printer.update.wizard</field> <field name="model">printing.printer.update.wizard</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Update Printers from CUPS"> <form string="Update Printers from CUPS">
<label string="This process will create all missing printers from the current CUPS server." colspan="2" for=""/> <label
string="This process will create all missing printers from the current CUPS server."
colspan="2"
for=""
/>
<footer> <footer>
<button name="action_ok" string="Ok" type="object" class="oe_highlight"/> <button
name="action_ok"
string="Ok"
type="object"
class="oe_highlight"
/>
or or
<button string="Cancel" class="oe_link" special="cancel"/> <button string="Cancel" class="oe_link" special="cancel" />
</footer> </footer>
</form> </form>
</field> </field>
@@ -21,5 +30,10 @@
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
</record> </record>
<menuitem action="action_printer_update_wizard" sequence="40" id="menu_printer_update_wizard" parent="printing_menu"/> <menuitem
action="action_printer_update_wizard"
sequence="40"
id="menu_printer_update_wizard"
parent="printing_menu"
/>
</odoo> </odoo>