From e79d16d4b6a94383096ba320e464c02327b06817 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Mon, 7 Mar 2022 16:33:17 +0100
Subject: [PATCH] [mig] migration to 14.0 + add pre-commit changes

---
 .editorconfig                                 |   20 +
 .eslintrc.yml                                 |  187 +++
 .flake8                                       |   12 +
 .gitignore                                    |   75 +
 .isort.cfg                                    |   13 +
 .pre-commit-config.yaml                       |  127 ++
 .prettierrc.yml                               |    8 +
 .pylintrc                                     |   87 ++
 .pylintrc-mandatory                           |   64 +
 README.rst                                    |    4 +-
 __init__.py                                   |    6 +-
 __manifest__.py                               |   12 +-
 datas/cgscop_incub_financement_data.xml       |   76 +-
 datas/cgscop_incub_motif_abandon_data.xml     |   68 +-
 datas/cgscop_incub_prescription_data.xml      |   30 +-
 datas/cgscop_incub_thematique_data.xml        |  140 +-
 datas/cgscop_incub_typologie_porteur_data.xml |   52 +-
 migration/14.0.1.0.0/post-migration.py        |   36 +
 migration/14.0.1.0.0/pre-migration.py         |   14 +
 models/__init__.py                            |    4 +-
 models/cgscop_incub_expertise.py              |   51 +-
 models/cgscop_incub_expertise_projet.py       |  125 +-
 models/cgscop_incub_financement.py            |   29 +-
 models/cgscop_incub_financement_projet.py     |   57 +-
 models/cgscop_incub_motif_abandon.py          |   29 +-
 models/cgscop_incub_parcours_preincub.py      |   48 +-
 models/cgscop_incub_prescription.py           |   29 +-
 models/cgscop_incub_statut_prefig.py          |   29 +-
 models/cgscop_incub_thematique.py             |   29 +-
 models/cgscop_incub_typologie_porteur.py      |   29 +-
 models/res_partner.py                         |  328 ++---
 security/security_rules.xml                   |   59 +-
 static/description/icon.png                   |  Bin 9296 -> 13973 bytes
 views/cgscop_incub_expertise.xml              |   87 +-
 views/cgscop_incub_financement.xml            |   81 +-
 views/cgscop_incub_menu.xml                   |  135 +-
 views/cgscop_incub_motif_abandon.xml          |   81 +-
 views/cgscop_incub_parcours_preincub.xml      |   87 +-
 views/cgscop_incub_prescription.xml           |   81 +-
 views/cgscop_incub_statut_prefig.xml          |   81 +-
 views/cgscop_incub_thematique.xml             |   81 +-
 views/cgscop_incub_typologie_porteur.xml      |   81 +-
 views/res_partner.xml                         | 1223 +++++++++++------
 43 files changed, 2540 insertions(+), 1355 deletions(-)
 create mode 100644 .editorconfig
 create mode 100644 .eslintrc.yml
 create mode 100644 .flake8
 create mode 100644 .gitignore
 create mode 100644 .isort.cfg
 create mode 100644 .pre-commit-config.yaml
 create mode 100644 .prettierrc.yml
 create mode 100644 .pylintrc
 create mode 100644 .pylintrc-mandatory
 create mode 100644 migration/14.0.1.0.0/post-migration.py
 create mode 100644 migration/14.0.1.0.0/pre-migration.py

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..bfd7ac5
--- /dev/null
+++ b/.editorconfig
@@ -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
+
+[*.{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
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644
index 0000000..d4cc423
--- /dev/null
+++ b/.eslintrc.yml
@@ -0,0 +1,187 @@
+env:
+  browser: true
+  es6: true
+
+# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
+parserOptions:
+  ecmaVersion: 2017
+
+overrides:
+  - files:
+      - "**/*.esm.js"
+    parserOptions:
+      sourceType: module
+
+# Globals available in Odoo that shouldn't produce errorings
+globals:
+  _: readonly
+  $: readonly
+  fuzzy: readonly
+  jQuery: readonly
+  moment: readonly
+  odoo: readonly
+  openerp: readonly
+  owl: 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
diff --git a/.flake8 b/.flake8
new file mode 100644
index 0000000..e397e8e
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,12 @@
+[flake8]
+max-line-length = 88
+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
+per-file-ignores=
+    __init__.py:F401
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..818770f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,75 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+/.venv
+/.pytest_cache
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+bin/
+build/
+develop-eggs/
+dist/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+*.eggs
+
+# 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
+
+# Eclipse
+.settings
+
+# Visual Studio cache/options directory
+.vs/
+.vscode
+
+# OSX Files
+.DS_Store
+
+# Django stuff:
+*.log
+
+# Mr Developer
+.mr.developer.cfg
+.project
+.pydevproject
+
+# Rope
+.ropeproject
+
+# Sphinx documentation
+docs/_build/
+
+# Backup files
+*~
+*.swp
+
+# OCA rules
+!static/lib/
diff --git a/.isort.cfg b/.isort.cfg
new file mode 100644
index 0000000..0ec187e
--- /dev/null
+++ b/.isort.cfg
@@ -0,0 +1,13 @@
+[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
+default_section=THIRDPARTY
+ensure_newline_before_comments = True
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..8a5999a
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,127 @@
+exclude: |
+  (?x)
+  # NOT INSTALLABLE ADDONS
+  # END NOT INSTALLABLE ADDONS
+  # Files and folders generated by bots, to avoid loops
+  ^setup/|/static/description/index\.html$|
+  # We don't want to mess with tool-generated files
+  .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/|
+  # 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:
+  python: python3
+  node: "14.13.0"
+repos:
+  - repo: local
+    hooks:
+      # These files are most likely copier diff rejection junks; if found,
+      # review them manually, fix the problem (if needed) and remove them
+      - id: forbidden-files
+        name: forbidden files
+        entry: found forbidden files; remove them
+        language: fail
+        files: "\\.rej$"
+  - repo: https://github.com/oca/maintainer-tools
+    rev: ab1d7f6
+    hooks:
+      # update the NOT INSTALLABLE ADDONS section above
+      - id: oca-update-pre-commit-excluded-addons
+      - id: oca-fix-manifest-website
+        args: ["https://le-filament.com"]
+  - repo: https://github.com/myint/autoflake
+    rev: v1.4
+    hooks:
+      - id: autoflake
+        args:
+          - --expand-star-imports
+          - --ignore-init-module-imports
+          - --in-place
+          - --remove-all-unused-imports
+          - --remove-duplicate-keys
+          - --remove-unused-variables
+  - repo: https://github.com/psf/black
+    rev: 20.8b1
+    hooks:
+      - id: black
+  - repo: https://github.com/pre-commit/mirrors-prettier
+    rev: v2.1.2
+    hooks:
+      - id: prettier
+        name: prettier (with plugin-xml)
+        additional_dependencies:
+          - "prettier@2.1.2"
+          - "@prettier/plugin-xml@0.12.0"
+        args:
+          - --plugin=@prettier/plugin-xml
+        files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
+  - repo: https://github.com/pre-commit/mirrors-eslint
+    rev: v7.8.1
+    hooks:
+      - id: eslint
+        verbose: true
+        args:
+          - --color
+          - --fix
+  - repo: https://github.com/pre-commit/pre-commit-hooks
+    rev: v3.2.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: 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://github.com/asottile/pyupgrade
+    rev: v2.7.2
+    hooks:
+      - id: pyupgrade
+        args: ["--keep-percent-format"]
+  - repo: https://github.com/PyCQA/isort
+    rev: 5.5.1
+    hooks:
+      - id: isort
+        name: isort except __init__.py
+        args:
+          - --settings=.
+        exclude: /__init__\.py$
+  - repo: https://gitlab.com/PyCQA/flake8
+    rev: 3.8.3
+    hooks:
+      - id: flake8
+        name: flake8
+        additional_dependencies: ["flake8-bugbear==20.1.4"]
+  - repo: https://github.com/PyCQA/pylint
+    rev: pylint-2.5.3
+    hooks:
+      - id: pylint
+        name: pylint with optional checks
+        args:
+          - --rcfile=.pylintrc
+          - --exit-zero
+        verbose: true
+        additional_dependencies: &pylint_deps
+          - pylint-odoo==3.5.0
+      - id: pylint
+        name: pylint with mandatory checks
+        args:
+          - --rcfile=.pylintrc-mandatory
+        additional_dependencies: *pylint_deps
diff --git a/.prettierrc.yml b/.prettierrc.yml
new file mode 100644
index 0000000..5b6d4b3
--- /dev/null
+++ b/.prettierrc.yml
@@ -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: "strict"
diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 0000000..dc6270e
--- /dev/null
+++ b/.pylintrc
@@ -0,0 +1,87 @@
+[MASTER]
+load-plugins=pylint_odoo
+score=n
+
+[ODOOLINT]
+readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
+manifest_required_authors=Le Filament
+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=14.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,
+    development-status-allowed,
+    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-author,
+    manifest-required-key,
+    manifest-version-format,
+    method-compute,
+    method-inverse,
+    method-required-super,
+    method-search,
+    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-manifest-dependency,
+    missing-newline-extrafiles,
+    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
diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory
new file mode 100644
index 0000000..43ea239
--- /dev/null
+++ b/.pylintrc-mandatory
@@ -0,0 +1,64 @@
+[MASTER]
+load-plugins=pylint_odoo
+score=n
+
+[ODOOLINT]
+readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
+manifest_required_authors=Le Filament
+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=14.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,
+    development-status-allowed,
+    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-author,
+    manifest-required-key,
+    manifest-version-format,
+    method-compute,
+    method-inverse,
+    method-required-super,
+    method-search,
+    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
diff --git a/README.rst b/README.rst
index 7ab696e..c75db52 100644
--- a/README.rst
+++ b/README.rst
@@ -10,7 +10,7 @@ CG SCOP - Processus d'incubation
 Description
 ===========
 
-Un projet d'incubation a pour objet la création d’une structure pour répondre à un projet d’un créateur. 
+Un projet d'incubation a pour objet la création d’une structure pour répondre à un projet d’un créateur.
 
 Cette idée est soumise à un jury et est sponsorisée/financée.
 
@@ -21,7 +21,7 @@ La création de cette structure peut intervenir en cours de projet d’incubatio
 * Coopérative avec projet d’adhésion
 
 La création d’un projet  d’incubation crée une structure « Partenaire » non visible depuis les menus partenaires/coopératives/projets. Elle n’est visible que depuis le menu « incubation ».
- 
+
 
 Credits
 =======
diff --git a/__init__.py b/__init__.py
index 5305644..48e1758 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,3 +1,5 @@
-# -*- coding: utf-8 -*-
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from . import models
\ No newline at end of file
+from . import models
diff --git a/__manifest__.py b/__manifest__.py
index ba69e3e..726b3cc 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,18 +1,16 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 {
     "name": "CG SCOP - Processus d'incubation",
     "summary": "CG SCOP - Processus d'incubation",
-    "version": "12.0.1.0.1",
-    "development_status": "Beta",
-    "author": "Le Filament",
-    "maintainers": ["remi-filament"],
+    "version": "14.0.1.0.0",
+    "author": "Le Filament, Confédération Générale des Scop",
     "license": "AGPL-3",
     "application": False,
     "installable": True,
     "depends": [
         "cgscop_partner",
-        "cgscop_adhesion",
     ],
     "data": [
         "security/security_rules.xml",
@@ -32,5 +30,5 @@
         "datas/cgscop_incub_financement_data.xml",
         "datas/cgscop_incub_prescription_data.xml",
         "datas/cgscop_incub_motif_abandon_data.xml",
-    ]
+    ],
 }
diff --git a/datas/cgscop_incub_financement_data.xml b/datas/cgscop_incub_financement_data.xml
index 97f11cd..2395f9f 100644
--- a/datas/cgscop_incub_financement_data.xml
+++ b/datas/cgscop_incub_financement_data.xml
@@ -1,37 +1,39 @@
-<?xml version="1.0"?>
-<odoo>
-    <data noupdate="1">
-        <record id="fin_1" model="cgscop_incub.financement">
-            <field name="name">Financement</field>
-        </record>
-
-        <record id="fin_2" model="cgscop_incub.financement">
-            <field name="name">Initiative France</field>
-        </record>
-
-        <record id="fin_3" model="cgscop_incub.financement">
-            <field name="name">France Active</field>
-        </record>
-
-        <record id="fin_4" model="cgscop_incub.financement">
-            <field name="name">IèS</field>
-        </record>
-
-        <record id="fin_5" model="cgscop_incub.financement">
-            <field name="name">Subvention région</field>
-        </record>
-
-        <record id="fin_6" model="cgscop_incub.financement">
-            <field name="name">BPI</field>
-        </record>
-
-        <record id="fin_7" model="cgscop_incub.financement">
-            <field name="name">Fondations</field>
-        </record>
-
-        <record id="fin_8" model="cgscop_incub.financement">
-            <field name="name">Autres</field>
-        </record>
-
-    </data>
-</odoo>
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data noupdate="1">
+        <record id="fin_1" model="cgscop_incub.financement">
+            <field name="name">Financement</field>
+        </record>
+
+        <record id="fin_2" model="cgscop_incub.financement">
+            <field name="name">Initiative France</field>
+        </record>
+
+        <record id="fin_3" model="cgscop_incub.financement">
+            <field name="name">France Active</field>
+        </record>
+
+        <record id="fin_4" model="cgscop_incub.financement">
+            <field name="name">IèS</field>
+        </record>
+
+        <record id="fin_5" model="cgscop_incub.financement">
+            <field name="name">Subvention région</field>
+        </record>
+
+        <record id="fin_6" model="cgscop_incub.financement">
+            <field name="name">BPI</field>
+        </record>
+
+        <record id="fin_7" model="cgscop_incub.financement">
+            <field name="name">Fondations</field>
+        </record>
+
+        <record id="fin_8" model="cgscop_incub.financement">
+            <field name="name">Autres</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/datas/cgscop_incub_motif_abandon_data.xml b/datas/cgscop_incub_motif_abandon_data.xml
index 902a2da..9f6d725 100644
--- a/datas/cgscop_incub_motif_abandon_data.xml
+++ b/datas/cgscop_incub_motif_abandon_data.xml
@@ -1,33 +1,35 @@
-<?xml version="1.0"?>
-<odoo>
-    <data noupdate="1">
-        <record id="motif_1" model="cgscop_incub.motif_abandon">
-            <field name="name">Divergences équipes projet</field>
-        </record>
-
-        <record id="motif_2" model="cgscop_incub.motif_abandon">
-            <field name="name">Porteur de projet trop isolé</field>
-        </record>
-
-        <record id="motif_3" model="cgscop_incub.motif_abandon">
-            <field name="name">Dimension entrepreneuriale porteurs de projet</field>
-        </record>
-
-        <record id="motif_4" model="cgscop_incub.motif_abandon">
-            <field name="name">Posture commerciale</field>
-        </record>
-
-        <record id="motif_5" model="cgscop_incub.motif_abandon">
-            <field name="name">Clients non solvables</field>
-        </record>
-
-        <record id="motif_6" model="cgscop_incub.motif_abandon">
-            <field name="name">Besoins clients secondaires (nice to have)</field>
-        </record>
-
-        <record id="motif_7" model="cgscop_incub.motif_abandon">
-            <field name="name">Verrou règlementaire</field>
-        </record>
-
-    </data>
-</odoo>
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data noupdate="1">
+        <record id="motif_1" model="cgscop_incub.motif_abandon">
+            <field name="name">Divergences équipes projet</field>
+        </record>
+
+        <record id="motif_2" model="cgscop_incub.motif_abandon">
+            <field name="name">Porteur de projet trop isolé</field>
+        </record>
+
+        <record id="motif_3" model="cgscop_incub.motif_abandon">
+            <field name="name">Dimension entrepreneuriale porteurs de projet</field>
+        </record>
+
+        <record id="motif_4" model="cgscop_incub.motif_abandon">
+            <field name="name">Posture commerciale</field>
+        </record>
+
+        <record id="motif_5" model="cgscop_incub.motif_abandon">
+            <field name="name">Clients non solvables</field>
+        </record>
+
+        <record id="motif_6" model="cgscop_incub.motif_abandon">
+            <field name="name">Besoins clients secondaires (nice to have)</field>
+        </record>
+
+        <record id="motif_7" model="cgscop_incub.motif_abandon">
+            <field name="name">Verrou règlementaire</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/datas/cgscop_incub_prescription_data.xml b/datas/cgscop_incub_prescription_data.xml
index fd14c8d..3906424 100644
--- a/datas/cgscop_incub_prescription_data.xml
+++ b/datas/cgscop_incub_prescription_data.xml
@@ -1,14 +1,16 @@
-<?xml version="1.0"?>
-<odoo>
-    <data noupdate="1">
-
-        <record id="presc_1" model="cgscop_incub.prescription">
-            <field name="name">Communauté Alter'Incub</field>
-        </record>
-
-        <record id="presc_2" model="cgscop_incub.prescription">
-            <field name="name">Réunions d'information collective</field>
-        </record>
-
-    </data>
-</odoo>
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data noupdate="1">
+
+        <record id="presc_1" model="cgscop_incub.prescription">
+            <field name="name">Communauté Alter'Incub</field>
+        </record>
+
+        <record id="presc_2" model="cgscop_incub.prescription">
+            <field name="name">Réunions d'information collective</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/datas/cgscop_incub_thematique_data.xml b/datas/cgscop_incub_thematique_data.xml
index 4b1d7d0..c4842d3 100644
--- a/datas/cgscop_incub_thematique_data.xml
+++ b/datas/cgscop_incub_thematique_data.xml
@@ -1,69 +1,71 @@
-<?xml version="1.0"?>
-<odoo>
-    <data noupdate="1">
-        <record id="thematique_1" model="cgscop_incub.thematique">
-            <field name="name">Alimentation durable</field>
-        </record>
-
-        <record id="thematique_2" model="cgscop_incub.thematique">
-            <field name="name">Economie collaborative</field>
-        </record>
-
-        <record id="thematique_3" model="cgscop_incub.thematique">
-            <field name="name">Développement local</field>
-        </record>
-        
-        <record id="thematique_4" model="cgscop_incub.thematique">
-            <field name="name">Ecologie</field>
-        </record>
-
-        <record id="thematique_5" model="cgscop_incub.thematique">
-            <field name="name">Médiation culturelle</field>
-        </record>
-
-        <record id="thematique_6" model="cgscop_incub.thematique">
-            <field name="name">Habitat inclusif</field>
-        </record>
-
-        <record id="thematique_7" model="cgscop_incub.thematique">
-            <field name="name">Santé et Handicap</field>
-        </record>
-
-        <record id="thematique_8" model="cgscop_incub.thematique">
-            <field name="name">Circuits-courts</field>
-        </record>
-
-        <record id="thematique_9" model="cgscop_incub.thematique">
-            <field name="name">Economie circulaire</field>
-        </record>
-
-        <record id="thematique_10" model="cgscop_incub.thematique">
-            <field name="name">Tech for Good</field>
-        </record>
-
-        <record id="thematique_11" model="cgscop_incub.thematique">
-            <field name="name">Tech for Good</field>
-        </record>
-
-        <record id="thematique_12" model="cgscop_incub.thematique">
-            <field name="name">Egalité des chances</field>
-        </record>
-
-        <record id="thematique_13" model="cgscop_incub.thematique">
-            <field name="name">Inclusion lien social</field>
-        </record>
-
-        <record id="thematique_14" model="cgscop_incub.thematique">
-            <field name="name">Insertion</field>
-        </record>
-
-        <record id="thematique_15" model="cgscop_incub.thematique">
-            <field name="name">Tourisme durable</field>
-        </record>
-
-        <record id="thematique_16" model="cgscop_incub.thematique">
-            <field name="name">Silver économie</field>
-        </record>
-
-    </data>
-</odoo>
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data noupdate="1">
+        <record id="thematique_1" model="cgscop_incub.thematique">
+            <field name="name">Alimentation durable</field>
+        </record>
+
+        <record id="thematique_2" model="cgscop_incub.thematique">
+            <field name="name">Economie collaborative</field>
+        </record>
+
+        <record id="thematique_3" model="cgscop_incub.thematique">
+            <field name="name">Développement local</field>
+        </record>
+
+        <record id="thematique_4" model="cgscop_incub.thematique">
+            <field name="name">Ecologie</field>
+        </record>
+
+        <record id="thematique_5" model="cgscop_incub.thematique">
+            <field name="name">Médiation culturelle</field>
+        </record>
+
+        <record id="thematique_6" model="cgscop_incub.thematique">
+            <field name="name">Habitat inclusif</field>
+        </record>
+
+        <record id="thematique_7" model="cgscop_incub.thematique">
+            <field name="name">Santé et Handicap</field>
+        </record>
+
+        <record id="thematique_8" model="cgscop_incub.thematique">
+            <field name="name">Circuits-courts</field>
+        </record>
+
+        <record id="thematique_9" model="cgscop_incub.thematique">
+            <field name="name">Economie circulaire</field>
+        </record>
+
+        <record id="thematique_10" model="cgscop_incub.thematique">
+            <field name="name">Tech for Good</field>
+        </record>
+
+        <record id="thematique_11" model="cgscop_incub.thematique">
+            <field name="name">Tech for Good</field>
+        </record>
+
+        <record id="thematique_12" model="cgscop_incub.thematique">
+            <field name="name">Egalité des chances</field>
+        </record>
+
+        <record id="thematique_13" model="cgscop_incub.thematique">
+            <field name="name">Inclusion lien social</field>
+        </record>
+
+        <record id="thematique_14" model="cgscop_incub.thematique">
+            <field name="name">Insertion</field>
+        </record>
+
+        <record id="thematique_15" model="cgscop_incub.thematique">
+            <field name="name">Tourisme durable</field>
+        </record>
+
+        <record id="thematique_16" model="cgscop_incub.thematique">
+            <field name="name">Silver économie</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/datas/cgscop_incub_typologie_porteur_data.xml b/datas/cgscop_incub_typologie_porteur_data.xml
index b666f1c..9bd2a54 100644
--- a/datas/cgscop_incub_typologie_porteur_data.xml
+++ b/datas/cgscop_incub_typologie_porteur_data.xml
@@ -1,25 +1,27 @@
-<?xml version="1.0"?>
-<odoo>
-    <data noupdate="1">
-        <record id="typo_1" model="cgscop_incub.typologie_porteur">
-            <field name="name">Seul(e)</field>
-        </record>
-
-        <record id="typo_2" model="cgscop_incub.typologie_porteur">
-            <field name="name">Equipe</field>
-        </record>
-
-        <record id="typo_3" model="cgscop_incub.typologie_porteur">
-            <field name="name">Collectivité</field>
-        </record>
-
-        <record id="typo_4" model="cgscop_incub.typologie_porteur">
-            <field name="name">Equipe de recherche</field>
-        </record>
-
-        <record id="typo_5" model="cgscop_incub.typologie_porteur">
-            <field name="name">Association</field>
-        </record>
-
-    </data>
-</odoo>
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data noupdate="1">
+        <record id="typo_1" model="cgscop_incub.typologie_porteur">
+            <field name="name">Seul(e)</field>
+        </record>
+
+        <record id="typo_2" model="cgscop_incub.typologie_porteur">
+            <field name="name">Equipe</field>
+        </record>
+
+        <record id="typo_3" model="cgscop_incub.typologie_porteur">
+            <field name="name">Collectivité</field>
+        </record>
+
+        <record id="typo_4" model="cgscop_incub.typologie_porteur">
+            <field name="name">Equipe de recherche</field>
+        </record>
+
+        <record id="typo_5" model="cgscop_incub.typologie_porteur">
+            <field name="name">Association</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/migration/14.0.1.0.0/post-migration.py b/migration/14.0.1.0.0/post-migration.py
new file mode 100644
index 0000000..ed41bce
--- /dev/null
+++ b/migration/14.0.1.0.0/post-migration.py
@@ -0,0 +1,36 @@
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from openupgradelib import openupgrade
+
+PERCENT = [
+    ("0", "0"),
+    ("20", "20"),
+    ("40", "40"),
+    ("60", "60"),
+    ("80", "80"),
+    ("100", "100"),
+]
+
+
+def res_partner_map_values(env):
+    openupgrade.map_values(
+        env.cr,
+        openupgrade.get_legacy_name("incub_sensibilite_coop"),
+        "incub_sensibilite_coop",
+        PERCENT,
+        table="res_partner",
+    )
+    openupgrade.map_values(
+        env.cr,
+        openupgrade.get_legacy_name("incub_percent_realisation"),
+        "incub_percent_realisation",
+        PERCENT,
+        table="res_partner",
+    )
+
+
+@openupgrade.migrate()
+def migrate(env, version):
+    ur_month_timesheet_map_values(env)
diff --git a/migration/14.0.1.0.0/pre-migration.py b/migration/14.0.1.0.0/pre-migration.py
new file mode 100644
index 0000000..7f27a7a
--- /dev/null
+++ b/migration/14.0.1.0.0/pre-migration.py
@@ -0,0 +1,14 @@
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from openupgradelib import openupgrade
+
+column_renames = {
+    "res_partner": [("incub_sensibilite_coop", None), ("incub_percent_realisation", None)],
+}
+
+
+@openupgrade.migrate()
+def migrate(env, version):
+    openupgrade.rename_columns(env.cr, column_renames)
diff --git a/models/__init__.py b/models/__init__.py
index 339d1c3..9382abc 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,4 +1,6 @@
-# -*- coding: utf-8 -*-
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from . import res_partner
 from . import cgscop_incub_expertise
diff --git a/models/cgscop_incub_expertise.py b/models/cgscop_incub_expertise.py
index 0ddd05e..123fc4a 100644
--- a/models/cgscop_incub_expertise.py
+++ b/models/cgscop_incub_expertise.py
@@ -1,26 +1,25 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubExpertise(models.Model):
-    _name = 'cgscop_incub.expertise'
-    _description = "Expertises du processus d'incubation"
-    _order = 'ur_id,sequence,id'
-
-    def _default_ur(self):
-        return self.env['res.company']._ur_default_get()
-
-    ur_id = fields.Many2one(
-        'union.regionale',
-        string='Union Régionale',
-        index=True,
-        on_delete='restrict',
-        default=_default_ur)
-    sequence = fields.Integer(
-        string='Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(
-        string='Actif',
-        default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubExpertise(models.Model):
+    _name = "cgscop_incub.expertise"
+    _description = "Expertises du processus d'incubation"
+    _order = "ur_id,sequence,id"
+
+    def _default_ur(self):
+        return self.env["res.company"]._ur_default_get()
+
+    ur_id = fields.Many2one(
+        "union.regionale",
+        string="Union Régionale",
+        index=True,
+        ondelete="restrict",
+        default=_default_ur,
+    )
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_expertise_projet.py b/models/cgscop_incub_expertise_projet.py
index a291ec4..249ae23 100644
--- a/models/cgscop_incub_expertise_projet.py
+++ b/models/cgscop_incub_expertise_projet.py
@@ -1,56 +1,69 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields, api
-from odoo.exceptions import ValidationError
-
-
-class CgscopIncubExpertiseProjet(models.Model):
-    _name = 'cgscop_incub.expertise_projet'
-    _description = "Expertises du projet d'incubation"
-    _order = 'incub_phase,mission_deb'
-
-    partner_id = fields.Many2one(
-        comodel_name='res.partner',
-        string='Organisme',
-        domain=[('is_company', '=', True)],
-        ondelete='restrict', index=True)
-    incub_phase = fields.Selection([
-        ('2_pre-incubation', 'Phase de pré-incubation'),
-        ('3_incubation', "Phase d'incubation")],
-        string='Phase projet',
-        required=True,
-        index=True)
-    expertise_id = fields.Many2one(
-        comodel_name='cgscop_incub.expertise',
-        string="Expertise",
-        ondelete='restrict',
-        required=True,
-        index=True)
-    supplier_id = fields.Many2one(
-        comodel_name='res.partner',
-        string='Prestataire',
-        domain=[('active', '=', True), ('is_company', '=', True),
-                ('is_cooperative', '=', False)],
-        on_delete='restrict')
-    montant = fields.Float(string="Montant engagé", required=True)
-    commentaire = fields.Text(string='Commentaires')
-    mission_deb = fields.Date(string="Début de mission")
-    mission_fin = fields.Date(string="Fin de mission")
-    bdc = fields.Char(string="No bon de commande")
-    devis = fields.Boolean(string="Devis reçu")
-    livrable = fields.Boolean(string="Livrable rendu")
-    facture = fields.Boolean(string="Facture reçue")
-
-    # ------------------------------------------------------
-    # Constains
-    # ------------------------------------------------------
-    @api.constrains('mission_deb', 'mission_fin')
-    @api.multi
-    def _date_constrains(self):
-        for rec in self:
-            if rec.mission_fin and rec.mission_deb:
-                if rec.mission_fin < rec.mission_deb:
-                    raise ValidationError(
-                        "La date de fin de mission doit être supérieure \
-                        à la date de début")
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import _, api, fields, models
+from odoo.exceptions import ValidationError
+
+
+class CgscopIncubExpertiseProjet(models.Model):
+    _name = "cgscop_incub.expertise_projet"
+    _description = "Expertises du projet d'incubation"
+    _order = "incub_phase,mission_deb"
+
+    partner_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Organisme",
+        domain=[("is_company", "=", True)],
+        ondelete="restrict",
+        index=True,
+    )
+    incub_phase = fields.Selection(
+        [
+            ("2_pre-incubation", "Phase de pré-incubation"),
+            ("3_incubation", "Phase d'incubation"),
+        ],
+        string="Phase projet",
+        required=True,
+        index=True,
+    )
+    expertise_id = fields.Many2one(
+        comodel_name="cgscop_incub.expertise",
+        string="Expertise",
+        ondelete="restrict",
+        required=True,
+        index=True,
+    )
+    supplier_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Prestataire",
+        domain=[
+            ("active", "=", True),
+            ("is_company", "=", True),
+            ("is_cooperative", "=", False),
+        ],
+        ondelete="restrict",
+    )
+    montant = fields.Float(string="Montant engagé", required=True)
+    commentaire = fields.Text(string="Commentaires")
+    mission_deb = fields.Date(string="Début de mission")
+    mission_fin = fields.Date(string="Fin de mission")
+    bdc = fields.Char(string="No bon de commande")
+    devis = fields.Boolean(string="Devis reçu")
+    livrable = fields.Boolean(string="Livrable rendu")
+    facture = fields.Boolean(string="Facture reçue")
+
+    # ------------------------------------------------------
+    # Constains
+    # ------------------------------------------------------
+    @api.constrains("mission_deb", "mission_fin")
+    def _date_constrains(self):
+        for rec in self:
+            if rec.mission_fin and rec.mission_deb:
+                if rec.mission_fin < rec.mission_deb:
+                    raise ValidationError(
+                        _(
+                            "La date de fin de mission doit être supérieure \
+                        à la date de début"
+                        )
+                    )
diff --git a/models/cgscop_incub_financement.py b/models/cgscop_incub_financement.py
index 5ead90b..5c37a9f 100644
--- a/models/cgscop_incub_financement.py
+++ b/models/cgscop_incub_financement.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubFinancement(models.Model):
-    _name = 'cgscop_incub.financement'
-    _description = "Mode de Financement"
-    _order = 'sequence, id'
-
-    sequence = fields.Integer(string='Sequence')
-    name = fields.Char(string='Nom',  required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubFinancement(models.Model):
+    _name = "cgscop_incub.financement"
+    _description = "Mode de Financement"
+    _order = "sequence, id"
+
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_financement_projet.py b/models/cgscop_incub_financement_projet.py
index 9513ba4..3022217 100644
--- a/models/cgscop_incub_financement_projet.py
+++ b/models/cgscop_incub_financement_projet.py
@@ -1,25 +1,32 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubFinancement_projet(models.Model):
-    _name = 'cgscop_incub.financement_projet'
-    _description = "Financements du projet d'incubation"
-
-    partner_id = fields.Many2one(
-        comodel_name='res.partner',
-        string='Organisme',
-        domain=[('is_company', '=', True)],
-        ondelete='restrict', index=True)
-    financement_id = fields.Many2one(
-        comodel_name='cgscop_incub.financement',
-        string="Financement",
-        ondelete='restrict',
-        required=True,
-        index=True)
-    supplier = fields.Char(string="Nom de l'organisme",)
-    montant_dmd = fields.Float("Montant demandé",)
-    montant_recu = fields.Float(string="Montant recu", required=True)
-
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubFinancementProjet(models.Model):
+    _name = "cgscop_incub.financement_projet"
+    _description = "Financements du projet d'incubation"
+
+    partner_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Organisme",
+        domain=[("is_company", "=", True)],
+        ondelete="restrict",
+        index=True,
+    )
+    financement_id = fields.Many2one(
+        comodel_name="cgscop_incub.financement",
+        string="Financement",
+        ondelete="restrict",
+        required=True,
+        index=True,
+    )
+    supplier = fields.Char(
+        string="Nom de l'organisme",
+    )
+    montant_dmd = fields.Float(
+        "Montant demandé",
+    )
+    montant_recu = fields.Float(string="Montant recu", required=True)
diff --git a/models/cgscop_incub_motif_abandon.py b/models/cgscop_incub_motif_abandon.py
index b5e241d..ec89174 100644
--- a/models/cgscop_incub_motif_abandon.py
+++ b/models/cgscop_incub_motif_abandon.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubMotifAbandon(models.Model):
-    _name = 'cgscop_incub.motif_abandon'
-    _description = "Motifs abandon projet"
-    _order = 'sequence,id'
-
-    sequence = fields.Integer('Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubMotifAbandon(models.Model):
+    _name = "cgscop_incub.motif_abandon"
+    _description = "Motifs abandon projet"
+    _order = "sequence,id"
+
+    sequence = fields.Integer("Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_parcours_preincub.py b/models/cgscop_incub_parcours_preincub.py
index 0d5e603..f2d1bba 100644
--- a/models/cgscop_incub_parcours_preincub.py
+++ b/models/cgscop_incub_parcours_preincub.py
@@ -1,23 +1,25 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubParcoursPreincub(models.Model):
-    _name = 'cgscop_incub.parcours_preincub'
-    _description = "Type de parcours pré-incubation"
-    _order = 'ur_id,sequence,id'
-
-    def _default_ur(self):
-        return self.env['res.company']._ur_default_get()
-
-    ur_id = fields.Many2one(
-        'union.regionale',
-        string='Union Régionale',
-        index=True,
-        on_delete='restrict',
-        default=_default_ur)
-    sequence = fields.Integer('Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubParcoursPreincub(models.Model):
+    _name = "cgscop_incub.parcours_preincub"
+    _description = "Type de parcours pré-incubation"
+    _order = "ur_id,sequence,id"
+
+    def _default_ur(self):
+        return self.env["res.company"]._ur_default_get()
+
+    ur_id = fields.Many2one(
+        "union.regionale",
+        string="Union Régionale",
+        index=True,
+        ondelete="restrict",
+        default=_default_ur,
+    )
+    sequence = fields.Integer("Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_prescription.py b/models/cgscop_incub_prescription.py
index 283ca56..08e8aa2 100644
--- a/models/cgscop_incub_prescription.py
+++ b/models/cgscop_incub_prescription.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubPrescription(models.Model):
-    _name = 'cgscop_incub.prescription'
-    _description = "Canaux de prescription du projet"
-    _order = 'sequence, id'
-
-    sequence = fields.Integer(string='Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubPrescription(models.Model):
+    _name = "cgscop_incub.prescription"
+    _description = "Canaux de prescription du projet"
+    _order = "sequence, id"
+
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_statut_prefig.py b/models/cgscop_incub_statut_prefig.py
index 96336f6..5b96c04 100644
--- a/models/cgscop_incub_statut_prefig.py
+++ b/models/cgscop_incub_statut_prefig.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubStatutPrefig(models.Model):
-    _name = 'cgscop_incub.statut_prefig'
-    _description = "Statuts de préfiguration"
-    _order = 'sequence, id'
-
-    sequence = fields.Integer(string='Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubStatutPrefig(models.Model):
+    _name = "cgscop_incub.statut_prefig"
+    _description = "Statuts de préfiguration"
+    _order = "sequence, id"
+
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_thematique.py b/models/cgscop_incub_thematique.py
index 03cb960..ca49bb4 100644
--- a/models/cgscop_incub_thematique.py
+++ b/models/cgscop_incub_thematique.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubThematique(models.Model):
-    _name = 'cgscop_incub.thematique'
-    _description = "Thematique du projet"
-    _order = 'sequence, id'
-
-    sequence = fields.Integer(string='Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubThematique(models.Model):
+    _name = "cgscop_incub.thematique"
+    _description = "Thematique du projet"
+    _order = "sequence, id"
+
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/cgscop_incub_typologie_porteur.py b/models/cgscop_incub_typologie_porteur.py
index 11bd438..1925845 100644
--- a/models/cgscop_incub_typologie_porteur.py
+++ b/models/cgscop_incub_typologie_porteur.py
@@ -1,14 +1,15 @@
-# © 2020 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import models, fields
-
-
-class CgscopIncubTypologiePorteur(models.Model):
-    _name = 'cgscop_incub.typologie_porteur'
-    _description = "Typologie du porteur de projet"
-    _order = 'sequence, id'
-
-    sequence = fields.Integer(string='Sequence')
-    name = fields.Char(string='Nom', required=True, index=True)
-    active = fields.Boolean(string='Actif', default=True)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class CgscopIncubTypologiePorteur(models.Model):
+    _name = "cgscop_incub.typologie_porteur"
+    _description = "Typologie du porteur de projet"
+    _order = "sequence, id"
+
+    sequence = fields.Integer(string="Sequence")
+    name = fields.Char(string="Nom", required=True, index=True)
+    active = fields.Boolean(string="Actif", default=True)
diff --git a/models/res_partner.py b/models/res_partner.py
index 297b091..1b7c545 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,277 +1,285 @@
-# © 2019 Le Filament (<http://www.le-filament.com>)
+# © 2020 Le Filament (<https://www.le-filament.com>)
+# © 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import models, fields, api
+from odoo import _, api, fields, models
 from odoo.exceptions import ValidationError
 
 PERCENT = [
-    (0, 0),
-    (20, 20),
-    (40, 40),
-    (60, 60),
-    (80, 80),
-    (100, 100)]
+    ("0", "0"),
+    ("20", "20"),
+    ("40", "40"),
+    ("60", "60"),
+    ("80", "80"),
+    ("100", "100"),
+]
 
 
 class ScopPartner(models.Model):
     _inherit = "res.partner"
 
     # Processus d'incubation
-    incub_status = fields.Selection([
-        ('1_prospection', "Phase de prospection et de candidature"),
-        ('2_pre-incubation', 'Phase de pré-incubation'),
-        ('3_incubation', "Phase d'incubation"),
-        ('4_sortie_incub', "Sortie d'incubation"),
-        ('9_abandonne', 'Projet abandonné')],
-        track_visibility='onchange',
-        string='Statut incubation',
-        index=True)
-    incub_out_mode = fields.Selection([
-        ('1_non_def', "Non définie"),
-        ('2_non_coop', "Non coopérative"),
-        ('3_coop_non_adh', "Coopérative non adhérente"),
-        ('4_coop_adh', "Coopérative projet d'adhésion")],
-        default='1_non_def',
-        track_visibility='onchange',
-        string='Sortie incubation',
-        index=True)
-    incub_out_done = fields.Boolean(
-        string='Société créée',
-        default=False)
-    incub_active = fields.Boolean(
-        string="Projet actif",
-        default=True)
+    incub_status = fields.Selection(
+        [
+            ("1_prospection", "Phase de prospection et de candidature"),
+            ("2_pre-incubation", "Phase de pré-incubation"),
+            ("3_incubation", "Phase d'incubation"),
+            ("4_sortie_incub", "Sortie d'incubation"),
+            ("9_abandonne", "Projet abandonné"),
+        ],
+        tracking=True,
+        string="Statut incubation",
+        index=True,
+    )
+    incub_out_mode = fields.Selection(
+        [
+            ("1_non_def", "Non définie"),
+            ("2_non_coop", "Non coopérative"),
+            ("3_coop_non_adh", "Coopérative non adhérente"),
+            ("4_coop_adh", "Coopérative projet d'adhésion"),
+        ],
+        default="1_non_def",
+        tracking=True,
+        string="Sortie incubation",
+        index=True,
+    )
+    incub_out_done = fields.Boolean(string="Société créée", default=False)
+    incub_active = fields.Boolean(string="Projet actif", default=True)
     # Données projet
     incub_prescription_id = fields.Many2one(
-        'cgscop_incub.prescription',
-        string='Canal de prescription',
-        required=False,
-        track_visibility='onchange')
-    incub_date_candidature = fields.Date(
-        string="Date de candidature",
-        track_visibility='onchange')
+        comodel_name="cgscop_incub.prescription",
+        string="Canal de prescription",
+        tracking=True,
+    )
+    incub_date_candidature = fields.Date(string="Date de candidature", tracking=True)
     incub_date_prospection = fields.Date(
-        string="Date de début du dossier",
-        track_visibility='onchange')
+        string="Date de début du dossier", tracking=True
+    )
     incub_delegate_id = fields.Many2one(
-        'res.users',
-        string='Délégué incubation',
-        on_delete='restrict',
-        track_visibility='onchange')
+        comodel_name="res.users",
+        string="Délégué incubation",
+        ondelete="restrict",
+        tracking=True,
+    )
     incub_thematique_ids = fields.Many2many(
-        comodel_name='cgscop_incub.thematique',
-        column1='partner_id',
-        column2='thematique_id',
-        string='Thematique du projet',
-        required=False,
-        track_visibility='onchange')
+        comodel_name="cgscop_incub.thematique",
+        column1="partner_id",
+        column2="thematique_id",
+        string="Thematique du projet",
+        tracking=True,
+    )
     incub_typologie_porteur_id = fields.Many2one(
-        'cgscop_incub.typologie_porteur',
-        string='Typologie du porteur de projet',
-        required=False,
-        track_visibility='onchange')
+        comodel_name="cgscop_incub.typologie_porteur",
+        string="Typologie du porteur de projet",
+        tracking=True,
+    )
     incub_projet_description = fields.Text(
-        string='Description du projet',
-        required=False,
-        track_visibility='onchange')
+        string="Description du projet",
+        tracking=True,
+    )
     incub_nb_assos = fields.Integer(
         string="Nombre d'associés au projet",
-        required=False,
-        track_visibility='onchange')
+        tracking=True,
+    )
     incub_sensibilite_coop = fields.Selection(
         selection=PERCENT,
-        string='Sensibilté coopérative',
-        required=False,
-        track_visibility='onchange')
+        string="Sensibilté coopérative",
+        tracking=True,
+    )
     incub_percent_realisation = fields.Selection(
         selection=PERCENT,
-        string='Probabilité de réalisation',
-        required=False,
-        track_visibility='onchange')
-    incub_fiche_entree = fields.Boolean(
-        string="Fiche d'entrée",
-        required=False,
-        track_visibility='onchange')
-    incub_fiche_sortie = fields.Boolean(
-        string="Fiche de sortie",
-        required=False,
-        track_visibility='onchange')
+        string="Probabilité de réalisation",
+        tracking=True,
+    )
+    incub_fiche_entree = fields.Boolean(string="Fiche d'entrée", tracking=True)
+    incub_fiche_sortie = fields.Boolean(string="Fiche de sortie", tracking=True)
     incub_convention = fields.Boolean(
         string="Convention d'accompagnement",
-        required=False,
-        track_visibility='onchange')
+        tracking=True,
+    )
     incub_preincub_bypass = fields.Boolean(
         string="Pas de pré-incubation",
-        required=False,
-        track_visibility='onchange')
-    incub_incubation_bypass = fields.Boolean(
-        string="Pas d'incubation",
-        required=False,
-        track_visibility='onchange')
+        tracking=True,
+    )
+    incub_incubation_bypass = fields.Boolean(string="Pas d'incubation", tracking=True)
     incub_preincub_deb = fields.Date(
-        string="Date d'entrée pré-incubation",
-        track_visibility='onchange')
+        string="Date d'entrée pré-incubation", tracking=True
+    )
     incub_preincub_fin = fields.Date(
-        string="Date de sortie pré-incubation",
-        track_visibility='onchange')
+        string="Date de sortie pré-incubation", tracking=True
+    )
     incub_parcours_preincub = fields.Many2one(
-        'cgscop_incub.parcours_preincub',
-        string='Parcours pré-incubation',
-        required=False,
-        track_visibility='onchange')
+        comodel_name="cgscop_incub.parcours_preincub",
+        string="Parcours pré-incubation",
+        tracking=True,
+    )
     incub_statut_prefig = fields.Many2one(
-        'cgscop_incub.statut_prefig',
-        string='Statuts de préfiguration',
-        required=False,
-        track_visibility='onchange')
+        comodel_name="cgscop_incub.statut_prefig",
+        string="Statuts de préfiguration",
+        tracking=True,
+    )
     incub_prefig_date = fields.Date(
-        string="Date de création préfiguration",
-        track_visibility='onchange')
+        string="Date de création préfiguration", tracking=True
+    )
     incub_inter_bilan_date = fields.Date(
-        string="Date de bilan intermédiaire",
-        track_visibility='onchange')
-    incub_incubation_deb = fields.Date(
-        string="Date d'entrée incubation",
-        track_visibility='onchange')
+        string="Date de bilan intermédiaire", tracking=True
+    )
+    incub_incubation_deb = fields.Date(string="Date d'entrée incubation", tracking=True)
     incub_incubation_fin = fields.Date(
-        string="Date de sortie incubation",
-        track_visibility='onchange')
+        string="Date de sortie incubation", tracking=True
+    )
     incub_expertise_ids = fields.One2many(
-        comodel_name='cgscop_incub.expertise_projet',
-        inverse_name='partner_id',
-        string='Expertises')
+        comodel_name="cgscop_incub.expertise_projet",
+        inverse_name="partner_id",
+        string="Expertises",
+    )
     incub_preincub_mt_exp = fields.Float(
         string="Montant expertises pre-incub",
         compute="_compute_preincub_montant",
-        store=True)
+        store=True,
+    )
     incub_incubation_mt_exp = fields.Float(
         string="Montant expertises incubation",
         compute="_compute_incubation_montant",
-        store=True)
+        store=True,
+    )
     incub_financement_ids = fields.One2many(
-        comodel_name='cgscop_incub.financement_projet',
-        inverse_name='partner_id',
-        string='Financements')
+        comodel_name="cgscop_incub.financement_projet",
+        inverse_name="partner_id",
+        string="Financements",
+    )
     incub_financement_mt_dmd = fields.Float(
         string="Financement montant demandé",
         compute="_compute_financement_mt",
-        store=True)
+        store=True,
+    )
     incub_financement_mt_recu = fields.Float(
         string="Financement montant recu",
         compute="_compute_financement_mt",
-        store=True)
+        store=True,
+    )
     incub_sortie_notes = fields.Text(
-        string='Commentaires fin de projet',
-        required=False,
-        track_visibility='onchange')
+        string="Commentaires fin de projet",
+        tracking=True,
+    )
     incub_motif_abandon_id = fields.Many2one(
-        'cgscop_incub.motif_abandon',
+        "cgscop_incub.motif_abandon",
         string="Motif d'abandon",
-        required=False,
-        track_visibility='onchange')
+        tracking=True,
+    )
     incub_out_is_cae = fields.Boolean(
         string="A rejoint une CAE existante",
-        required=False,
-        track_visibility='onchange')
-    incub_out_cae_name = fields.Char(
-        string='Nom de la CAE',
-        required=False,
-        track_visibility='onchange')
+        tracking=True,
+    )
+    incub_out_cae_name = fields.Char(string="Nom de la CAE", tracking=True)
 
     # ------------------------------------------------------
     # Computed
     # ------------------------------------------------------
-    @api.multi
-    @api.depends('incub_expertise_ids')
+    @api.depends("incub_expertise_ids")
     def _compute_preincub_montant(self):
         for partner in self:
-            xps = partner.incub_expertise_ids.search([
-                ('partner_id', '=', partner.id),
-                ('incub_phase', '=', '2_pre-incubation')])
+            xps = partner.incub_expertise_ids.search(
+                [
+                    ("partner_id", "=", partner.id),
+                    ("incub_phase", "=", "2_pre-incubation"),
+                ]
+            )
             if xps:
                 for xp in xps:
                     partner.incub_preincub_mt_exp = (
-                        partner.incub_preincub_mt_exp + xp.montant)
+                        partner.incub_preincub_mt_exp + xp.montant
+                    )
 
-    @api.depends('incub_expertise_ids')
-    @api.multi
+    @api.depends("incub_expertise_ids")
     def _compute_incubation_montant(self):
         for partner in self:
-            xps = partner.incub_expertise_ids.search([
-                ('partner_id', '=', partner.id),
-                ('incub_phase', '=', '3_incubation')],)
+            xps = partner.incub_expertise_ids.search(
+                [
+                    ("partner_id", "=", partner.id),
+                    ("incub_phase", "=", "3_incubation"),
+                ],
+            )
             if xps:
                 for xp in xps:
                     partner.incub_incubation_mt_exp = (
-                        partner.incub_incubation_mt_exp + xp.montant)
+                        partner.incub_incubation_mt_exp + xp.montant
+                    )
 
-    @api.depends('incub_financement_ids')
-    @api.multi
+    @api.depends("incub_financement_ids")
     def _compute_financement_mt(self):
         for partner in self:
             fis = partner.incub_financement_ids.search(
-                [['partner_id', '=', partner.id]])
+                [["partner_id", "=", partner.id]]
+            )
             if fis:
                 for fi in fis:
                     partner.incub_financement_mt_dmd = (
-                        partner.incub_financement_mt_dmd + fi.montant_dmd)
+                        partner.incub_financement_mt_dmd + fi.montant_dmd
+                    )
                     partner.incub_financement_mt_recu = (
-                        partner.incub_financement_mt_recu + fi.montant_recu)
+                        partner.incub_financement_mt_recu + fi.montant_recu
+                    )
 
     # ------------------------------------------------------
     # Constains
     # ------------------------------------------------------
-    @api.constrains('incub_preincub_deb', 'incub_preincub_fin')
-    @api.multi
+    @api.constrains("incub_preincub_deb", "incub_preincub_fin")
     def _preincub_date_constrains(self):
         for rec in self:
             if rec.incub_preincub_fin and rec.incub_preincub_deb:
                 if rec.incub_preincub_fin < rec.incub_preincub_deb:
-                    raise ValidationError("La date de fin de pré-incubation \
-                        doit être supérieure à la date de début")
+                    raise ValidationError(
+                        _(
+                            "La date de fin de pré-incubation \
+                        doit être supérieure à la date de début"
+                        )
+                    )
 
-    @api.constrains('incub_incubation_deb', 'incub_incubation_fin')
-    @api.multi
+    @api.constrains("incub_incubation_deb", "incub_incubation_fin")
     def _incubation_date_constrains(self):
         for rec in self:
             if rec.incub_incubation_fin and rec.incub_incubation_deb:
                 if rec.incub_incubation_fin < rec.incub_incubation_deb:
-                    raise ValidationError("La date de fin d'incubation doit \
-                        être supérieure à la date de début")
+                    raise ValidationError(
+                        _(
+                            "La date de fin d'incubation doit \
+                        être supérieure à la date de début"
+                        )
+                    )
 
-    @api.constrains('incub_preincub_fin', 'incub_incubation_deb')
-    @api.multi
+    @api.constrains("incub_preincub_fin", "incub_incubation_deb")
     def _incub_date_constrains(self):
         for rec in self:
             if rec.incub_preincub_fin and rec.incub_incubation_deb:
                 if rec.incub_incubation_deb < rec.incub_preincub_fin:
-                    raise ValidationError("La date de début d'incubation doit \
-                        être supérieure à la date de fin de pre-incubation")
+                    raise ValidationError(
+                        _(
+                            "La date de début d'incubation doit \
+                        être supérieure à la date de fin de pre-incubation"
+                        )
+                    )
 
     # ------------------------------------------------------
     # Button
     # ------------------------------------------------------
-    @api.multi
     def incub_non_coop(self):
         for rec in self:
             rec.is_cooperative = False
             rec.incub_out_done = True
 
-    @api.multi
     def incub_coop_non_adh(self):
         for rec in self:
             rec.is_cooperative = True
-            rec.project_status = '6_suivi'
+            rec.project_status = "6_suivi"
             rec.incub_out_done = True
 
-    @api.multi
     def incub_coop_adh(self):
         for rec in self:
             rec.is_cooperative = True
-            rec.project_status = '2_pre-diagnostic'
+            rec.project_status = "2_pre-diagnostic"
             rec.incub_out_done = True
 
-    @api.multi
     def toggle_incub_active(self):
         for rec in self:
             rec.incub_active = not rec.incub_active
diff --git a/security/security_rules.xml b/security/security_rules.xml
index 2c07002..5eb5607 100644
--- a/security/security_rules.xml
+++ b/security/security_rules.xml
@@ -1,29 +1,30 @@
-<?xml version="1.0"?>
-<!-- Copyright 2019 Le Filament
-     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-
-<odoo>
-    <data noupdate="0">
-
-        <record id="group_incubateur" model="res.groups">
-            <field name="name">Utilisateur incubateur</field>
-        </record>
-
-        <record id="cgscop_incub_expertise_rule_ur" model="ir.rule">
-            <field name="name">Incub Expertise rule per ur</field>
-            <field name="model_id" ref="model_cgscop_incub_expertise"/>
-            <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
-            <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
-            <field name="global" eval="True"/>
-        </record>
-
-        <record id="cgscop_incub_parcours_preincub_rule_ur" model="ir.rule">
-            <field name="name">Incub parcours preincub rule per ur</field>
-            <field name="model_id" ref="model_cgscop_incub_parcours_preincub"/>
-            <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
-            <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
-            <field name="global" eval="True"/>
-        </record>
-
-    </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament
+     Copyright 2020 Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <data>
+
+        <record id="group_incubateur" model="res.groups">
+            <field name="name">Utilisateur incubateur</field>
+            <field name="category_id" ref="cgscop_partner.module_cgscop_category" />
+        </record>
+
+        <record id="cgscop_incub_expertise_rule_ur" model="ir.rule">
+            <field name="name">Incub Expertise rule per ur</field>
+            <field name="model_id" ref="model_cgscop_incub_expertise" />
+            <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+            <field name="groups" eval="[(6, 0, [ref('base.group_user')])]" />
+            <field name="global" eval="True" />
+        </record>
+
+        <record id="cgscop_incub_parcours_preincub_rule_ur" model="ir.rule">
+            <field name="name">Incub parcours preincub rule per ur</field>
+            <field name="model_id" ref="model_cgscop_incub_parcours_preincub" />
+            <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+            <field name="groups" eval="[(6, 0, [ref('base.group_user')])]" />
+            <field name="global" eval="True" />
+        </record>
+
+    </data>
+</odoo>
diff --git a/static/description/icon.png b/static/description/icon.png
index 7c4b282f22fa37ed748c5e23f644205ad340af1f..9002f6179b6459cee4ea49e69e8b5114e2f5d3d0 100644
GIT binary patch
literal 13973
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
JWt~$(69BC){|f*B

literal 9296
zcmeAS@N?(olHy`uVBq!ia0y~yVCZ3BVCdywVqjo+^^f%o0|NtNage(c!@6@aFBupZ
zSkfJR9T^xl_H+M9WMyDr;4JWnEM{O3Qw3p0&mff#3=9lHC9V-A!TD(=<%vb94DLm#
zsd>d2`6Y3o9IOls%Evuj978JN-o~~^i(J3;|6kMlo#rRE9*Ynbo;>47iEyvx^^o9@
zRSPr{m_>9NSdX-Ih&YB=dAwIrS`l%O$?S+;m#EGL>)N#Rvh-{3ZH>9tEqKQLMrrn&
z-+$)SPP=KGo_6nk<?WfqhyUAb^6D4Y_7qbHo228gMkTT#!gCYD#z`rRNr5UazxJ#A
zRSv9KBK$RKZrp`erhDckS~ob~ei*)%FUn3xb&K+Wq@~9vvz!ujT~gR4{NDCT><+yt
z*E5X1ZJN#XBGmKBAC96|UPZT7sXy4&7A10a&Fy2yL_SrrZ=G7Y>sRz7F6L))jJZMu
zX)kUEEm=N^<<5(esxW1{0M5|#9lEYt(nSmlEx+B2xvD)mMBg`LuZ`#5Qz>8TbFS>o
zxsYD%6Sm*T^Y15>D>)mK|9!2wl*#*6`n2lwtn+abqYC!A8AQxb^*FE086#P6`O2B;
zvI}d?AI9q+xK|qdeRJsF*Zf~kPrkZ0=jz`#|D}H2P`nk#l=VM=f5UP6Ilg`or`Gsi
z4x2w+E~zRmZFRbLzoO@Q_W5cnJ#wE$s;S7z?`L?qeS41Z-rTFTZ|7a8Ue4H}IgP!R
zuTZTn{?swC%<T1EEWB;m7L(_x+cv0hyo#E8rRU?)&?&#!a+a)q6)${s@7pW2)+=so
zY4}%tbJefg592E?{VP1Q@UoEGf(2JUKWUxB@}=P`gKg?@jp+$FKTJfNtR7z2#kAm+
zz1gZbvm5Njndf^C9h@xWw{Xq|^^@Joo|9BeHQ%gVc*prFv+P81Ch;qN&3D-fmKT)F
z)Jk)m^zKY(N4Lh^_mZEKJeoc%epniwZ`jy*!^8Zl_hcWjqFsC(QOq(O@5PG?k3L#k
zz2ed<#!GKi8X30=)Le9Y<Q`ut@3A0$&Q}|5gQNp%+O2}~79N_oxoTGJ!<kjvC$TUG
zmoJ{k=@rOd?4}uZ-f%%5!{k@l?e(VfyLH>D7<`NOSiIDmq~QL*<ksWoCo&JdvfJjt
z`gY1C<BO-os<YWP+c=j0WP4)Kmi@BqrPw3|j)^@RUTgeYs{SO<_Ev)xQ)r0agu5C2
z*IruQD{#H5{Y>3+{d9v#-nxhF=B#Wwb>+_0e#?e8_xgV1&fM_Z;s^8L($d8<W~#I<
z{4w{&hnE@e7Ti4=EpXsh{8sh4*i-Lqlmgd0e6`E_jHi&n61AO2=HA$lsS%%5ep8J7
z0cTKWq1~)EwJW+_xfx1(9uV*={HS_k!^(R0HjxuIEkE8r>h$vByC)}OR9;H@P2MUl
z{qEEEL=VOzSHj<(w4cT;s(yi|YI{edN7H6;t*j0G>Ct5}RbmSL6=x^T+UHmOY0<vu
zw4Y}jCaGkek5g6qvAXK7tYpxI<9v54_GWay`xRU8rj6Tt_KaC79Im}*ue>oR(LS;1
z)x!N<cH3@P=e=pm@pP3~cQ+>~X_A7-#)p=#_DwThenIrhwxh?-Tz~S`eYN@-O*K`|
zDJ`d>a;}^aue`j_y0J^0y(nwLw=1e!_8rYhvYK?@;@xbuw_%HBUM>^=Y|dt}*F1K{
z)|WxXX&0I$kEE!)wB!|!UnBS6Lw`ZZu@}kR^}9RnSGue>z0R|y(__+?Tg6|0T(?^l
z{?9XQ3B#Ow4DPp*7vH#$aiMMHQ4<x%pJ!QA7uFmUdhWlQ&tTcbxLIqsjHhm2rr^2$
z`n9-&_sX5UYi`Z`YtK?t>0Ry8^>sV1mEp=64Js0LJ`PM;J-6omvgex6SO4r}`g`Mc
z!_t{5d*jM~s{NaJ{C;lVyY)<eY+TgVYkX{bsT>^c*)*l??hI}B#r3P!XERG&4!`%O
zPiyjZpIBATtT5rpOcyq-DNFyu&%$%r(eF%`h-dDj&PD4cs=RD<UVb&-=kM{WZvL%v
zZch5PdW*WA<d<Znmr|Zq6C)>gU1QsB9c#?k)?`?<p!scTbN!pfqQc2y+hUbG{R4jV
zch8@(@^yCq*R9Mme3~!xJDpt3cVo8R4eNC`tc?Zk&08n;s3oj@t93wh^_GG&5}({2
zA8VT?J8SFv3mF9m{QYm9&Jh1$m!q{=DRS5Kqze-@mvE~%R+jvlRCPh*@#<Z6$6kN>
z&b_YZ`%3xeSGR5a+%S*b;*tD$)!gulaTjwutW-2}Quv%I#5UVB7V#al|6a4`uY&pt
z?UN_9UuG`c63uex3-6R<1ItX-k6)P<+`O=6zwNhgJddj5PZjFgD*NO~^6i}{JnfPE
zxi-ec6{ix<^fsi`J!yG*gum{Gd+~<yyAQaZZs{xIZQq+9{>Z)l3rlGI&gdIUxASIh
z_bUIj%F%n-1ic9=o^PJnm`o92{kl2)Yxxavk-fHw(S<pu<~=z3Vo!AaE13=E%Y*e4
zXMM5V)y+F;)|Jh3;uc>lUb{fz<Eh-L!k%686Lpf`?+DziY*P8V^!a-4Ufm$>#)5d=
zxcn<~*Is|}PE}2}ecBCy^hfFSW+vVi1wwU`<Pw6oHBE&dt^IxL)#sQye3ueUzg;W2
zk}e<p>AOSSb;I1VtQlvHif@+wtiaQ4{?4)bg-n^C*7*$!XCB$k&3mQkxb$|0GQ-5a
z>y?wfM9IF~a_k4&&Q<$sD>HKZ{QTnFuAN)qQd-}>ZT>%_2U+cYOZS?+(leFlyRP=a
z)Az7%_6gmYrYBEnu(@UKUweM#&!e+_r<70mW$L~`Yu}q0F2-&0^F;Qxv3qHp_xKvH
zMQqkAIX08U@-Bk5rhm6YyHD!6u;h)>zE5t4m-frv(Ad87M2q$pEB{G17O5Tkv4A~1
z+O*pvYQL$uwza<QY7?V{pH&#0|GxeBUr(rSo~!$%*I(DL^>}KmfA(4X=N{*pXLkD*
z1Zk|evSiBSbJ-X5m}O4bGi`ak?&R{ecR8LCOLt#fvAfK@vEsMgig|P7dem+jeScLM
zd3}+FY4Wb(>kri5&eVQ1m;F>!(hm`>?31329V*j#gC_e3{c_}AB`z)h>eZ`*SDo+P
z+Lq>#la&^>JSpGDS#Z~W+sESirjJkg$4);tiG^|HJ0rWSX&;jXmnnPB<NDk+NkdAu
z>*9d}>dV_7%&$z!->J06l3Ds;TYo|G`&S3go#=5plb~EQ#a-*`o&~FSA8UIWFfZ`R
z9FD9!mZyTA`Zs*e-|guCwj`~!yO%$}*m3#pf@a>+YICm(2v48*&GF18mfWkBw*3{8
zIA-166>EE?bJjJlNq!>h?_FCm#qeL@11FE$qF?@G?Azhxe?nce%PG>-Fpn|H{qF5)
zMZ8yIO>f%7J@<U%t+g@H@7T(@Cq0^EG9QSfRT{-u%6MgEExdC$MBmrN*nbn(yapM|
z5B@f-U6W6BcAC%1nD6`Q;HRCE%M<tJZWLS>ld?}p_lTRs@7n<rmzy-7cl5imhU4zj
z*<SXC9!C9<mOoXw*J;wclpQx@Z|q)oV!39!o1nHsbSQi8!p3(s%%;h<pZ4y}?L66d
zYu4u#^1&YIo|C@BM9lm3w9~_V?WtNhPlFqdUoWIJFz+(tXqd8VeqwTUL$v&Z6Tj3o
zuCo2$RWo39Ei#zZ7<}Nw1SN;H4iaAV7xj+t|JzlpQPsHo(dku+!R}r;*K^~oYu1>@
zSFz09uaVV1U%l>=aoP0^+}|$B_(tt?d?}tEaPHug;0~urOAg%(&3w^u?Ct$h=ZEc%
z-2F$Z&-yqh8SvizX!!Yu&`*bD6Z|Ht7<vnZ{{Q{^v2h)rXRV<5_j~i|lII+s%E`U{
zPg}tM$>-PVKeLgr^X2>9Z|!IrX21KH`SO)D+h1@9@wLv&VzQqc!DY4R@1p}JCtPmo
zod4%z|FcC;H#!{4?wjJhq2jxpm44U5N#2Tu=5n^V3UzUdY)b{dp8R}3?BC6pBPG$y
zmLHR+scRYEeAN4Ui@S+wYOJ;=%Wk#Dg~<#8W=A?d_J{si-Xi$smru@%kS_<$e0Vvl
zCAL83#=X*)DxL-jifIduAL;e`^-|^Q)@->)JX2)m%g1cgTV`XmPe+Y$gSFAO1FKdD
zZw@!@`5e+%xaHFon=?Ouna3@UZO&R0EPrQ5s)byK%ECFn9lI-5dzP<@v#4;Jyt6-2
zs=eOO-}b`9Sv%u$syd=pa++zqpQ-Y9S4?y`|Je&nx8HE(JekbK{`|u#<+qZ(^K#qP
zNkz|SEu8XrvuD${+T4{Z6(6}iQC#TsU=jDm>&q1<wfR0a6SXzExW`%Db5h2vlE~|M
zabH)eY~`6%bn#eyxl7K&Z9HFs)5_|q#2EHHPfHV5UH&#+HunEw^Br~>e;)L%EcHA6
ztu5!?yd7%|w70)Xc>0%}KjA|6gfPjz92Kj%6~E=CM>N&GbKKb~;gNN0#s!`ye)Bzr
zw2T|`^;U-P8eY9otEqCfH)z@=&+j2;9<@B5$WoDN^s{=xyD2_<+MXwMZM=T*RMrM{
zJsbXv=C`1{?=oS@<*cvsCtbO}FY(WwO)n}|%=vW5xchPNff-uUTjjYrbol$3+degH
z*y8hGW#JTQmzAr9#opYR)gqOiBD!qZ^rOqdmW$oFvoU_}f0pV$O$E#1%Kt5kxX<x4
z@b(jlCugU;Pb)gM>-e-ShTnHiQ<>~iJgdj{2FLXD2`!t_S8{rE{TH58bvxi&c1dZG
z#S@bR+fAxBSG4=2I&b=-;`L{j-dxpA6~*Ge#*^Mew^_-4<afO`dD_n6;!86#8O@JX
z-T8as?>Tkj^>y!SOCDAk=s)0m!^XoQbJy_x*UFh4+aB$hvbftx@5YbVziIb+3qQZ>
zk6-dnw_!u1s}<X2W91nSOcJjbE_G{M;yrnnG?xOiC(F@eqO0SplQym5J<^hTYjgO8
zIGOX}@@}iI_Re23%`<6F(gOc0SLe2$`J;Qjw0uIVl~YfP(anMv8)QT#A81`vEp{@=
z_}0ePNq&=l-MlYpySt=VX@;w#*DucVS9P7|Y_Qul;bNkO(2cutw$=VFI=@Pz)29A!
z+bzHQ{k;vMe`n4rG%(oovNrsxgL_72qg-N+RNQM5$)~03{Z-Z1Ux}Tl%(!Crib-3d
z7320c|4Rwn;HVkqKIzvj;m6|KQ_};C*M{9FXOg#$&)u_!Q>Z;L_-5$sDU!S&Z^hoS
zoippww7aDWoab_PaBsF_-s{DB%Ra<VJJ>+=tGq>P+%$!I`E74w#XnCfsl4=Pk;s$F
zWk;6XkuqklPr7kyD^J;~k1>;H&t+b=IX~9t@b<XfN)wWGd_3*n2{$#LT3{QqVWT_K
zfocDJjvfD*asE_axA2cYhmVBcyQN$dtK@a-Rd>Ms71fM$*IF|rZV1<x{&V=|tS@(0
z%#7<lCAB<3bi=v}oM|jyuig0hr_bvOgHznw(4tRVr%nc_D^3bqE-j_~_J4BoHPa{W
z!fV#QJEgl~?$!0Do-$6@Vj?%GXy@{EU6r0zkA-INztgteT$6m~@Aepnm#2DpSR$L#
z-%fk-OkvU~<;Sn;zpUiwo5-upT-4t7e$Tu52g{`1Hr77iOBLQ^f8({O`=85}M_N>K
zT-F)Y1(tZ~9KKh2T|~}kj`S=~ZPmKiuD#FGF1(z5IYGZ5?}q#484E&G=e;)cnjFcv
ztyS&Q#MIl5<<F-&869zZVkVzi8t@`P{_L`4ZBibGJj$HSsw%sKe)1I@u>YPCzI?0R
z_RG$PJpVjc{z^AIzj^MA1tKetnw*Y0>mBrUjwu(r^>(%Sa|A<PZ+O%5xQJQi!t;Zw
z4>dTJroZj-+wpC0`PT9cLI)I<ui)ske767LnOke8hv)5mCVK6O=*l=D|Mlmeedf>5
z&c4ViZTWcetf&{R(FgWl+_!PU=9B8`jQ+Qj(@isX?|hJ>r_$bi_n^4UgGpr*zBMkn
z>y@j^<-NgLg~RD6r=C)O?7Tzkyq<6V-fjL~^Rr-3urZ4$$LieT@~YkiYxf;+eX`l{
z_5!z*X5*iW4!>Bdd1?!XV{!Dh<o7!i|0Njk&OOzZ_Ikcy`|t3jn^iXIyxjKBKj=f<
zH+S3S;-VtQmkBbhCttRD`YT!5+Ka04CD<lpnIAv1_ut(;mu9g15LUG1zSQ-0=FQzj
z+~1yv$mwaU)VyE*G)4F0g2;=?myG-}H)(zFf3D<jdTjRnQkVPR+)Pf~s?@z9$#i^i
z&EAK4ruITv%4xZ?D)xU}Hb=vWSs}Fla&CUs1!0pC@1C!10zWF6M31$I?Nt}_5!kE2
ze{1``D{PbU6YqO|=xsX`qxSOX@&^mJPh|aDGQ(7f^U#@fGmdQX{g^siXr6<Kf}GYJ
zWyVC`#WAzleJ%4J^SkDG<`{kG`Y~BEWWxN3v6JE>ihpqY+Ys45@mBEk9WR(3?LK;9
zd1D-#<-~1{f6i%nT;NU5)DdV|cXyf1p(}siez+Kyld){wx_!BPzc*$q{I+Yor>=5c
zRF_vroY@rb8I4Ppb49#m7L5;b^^I=lbq(I@A^JklSR-xw>{mx~=BjY|y*t0W_18`L
z`Mb^B%gQG_j@|Nc_5YL4U!CW^^;o<``hJDeKEA-^l^vJY>OYH_^P>8g=7O|yuafsE
zPGx-f+bKz*xqXekxo&ZF*t?mBjFc>TH}M|2H-BYMObOEm%Nw0P-YeZQ@9VyQa=NTw
z-xaRVtsh#?uX}Lllf-?CKic_MK)sKB)=#%g<2`vL<-O>)FmCtrT<!j!UD<cOP`ahe
zC2t(RuetqFui2ypJeTI}Ir9AN<L@%=w&C+0mWLI6R6Vn3t;Po4GPXRPRSc8vm0r%7
zY%CJ&vE1`gvv&CYKS#K?&6{L#CW5h(Il?*9C+RW!I*BcnS06??>|=Tv^)9Qy`Sbxz
z{x<);-~aXOmOsD8^4Q}?`P~bjP0iIVE_b=}R^O)J!#{z;PrtDpILW|f+1RIWP`NI$
z=|eC759bf|30WRrPbrG5ifeC4()-}$6Vau{y#LD~w;fVkiBEU+cr+Q!ygj48{+(mZ
zc7amvx5q1!-|t*(d4JnCu3t9}I<|gF?pg(^k~n4RGDXeKM4s#xDN%VjsW(0`%PK?c
z)YaAd^;$$^R5N88jwRf7)sk|VzqY|_Z*DZ3@5)k69iP)I`?niwEqwUd^2cVmmZrN?
z?QT21ytd<JaP*;L+suxsXlhm*KX&Y`=$DPk7uR-igY8oHtllX1pF`{0@ma4tF1<A@
z_S&ZQJT1k!!E%EY*B^-&QKlPs`*fR^H`Ft)xbS1@?}@%#Gnm~37bLXwGRwT%YrOYX
zvF?*bhfC{vKbqTDZ+c}Ud~4#B!l)N39nAllz3|yyv46A5LC<6h!?J_LdGlBQvNYi@
zwtFPL>dY61cMSht9eHy#J(lU5AGgDNz0>D+tX=UjqB`l^tG4xf9bP_o`mV<A^`|4Q
z*Y|(j_3@@mi~h4~|6kM|Joo>{p9gadKRr3Rt*2RA>3#2<#?r&iGIJF;+itDqJ2Q!8
z<<r*tcI?rYUTIwa`c{0AMD!$^gItn~Px5!pys2U9efrkCIop)=Tpc}Qyb6=FejI-5
znYnx!yWsj8TX+g=(qG4KGF@q-Q}%tAF30QbQ(TWZUTa88ekzmyeA*K3Z~tChj|z{S
zDLPkybIxZEbG^KF&iI#CD<>%&d>m9RRh^=c86FW+7MGV-=67<LO6cpgU8n1H)<uXj
zC$3b`Ro-tppG{;*x|1r)E&V=U%cn9NDvhdh%lJ-cooGH{tG-?IgRS&h2d1X)EqN=8
zqrN4ya6f6xJ#MOO<rt(d{phyqp?6ZwhUr`{nLGn3V{#n4IitR^s>se1-&F2<=3eM*
zE%CgJ)7PTfe0G{vovXC|pY{HM)_z{Dz8`rjzD1U2eLH3KJaxLd&Ys`%q>m_`__(g`
zyPbr<&ivGpqpN&#Z-|TV?!I!4BS+%-Pk~KS^EN25I$Y{0c)76VIn(kR6V`m=wOX{D
z_vMbT@@=JeCxHea7=1;W|G(i5zf{)Ms~nr(KZ}!L>GoWf1c$2+G{4`UchBU~R^IRT
z=KXtcHuJ2rVs^!w-3`shzTbV<Q?%bWYnkAk+4tst{Ls6y<Hx&=imVfS>R+GE)w!hd
zw(ZfBE%BH4Ia)jHGtbf5Y{aS+)7<By7^}podxQV1LEMJ^pjY?Sc9z~=sr^Fx|1HKM
zvFtl*YMYP0@T<DT5PIGE-Hj8GA6Cj)ZT-9c?S<29|Bo=+zE8h&U7@^J#p6i-wUzga
zHojS&n%LnGc&9K#vtc45tE9@tQ(ww<$M-7on_ep1`fZC%W46^xDNhGsze#@C7Z&X(
zOV80{I4t|9r+;SqyGz@Cb23!Df8S7R!2SP{cb&;XXXa#w@O+<SXCqanwaJE49eiGD
zdG@;mZq60=>X>hT>I`oRufN#;4NK=%n`|+>WprWUkBigq#;iDb&)GNrdquVO2mj|r
zr-e-_f6rW?^5q4~E?&j*>^q*)Rkwxyx9(YYD`fq%=^kDyR-_#^+U+Csq{3YK<NCe5
z%jI@S@6EmV=$>NmmA`L79?WXsTygJ!HE+q3{U>I%vOTyQART>Gd-6r?>O}8&>qpi0
zW=7LLbsTWpwYdKD7nKkG&x{&7eFBW^&awNpIy|q<z1l2$_3u;bU&lfYe!njBvUT>+
z-JfiogFCLQdGtN}^Y83kK0+5%IC5OJ74}`PWw^TMRYU*R#Af52OM=X7rk6x@*FNyu
zxhDB=(asyPJ@GRCp4xmBP=9niH7A2FYqMVSEK#?etrPdNPO4`q68t&q%H5a{!QDo4
zV>k9jPe03+zVYCPnP=ISI&PnJ#K`xJUs<S>rDeyDLeAZ4bG<bZ%~K|qt-g>fp8Id{
zblrbD#pjnh_;21ddHT+?N8kLCvHRUn@w>5NbLaV+$6KFgZhLzzb}#GAX)c!z{hNH}
z7?a*Ej}>dCYPjtw>_6XNmcd;m{@!_O#oEBhA;;GFJvVzYt3f5jhqrvA;XM6@<@>(<
z_`Uf?ujQY2k8^zFq^COT-taivEz&pV>XYyS&!aW2yyCm(Zi!uav(Dp2dDGpf18!-C
ziIO!38OvhTHdjgS|IZ>l@n~DR(ZZKLC(QJ=hEzXN+P}Sx^ZXSNIe}H@4~wNavu!qO
zjoQ<BH|ofHi!*s`%&C*}UT?S_Eicw~zA^a1Z^m`^uU?IF<=^f4B+KagC)LnH7o*IU
zHAGHcb@Im9wzLfsEqCq8uE`V?o^wcb+J@+^7f&}9BnAArR9E=sSdDL#<zAh>)Av@N
zT-6|WEcf0yaTz04&l58)bTft2&i}%2m+8@K)|#JzW-89MNmjd@KfYzsD`d}L|9_1A
z|Cwe^50P(IHzZmfS{R(*aHIO&5BAL-zpolZ?Oai#W+A&b=jY#<H*T+c@NUERyNc$I
z%Vk>w`K4zbNLl!ZC3C;m-(x0k*1nt|pXtT7_<6M3E=T(t9g=O*@(p%nKW6+q(c|GZ
zdA~ec@4HjF8g-0+)+ry@8xX3Uxa8ZH)Usf{>0zhZQkh$WjMeUj7hY`5@ll+<hubHn
z`puptN+z!CGiKzZIjc#}T5DbE>VILGB4-aLo8Z4@{ivGcC61dHub2JzFh{R)dBGPM
z;R!B(c8UDI<vw}0ybWj7&W!r%OJ*K7;t#*KJvTk%QGCUs1(!~@NxVOvzy68YvyHEf
zTbP&65M8+?U*_ZMB95pd74b`+HiTrjo$qc;nbobEI87x$?{(+>X@$4TINQ$~G<qJ<
z_nxpmSV;JXj6rK0!^Ibk^AdLa2>Q^TYkux$4_BJ=w8V`Tenp)}zkIStbL}dVkBVed
znj)M2xO<0gYfQzuPiGk8>w0cZVg1SUcK1~8TL<5-GZOUNWSF_>+k*chm!2)#&Ca}h
z0Z(qQT!qb(FG`z!zHL|hvm$Pq=PU^YnH7S4^Pg^)KVmnxS;pu|0+;8+$~SE~cdyQ_
zIqK<KsA_62^;EE933JW^vkbTM{TE~RFJ8Ovz;x&BJAXvvKN7DmD{kEI+#*8y#?r(|
z+t=%UT)cn7ca|u<#>+7=n$v^$3ZnwM)k^uLXD!uPIU%F1`?g<Yi?O%xmiAXu*dENh
zc_ua|NANBC6p?H%zDxTIV`?_4rHY$sPl*#d?2=<F>6zdY#N8(*X!AO5&P)d8o%?OS
zUE_Il+x5X00r_^nqCnPF;TK|)FC|Vbc)${0B5;S#u58|``!DLVgzo=jnwa3}Qy_JO
z;n8Z=AL*Yr2x=Tw+h?wpxp~8Xk+))f^^ZF14csfAut`7Ua&fwL?&$l5Uz}Bk?-jQG
z5!fSniScBXkoUp+TKtC_8X}D!Mz*Qj88ms{J-Eg*DSTO$wx2fdk3(K&R`c)fnj0r@
z*d;Za>)WTLQy=xJ?fYP`+l-edd{6QH5|u^|p&hY*xck+wy_+Q&U@s*6r{n$~&vpg9
zME3eGCewFI+xooR)whASWlf_ypRTJ#Si7A4zg$j}wv9SdWSNy_ewCcnRC{De>IT`r
ztB*gtte|{dM7C)U-^3@IS=%i4YOwvkIsL~?@&9#-eC)rj&M%4MwR4`lll^xF-vzg`
zT-ReW8VtF(9Q@ry<(Gx4ItmEAH}C#F%QV&fh3Lmwvh7E!`CIQEpK<l%tU0!4ewC={
z1eZTuw(g&p@Sfh@yX!pfpJiK~z511kY2&}-$r>MTubvUQ^46-&m;Q=Pp2U*A^5M=a
zv9A{T-90A!@2AZMwucWibH7@i$W}BHu>V;o`Sj35tG63BPq4UHw{b%2W<kqam!~h_
z-M^XZlfw<xPfQ%i56&uV7CN>1pwWkq-3ON!Mt4iT*X>ZbZt!*^_o0KvPCpA%;-b4R
ztP-^dIBS{c&ud$)tipGMf8U{bueNPXC|Y#;gxk|b;}$j_548=fYc6+hyR=z(<<5x<
zWHx?W`0Y%pno0Aw8y=M|Oo_X8RVDt<G;mB^x<%<wqwyAZk*9Ke$w!Z<X!`Yk>vxXx
z=v<w~W_DtxgsprMztP-}-4`dTGs}Do+<fx>w26Azo$tjKZvVqyaNyo-Pd~mTY3)M$
z^_$~A1{QzVes^Q}osasp9fsTtKbFsXQJ=+AbjW^2uiVkM+5Nop`D}%gpRg@{{#d?R
zAiip{S>u#TZzrt0QN4MG?$I{UnQIqaf3<`?>+Vms*xbE0F0iCAYRcDKyc&Bwc9-f(
z&kaHy5tnR5vx@gQ?z+C{Ijikaud|=_YvhUEP%^tCy#9{h`g^9Po(e)*vpHrzU9sx@
zg5b>zZp<l%i_RGI@QAE<qI;_Ri{|=y5*Dnrhs0Pa7eCy6al)$~e+{4bEx2u$F^iAq
z<IK<85B@Gu|F3LPWByNg$>VA19g-eQ7dvkWi+{*}R{q-in`86&`-=jS_AC`{@KdOj
zedKbs_rl!$Y-x!*Qi{7OJ(>a!aZh;vIC;;3o!j^Ob+cWtInY=V$GrH$7W3YD%FmQI
zS!~}=*e~DOlJ~j#8Jhvi*6Z(2x7Mo5t8+gSH=e}8C%*T$!de-oqVn@DGnfxtSY1>a
z6ZrYc^y@SH&v*)Pd~mt&;^me8=ZmV@-|F3NT5#in%gwf)q7Cl^jVH4(*#znwQP24j
zGv$5h=Oq(88J^o@aJ>}L37Knp{B+m<kTd?1bgKNAuUZ>Q?mfwKw<dde>%5-0Z4+`Y
zcbhruU7uTcB4Sskiog!1yH96dIV53XpsV!MS#!7UzlS+xwaY42dsg21+3N9qVvEa^
z1yau!ac}q@bI~TpzpU1v=htoF{dyNg<Xk2%Ul!eWi}PjNB!?$c{4GkP?)tn|Uq3Bt
z`CM_nn-?~2Uv}B<!J~DH6~6qREp9Ns#M*O{gQUj2+7oV17cLE|-!*ToHKV%mfyN)n
zJC{9ZSaN80y3<4dr$;BWu=sSPZC$Q+(fjd*XqT#!?>A*H-;~F^#Q4Orw;$H;z4^lC
z?$l@v_lk>bSJd?TR9syG{S9vki)YTycoS>BC28kuSp^A05w`WW9><?aW|~|gzHXt>
zi&nP<eV-P22Dwa82*~W8zgRr?=)NybPelS)7w>*NXC)`&R0f$BrtFWz?ai#>%QrIG
z23|S*B5+Cige4pSuEh&<^mb0!!tL~3>esD>yC0m|b*xP59ZN&eiJJ{|mAzbMS!z!u
z4~omW=$~PDeogsh;1czTOFC5cUv65mb!+&|v#dwXpZ?(gY*o9}%71^`U)>kJ_<PpB
zONSY`4E6oP{=VjaAT9l_ssHP;JI*`j>`iiB{6~my<MSi)(ml^Buk>xuo!cSS5|`)T
zeUWLh=JkL-?XEX&>v=rZ_jO@>llpUSY=X?O2Hg#RpL#lIRruvhu}&0rsCFrOz4_<f
ztB>yf)>tj3+c4Yg<w2FLoEgG43&YeeZmD>_Z`-ywjrA8(!Z$>B&6to|62SCw-?TX!
z+e)TB6m?tgmu8l-;HvCT_O0yMrQ-P>XSKEn@bxUadpC$%&|BeTgu~$lsRl*?<_xbS
zHgK-}Hc`Q*X$RB%sJVLr|B23WOy*8mIyXYf^S=jpm5S;~rXyaHSUaYwa0_5v#xej3
m{x8m}%y8{@JAL>+GjoB*ui`8FnHd-u7(8A5T-G@yGywn>@ad!g

diff --git a/views/cgscop_incub_expertise.xml b/views/cgscop_incub_expertise.xml
index 141b23b..f36e613 100644
--- a/views/cgscop_incub_expertise.xml
+++ b/views/cgscop_incub_expertise.xml
@@ -1,40 +1,47 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_expertise_tree">
-      <field name="name">cgscop_incub.expertise.tree</field>
-      <field name="model">cgscop_incub.expertise</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-          <field name="ur_id" options="{'no_open': True, 'no_create': True}" attrs="{'readonly':True}"/>          
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_expertise_search">
-      <field name="name">cgscop_incub.expertise.search</field>
-      <field name="model">cgscop_incub.expertise</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_expertise_act">
-      <field name="name">Expertises incubateurs</field>
-      <field name="res_model">cgscop_incub.expertise</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_expertise_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_expertise_tree">
+      <field name="name">cgscop_incub.expertise.tree</field>
+      <field name="model">cgscop_incub.expertise</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+          <field
+                        name="ur_id"
+                        options="{'no_open': True, 'no_create': True}"
+                        attrs="{'readonly':True}"
+                    />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_expertise_search">
+      <field name="name">cgscop_incub.expertise.search</field>
+      <field name="model">cgscop_incub.expertise</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_expertise_act">
+      <field name="name">Expertises incubateurs</field>
+      <field name="res_model">cgscop_incub.expertise</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_expertise_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_financement.xml b/views/cgscop_incub_financement.xml
index 9bb3eec..f507601 100644
--- a/views/cgscop_incub_financement.xml
+++ b/views/cgscop_incub_financement.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_financement_tree">
-      <field name="name">cgscop_incub.financement.tree</field>
-      <field name="model">cgscop_incub.financement</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_financement_search">
-      <field name="name">cgscop_incub.financement.search</field>
-      <field name="model">cgscop_incub.financement</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_financement_act">
-      <field name="name">Mode de financements</field>
-      <field name="res_model">cgscop_incub.financement</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_financement_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_financement_tree">
+      <field name="name">cgscop_incub.financement.tree</field>
+      <field name="model">cgscop_incub.financement</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_financement_search">
+      <field name="name">cgscop_incub.financement.search</field>
+      <field name="model">cgscop_incub.financement</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_financement_act">
+      <field name="name">Mode de financements</field>
+      <field name="res_model">cgscop_incub.financement</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_financement_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_menu.xml b/views/cgscop_incub_menu.xml
index b8b157b..5db626c 100644
--- a/views/cgscop_incub_menu.xml
+++ b/views/cgscop_incub_menu.xml
@@ -1,56 +1,79 @@
-<odoo>
-  <data>
-
-    <menuitem id="menu_action_incub"
-      action="cgscop_incub_act"
-      parent="cgscop_partner.menu_organismes"
-      sequence="15"/>           
-
-    <menuitem id="menu_scop_incub" 
-      name="Incubation"
-      parent="contacts.menu_contacts" 
-      groups="cgscop_partner.group_cg_administrator,group_incubateur"
-      sequence="85"/>
-
-    <menuitem id="menu_scop_incub_prescription"
-      parent="menu_scop_incub"
-      action="cgscop_incub_prescription_act"
-      sequence="5"/>
-
-    <menuitem id="menu_scop_incub_thematique"
-      parent="menu_scop_incub"
-      action="cgscop_incub_thematique_act"
-      sequence="10"/>
-
-    <menuitem id="menu_scop_incub_typologie_porteur"
-      parent="menu_scop_incub"
-      action="cgscop_incub_typologie_porteur_act"
-      sequence="20"/>
-
-    <menuitem id="menu_scop_incub_parcours_preincub"
-      parent="menu_scop_incub"
-      action="cgscop_incub_parcours_preincub_act"
-      sequence="30"/>
-
-    <menuitem id="menu_scop_incub_statut_prefig"
-      parent="menu_scop_incub"
-      action="cgscop_incub_statut_prefig_act"
-      sequence="40"/>
-
-    <menuitem id="menu_scop_incub_expertise"
-      parent="menu_scop_incub"
-      action="cgscop_incub_expertise_act"
-      sequence="50"/>
-
-    <menuitem id="menu_scop_incub_financement"
-      parent="menu_scop_incub"
-      action="cgscop_incub_financement_act"
-      sequence="60"/>
-
-    <menuitem id="menu_scop_incub_motif_abandon"
-      parent="menu_scop_incub"
-      action="cgscop_incub_motif_abandon_act"
-      sequence="70"/>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+
+    <menuitem
+            id="menu_action_incub"
+            action="cgscop_incub_act"
+            parent="cgscop_partner.menu_organismes"
+            sequence="15"
+        />
+
+    <menuitem
+            id="menu_scop_incub"
+            name="Incubation"
+            parent="contacts.menu_contacts"
+            groups="cgscop_partner.group_cg_administrator,group_incubateur"
+            sequence="85"
+        />
+
+    <menuitem
+            id="menu_scop_incub_prescription"
+            parent="menu_scop_incub"
+            action="cgscop_incub_prescription_act"
+            sequence="5"
+        />
+
+    <menuitem
+            id="menu_scop_incub_thematique"
+            parent="menu_scop_incub"
+            action="cgscop_incub_thematique_act"
+            sequence="10"
+        />
+
+    <menuitem
+            id="menu_scop_incub_typologie_porteur"
+            parent="menu_scop_incub"
+            action="cgscop_incub_typologie_porteur_act"
+            sequence="20"
+        />
+
+    <menuitem
+            id="menu_scop_incub_parcours_preincub"
+            parent="menu_scop_incub"
+            action="cgscop_incub_parcours_preincub_act"
+            sequence="30"
+        />
+
+    <menuitem
+            id="menu_scop_incub_statut_prefig"
+            parent="menu_scop_incub"
+            action="cgscop_incub_statut_prefig_act"
+            sequence="40"
+        />
+
+    <menuitem
+            id="menu_scop_incub_expertise"
+            parent="menu_scop_incub"
+            action="cgscop_incub_expertise_act"
+            sequence="50"
+        />
+
+    <menuitem
+            id="menu_scop_incub_financement"
+            parent="menu_scop_incub"
+            action="cgscop_incub_financement_act"
+            sequence="60"
+        />
+
+    <menuitem
+            id="menu_scop_incub_motif_abandon"
+            parent="menu_scop_incub"
+            action="cgscop_incub_motif_abandon_act"
+            sequence="70"
+        />
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_motif_abandon.xml b/views/cgscop_incub_motif_abandon.xml
index 65dad30..27d5195 100644
--- a/views/cgscop_incub_motif_abandon.xml
+++ b/views/cgscop_incub_motif_abandon.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_motif_abandon_tree">
-      <field name="name">cgscop_incub.motif_abandon.tree</field>
-      <field name="model">cgscop_incub.motif_abandon</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_motif_abandon_search">
-      <field name="name">cgscop_incub.motif_abandon.search</field>
-      <field name="model">cgscop_incub.motif_abandon</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_motif_abandon_act">
-      <field name="name">Motif d'abandon</field>
-      <field name="res_model">cgscop_incub.motif_abandon</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_motif_abandon_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_motif_abandon_tree">
+      <field name="name">cgscop_incub.motif_abandon.tree</field>
+      <field name="model">cgscop_incub.motif_abandon</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_motif_abandon_search">
+      <field name="name">cgscop_incub.motif_abandon.search</field>
+      <field name="model">cgscop_incub.motif_abandon</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_motif_abandon_act">
+      <field name="name">Motif d'abandon</field>
+      <field name="res_model">cgscop_incub.motif_abandon</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_motif_abandon_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_parcours_preincub.xml b/views/cgscop_incub_parcours_preincub.xml
index d0bcfca..01b2fe2 100644
--- a/views/cgscop_incub_parcours_preincub.xml
+++ b/views/cgscop_incub_parcours_preincub.xml
@@ -1,40 +1,47 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_parcours_preincub_tree">
-      <field name="name">cgscop_incub.parcours_preincub.tree</field>
-      <field name="model">cgscop_incub.parcours_preincub</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-          <field name="ur_id" options="{'no_open': True, 'no_create': True}" attrs="{'readonly':True}"/>          
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_parcours_preincub_search">
-      <field name="name">cgscop_incub.parcours_preincub.search</field>
-      <field name="model">cgscop_incub.parcours_preincub</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_parcours_preincub_act">
-      <field name="name">Parcours pre-incubation</field>
-      <field name="res_model">cgscop_incub.parcours_preincub</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_parcours_preincub_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_parcours_preincub_tree">
+      <field name="name">cgscop_incub.parcours_preincub.tree</field>
+      <field name="model">cgscop_incub.parcours_preincub</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+          <field
+                        name="ur_id"
+                        options="{'no_open': True, 'no_create': True}"
+                        attrs="{'readonly':True}"
+                    />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_parcours_preincub_search">
+      <field name="name">cgscop_incub.parcours_preincub.search</field>
+      <field name="model">cgscop_incub.parcours_preincub</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_parcours_preincub_act">
+      <field name="name">Parcours pre-incubation</field>
+      <field name="res_model">cgscop_incub.parcours_preincub</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_parcours_preincub_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_prescription.xml b/views/cgscop_incub_prescription.xml
index b44f158..dd79f6a 100644
--- a/views/cgscop_incub_prescription.xml
+++ b/views/cgscop_incub_prescription.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_prescription_tree">
-      <field name="name">cgscop_incub.prescription.tree</field>
-      <field name="model">cgscop_incub.prescription</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_prescription_search">
-      <field name="name">cgscop_incub.prescription.search</field>
-      <field name="model">cgscop_incub.prescription</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_prescription_act">
-      <field name="name">Canaux de prescription projets</field>
-      <field name="res_model">cgscop_incub.prescription</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_prescription_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_prescription_tree">
+      <field name="name">cgscop_incub.prescription.tree</field>
+      <field name="model">cgscop_incub.prescription</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_prescription_search">
+      <field name="name">cgscop_incub.prescription.search</field>
+      <field name="model">cgscop_incub.prescription</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_prescription_act">
+      <field name="name">Canaux de prescription projets</field>
+      <field name="res_model">cgscop_incub.prescription</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_prescription_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_statut_prefig.xml b/views/cgscop_incub_statut_prefig.xml
index 2682918..87e33b8 100644
--- a/views/cgscop_incub_statut_prefig.xml
+++ b/views/cgscop_incub_statut_prefig.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_statut_prefig_tree">
-      <field name="name">cgscop_incub.statut_prefig.tree</field>
-      <field name="model">cgscop_incub.statut_prefig</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_statut_prefig_search">
-      <field name="name">cgscop_incub.statut_prefig.search</field>
-      <field name="model">cgscop_incub.statut_prefig</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_statut_prefig_act">
-      <field name="name">Statuts de préfiguration</field>
-      <field name="res_model">cgscop_incub.statut_prefig</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_statut_prefig_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_statut_prefig_tree">
+      <field name="name">cgscop_incub.statut_prefig.tree</field>
+      <field name="model">cgscop_incub.statut_prefig</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_statut_prefig_search">
+      <field name="name">cgscop_incub.statut_prefig.search</field>
+      <field name="model">cgscop_incub.statut_prefig</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_statut_prefig_act">
+      <field name="name">Statuts de préfiguration</field>
+      <field name="res_model">cgscop_incub.statut_prefig</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_statut_prefig_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_thematique.xml b/views/cgscop_incub_thematique.xml
index 5c5292a..58791f1 100644
--- a/views/cgscop_incub_thematique.xml
+++ b/views/cgscop_incub_thematique.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_thematique_tree">
-      <field name="name">cgscop_incub.thematique.tree</field>
-      <field name="model">cgscop_incub.thematique</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_thematique_search">
-      <field name="name">cgscop_incub.thematique.search</field>
-      <field name="model">cgscop_incub.thematique</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_thematique_act">
-      <field name="name">Thematiques projets</field>
-      <field name="res_model">cgscop_incub.thematique</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_thematique_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_thematique_tree">
+      <field name="name">cgscop_incub.thematique.tree</field>
+      <field name="model">cgscop_incub.thematique</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_thematique_search">
+      <field name="name">cgscop_incub.thematique.search</field>
+      <field name="model">cgscop_incub.thematique</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_thematique_act">
+      <field name="name">Thematiques projets</field>
+      <field name="res_model">cgscop_incub.thematique</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_thematique_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/cgscop_incub_typologie_porteur.xml b/views/cgscop_incub_typologie_porteur.xml
index 259cd89..7202131 100644
--- a/views/cgscop_incub_typologie_porteur.xml
+++ b/views/cgscop_incub_typologie_porteur.xml
@@ -1,39 +1,42 @@
-<odoo>
-  <data>
-    <!-- Vue liste -->   
-    <record model="ir.ui.view" id="cgscop_incub_typologie_porteur_tree">
-      <field name="name">cgscop_incub.typologie_porteur.tree</field>
-      <field name="model">cgscop_incub.typologie_porteur</field>
-      <field name="arch" type="xml">
-        <tree editable="bottom"> 
-          <field name="sequence" widget='handle' />
-          <field name="name"/>
-        </tree>
-      </field>
-    </record>
-
-    <!-- Recherche -->   
-    <record model="ir.ui.view" id="cgscop_incub_typologie_porteur_search">
-      <field name="name">cgscop_incub.typologie_porteur.search</field>
-      <field name="model">cgscop_incub.typologie_porteur</field>
-      <field name="arch" type="xml">
-        <search>
-          <field name="name"/>
-          <separator/>
-
-          <filter name="archived" string="Archivé" domain="[('active','=',False)]"/>
-
-        </search>
-      </field>
-    </record>    
-
-    <!-- actions opening views on models -->
-    <record model="ir.actions.act_window" id="cgscop_incub_typologie_porteur_act">
-      <field name="name">Typologie porteurs de projets</field>
-      <field name="res_model">cgscop_incub.typologie_porteur</field>
-      <field name="view_mode">tree</field>
-      <field name="search_view_id" ref="cgscop_incub_typologie_porteur_search"/>     
-    </record>
-
-  </data>
-</odoo>
\ No newline at end of file
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+  <data>
+    <!-- Vue liste -->
+    <record model="ir.ui.view" id="cgscop_incub_typologie_porteur_tree">
+      <field name="name">cgscop_incub.typologie_porteur.tree</field>
+      <field name="model">cgscop_incub.typologie_porteur</field>
+      <field name="arch" type="xml">
+        <tree editable="bottom">
+          <field name="sequence" widget='handle' />
+          <field name="name" />
+        </tree>
+      </field>
+    </record>
+
+    <!-- Recherche -->
+    <record model="ir.ui.view" id="cgscop_incub_typologie_porteur_search">
+      <field name="name">cgscop_incub.typologie_porteur.search</field>
+      <field name="model">cgscop_incub.typologie_porteur</field>
+      <field name="arch" type="xml">
+        <search>
+          <field name="name" />
+          <separator />
+
+          <filter name="archived" string="Archivé" domain="[('active','=',False)]" />
+
+        </search>
+      </field>
+    </record>
+
+    <!-- actions opening views on models -->
+    <record model="ir.actions.act_window" id="cgscop_incub_typologie_porteur_act">
+      <field name="name">Typologie porteurs de projets</field>
+      <field name="res_model">cgscop_incub.typologie_porteur</field>
+      <field name="view_mode">tree</field>
+      <field name="search_view_id" ref="cgscop_incub_typologie_porteur_search" />
+    </record>
+
+  </data>
+</odoo>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 19a0f15..c633148 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -1,428 +1,676 @@
-<?xml version="1.0"?>
-<!-- Copyright 2019 Le Filament
+<?xml version="1.0" ?>
+<!-- Copyright 2020 Le Filament, Confédération Générale des Scop (<https://www.les-scop.coop>)
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-
 <odoo>
     <data>
 
         <!-- Héritage des views partner pour y inclure les infos incub -->
-        <!-- View partner from cgscop_adhesion -->
-        <record id="view_partner_cooperative_adhesion_incub_form" model="ir.ui.view">
-            <field name="name">partner.adhesion.form</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="cgscop_adhesion.view_partner_cooperative_adhesion_form"/>
-            <field name="priority" eval="1"/>
-            <field name="arch" type="xml">
-                <page name='adhesion_processus2' position="before">
-                    <page name="incub_processus2" string="Processus d'Incubation" attrs="{'invisible': [('is_incubated','=', False)]}">
-                        <group col="3" >
-                            <group string="Projet">
-                                <field name="incub_status" readonly="1"/>
-                                <field name="is_incubated" readonly="1" />
-                                <field name="incubator_id"  readonly="1"/>
-                                <field name="incub_delegate_id" readonly="1"/>
-                                <field name="incub_prescription_id" readonly="1" />
-                                <field name="incub_typologie_porteur_id" readonly="1" />
-                                <field name="incub_nb_assos" readonly="1"/>
-                                <field name="incub_date_prospection" readonly="1"/>
-                                <field name="incub_date_candidature" readonly="1"/>
-                                <field name="incub_thematique_ids" widget="many2many_tags" readonly="1" />
-                                <field name="incub_projet_description" readonly="1"/>
-                                <field name="incub_sensibilite_coop" widget="priority" readonly="1"/>
-                                <field name="incub_percent_realisation" widget="priority" readonly="1"/>
-                                <field name="incub_fiche_entree" readonly="1"/>
-                                <field name="incub_convention" readonly="1"/>
-                            </group>
-                            <group col="1" attrs="{'invisible' :    [('incub_status','in',('1_prospection'))]}">
-                                <group string="Pré-incubation" >
-                                    <field name="incub_preincub_bypass" readonly="1"/>
-                                    <field name="incub_preincub_deb" readonly="1"/>
-                                    <field name="incub_preincub_fin" readonly="1"/>
-                                    <field name="incub_parcours_preincub" readonly="1" />
-                                    <field name="incub_statut_prefig" readonly="1" />
-                                    <field name="incub_prefig_date" readonly="1"/>
-                                </group>
-                                <group>
-                                    <field name="incub_preincub_mt_exp" string="Montant des expertises" readonly="1" widget="monetary"/>
-                                </group>
-                            </group>
-                            <group col="1" >
-                                <group col="1" attrs="{'invisible' :    [('incub_status','in',('1_prospection','2_pre-incubation'))]}" >
-                                    <group string="Incubation" >
-                                        <field name="incub_incubation_bypass" readonly="1"/>
-                                        <field name="incub_incubation_deb" readonly="1"/>
-                                        <field name="incub_incubation_fin" readonly="1" />
-                                    </group>
-                                    <group>
-                                        <field name="incub_incubation_mt_exp" string="Montant des expertises" readonly="1" widget="monetary"/>
-                                    </group>
-                                </group>
-                                <group string="Sortie du processus" attrs="{'invisible' :    [('incub_status', 'in', ('1_prospection', '2_pre-incubation', '3_incubation'))]}">
-                                    <field name="incub_motif_abandon_id" readonly="1"/>
-                                    <field name="incub_sortie_notes" readonly="1"/>
-                                    <field name="incub_fiche_sortie" readonly="1"/>
-                                </group>
-                            </group>
-                        </group>
-                        <group>
-                            <field name="incub_expertise_ids" string="Expertises du projet" readonly="1">
-                                <tree>
-                                    <field name="incub_phase"/>
-                                    <field name="expertise_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                    <field name="supplier_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                    <field name="mission_deb"/>
-                                    <field name="mission_fin" />
-                                    <field name="montant" widget="monetary"/>
-                                    <field name="bdc"/>
-                                    <field name="devis"/>
-                                    <field name="livrable"/>
-                                    <field name="facture"/>
-                                </tree>
-                                <form>
-                                    <sheet>
-                                        <group col="2">
-                                            <group>
-                                                <field name="incub_phase"/>
-                                                <field name="expertise_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                                <field name="supplier_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                                <field name="montant" widget="monetary"/>
-                                            </group>
-                                            <group>
-                                                <field name="mission_deb"/>
-                                                <field name="mission_fin" />
-                                                <field name="bdc"/>
-                                                <field name="devis"/>
-                                                <field name="livrable"/>
-                                                <field name="facture"/>
-                                            </group>
-                                        </group>
-                                        <group>
-                                            <field name="commentaire"/>
-                                        </group>
-                                    </sheet>
-                                </form>
-                            </field>
-                        </group>
-                        <group>
-                            <field name="incub_financement_ids" string="Financement du projet" readonly="1">
-                                <tree editable="bottom">
-                                    <field name="financement_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                    <field name="supplier" />
-                                    <field name="montant_dmd" widget="monetary" sum="Total demandé"/>
-                                    <field name="montant_recu" widget="monetary" sum="Total recu"/>
-                                </tree>
-                            </field>
-                        </group>
-                    </page>
-                </page>
-            </field>
-        </record>
 
-        <!-- View partner from cgscop_partner -->
+        <!--
+                Inherited
+                            -->
+        <!-- Partner FORM view -->
         <record id="view_partner_cooperative_incub_form" model="ir.ui.view">
             <field name="name">partner.form</field>
             <field name="model">res.partner</field>
-            <field name="inherit_id" ref="cgscop_partner.scop_contact_view_form"/>
-            <field name="priority" eval="1"/>
+            <field name="inherit_id" ref="cgscop_partner.scop_contact_view_form" />
+            <field name="priority" eval="1" />
             <field name="arch" type="xml">
                 <!--
                    Modification de la vue
                 -->
-                <xpath expr="/form/sheet//group[3]//field[@name='is_incubated']" position="attributes">
+                <xpath
+                    expr="/form/sheet//group[3]//field[@name='is_incubated']"
+                    position="attributes"
+                >
                     <attribute name="readonly">True</attribute>
                 </xpath>
 
-                <xpath expr="/form/sheet//group[3]//field[@name='incubator_id']" position="attributes">
+                <xpath
+                    expr="/form/sheet//group[3]//field[@name='incubator_id']"
+                    position="attributes"
+                >
                     <attribute name="invisible">True</attribute>
                 </xpath>
 
             </field>
         </record>
 
-        <!-- création de la view partner dédié incub -->
+        <!--
+                New Views
+                            -->
+        <!-- Partner FORM view -->
         <record id="view_partner_incub_form" model="ir.ui.view">
             <field name="name">partner.incub.form</field>
             <field name="model">res.partner</field>
             <field name="arch" type="xml">
                 <form>
                     <header>
-                        <button string="Création non coopérative" type="object" name="incub_non_coop" class="oe_read_only" attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('2_non_coop')),('incub_out_done','=',True)]}"/>
-                        <button string="Création coop. non adhérente" type="object" name="incub_coop_non_adh" class="oe_read_only" attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('3_coop_non_adh')),('incub_out_done','=',True)]}"/>
-                        <button string="Création coop. projet adhésion" type="object" name="incub_coop_adh" class="oe_read_only" attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('4_coop_adh')),('incub_out_done','=',True)]}"/>
-                        <!--
-                        <button string="Incubation Abandonnée" type="object" name="incub_abandon" class="oe_read_only" attrs="{'invisible':[('incub_status','in',('9_abandonne'))]}"/>
-                        -->
-
-                        <field name="incub_status" widget="statusbar" clickable="True" statusbar_visible="1_prospection,2_pre-incubation,3_incubation,4_sortie_incub,9_abandonne" attrs="{'invisible':[('is_incubated','=', False)]}"/>
+                        <button
+                            string="Création non coopérative"
+                            type="object"
+                            name="incub_non_coop"
+                            class="oe_read_only"
+                            attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('2_non_coop')),('incub_out_done','=',True)]}"
+                        />
+                        <button
+                            string="Création coop. non adhérente"
+                            type="object"
+                            name="incub_coop_non_adh"
+                            class="oe_read_only"
+                            attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('3_coop_non_adh')),('incub_out_done','=',True)]}"
+                        />
+                        <button
+                            string="Création coop. projet adhésion"
+                            type="object"
+                            name="incub_coop_adh"
+                            class="oe_read_only"
+                            attrs="{'invisible':['|','|',('incub_status','in',('1_prospection','2_pre-incubation','9_abandonne')),('incub_out_mode','!=',('4_coop_adh')),('incub_out_done','=',True)]}"
+                        />
+                        <field
+                            name="incub_status"
+                            widget="statusbar"
+                            clickable="True"
+                            statusbar_visible="1_prospection,2_pre-incubation,3_incubation,4_sortie_incub,9_abandonne"
+                            attrs="{'invisible':[('is_incubated','=', False)]}"
+                        />
                     </header>
                     <sheet>
-                        <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
+                        <field name="active" invisible="1" />
+                        <field name="is_cooperative" invisible="1" />
+                        <field name="write_date" invisible="1" />
+                        <field name="project_status" invisible="1" />
+                        <div class="oe_button_box" name="button_box" />
+                        <widget
+                            name="web_ribbon"
+                            title="Archived"
+                            bg_color="bg-danger"
+                            attrs="{'invisible': [('active', '=', True)]}"
+                        />
+                        <field
+                            name="image_1920"
+                            widget="image"
+                            class="oe_avatar"
+                            options="{'preview_image': 'image_128'}"
+                        />
                         <div class="oe_title oe_title_cgscop">
-                            <field name="is_cooperative" invisible="1"/>
-                            <field name="write_date" invisible="1"/>
-                            <field name="project_status" invisible="1"/>
                             <h1>
-                                <field name="name" default_focus="1" required="1" placeholder="Raison Sociale" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/>
+                                <field
+                                    name="name"
+                                    default_focus="1"
+                                    required="1"
+                                    placeholder="Raison Sociale"
+                                    attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                />
                             </h1>
-                            <div class="oe_button_box" name ="button_box">
-                                <button name="toggle_incub_active" type="object" class="oe_stat_button" icon="fa-archive">
-                                    <field name="incub_active" widget="boolean_button" options='{"terminology": "archive"}'/>
-                                </button>
-                            </div>
                         </div>
 
                         <group col="3" string="Informations Générales">
 
                             <group string="Contact">
                                 <field name="sigle" />
-                                <label for='street' string="Adresse du siège social"/>
+                                <label for='street' string="Adresse du siège social" />
                                 <div class="o_address_format">
-                                    <field name="street" placeholder="Rue..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="street2" placeholder="Rue 2..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="street3" placeholder="Rue 3..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="zip_id" options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}" placeholder="CP / Ville autocomplétion..." class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="zip" placeholder="CP..." class="o_address_city" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="zip_departement" invisible="1"/>
-                                    <field name="city" placeholder="Ville..." class="o_address_city"
-                                           attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/>
-                                    <field name="city_id" invisible="1"/>
-                                    <field name="cedex" placeholder="Cedex" class="o_address_city"
-                                           attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/>
-                                    <field name="state_id" class="o_address_zip" placeholder="Région"
-                                           options='{"no_open": True, "no_create": True}' context="{'country_id': country_id, 'zip': zip}" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/>
-                                    <field name="country_id" placeholder="Pays" class="o_address_country" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/>
+                                    <field
+                                        name="street"
+                                        placeholder="Rue..."
+                                        class="o_address_street"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field
+                                        name="street2"
+                                        placeholder="Rue 2..."
+                                        class="o_address_street"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field
+                                        name="street3"
+                                        placeholder="Rue 3..."
+                                        class="o_address_street"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field
+                                        name="zip_id"
+                                        options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}"
+                                        placeholder="CP / Ville autocomplétion..."
+                                        class="oe_edit_only"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field
+                                        name="zip"
+                                        placeholder="CP..."
+                                        class="o_address_city"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field name="zip_departement" invisible="1" />
+                                    <field
+                                        name="city"
+                                        placeholder="Ville..."
+                                        class="o_address_city"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"
+                                        modifiers="{'readonly':[['project_status', '=', '6_suivi']], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"
+                                    />
+                                    <field name="city_id" invisible="1" />
+                                    <field
+                                        name="cedex"
+                                        placeholder="Cedex"
+                                        class="o_address_city"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                        modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"
+                                    />
+                                    <field
+                                        name="state_id"
+                                        class="o_address_zip"
+                                        placeholder="Région"
+                                        options='{"no_open": True, "no_create": True}'
+                                        context="{'country_id': country_id, 'zip': zip}"
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                        modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"
+                                    />
+                                    <field
+                                        name="country_id"
+                                        placeholder="Pays"
+                                        class="o_address_country"
+                                        options='{"no_open": True, "no_create": True}'
+                                        attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"
+                                        modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"
+                                    />
                                 </div>
-                                <field name="zip_departement" string="N° de département" />
+                                <field
+                                    name="zip_departement"
+                                    string="N° de département"
+                                />
                                 <field name="region" />
 
-                                <field name="phone" widget="phone" string="Téléphone 1" attrs="{'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/>
-                                <field name="mobile" widget="phone" string="Téléphone 2" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/>
-                                <field name="email" widget="email" string="E-mail"/>
+                                <field
+                                    name="phone"
+                                    widget="phone"
+                                    string="Téléphone 1"
+                                    attrs="{'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"
+                                />
+                                <field
+                                    name="mobile"
+                                    widget="phone"
+                                    string="Téléphone 2"
+                                    attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"
+                                />
+                                <field name="email" widget="email" string="E-mail" />
                                 <field name="website" widget="url" />
                             </group>
 
                             <Group col="1">
                                 <group string="Suivi UR">
-                                    <field name="ur_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('id','=', False)], 'readonly': True}"/>
+                                    <field
+                                        name="ur_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        attrs="{'invisible': [('id','=', False)], 'readonly': True}"
+                                    />
 
-                                    <field name="incub_delegate_id" options="{'no_open': True, 'no_create': True}" domain="[('active', '=', True),('ur_id', '=', ur_id)]" />
+                                    <field
+                                        name="incub_delegate_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        domain="[('active', '=', True),('ur_id', '=', ur_id)]"
+                                    />
                                 </group>
                             </Group>
 
-                            <group col="1" string="Forme définitive" attrs="{'invisible': [ ('incub_status','in',('1_prospection'))]}">
+                            <group
+                                col="1"
+                                string="Forme définitive"
+                                attrs="{'invisible': [ ('incub_status','in',('1_prospection'))]}"
+                            >
                                 <group>
-                                    <field name="incub_out_done" groups="cgscop_partner.group_cg_administrator"/>
-                                    <field name="incub_out_mode" attrs="{'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="incub_out_done"
+                                        groups="cgscop_partner.group_cg_administrator"
+                                    />
+                                    <field
+                                        name="incub_out_mode"
+                                        attrs="{'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
                                 </group>
 
                                 <!-- Champs partenaires -->
-                                <group attrs="{'invisible': [('incub_out_mode','=','1_non_def')]}">
+                                <group
+                                    attrs="{'invisible': [('incub_out_mode','=','1_non_def')]}"
+                                >
 
-                                    <field name="partner_company_type_id" options="{'no_open': True, 'no_create': True}" placeholder="Statut Juridique" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="partner_company_type_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        placeholder="Statut Juridique"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="cooperative_form_id" options="{'no_open': True, 'no_create': True}" placeholder="Forme Coopérative" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="cooperative_form_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        placeholder="Forme Coopérative"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="creation_origin_id" options="{'no_open': True, 'no_create': True}" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="creation_origin_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="date_1st_sign" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="date_1st_sign"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="registration_date" attrs="{'invisible' : [('incub_out_mode','not in', ('2_non_coop','3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="registration_date"
+                                        attrs="{'invisible' : [('incub_out_mode','not in', ('2_non_coop','3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="social_object" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="social_object"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh','4_coop_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <field name="naf_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="naf_id"
+                                        options="{'no_open': True, 'no_create': True}"
+                                        attrs="{'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
 
-                                    <label for='siret' string="SIRET" class="oe_edit_only" attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"/>
+                                    <label
+                                        for='siret'
+                                        string="SIRET"
+                                        class="oe_edit_only"
+                                        attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"
+                                    />
                                     <div>
-                                        <field name="siret" class="oe_edit_only" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                        <field
+                                            name="siret"
+                                            class="oe_edit_only"
+                                            attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                        />
                                     </div>
-                                    <label for='formatted_siret' string="SIRET" class="oe_read_only" attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"/>
+                                    <label
+                                        for='formatted_siret'
+                                        string="SIRET"
+                                        class="oe_read_only"
+                                        attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"
+                                    />
                                     <div>
-                                        <field name="formatted_siret" class="oe_read_only" attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                        <field
+                                            name="formatted_siret"
+                                            class="oe_read_only"
+                                            attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                        />
                                     </div>
-                                    <field name="siren" readonly="1" attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"/>
-                                    <field name="capital" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('2_non_coop','3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
-                                    <field name="first_closeout" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
-                                    <field name="closeout_month" attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"/>
+                                    <field
+                                        name="siren"
+                                        readonly="1"
+                                        attrs="{ 'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"
+                                    />
+                                    <field
+                                        name="capital"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('2_non_coop','3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
+                                    <field
+                                        name="first_closeout"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
+                                    <field
+                                        name="closeout_month"
+                                        attrs="{'required': [ ('incub_out_mode','in',('3_coop_non_adh'))], 'invisible':[('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))],'readonly': [('incub_out_done', '=',  True)]}"
+                                    />
                                 </group>
-                                <group attrs="{'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}">
+                                <group
+                                    attrs="{'invisible' : [('incub_out_mode','not in', ('3_coop_non_adh','4_coop_adh'))]}"
+                                >
                                     <field name="incub_out_is_cae" />
-                                    <field name="incub_out_cae_name" attrs="{'invisible' : [('incub_out_is_cae','=',False)]}"/>
+                                    <field
+                                        name="incub_out_cae_name"
+                                        attrs="{'invisible' : [('incub_out_is_cae','=',False)]}"
+                                    />
                                 </group>
                             </group>
                         </group>
 
                         <notebook colspan="4">
-                            <page name="scop_contacts" string="Processus d'incubation">
+                            <page
+                                name="scop_incub_process"
+                                string="Processus d'incubation"
+                            >
                                 <group col="3">
                                     <group string="Projet">
                                         <field name="is_incubated" readonly="1" />
-                                        <field name="incubator_id"  options="{'no_open': True,'no_create': True}"/>
-                                        <field name="incub_delegate_id" options="{'no_open': True,'no_create': True}"/>
-                                        <field name="incub_prescription_id" options="{'no_open': True, 'no_create': True}" />
-                                        <field name="incub_typologie_porteur_id" options="{'no_open': True, 'no_create': True}" />
+                                        <field
+                                            name="incubator_id"
+                                            options="{'no_open': True,'no_create': True}"
+                                        />
+                                        <field
+                                            name="incub_delegate_id"
+                                            options="{'no_open': True,'no_create': True}"
+                                        />
+                                        <field
+                                            name="incub_prescription_id"
+                                            options="{'no_open': True, 'no_create': True}"
+                                        />
+                                        <field
+                                            name="incub_typologie_porteur_id"
+                                            options="{'no_open': True, 'no_create': True}"
+                                        />
                                         <field name="incub_nb_assos" />
                                         <field name="incub_date_prospection" />
                                         <field name="incub_date_candidature" />
-                                        <field name="incub_thematique_ids" widget="many2many_tags" />
+                                        <field
+                                            name="incub_thematique_ids"
+                                            widget="many2many_tags"
+                                        />
                                         <field name="incub_projet_description" />
-                                        <field name="incub_sensibilite_coop" widget="priority" />
-                                        <field name="incub_percent_realisation" widget="priority" />
+                                        <field
+                                            name="incub_sensibilite_coop"
+                                            widget="priority"
+                                        />
+                                        <field
+                                            name="incub_percent_realisation"
+                                            widget="priority"
+                                        />
                                         <field name="incub_fiche_entree" />
                                         <field name="incub_convention" />
                                     </group>
-                                    <group col="1" attrs="{'invisible' :    [('incub_status','in',('1_prospection'))]}">
-                                        <group string="Pré-incubation" >
+                                    <group
+                                        col="1"
+                                        attrs="{'invisible' :    [('incub_status','in',('1_prospection'))]}"
+                                    >
+                                        <group string="Pré-incubation">
                                             <field name="incub_preincub_bypass" />
-                                            <field name="incub_preincub_deb" attrs="{'required': [('incub_preincub_bypass', '=',  False),('incub_status','not in',('1_prospection'))] }"/>
-                                            <field name="incub_preincub_fin" attrs="{'required': [('incub_preincub_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation'))] }"/>
-                                            <field name="incub_parcours_preincub" options="{'no_open': True, 'no_create': True}" />
-                                            <field name="incub_statut_prefig" options="{'no_open': True, 'no_create': True}" />
+                                            <field
+                                                name="incub_preincub_deb"
+                                                attrs="{'required': [('incub_preincub_bypass', '=',  False),('incub_status','not in',('1_prospection'))] }"
+                                            />
+                                            <field
+                                                name="incub_preincub_fin"
+                                                attrs="{'required': [('incub_preincub_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation'))] }"
+                                            />
+                                            <field
+                                                name="incub_parcours_preincub"
+                                                options="{'no_open': True, 'no_create': True}"
+                                            />
+                                            <field
+                                                name="incub_statut_prefig"
+                                                options="{'no_open': True, 'no_create': True}"
+                                            />
                                             <field name="incub_prefig_date" />
                                         </group>
                                         <group>
-                                            <field name="incub_preincub_mt_exp" string="Montant des expertises" readonly="1" widget="monetary"/>
+                                            <field
+                                                name="incub_preincub_mt_exp"
+                                                string="Montant des expertises"
+                                                readonly="1"
+                                                widget="monetary"
+                                            />
                                         </group>
                                     </group>
-                                    <group col="1" >
-                                        <group col="1" attrs="{'invisible' :    [('incub_status','in',('1_prospection','2_pre-incubation'))]}" >
-                                            <group string="Incubation" >
+                                    <group col="1">
+                                        <group
+                                            col="1"
+                                            attrs="{'invisible' :    [('incub_status','in',('1_prospection','2_pre-incubation'))]}"
+                                        >
+                                            <group string="Incubation">
                                                 <field name="incub_incubation_bypass" />
-                                                <field name="incub_incubation_deb" attrs="{'required': [('incub_incubation_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation'))] }"/>
-                                                <field name="incub_incubation_fin" attrs="{'required': [('incub_incubation_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation','3_incubation'))] }"/>
+                                                <field
+                                                    name="incub_incubation_deb"
+                                                    attrs="{'required': [('incub_incubation_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation'))] }"
+                                                />
+                                                <field
+                                                    name="incub_incubation_fin"
+                                                    attrs="{'required': [('incub_incubation_bypass', '=',  False), ('incub_status','not in',('1_prospection','2_pre-incubation','3_incubation'))] }"
+                                                />
                                                 <field name="incub_inter_bilan_date" />
                                             </group>
                                             <group>
-                                                <field name="incub_incubation_mt_exp" string="Montant des expertises" readonly="1" widget="monetary"/>
+                                                <field
+                                                    name="incub_incubation_mt_exp"
+                                                    string="Montant des expertises"
+                                                    readonly="1"
+                                                    widget="monetary"
+                                                />
                                             </group>
                                         </group>
-                                        <group string="Sortie du processus" attrs="{'invisible' :    [('incub_status', 'in', ('1_prospection', '2_pre-incubation', '3_incubation'))]}">
-                                            <field name="incub_motif_abandon_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible' :    [('incub_status','not in',('9_abandonne'))]}"/>
+                                        <group
+                                            string="Sortie du processus"
+                                            attrs="{'invisible' :    [('incub_status', 'in', ('1_prospection', '2_pre-incubation', '3_incubation'))]}"
+                                        >
+                                            <field
+                                                name="incub_motif_abandon_id"
+                                                options="{'no_open': True, 'no_create': True}"
+                                                attrs="{'invisible' :    [('incub_status','not in',('9_abandonne'))]}"
+                                            />
                                             <field name="incub_sortie_notes" />
                                             <field name="incub_fiche_sortie" />
                                         </group>
                                     </group>
                                 </group>
                                 <group>
-                                    <field name="incub_expertise_ids" string="Expertises du projet" >
+                                    <field
+                                        name="incub_expertise_ids"
+                                        string="Expertises du projet"
+                                    >
                                         <tree>
-                                            <field name="incub_phase"/>
-                                            <field name="expertise_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                            <field name="supplier_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                            <field name="mission_deb"/>
+                                            <field name="incub_phase" />
+                                            <field
+                                                name="expertise_id"
+                                                options="{'no_create_edit': True, 'no_open': True}"
+                                                domain="[('active', '=', True)]"
+                                            />
+                                            <field
+                                                name="supplier_id"
+                                                options="{'no_create_edit': True, 'no_open': True}"
+                                                domain="[('active', '=', True)]"
+                                            />
+                                            <field name="mission_deb" />
                                             <field name="mission_fin" />
-                                            <field name="montant" widget="monetary"/>
-                                            <field name="bdc"/>
-                                            <field name="devis"/>
-                                            <field name="livrable"/>
-                                            <field name="facture"/>
+                                            <field name="montant" widget="monetary" />
+                                            <field name="bdc" />
+                                            <field name="devis" />
+                                            <field name="livrable" />
+                                            <field name="facture" />
                                         </tree>
                                         <form>
                                             <sheet>
                                                 <group col="2">
                                                     <group>
-                                                        <field name="incub_phase"/>
-                                                        <field name="expertise_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                                        <field name="supplier_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                                        <field name="montant" widget="monetary"/>
+                                                        <field name="incub_phase" />
+                                                        <field
+                                                            name="expertise_id"
+                                                            options="{'no_create_edit': True, 'no_open': True}"
+                                                            domain="[('active', '=', True)]"
+                                                        />
+                                                        <field
+                                                            name="supplier_id"
+                                                            options="{'no_create_edit': True, 'no_open': True}"
+                                                            domain="[('active', '=', True)]"
+                                                        />
+                                                        <field
+                                                            name="montant"
+                                                            widget="monetary"
+                                                        />
                                                     </group>
                                                     <group>
-                                                        <field name="mission_deb"/>
+                                                        <field name="mission_deb" />
                                                         <field name="mission_fin" />
-                                                        <field name="bdc"/>
-                                                        <field name="devis"/>
-                                                        <field name="livrable"/>
-                                                        <field name="facture"/>
+                                                        <field name="bdc" />
+                                                        <field name="devis" />
+                                                        <field name="livrable" />
+                                                        <field name="facture" />
                                                     </group>
                                                 </group>
                                                 <group>
-                                                    <field name="commentaire"/>
+                                                    <field name="commentaire" />
                                                 </group>
                                             </sheet>
                                         </form>
                                     </field>
                                 </group>
                                 <group>
-                                    <field name="incub_financement_ids" string="Financement du projet" >
+                                    <field
+                                        name="incub_financement_ids"
+                                        string="Financement du projet"
+                                    >
                                         <tree editable="bottom">
-                                            <field name="financement_id" options="{'no_create_edit': True, 'no_open': True}" domain="[('active', '=', True)]" />
-                                            <field name="supplier" />
-                                            <field name="montant_dmd" widget="monetary" sum="Total demandé"/>
-                                            <field name="montant_recu" widget="monetary" sum="Total recu"/>
+                                            <field
+                                                name="financement_id"
+                                                options="{'no_create_edit': True, 'no_open': True}"
+                                                domain="[('active', '=', True)]"
+                                            />
+                                            <field
+                                                name="montant_dmd"
+                                                widget="monetary"
+                                                sum="Total demandé"
+                                            />
+                                            <field
+                                                name="montant_recu"
+                                                widget="monetary"
+                                                sum="Total recu"
+                                            />
                                         </tree>
                                     </field>
                                 </group>
                             </page>
 
                             <page name="incub_contacts" string="Contacts">
-                                <field name="supplier" invisible="True"/>
-                                <field name="customer" invisible="True"/>
-                                <field name="lang" invisible="True"/>
-                                <field name="image" invisible="True"/>
-                                <field name="user_id" invisible="True"/>
-                                <field name="ur_id" invisible="True"/>
-
-                                <field name="other_child_ids"
-                                       context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_zip_id': zip_id, 'default_city_id': city_id, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_ur_id': ur_id, 'default_type': 'contact', }">
+                                <field name="lang" invisible="True" />
+                                <field name="image_128" invisible="True" />
+                                <field name="user_id" invisible="True" />
+                                <field name="ur_id" invisible="True" />
+
+                                <field
+                                    name="other_child_ids"
+                                    context="{
+                                        'default_parent_id': active_id, 'default_is_company': False, 'default_company_type': 'person',
+                                        'default_street': street, 'default_street2': street2, 'default_city': city, 'default_cedex': cedex,
+                                        'default_state_id': state_id, 'default_zip': zip, 'default_zip_id': zip_id, 'default_city_id': city_id,
+                                        'default_country_id': country_id, 'default_lang': lang, 'default_user_id': user_id,
+                                        'default_ur_id': ur_id, 'default_type': 'contact', }"
+                                >
                                     <kanban>
-                                        <field name="id"/>
-                                        <field name="color"/>
-                                        <field name="name"/>
-                                        <field name="title"/>
-                                        <field name="type"/>
-                                        <field name="email"/>
-                                        <field name="parent_id"/>
-                                        <field name="is_company"/>
-                                        <field name="mandate_id"/>
-                                        <field name="function"/>
-                                        <field name="phone"/>
-                                        <field name="street"/>
-                                        <field name="street2"/>
-                                        <field name="street3"/>
-                                        <field name="zip_id"/>
-                                        <field name="zip"/>
-                                        <field name="city"/>
-                                        <field name="city_id"/>
-                                        <field name="cedex"/>
-                                        <field name="country_id"/>
-                                        <field name="mobile"/>
-                                        <field name="state_id"/>
-                                        <field name="image_small"/>
-                                        <field name="lang"/>
-                                        <field name="comment"/>
-                                        <field name="customer"/>
-                                        <field name="display_name"/>
-                                        <field name="supplier"/>
-                                        <field name="ur_id"/>
-                                        <field name="category_id"/>
+                                        <field name="id" />
+                                        <field name="color" />
+                                        <field name="name" />
+                                        <field name="title" />
+                                        <field name="type" />
+                                        <field name="email" />
+                                        <field name="parent_id" />
+                                        <field name="is_company" />
+                                        <field name="mandate_id" />
+                                        <field name="function" />
+                                        <field name="phone" />
+                                        <field name="street" />
+                                        <field name="street2" />
+                                        <field name="street3" />
+                                        <field name="zip_id" />
+                                        <field name="zip" />
+                                        <field name="city" />
+                                        <field name="city_id" />
+                                        <field name="cedex" />
+                                        <field name="country_id" />
+                                        <field name="mobile" />
+                                        <field name="state_id" />
+                                        <field name="image_128" />
+                                        <field name="lang" />
+                                        <field name="comment" />
+                                        <field name="display_name" />
+                                        <field name="ur_id" />
+                                        <field name="category_id" />
                                         <templates>
                                             <t t-name="kanban-box">
-                                                <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
-                                                <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
-                                                    <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/>
+                                                <t
+                                                    t-set="color"
+                                                    t-value="kanban_color(record.color.raw_value)"
+                                                />
+                                                <div
+                                                    t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"
+                                                >
+                                                    <a
+                                                        t-if="!read_only_mode"
+                                                        name="partner_archive"
+                                                        type="object"
+                                                        title="Fermer"
+                                                        class="fa fa-times pull-right"
+                                                    />
                                                     <div class="o_kanban_image">
-                                                        <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/>
-                                                        <t t-if="!record.image_small.raw_value">
-                                                            <img alt="Avatar" t-att-src='_s + "/base/static/img/avatar.png"'/>
+                                                        <img
+                                                            alt="Contact image"
+                                                            t-if="record.image_128.raw_value"
+                                                            t-att-src="kanban_image('res.partner', 'image_128', record.id.raw_value)"
+                                                        />
+                                                        <t
+                                                            t-if="!record.image_128.raw_value"
+                                                        >
+                                                            <img
+                                                                alt="Delivery"
+                                                                t-if="record.type.raw_value === 'delivery'"
+                                                                t-att-src="_s + &quot;/base/static/img/truck.png&quot;"
+                                                            />
+                                                            <img
+                                                                alt="Invoice"
+                                                                t-if="record.type.raw_value === 'invoice'"
+                                                                t-att-src="_s + &quot;/base/static/img/money.png&quot;"
+                                                            />
+                                                            <t
+                                                                t-if="record.type.raw_value !== 'invoice' &amp;&amp; record.type.raw_value !== 'delivery'"
+                                                            >
+                                                                <img
+                                                                    alt="Logo"
+                                                                    t-if="record.is_company.raw_value === true"
+                                                                    t-att-src="_s + &quot;/base/static/img/company_image.png&quot;"
+                                                                />
+                                                                <img
+                                                                    alt="Avatar"
+                                                                    t-if="record.is_company.raw_value === false"
+                                                                    t-att-src="_s + &quot;/base/static/img/avatar_grey.png&quot;"
+                                                                />
+                                                            </t>
                                                         </t>
                                                     </div>
                                                     <div class="oe_kanban_details">
-                                                        <field name="name"/>
-                                                        <div t-if="record.mandate_id.raw_value">
-                                                            <field name="mandate_id"/>
+                                                        <field name="name" />
+                                                        <div
+                                                            t-if="record.mandate_id.raw_value"
+                                                        >
+                                                            <field name="mandate_id" />
                                                         </div>
-                                                        <div t-if="record.function.raw_value">
-                                                            <field name="function"/>
+                                                        <div
+                                                            t-if="record.function.raw_value"
+                                                        >
+                                                            <field name="function" />
                                                         </div>
-                                                        <div t-if="record.email.raw_value">
-                                                            <field name="email" widget="email"/>
+                                                        <div
+                                                            t-if="record.email.raw_value"
+                                                        >
+                                                            <field
+                                                                name="email"
+                                                                widget="email"
+                                                            />
                                                         </div>
-                                                        <div t-if="record.phone.raw_value">Téléphone: <field name="phone" widget="phone"/>
+                                                        <div
+                                                            t-if="record.phone.raw_value"
+                                                        >Téléphone: <field
+                                                                name="phone"
+                                                                widget="phone"
+                                                            />
                                                         </div>
-                                                        <div t-if="record.mobile.raw_value">Mobile: <field name="mobile" widget="phone"/>
+                                                        <div
+                                                            t-if="record.mobile.raw_value"
+                                                        >Mobile: <field
+                                                                name="mobile"
+                                                                widget="phone"
+                                                            />
                                                         </div>
-                                                        <div t-if="record.category_id.raw_value">
-                                                            <field name="category_id" widget="many2many_tags"/>
+                                                        <div
+                                                            t-if="record.category_id.raw_value"
+                                                        >
+                                                            <field
+                                                                name="category_id"
+                                                                widget="many2many_tags"
+                                                            />
                                                         </div>
                                                     </div>
                                                 </div>
@@ -431,45 +679,103 @@
                                     </kanban>
                                     <form string="Contact">
                                         <sheet>
-                                            <field name="parent_id" invisible="1"/>
-                                            <group col="2">
-                                                <group invisible="1">
-                                                    <field name="street"/>
-                                                    <field name="street2"/>
-                                                    <field name="street3"/>
-                                                    <field name="zip_id"/>
-                                                    <field name="zip"/>
-                                                    <field name="city"/>
-                                                    <field name="cedex"/>
-                                                    <field name="state_id"/>
-                                                    <field name="country_id"/>
-                                                    <field name="type"/>
-                                                    <field name="category_id"/>
-                                                </group>
+                                            <field name="parent_id" invisible="1" />
+                                            <field
+                                                name="type"
+                                                required="1"
+                                                readonly="1"
+                                                widget="radio"
+                                                options="{'horizontal': true}"
+                                            />
+                                            <field
+                                                name="company_type"
+                                                widget="radio"
+                                                class="oe_edit_only"
+                                                options="{'horizontal': true}"
+                                            />
+                                            <div invisible="1">
+                                                <field name="is_company" />
+                                                <field name="street" />
+                                                <field name="street2" />
+                                                <field name="street3" />
+                                                <field name="zip_id" />
+                                                <field name="zip" />
+                                                <field name="city" />
+                                                <field name="cedex" />
+                                                <field name="state_id" />
+                                                <field name="country_id" />
+                                                <field name="type" />
+                                                <field name="category_id" />
+                                                <field name="lang" />
+                                                <field name="user_id" />
+                                                <field name="image_128" />
+                                            </div>
+                                            <hr />
+                                            <group>
                                                 <group>
-                                                    <field name="title" placeholder="Madame" options='{"no_open": True, "no_create": True}'/>
-                                                    <field name="firstname" string="Prénom" required="1"/>
-                                                    <field name="lastname" string="Nom de famille" required="1"/>
-                                                    <field name="email"/>
-                                                    <field name="phone" widget="phone"/>
-                                                    <field name="mobile" widget="phone"/>
-                                                    <field name="category_id"  widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" />
-                                                    <field name="comment" placeholder="Commentaires..."/>
+                                                    <field
+                                                        name="title"
+                                                        placeholder="Madame"
+                                                        options='{"no_open": True, "no_create": True}'
+                                                    />
+                                                    <field
+                                                        name="firstname"
+                                                        string="Prénom"
+                                                        required="1"
+                                                    />
+                                                    <field
+                                                        name="lastname"
+                                                        string="Nom de famille"
+                                                        required="1"
+                                                    />
+                                                    <field name="email" />
+                                                    <field
+                                                        name="phone"
+                                                        widget="phone"
+                                                    />
+                                                    <field
+                                                        name="mobile"
+                                                        widget="phone"
+                                                    />
+                                                    <field
+                                                        name="category_id"
+                                                        widget="many2many_tags"
+                                                        options="{'color_field': 'color', 'no_create': True}"
+                                                    />
+                                                    <field
+                                                        name="comment"
+                                                        placeholder="Commentaires..."
+                                                    />
                                                 </group>
                                                 <group>
-                                                    <field name="mandate_id" options="{'no_open': True, 'no_create': True}" />
-                                                    <field name="function" placeholder="Responsable des ventes"/>
+                                                    <field
+                                                        name="mandate_id"
+                                                        options="{'no_open': True, 'no_create': True}"
+                                                    />
+                                                    <field
+                                                        name="function"
+                                                        placeholder="Responsable des ventes"
+                                                    />
                                                     <field name="employee" />
                                                     <field name="associate" />
-                                                    <field name="birthyear"/>
-                                                    <field name="contact_origin_id" options="{'no_open': True, 'no_create': True}"/>
-                                                    <field name="contact_legality" readonly="1"/>
+                                                    <field name="birthyear" />
+                                                    <field
+                                                        name="contact_origin_id"
+                                                        options="{'no_open': True, 'no_create': True}"
+                                                    />
+                                                    <field
+                                                        name="contact_legality"
+                                                        readonly="1"
+                                                    />
                                                 </group>
                                             </group>
                                             <field name="subscription_ids">
-                                                <tree string="Subscriptions" editable="bottom">
-                                                    <field name="newsletter_id"/>
-                                                    <field name="consent"/>
+                                                <tree
+                                                    string="Subscriptions"
+                                                    editable="bottom"
+                                                >
+                                                    <field name="newsletter_id" />
+                                                    <field name="consent" />
                                                 </tree>
                                             </field>
                                         </sheet>
@@ -482,111 +788,236 @@
                     </sheet>
 
                     <div class="oe_chatter">
-                        <field name="message_follower_ids" widget="mail_followers"/>
-                        <field name="activity_ids" widget="mail_activity"/>
-                        <field name="message_ids" widget="mail_thread"/>
+                        <field name="message_follower_ids" widget="mail_followers" />
+                        <field name="activity_ids" widget="mail_activity" />
+                        <field name="message_ids" widget="mail_thread" />
                     </div>
 
                 </form>
             </field>
         </record>
 
-
-        <!-- recherche incubations -->
+        <!-- SEARCH view -->
         <record id="partner_incub_view_search" model="ir.ui.view">
             <field name="name">partner.incub.view.search</field>
             <field name="model">res.partner</field>
             <field name="arch" type="xml">
                 <search string="Recherche incubés">
-                    <field name="name" filter_domain="['|', '|', ('display_name', 'ilike', self), ('ref', '=', self), ('email', 'ilike', self)]"/>
-                    <field name="phone" filter_domain="['|',('phone','ilike',self),('mobile','=',self)]"/>
-                    <field name="incub_delegate_id" string="Délégué" filter_domain="[('incub_delegate_id', 'ilike', self)]"/>
-                    <field name="siret" filter_domain="[('siret','ilike',self)]"/>
-                    <field name="sigle" filter_domain="[('sigle','ilike',self)]"/>
-                    <filter string="Mes incubés - Projets actifs" name="my_incub" domain="[('incub_delegate_id','=',uid),('incub_active','=',True)]"/>
-                    <filter string="Mon UR - Projets actifs" name="my_ur" domain="[('current_user_ur_id', '=', 'ur_id'),('incub_active','=',True)]"/>
-                    <separator/>
-                    <filter string="Toutes URs - Projet actifs" name="inactive" domain="[('incub_active','=',True)]"/>
-                    <filter string="Mon UR - Projet archivés" name="inactive" domain="[('current_user_ur_id', '=', 'ur_id'),('incub_active','=',False)]"/>
-                    <filter string="Toutes URs - Projet archivés" name="inactive" domain="[('incub_active','=',False)]"/>
-                    <separator/>
-                    <filter string="Mes Activités" name="activities_my" domain="[('activity_ids.user_id', '=', uid)]"/>
-                    <separator/>
-                    <filter string="Activités en retard" name="activities_overdue" domain="[('activity_ids.date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]" help="Show all records which has next action date is before today"/>
-                    <filter string="Activités du Jour" name="activities_today" domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
-                    <filter string="Activités futures" name="activities_upcoming_all" domain="[('activity_ids.date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))]"/>
-                    <separator/>
+                    <field
+                        name="name"
+                        filter_domain="['|', '|', ('display_name', 'ilike', self), ('ref', '=', self), ('email', 'ilike', self)]"
+                    />
+                    <field
+                        name="phone"
+                        filter_domain="['|',('phone','ilike',self),('mobile','=',self)]"
+                    />
+                    <field
+                        name="incub_delegate_id"
+                        string="Délégué"
+                        filter_domain="[('incub_delegate_id', 'ilike', self)]"
+                    />
+                    <field name="siret" filter_domain="[('siret','ilike',self)]" />
+                    <field name="sigle" filter_domain="[('sigle','ilike',self)]" />
+                    <filter
+                        string="Mes incubés - Projets actifs"
+                        name="my_incub"
+                        domain="[('incub_delegate_id','=',uid),('incub_active','=',True)]"
+                    />
+                    <filter
+                        string="Mon UR - Projets actifs"
+                        name="my_ur"
+                        domain="[('current_user_ur_id', '=', 'ur_id'),('incub_active','=',True)]"
+                    />
+                    <separator />
+                    <filter
+                        string="Toutes URs - Projet actifs"
+                        name="inactive"
+                        domain="[('incub_active','=',True)]"
+                    />
+                    <filter
+                        string="Mon UR - Projet archivés"
+                        name="inactive"
+                        domain="[('current_user_ur_id', '=', 'ur_id'),('incub_active','=',False)]"
+                    />
+                    <filter
+                        string="Toutes URs - Projet archivés"
+                        name="inactive"
+                        domain="[('incub_active','=',False)]"
+                    />
+                    <separator />
+                    <filter
+                        string="Mes Activités"
+                        name="activities_my"
+                        domain="[('activity_ids.user_id', '=', uid)]"
+                    />
+                    <separator />
+                    <filter
+                        string="Activités en retard"
+                        name="activities_overdue"
+                        domain="[('activity_ids.date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
+                        help="Show all records which has next action date is before today"
+                    />
+                    <filter
+                        string="Activités du Jour"
+                        name="activities_today"
+                        domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"
+                    />
+                    <filter
+                        string="Activités futures"
+                        name="activities_upcoming_all"
+                        domain="[('activity_ids.date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))]"
+                    />
+                    <separator />
                     <group expand="0" name="group_by" string="Group By">
-                        <filter name="incub_status" string="Statut" domain="[]" context="{'group_by' : 'incub_status'}"/>
-                        <filter name="naf_id" string="Code NAF" domain="[]" context="{'group_by' : 'naf_id'}"/>
-                        <filter name="group_company" string="Structure" context="{'group_by': 'parent_id'}"/>
-                        <filter name="group_city" string="Ville" context="{'group_by': 'city'}"/>
-                        <filter name="group_departement" string="Département" context="{'group_by': 'zip_departement'}"/>
-                        <filter name="group_country" string="Pays" context="{'group_by': 'country_id'}"/>
+                        <filter
+                            name="incub_status"
+                            string="Statut"
+                            domain="[]"
+                            context="{'group_by' : 'incub_status'}"
+                        />
+                        <filter
+                            name="naf_id"
+                            string="Code NAF"
+                            domain="[]"
+                            context="{'group_by' : 'naf_id'}"
+                        />
+                        <filter
+                            name="group_company"
+                            string="Structure"
+                            context="{'group_by': 'parent_id'}"
+                        />
+                        <filter
+                            name="group_city"
+                            string="Ville"
+                            context="{'group_by': 'city'}"
+                        />
+                        <filter
+                            name="group_departement"
+                            string="Département"
+                            context="{'group_by': 'zip_departement'}"
+                        />
+                        <filter
+                            name="group_country"
+                            string="Pays"
+                            context="{'group_by': 'country_id'}"
+                        />
                     </group>
                 </search>
             </field>
         </record>
 
-        <!-- Liste des incubations -->
+        <!-- LIST view -->
         <record id="view_partner_incub_tree" model="ir.ui.view">
             <field name="name">incub.tree</field>
             <field name="model">res.partner</field>
             <field name="arch" type="xml">
                 <tree string="Prospects">
-                    <field name="display_name" string="Raison Sociale"/>
-                    <field name="cooperative_form_id"/>
-                    <field name="incub_status"/>
-                    <field name="zip"/>
-                    <field name="city"/>
-                    <field name="incub_delegate_id"/>
-                    <field name="ur_id"/>
+                    <field name="display_name" string="Raison Sociale" />
+                    <field name="cooperative_form_id" />
+                    <field name="incub_status" />
+                    <field name="zip" />
+                    <field name="city" />
+                    <field name="incub_delegate_id" />
+                    <field name="ur_id" />
                 </tree>
             </field>
         </record>
 
-        <!-- Kanban incubations -->
+        <!-- KANBAN view -->
         <record id="view_partner_incub_kanban" model="ir.ui.view">
             <field name="name">incub.kanban</field>
             <field name="model">res.partner</field>
             <field name="arch" type="xml">
                 <kanban default_group_by="incub_status" class="o_res_partner_kanban">
-                    <field name="id"/>
-                    <field name="color"/>
-                    <field name="display_name"/>
-                    <field name="title"/>
-                    <field name="email"/>
-                    <field name="parent_id"/>
-                    <field name="is_company"/>
-                    <field name="function"/>
-                    <field name="phone"/>
-                    <field name="street"/>
-                    <field name="street2"/>
-                    <field name="zip"/>
-                    <field name="city"/>
-                    <field name="country_id"/>
-                    <field name="mobile"/>
-                    <field name="state_id"/>
-                    <field name="category_id"/>
-                    <field name="image_small"/>
-                    <field name="type"/>
-                    <field name="incub_status"/>
-                    <field name="incub_thematique_ids"/>
-
+                    <field name="id" />
+                    <field name="color" />
+                    <field name="display_name" />
+                    <field name="title" />
+                    <field name="email" />
+                    <field name="parent_id" />
+                    <field name="is_company" />
+                    <field name="function" />
+                    <field name="phone" />
+                    <field name="street" />
+                    <field name="street2" />
+                    <field name="zip" />
+                    <field name="city" />
+                    <field name="country_id" />
+                    <field name="mobile" />
+                    <field name="state_id" />
+                    <field name="category_id" />
+                    <field name="image_128" />
+                    <field name="type" />
+                    <field name="incub_status" />
+                    <field name="incub_thematique_ids" />
                     <templates>
                         <t t-name="kanban-box">
-                            <div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
-                                <t t-if="record.is_company.raw_value === true">
-                                    <img class="o_kanban_image" alt="Logo" t-att-src='_s + "/base/static/img/company_image.png"'/>
+                            <div
+                                class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban"
+                            >
+                                <t t-if="!record.is_company.raw_value">
+                                    <t
+                                        t-if="record.type.raw_value === 'delivery'"
+                                        t-set="placeholder"
+                                        t-value="'/base/static/img/truck.png'"
+                                    />
+                                    <t
+                                        t-elif="record.type.raw_value === 'invoice'"
+                                        t-set="placeholder"
+                                        t-value="'/base/static/img/money.png'"
+                                    />
+                                    <t
+                                        t-else=""
+                                        t-set="placeholder"
+                                        t-value="'/base/static/img/avatar_grey.png'"
+                                    />
+                                    <div
+                                        class="o_kanban_image_fill_left d-none d-md-block"
+                                        t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value,  placeholder)}')"
+                                    >
+                                        <img
+                                            class="o_kanban_image_inner_pic"
+                                            t-if="record.parent_id.raw_value"
+                                            t-att-alt="record.parent_id.value"
+                                            t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"
+                                        />
+                                    </div>
+                                    <div
+                                        class="o_kanban_image d-md-none"
+                                        t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value,  placeholder)}')"
+                                    >
+                                        <img
+                                            class="o_kanban_image_inner_pic"
+                                            t-if="record.parent_id.raw_value"
+                                            t-att-alt="record.parent_id.value"
+                                            t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"
+                                        />
+                                    </div>
+                                </t>
+                                <t t-else="">
+                                    <t
+                                        t-set="placeholder"
+                                        t-value="'/base/static/img/company_image.png'"
+                                    />
+                                    <div
+                                        class="o_kanban_image_fill_left o_kanban_image_full"
+                                        t-attf-style="background-image: url(#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)})"
+                                        role="img"
+                                    />
                                 </t>
 
                                 <div class="oe_kanban_details">
-                                    <strong class="o_kanban_record_title oe_partner_heading"><field name="display_name"/></strong>
+                                    <strong
+                                        class="o_kanban_record_title oe_partner_heading"
+                                    ><field name="display_name" /></strong>
                                     <div>
                                         <field name="incub_thematique_ids" />
                                     </div>
-                                    <div >
-                                        <field name="incub_percent_realisation" widget="priority"/>
+                                    <div>
+                                        <field
+                                            name="incub_percent_realisation"
+                                            widget="priority"
+                                        />
                                     </div>
                                 </div>
 
@@ -597,26 +1028,34 @@
             </field>
         </record>
 
-
-        <!-- incub Action -->
+        <!--
+                Actions
+                            -->
         <record model="ir.actions.act_window" id="cgscop_incub_act">
             <field name="name">Incubations</field>
             <field name="res_model">res.partner</field>
-            <field name="view_type">form</field>
             <field name="view_mode">kanban,tree,form,activity</field>
-            <field name="search_view_id" ref="partner_incub_view_search"/>
-            <field name="domain" eval="[('is_incubated', '=', True)]"/>
-            <field name="view_ids" eval="[(5, 0, 0),
+            <field name="search_view_id" ref="partner_incub_view_search" />
+            <field name="domain" eval="[('is_incubated', '=', True)]" />
+            <field
+                name="view_ids"
+                eval="[(5, 0, 0),
                 (0, 0, {'view_mode': 'kanban', 'view_id': ref('view_partner_incub_kanban')}),
                 (0, 0, {'view_mode': 'tree', 'view_id': ref('view_partner_incub_tree')}),
-                (0, 0, {'view_mode': 'form', 'view_id': ref('view_partner_incub_form')})]"/>
-            <field name="context">{'search_default_my_ur': True, 'default_is_company': True, 'default_is_cooperative': False, 'default_company_type': 'company', 'default_is_incubated': True,'default_incub_status': '1_prospection','default_incub_out_mode': '1_non_def'}</field>
+                (0, 0, {'view_mode': 'form', 'view_id': ref('view_partner_incub_form')})]"
+            />
+            <field
+                name="context"
+            >{'search_default_my_ur': True, 'default_is_company': True, 'default_is_cooperative': False, 'default_company_type': 'company', 'default_is_incubated': True,'default_incub_status': '1_prospection','default_incub_out_mode': '1_non_def'}</field>
         </record>
 
-        <!-- override partenaire action pour cacher les projet incub -->
+        <!-- override partner to hide incub projects -->
         <record id="cgscop_partner.action_companies_only" model="ir.actions.act_window">
-            <field name="domain" eval="['&amp;','&amp;',('is_company', '=', True),'&amp;', ('is_cooperative', '=', False), ('type', '=', 'contact'), '|',('is_incubated', '=', False),'&amp;',('incub_out_mode', '=', '2_non_coop'),('incub_out_done', '=', True)]"/>
+            <field
+                name="domain"
+                eval="['&amp;','&amp;',('is_company', '=', True),'&amp;', ('is_cooperative', '=', False), ('type', '=', 'contact'), '|',('is_incubated', '=', False),'&amp;',('incub_out_mode', '=', '2_non_coop'),('incub_out_done', '=', True)]"
+            />
         </record>
 
     </data>
-</odoo>
\ No newline at end of file
+</odoo>
-- 
GitLab