-
Use in product category.
+
Free to Use in product category.
diff --git a/app_users_chart_hierarchy/__init__.py b/app_users_chart_hierarchy/__init__.py
new file mode 100644
index 00000000..dc5e6b69
--- /dev/null
+++ b/app_users_chart_hierarchy/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import models
diff --git a/app_users_chart_hierarchy/__manifest__.py b/app_users_chart_hierarchy/__manifest__.py
new file mode 100644
index 00000000..48212fb1
--- /dev/null
+++ b/app_users_chart_hierarchy/__manifest__.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+
+# Created on 2019-01-04
+# author: 广州尚鹏,https://www.sunpop.cn
+# email: 300883@qq.com
+# resource of Sunpop
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+# Odoo12在线用户手册(长期更新)
+# https://www.sunpop.cn/documentation/user/12.0/en/index.html
+
+# Odoo12在线开发者手册(长期更新)
+# https://www.sunpop.cn/documentation/12.0/index.html
+
+# Odoo10在线中文用户手册(长期更新)
+# https://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html
+
+# Odoo10离线中文用户手册下载
+# https://www.sunpop.cn/odoo10_user_manual_document_offline/
+# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备)
+# https://www.sunpop.cn/odoo10_developer_document_offline/
+
+
+{
+ 'name': 'User Alliance Distribution Chart Hierarchy, 多层级用户',
+ 'version': '12.19.04.14',
+ 'author': 'Sunpop.cn',
+ 'category': 'Stock',
+ 'website': 'https://www.sunpop.cn',
+ 'license': 'LGPL-3',
+ 'sequence': 2,
+ 'summary': """
+ Chart Hierarchy Widget. Hierarchy Chart, Hierarchy Tree for multi level Parent Children relation tree.
+ Free for category Hierarchy chart, stock Hierarchy chart. account chart. user multi level chart.
+ """,
+ 'description': """
+This module extend to show a Hierarchy chart.
+(N+1, N+2, direct subordinates)
+image: image_field,
+desc: descript_field,
+direct_sub: children_field, must be one2many,
+child_all_count: child_all_count field, count of direct and indirect children.
+ """,
+ 'price': 0.00,
+ 'currency': 'EUR',
+ 'depends': [
+ 'base',
+ ],
+ 'images': ['static/description/banner.gif'],
+ 'data': [
+ 'views/res_users_views.xml',
+ ],
+ 'demo': [
+ ],
+ 'test': [
+ ],
+ 'css': [
+ ],
+ 'qweb': [
+ 'static/src/xml/*.xml',
+ ],
+ 'js': [
+ ],
+ 'post_load': None,
+ 'post_init_hook': None,
+ 'installable': True,
+ 'application': True,
+ 'auto_install': False,
+}
+
diff --git a/app_users_chart_hierarchy/controllers/__init__.py b/app_users_chart_hierarchy/controllers/__init__.py
new file mode 100644
index 00000000..7ec351fe
--- /dev/null
+++ b/app_users_chart_hierarchy/controllers/__init__.py
@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*
+
diff --git a/app_users_chart_hierarchy/i18n/zh_CN.po b/app_users_chart_hierarchy/i18n/zh_CN.po
new file mode 100644
index 00000000..c664e321
--- /dev/null
+++ b/app_users_chart_hierarchy/i18n/zh_CN.po
@@ -0,0 +1,112 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * app_users_chart_hierarchy
+#
+# Translators:
+# Martin Trigaux, 2018
+# 珠海-杜哥
, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server saas~11.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-09-18 09:49+0000\n"
+"PO-Revision-Date: 2018-09-18 09:49+0000\n"
+"Last-Translator: 珠海-杜哥 , 2018\n"
+"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/js/app_users_chart_hierarchy.js:137
+#, python-format
+msgid "Direct Subordinates of %s"
+msgstr "%s的直接下属"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:126
+#, python-format
+msgid "Direct subordinates"
+msgstr "直接下属"
+
+#. module: app_users_chart_hierarchy
+#: model:ir.model,name:app_users_chart_hierarchy.model_product.category
+msgid "node"
+msgstr "员工"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:89
+#, python-format
+msgid "In order to get an organigram, set a parent and save the record."
+msgstr "为了获取组织图,请设置一个上司然后保存"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/js/app_users_chart_hierarchy.js:147
+#, python-format
+msgid "Indirect Subordinates of %s"
+msgstr "%s的非直接下属"
+
+#. module: app_users_chart_hierarchy
+#: model:ir.model.fields,field_description:app_users_chart_hierarchy.field_product.category__child_all_count
+msgid "Indirect Surbordinates Count"
+msgstr "非直接下属数量"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:136
+#, python-format
+msgid "Indirect subordinates"
+msgstr "非直接下属"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:66
+#, python-format
+msgid "More parents"
+msgstr "更多管理员"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:87
+#, python-format
+msgid "No hierarchy position."
+msgstr "没有层级位置"
+
+#. module: app_users_chart_hierarchy
+#: model_terms:ir.ui.view,arch_db:app_users_chart_hierarchy.product.category_view_form_inherit_chart_hierarchy
+msgid "Organization Chart"
+msgstr "组织图表"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:155
+#, python-format
+msgid "Redirect"
+msgstr "重定向"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/js/app_users_chart_hierarchy.js:140
+#, python-format
+msgid "Subordinates of %s"
+msgstr "%s的下属"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:88
+#, python-format
+msgid "This employee has no parent or subordinate."
+msgstr "该员工没有上司或下属"
+
+#. module: app_users_chart_hierarchy
+#. openerp-web
+#: code:addons/app_users_chart_hierarchy/static/src/xml/app_users_chart_hierarchy.xml:144
+#, python-format
+msgid "Total"
+msgstr "合计"
diff --git a/app_users_chart_hierarchy/models/__init__.py b/app_users_chart_hierarchy/models/__init__.py
new file mode 100644
index 00000000..74f3017f
--- /dev/null
+++ b/app_users_chart_hierarchy/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import res_users
diff --git a/app_users_chart_hierarchy/models/res_users.py b/app_users_chart_hierarchy/models/res_users.py
new file mode 100644
index 00000000..599156a7
--- /dev/null
+++ b/app_users_chart_hierarchy/models/res_users.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, tools, _
+
+
+class Users(models.Model):
+ _inherit = "res.users"
+
+ # 注意,res.partner 有 parent_id 和 child_ids
+ _parent_name = "user_parent_id"
+ _parent_store = True
+ parent_path = fields.Char(index=True)
+
+ user_parent_id = fields.Many2one('res.users', string='Parent User', index=True)
+ user_child_ids = fields.One2many('res.users', 'user_parent_id', string='Sub Users', domain=[('active', '=', True)])
+
+ user_child_all_count = fields.Integer(
+ 'Indirect Surbordinates Count',
+ compute='_compute_user_child_all_count', store=False)
+
+
+ @api.depends('user_child_ids.user_child_all_count')
+ def _compute_user_child_all_count(self):
+ for rec in self:
+ rec.user_child_all_count = len(rec.user_child_ids) + sum(child.user_child_all_count for child in rec.user_child_ids)
diff --git a/app_users_chart_hierarchy/static/description/banner.gif b/app_users_chart_hierarchy/static/description/banner.gif
new file mode 100644
index 00000000..54fb9413
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/banner.gif differ
diff --git a/app_users_chart_hierarchy/static/description/banner.png b/app_users_chart_hierarchy/static/description/banner.png
new file mode 100644
index 00000000..a83464d6
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/banner.png differ
diff --git a/app_users_chart_hierarchy/static/description/demo1.jpg b/app_users_chart_hierarchy/static/description/demo1.jpg
new file mode 100644
index 00000000..03fb1e02
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo1.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo2.jpg b/app_users_chart_hierarchy/static/description/demo2.jpg
new file mode 100644
index 00000000..632e5db3
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo2.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo4.jpg b/app_users_chart_hierarchy/static/description/demo4.jpg
new file mode 100644
index 00000000..99cec169
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo4.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo5.jpg b/app_users_chart_hierarchy/static/description/demo5.jpg
new file mode 100644
index 00000000..de5add33
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo5.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo6.jpg b/app_users_chart_hierarchy/static/description/demo6.jpg
new file mode 100644
index 00000000..533468d7
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo6.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo7.jpg b/app_users_chart_hierarchy/static/description/demo7.jpg
new file mode 100644
index 00000000..4673c00e
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo7.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/demo9.jpg b/app_users_chart_hierarchy/static/description/demo9.jpg
new file mode 100644
index 00000000..41c9d853
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/demo9.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/icon.png b/app_users_chart_hierarchy/static/description/icon.png
new file mode 100644
index 00000000..a5a31dfd
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/icon.png differ
diff --git a/app_users_chart_hierarchy/static/description/index.html b/app_users_chart_hierarchy/static/description/index.html
new file mode 100644
index 00000000..23f4386a
--- /dev/null
+++ b/app_users_chart_hierarchy/static/description/index.html
@@ -0,0 +1,190 @@
+
+
+
User Alliance distribution Chart Hierarchy for Multi Level
+ Very useful for show parent child relationship, like product category, stock location, hr department
+
+
+
+
+
+
+
Key features:
+
+ -
+
+ Easy to make show parent children Chart Hierarchy.
+
+ -
+
+ Free to Use in product category.
+
+ -
+
+ Free to Use in stock location.
+
+ -
+
+ Free to Use in hr department, employee.
+
+ -
+
+ Free to Use in Account chart.
+
+ -
+
+ Free to Use in User Alliance Distribution Multi level.
+
+ -
+
+ It's a widget, you can use it in anywhere in odoo.
+
+
+
+
+
Buy
+
+ this 1 chart hierarchy
+
+ in odoo Store. Get free 4 related free apps.
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
Product category Chart Hierarchy
+
+

+
+
Show sub category and quick access category
+
+

+
+
+
+
+
+
+
+
Stock Location Chart Hierarchy
+
+

+
+
+
+
+
+
+
+
HR Department Chart Hierarchy
+
+

+
+
HR Emploee Chart Hierarchy (this is include in odoo)
+
+

+
+
+
+
+
+
+
Account Chart Hierarchy
+
+

+
+
+
+
+
+
+
+
User Alliance Distribution Multi level
+
+

+
+
+
+
+
+
+
Easy to setup just use widget='web_chart_hierarchy'. like this
+
+

+
+
Also need to change view for better ui
+
+

+
+
Use follow param to setup widget:
+
image: --the field of image.
+
desc: --the field of subtitle.
+
direct_sub: --the field of sub node.
+
child_all_count: --the field of node count.
+
+
+
+
+
+
+
Technical Help & Support
+
+
+
+
+
diff --git a/app_users_chart_hierarchy/static/description/setup1.jpg b/app_users_chart_hierarchy/static/description/setup1.jpg
new file mode 100644
index 00000000..310b1e36
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/setup1.jpg differ
diff --git a/app_users_chart_hierarchy/static/description/setup2.jpg b/app_users_chart_hierarchy/static/description/setup2.jpg
new file mode 100644
index 00000000..0eb197c6
Binary files /dev/null and b/app_users_chart_hierarchy/static/description/setup2.jpg differ
diff --git a/app_users_chart_hierarchy/views/res_users_views.xml b/app_users_chart_hierarchy/views/res_users_views.xml
new file mode 100644
index 00000000..da618dac
--- /dev/null
+++ b/app_users_chart_hierarchy/views/res_users_views.xml
@@ -0,0 +1,46 @@
+
+
+
+ app.res.users.form
+ res.users
+
+
+
+
+
+
+
+
+
+
+
+
+
Hierarchy Chart
+
+
+
+
+
+
+
+
+ app.res.users.form2
+ res.users
+
+
+
+
+
+
+
+
+
+
+