Merge remote-tracking branch 'origin/11.0' into 11.0
4
app_account_account_chart/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import models
|
||||||
69
app_account_account_chart/__manifest__.py
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# -*- 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': 'Account Chart Hierarchy, 中国会计科目多层级结构图',
|
||||||
|
'version': '11.19.04.09',
|
||||||
|
'author': 'Sunpop.cn',
|
||||||
|
'category': 'Account',
|
||||||
|
'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.
|
||||||
|
""",
|
||||||
|
'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': [
|
||||||
|
'l10n_cn_standard_lastest',
|
||||||
|
],
|
||||||
|
'images': ['static/description/banner.gif'],
|
||||||
|
'data': [
|
||||||
|
'views/account_account_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,
|
||||||
|
}
|
||||||
2
app_account_account_chart/controllers/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
112
app_account_account_chart/i18n/zh_CN.po
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * app_catetory_chart_hierarchy
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Martin Trigaux, 2018
|
||||||
|
# 珠海-杜哥 <liangjia@qq.com>, 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: 珠海-杜哥 <liangjia@qq.com>, 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_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:137
|
||||||
|
#, python-format
|
||||||
|
msgid "Direct Subordinates of %s"
|
||||||
|
msgstr "%s的直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:126
|
||||||
|
#, python-format
|
||||||
|
msgid "Direct subordinates"
|
||||||
|
msgstr "直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model:ir.model,name:app_catetory_chart_hierarchy.model_product.category
|
||||||
|
msgid "node"
|
||||||
|
msgstr "员工"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:89
|
||||||
|
#, python-format
|
||||||
|
msgid "In order to get an organigram, set a parent and save the record."
|
||||||
|
msgstr "为了获取组织图,请设置一个上司然后保存"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:147
|
||||||
|
#, python-format
|
||||||
|
msgid "Indirect Subordinates of %s"
|
||||||
|
msgstr "%s的非直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model:ir.model.fields,field_description:app_catetory_chart_hierarchy.field_product.category__child_all_count
|
||||||
|
msgid "Indirect Surbordinates Count"
|
||||||
|
msgstr "非直接下属数量"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:136
|
||||||
|
#, python-format
|
||||||
|
msgid "Indirect subordinates"
|
||||||
|
msgstr "非直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:66
|
||||||
|
#, python-format
|
||||||
|
msgid "More parents"
|
||||||
|
msgstr "更多管理员"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:87
|
||||||
|
#, python-format
|
||||||
|
msgid "No hierarchy position."
|
||||||
|
msgstr "没有层级位置"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_catetory_chart_hierarchy.product.category_view_form_inherit_chart_hierarchy
|
||||||
|
msgid "Organization Chart"
|
||||||
|
msgstr "组织图表"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:155
|
||||||
|
#, python-format
|
||||||
|
msgid "Redirect"
|
||||||
|
msgstr "重定向"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:140
|
||||||
|
#, python-format
|
||||||
|
msgid "Subordinates of %s"
|
||||||
|
msgstr "%s的下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:88
|
||||||
|
#, python-format
|
||||||
|
msgid "This employee has no parent or subordinate."
|
||||||
|
msgstr "该员工没有上司或下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:144
|
||||||
|
#, python-format
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "合计"
|
||||||
4
app_account_account_chart/models/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import account_account
|
||||||
30
app_account_account_chart/models/account_account.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from odoo import api, fields, models, tools, _
|
||||||
|
|
||||||
|
|
||||||
|
class AccountAccount(models.Model):
|
||||||
|
_inherit = "account.account"
|
||||||
|
|
||||||
|
# 图片,可显示小图标,
|
||||||
|
# image: all image fields are base64 encoded and PIL-supported
|
||||||
|
image = fields.Binary("Image", attachment=True,
|
||||||
|
help="This field holds the image used as avatar for this category, limited to 1024x1024px",)
|
||||||
|
image_medium = fields.Binary("Medium-sized image", attachment=True,
|
||||||
|
help="Medium-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field in form views or some kanban views.")
|
||||||
|
image_small = fields.Binary("Small-sized image", attachment=True,
|
||||||
|
help="Small-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field anywhere a small image is required.")
|
||||||
|
|
||||||
|
child_all_count = fields.Integer(
|
||||||
|
'Indirect Surbordinates Count',
|
||||||
|
compute='_compute_child_all_count', store=False)
|
||||||
|
|
||||||
|
@api.depends('child_ids.child_all_count')
|
||||||
|
def _compute_child_all_count(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids)
|
||||||
BIN
app_account_account_chart/static/description/banner.gif
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
app_account_account_chart/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
app_account_account_chart/static/description/demo1.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
app_account_account_chart/static/description/demo2.jpg
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
app_account_account_chart/static/description/demo4.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
app_account_account_chart/static/description/demo5.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
app_account_account_chart/static/description/demo6.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
app_account_account_chart/static/description/demo7.jpg
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
app_account_account_chart/static/description/demo9.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
app_account_account_chart/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
190
app_account_account_chart/static/description/index.html
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<h2 class="oe_slogan" style="color:#875A7B;">Account Chart Hierarchy for Multi Level</h2>
|
||||||
|
<h3 class="oe_slogan">Very useful for show parent child relationship, like product category, stock location, hr department</h3>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b> Key features: </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Easy to make show parent children Chart Hierarchy.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in product category.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in stock location.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in hr department, employee.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in Account chart.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in User Alliance Distribution Multi level.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
It's a widget, you can use it in anywhere in odoo.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="oe_slogan">Buy
|
||||||
|
<a href="https://www.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/">
|
||||||
|
this 1 chart hierarchy
|
||||||
|
</a>
|
||||||
|
in odoo Store. Get free 4 related free apps.
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<div class="oe_span12">
|
||||||
|
<img class="oe_demo oe_screenshot" src="banner.gif">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b>Get relate Demo </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_product_category_chart/" target="_blank">Product category chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_stock_location_chart/" target="_blank">Stock Location chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_hr_department_chart/" target="_blank">hr department employee chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_account_account_chart/" target="_blank">Account chart hierarchy(chinese only)</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_users_chart_hierarchy/" target="_blank">User Alliance Distribution Multi level</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Product category Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Show sub category and quick access category</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo2.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Stock Location Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo4.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">HR Department Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo5.jpg">
|
||||||
|
</div>
|
||||||
|
<h1 class="text-danger text-center">HR Emploee Chart Hierarchy (this is include in odoo)</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo6.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Account Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo7.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">User Alliance Distribution Multi level</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo9.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Easy to setup just use widget='web_chart_hierarchy'. like this</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Also need to change view for better ui</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup2.jpg">
|
||||||
|
</div>
|
||||||
|
<h1><br/> Use follow param to setup widget:<br/></h1>
|
||||||
|
<h4>image: --the field of image.</h4>
|
||||||
|
<h4>desc: --the field of subtitle.</h4>
|
||||||
|
<h4>direct_sub: --the field of sub node.</h4>
|
||||||
|
<h4>child_all_count: --the field of node count.</h4>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container oe_dark">
|
||||||
|
<div class="oe_row oe_spaced text-center">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<h2 class="oe_slogan">Technical Help & Support</h2>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 pad0">
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
For any type of technical help & support requests, Feel free to contact us</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:guohuadeng@hotmail.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> guohuadeng@hotmail.com</a>
|
||||||
|
<p><h4>
|
||||||
|
Via QQ: 300883</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> 300883@qq.com</a>
|
||||||
|
</div>
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
Visit our website for more support.</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="https://www.sunpop.cn" target="_blank"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-web"></i>https://www.sunpop.cn</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
BIN
app_account_account_chart/static/description/setup1.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
app_account_account_chart/static/description/setup2.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
40
app_account_account_chart/views/account_account_views.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_view_account_form" model="ir.ui.view">
|
||||||
|
<field name="name">app.account.account.form</field>
|
||||||
|
<field name="model">account.account</field>
|
||||||
|
<field name="inherit_id" ref="account.view_account_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//group[1]" position="before">
|
||||||
|
<div id="o_node_container">
|
||||||
|
<div id="o_node_main">
|
||||||
|
<field name="image" widget="image" class="oe_avatar" invisible="1"
|
||||||
|
options="{'preview_image': 'image_medium', 'size': [90, 90]}"/>
|
||||||
|
<span id="add_group"/>
|
||||||
|
</div>
|
||||||
|
<div id="o_node_right">
|
||||||
|
<h4 class="o_chart_hierarchy_title mb16 mt0">Hierarchy Chart</h4>
|
||||||
|
<field name="child_ids" widget="web_chart_hierarchy"
|
||||||
|
string="Please get widget from https://apps.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/"
|
||||||
|
options="{
|
||||||
|
'image': 'image_small',
|
||||||
|
'desc': 'code',
|
||||||
|
'direct_sub': 'child_ids',
|
||||||
|
'child_all_count':'child_all_count'}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="app_view_account_form2" model="ir.ui.view">
|
||||||
|
<field name="name">app.account.account.form2</field>
|
||||||
|
<field name="model">account.account</field>
|
||||||
|
<field name="inherit_id" ref="app_view_account_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//span[@id='add_group']" position="after">
|
||||||
|
<xpath expr="//group[1]" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
4
app_hr_department_chart/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import models
|
||||||
70
app_hr_department_chart/__manifest__.py
Normal file
@@ -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': 'Hr Department Chart Hierarchy, 员工部门多层级结构图',
|
||||||
|
'version': '11.19.04.09',
|
||||||
|
'author': 'Sunpop.cn',
|
||||||
|
'category': 'Account',
|
||||||
|
'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.
|
||||||
|
""",
|
||||||
|
'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': [
|
||||||
|
'hr_org_chart',
|
||||||
|
],
|
||||||
|
'images': ['static/description/banner.gif'],
|
||||||
|
'data': [
|
||||||
|
'views/hr_department_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,
|
||||||
|
}
|
||||||
|
|
||||||
2
app_hr_department_chart/controllers/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
67
app_hr_department_chart/i18n/zh_CN.po
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * app_product_category_chart
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 12.0+e-20190301\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2019-04-09 00:38+0000\n"
|
||||||
|
"PO-Revision-Date: 2019-04-09 00:38+0000\n"
|
||||||
|
"Last-Translator: <>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_product_category_chart.app_product_category_form_view
|
||||||
|
msgid "Hierarchy Chart"
|
||||||
|
msgstr "目录结构图"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image
|
||||||
|
msgid "Image"
|
||||||
|
msgstr "图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__child_all_count
|
||||||
|
msgid "Indirect Surbordinates Count"
|
||||||
|
msgstr "非直接下属数量"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image_medium
|
||||||
|
msgid "Medium-sized image"
|
||||||
|
msgstr "中等尺寸图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image_medium
|
||||||
|
msgid "Medium-sized image of this Category. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_product_category_chart.app_product_category_form_view
|
||||||
|
msgid "Please get widget from https://apps.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model,name:app_product_category_chart.model_product_category
|
||||||
|
msgid "Product Category"
|
||||||
|
msgstr "产品种类"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image_small
|
||||||
|
msgid "Small-sized image"
|
||||||
|
msgstr "小尺寸图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image_small
|
||||||
|
msgid "Small-sized image of this Category. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image
|
||||||
|
msgid "This field holds the image used as avatar for this category, limited to 1024x1024px"
|
||||||
|
msgstr "目录图像最大为 1024x1024px"
|
||||||
|
|
||||||
4
app_hr_department_chart/models/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import hr_department
|
||||||
43
app_hr_department_chart/models/hr_department.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from odoo import api, fields, models, tools, _
|
||||||
|
|
||||||
|
|
||||||
|
class Department(models.Model):
|
||||||
|
_inherit = "hr.department"
|
||||||
|
|
||||||
|
# 目录图片,可显示小图标,
|
||||||
|
# image: all image fields are base64 encoded and PIL-supported
|
||||||
|
image = fields.Binary("Image", attachment=True,
|
||||||
|
help="This field holds the image used as avatar for this category, limited to 1024x1024px",)
|
||||||
|
image_medium = fields.Binary("Medium-sized image", attachment=True,
|
||||||
|
help="Medium-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field in form views or some kanban views.")
|
||||||
|
image_small = fields.Binary("Small-sized image", attachment=True,
|
||||||
|
help="Small-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field anywhere a small image is required.")
|
||||||
|
|
||||||
|
child_all_count = fields.Integer(
|
||||||
|
'Indirect Surbordinates Count',
|
||||||
|
compute='_compute_child_all_count', store=False)
|
||||||
|
|
||||||
|
manager_name = fields.Char(related="manager_id.name", store=True)
|
||||||
|
|
||||||
|
@api.model_create_multi
|
||||||
|
def create(self, vals_list):
|
||||||
|
for vals in vals_list:
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(Department, self).create(vals_list)
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def write(self, vals):
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(Department, self).write(vals)
|
||||||
|
|
||||||
|
@api.depends('child_ids.child_all_count')
|
||||||
|
def _compute_child_all_count(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids)
|
||||||
BIN
app_hr_department_chart/static/description/banner.gif
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
app_hr_department_chart/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
app_hr_department_chart/static/description/demo1.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
app_hr_department_chart/static/description/demo2.jpg
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
app_hr_department_chart/static/description/demo4.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
app_hr_department_chart/static/description/demo5.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
app_hr_department_chart/static/description/demo6.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
app_hr_department_chart/static/description/demo7.jpg
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
app_hr_department_chart/static/description/demo9.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
app_hr_department_chart/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
190
app_hr_department_chart/static/description/index.html
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<h2 class="oe_slogan" style="color:#875A7B;">HR Department Chart Hierarchy for Multi Level</h2>
|
||||||
|
<h3 class="oe_slogan">Very useful for show parent child relationship, like product category, stock location, hr department</h3>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b> Key features: </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Easy to make show parent children Chart Hierarchy.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in product category.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in stock location.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in hr department, employee.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in Account chart.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in User Alliance Distribution Multi level.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
It's a widget, you can use it in anywhere in odoo.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="oe_slogan">Buy
|
||||||
|
<a href="https://www.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/">
|
||||||
|
this 1 chart hierarchy
|
||||||
|
</a>
|
||||||
|
in odoo Store. Get free 4 related free apps.
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<div class="oe_span12">
|
||||||
|
<img class="oe_demo oe_screenshot" src="banner.gif">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b>Get relate Demo </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_product_category_chart/" target="_blank">Product category chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_stock_location_chart/" target="_blank">Stock Location chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_hr_department_chart/" target="_blank">hr department employee chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_account_account_chart/" target="_blank">Account chart hierarchy(chinese only)</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_users_chart_hierarchy/" target="_blank">User Alliance Distribution Multi level</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Product category Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Show sub category and quick access category</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo2.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Stock Location Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo4.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">HR Department Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo5.jpg">
|
||||||
|
</div>
|
||||||
|
<h1 class="text-danger text-center">HR Emploee Chart Hierarchy (this is include in odoo)</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo6.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Account Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo7.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">User Alliance Distribution Multi level</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo9.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Easy to setup just use widget='web_chart_hierarchy'. like this</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Also need to change view for better ui</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup2.jpg">
|
||||||
|
</div>
|
||||||
|
<h1><br/> Use follow param to setup widget:<br/></h1>
|
||||||
|
<h4>image: --the field of image.</h4>
|
||||||
|
<h4>desc: --the field of subtitle.</h4>
|
||||||
|
<h4>direct_sub: --the field of sub node.</h4>
|
||||||
|
<h4>child_all_count: --the field of node count.</h4>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container oe_dark">
|
||||||
|
<div class="oe_row oe_spaced text-center">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<h2 class="oe_slogan">Technical Help & Support</h2>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 pad0">
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
For any type of technical help & support requests, Feel free to contact us</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:guohuadeng@hotmail.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> guohuadeng@hotmail.com</a>
|
||||||
|
<p><h4>
|
||||||
|
Via QQ: 300883</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> 300883@qq.com</a>
|
||||||
|
</div>
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
Visit our website for more support.</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="https://www.sunpop.cn" target="_blank"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-web"></i>https://www.sunpop.cn</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
BIN
app_hr_department_chart/static/description/setup1.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
app_hr_department_chart/static/description/setup2.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
40
app_hr_department_chart/views/hr_department_views.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_view_department_form" model="ir.ui.view">
|
||||||
|
<field name="name">app.hr.department.form</field>
|
||||||
|
<field name="model">hr.department</field>
|
||||||
|
<field name="inherit_id" ref="hr.view_department_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//div[@class='oe_button_box']" position="after">
|
||||||
|
<div id="o_node_container">
|
||||||
|
<div id="o_node_main">
|
||||||
|
<field name="image" widget="image" class="oe_avatar"
|
||||||
|
options="{'preview_image': 'image_medium', 'size': [90, 90]}"/>
|
||||||
|
<span id="add_group"/>
|
||||||
|
</div>
|
||||||
|
<div id="o_node_right">
|
||||||
|
<h4 class="o_chart_hierarchy_title mb16 mt0">Hierarchy Chart</h4>
|
||||||
|
<field name="child_ids" widget="web_chart_hierarchy"
|
||||||
|
string="Please get widget from https://apps.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/"
|
||||||
|
options="{
|
||||||
|
'image': 'image_small',
|
||||||
|
'desc': 'manager_name',
|
||||||
|
'direct_sub': 'child_ids',
|
||||||
|
'child_all_count':'child_all_count'}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="app_view_department_form2" model="ir.ui.view">
|
||||||
|
<field name="name">app.hr.department.form2</field>
|
||||||
|
<field name="model">hr.department</field>
|
||||||
|
<field name="inherit_id" ref="app_view_department_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//span[@id='add_group']" position="after">
|
||||||
|
<xpath expr="//group[1]" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
# description:
|
# description:
|
||||||
{
|
{
|
||||||
'name': '12 Ready!! App Odoo Customize(Backend Debranding Title,Language,Documentation,Quick Debug,Clear Data)',
|
'name': '12 Ready!! App Odoo Customize(Backend Debranding Title,Language,Documentation,Quick Debug,Clear Data)',
|
||||||
'version': '11.19.1.20',
|
'version': '11.19.04.17',
|
||||||
'author': 'Sunpop.cn',
|
'author': 'Sunpop.cn',
|
||||||
'category': 'Productivity',
|
'category': 'Productivity',
|
||||||
'website': 'http://www.sunpop.cn',
|
'website': 'http://www.sunpop.cn',
|
||||||
@@ -54,6 +54,9 @@ You can config odoo, make it look like your own platform.
|
|||||||
19. One Click to clear all data (Sometime pls click twice)
|
19. One Click to clear all data (Sometime pls click twice)
|
||||||
20. Show quick upgrade in app dashboard
|
20. Show quick upgrade in app dashboard
|
||||||
21. Can clear and reset account chart. Be cautious.
|
21. Can clear and reset account chart. Be cautious.
|
||||||
|
22. Update online manual and developer document to odoo12
|
||||||
|
23. Add reset or clear website blog data
|
||||||
|
24. Customize Odoo Native Module(eg. Enterprise) Url
|
||||||
|
|
||||||
This module can help to white label the Odoo.
|
This module can help to white label the Odoo.
|
||||||
Also helpful for training and support for your odoo end-user.
|
Also helpful for training and support for your odoo end-user.
|
||||||
@@ -61,7 +64,16 @@ The user can get the help document just by one click.
|
|||||||
|
|
||||||
""",
|
""",
|
||||||
'images': ['static/description/banner.gif'],
|
'images': ['static/description/banner.gif'],
|
||||||
'depends': ['base', 'web', 'mail'],
|
'depends': [
|
||||||
|
'base',
|
||||||
|
'web',
|
||||||
|
'mail',
|
||||||
|
'web_settings_dashboard',
|
||||||
|
'iap',
|
||||||
|
# 'digest',
|
||||||
|
# when enterprise
|
||||||
|
# 'web_mobile'
|
||||||
|
],
|
||||||
'data': [
|
'data': [
|
||||||
'views/app_odoo_customize_view.xml',
|
'views/app_odoo_customize_view.xml',
|
||||||
'views/app_theme_config_settings_view.xml',
|
'views/app_theme_config_settings_view.xml',
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 217 KiB |
BIN
app_odoo_customize/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
@@ -1,29 +1,44 @@
|
|||||||
<section class="oe_container app">
|
<section class="oe_container app">
|
||||||
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
<div class="oe_span12">
|
<div class="oe_span12">
|
||||||
<h2 class="oe_slogan">12 Ready!! App Odoo Customize</h2>
|
<h2 class="oe_slogan">App Odoo Customize</h2>
|
||||||
|
<h1 class="text-danger text-center">
|
||||||
|
If you are using odoo enterprise, you can
|
||||||
|
<a href="https://www.odoo.com/apps/modules/11.0/app_web_enterprise/" target="_blank">
|
||||||
|
get this app for more customize
|
||||||
|
</a>
|
||||||
|
</h1>
|
||||||
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
||||||
<p>This moduld allows user to quickly customize and debranding Odoo. Quick debug, Language Switcher,
|
<p>This moduld allows user to quickly customize and debranding Odoo. Quick debug, Language Switcher,
|
||||||
Online Documentation Access,Quick Data Clear. </p>
|
Online Documentation Access,Quick Data Clear. </p>
|
||||||
<p>Support Odoo 12, 11, 10, 9. Including communicate and enterprise version. </p>
|
<p>Support Odoo 12, 11, 10, 9. Including communicate and enterprise version. </p>
|
||||||
<h3>Update: v11.19.1.20</h3>
|
<h3>Update: v12.19.04.17</h3>
|
||||||
|
<p>Add Customize Odoo Native Module(eg. Enterprise) Url</p>
|
||||||
|
<h3>Update: v12.19.3.15</h3>
|
||||||
|
<p>Add reset or clear website blog data</p>
|
||||||
|
<h3>Update: v12.19.3.12</h3>
|
||||||
|
<p>Optimize chinese translate and document.</p>
|
||||||
|
<p>Fix bug: Data clear.</p>
|
||||||
|
<h3>Update: v12.19.1.20</h3>
|
||||||
<p>Fix bug: Save config error.</p>
|
<p>Fix bug: Save config error.</p>
|
||||||
<h3>Update: v11.0.12.25</h3>
|
<h3>Update: v12.19.1.05</h3>
|
||||||
|
<p>Fix bug: If you install Muk moudle, odooapp customize would pop error like "attachment_location". Sometime you need to uninstall this app and restart odoo, install again to take affect.</p>
|
||||||
|
<h3>Update: v12.0.12.25</h3>
|
||||||
|
<p>add 22. Update online manual and developer document to odoo12.</p>
|
||||||
|
<h3>Update: v12.0.11.08</h3>
|
||||||
<p>Add 21. Reset Account Chart.</p>
|
<p>Add 21. Reset Account Chart.</p>
|
||||||
<h3>Update: v11.0.9.30</h3>
|
<h3>Update: v12.0.9.30</h3>
|
||||||
<p>Add 20. Show quick upgrade in app dashboard</p>
|
<p>Add 20. Show quick upgrade in app dashboard</p>
|
||||||
<h3>Update: v11.0.9.25</h3>
|
<h3>Update: v12.0.9.25</h3>
|
||||||
<p>Now ready for odoo 12, please email to me. guohuadeng@hotmail.com</p>
|
<p>Now ready for odoo 12, please email to me. guohuadeng@hotmail.com</p>
|
||||||
<h3>Update: v11.0.7.23</h3>
|
<h3>Update: v12.0.7.23</h3>
|
||||||
<p>Fix Login bug when install website.</p>
|
<p>Fix Login bug when install website.</p>
|
||||||
<p>Add 19. One Click to clear all data (Sometime pls click twice)</p>
|
<p>Add 19. One Click to clear all data (Sometime pls click twice)</p>
|
||||||
<p>Add 18. Show/Hide Author and Website in Apps Dashboard</p>
|
<p>Add 18. Show/Hide Author and Website in Apps Dashboard</p>
|
||||||
<div class="row">
|
<h1 class="text-primary">More Powerful addons:</h1>
|
||||||
<h1 class="col-md-6 text-primary">More Powerful addons:</h1>
|
<p class="">
|
||||||
<div class="col-md-6">
|
<a class="btn btn-block btn-success mt16 mb16" href="http://www.odoo.com/apps/modules/browse?author=Sunpop.cn">Sunpop.cn Awesome Odoo Addons</a>
|
||||||
<a class="btn btn-block btn-success mt16 mb16" href="http://www.odoo.com/apps/modules/browse?author=Sunpop.cn">Sunpop.cn Awesome Odoo Addons</a>
|
</p>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br>
|
<br>
|
||||||
<h3>Add Odoo 12, 11 Support</h3>
|
<h3>Add Odoo 12, 11 Support</h3>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
@@ -46,7 +61,9 @@
|
|||||||
<li class="list-group-item">17. Stop Odoo Auto Subscribe(Performance Improve)</li>
|
<li class="list-group-item">17. Stop Odoo Auto Subscribe(Performance Improve)</li>
|
||||||
<li class="list-group-item">18. Show/Hide Author and Website in Apps Dashboard (odoo 11 only)</li>
|
<li class="list-group-item">18. Show/Hide Author and Website in Apps Dashboard (odoo 11 only)</li>
|
||||||
<li class="list-group-item">19. One Click to clear all data (Sometime pls click twice)</li>
|
<li class="list-group-item">19. One Click to clear all data (Sometime pls click twice)</li>
|
||||||
<li class="list-group-item">20. Set System Icon (odoo 10 only)</li>
|
<li class="list-group-item">20. Show quick upgrade in app dashboard, click to show module info not go to odoo.com</li>
|
||||||
|
<li class="list-group-item">21. Can clear and reset account chart. Be cautious.</li>
|
||||||
|
<li class="list-group-item">22. Update online manual and developer document to odoo12.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
This module can help to white label the Odoo.
|
This module can help to white label the Odoo.
|
||||||
@@ -125,6 +142,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<div class="oe_demo"
|
||||||
|
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
||||||
|
<h2 class='oe_mt32'>Show quick upgrade in app dashboard, click to show module info not go to odoo.com</h2>
|
||||||
|
</div>
|
||||||
|
<p>No more redirect to odoo.com</p>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="set20.jpg" style="border:1px solid black"/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
<div class="oe_demo"
|
<div class="oe_demo"
|
||||||
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
||||||
@@ -137,6 +166,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<div class="oe_demo"
|
||||||
|
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
||||||
|
<h2 class='oe_mt32'>Customize Module Url(eg. Enterprise).</h2>
|
||||||
|
</div>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="set21.jpg" style="border:1px solid black"/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
<div class="oe_demo"
|
<div class="oe_demo"
|
||||||
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
|
||||||
@@ -148,6 +188,7 @@
|
|||||||
<br/>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="oe_container oe_dark">
|
<section class="oe_container oe_dark">
|
||||||
@@ -174,9 +215,9 @@
|
|||||||
<p><h4>
|
<p><h4>
|
||||||
Visit our website for more support.</h4></p>
|
Visit our website for more support.</h4></p>
|
||||||
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
class="btn btn-warning btn-lg" rel="nofollow" href="http://www.sunpop.cn" target="_blank"><span
|
class="btn btn-warning btn-lg" rel="nofollow" href="https://www.sunpop.cn" target="_blank"><span
|
||||||
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
<i class="fa fa-web"></i>http://www.sunpop.cn</a>
|
<i class="fa fa-web"></i>https://www.sunpop.cn</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
BIN
app_odoo_customize/static/description/set20.jpg
Normal file
|
After Width: | Height: | Size: 209 KiB |
BIN
app_odoo_customize/static/description/set21.jpg
Normal file
|
After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 75 KiB |
22
app_odoo_customize/static/src/xml/dashboard.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<templates xml:space="preserve">
|
||||||
|
<t t-extend="DashboardApps">
|
||||||
|
<t t-jquery=".o_web_settings_dashboard_pills" t-operation="replace">
|
||||||
|
<a href="https://www.sunpop.cn" target="_blank" class="flex-grow-1 w-25"><i class="fa fa-lg fa-rocket text-muted"/> App store</a>
|
||||||
|
<a href="https://www.sunpop.cn" target="_blank" class="flex-grow-1 w-25"><i class="fa fa-lg fa-picture-o text-muted"/> Theme store</a>
|
||||||
|
</t>
|
||||||
|
</t>
|
||||||
|
<!-- when enterprise-->
|
||||||
|
<!-- <t t-extend="DashboardMain">-->
|
||||||
|
<!-- <t t-jquery="a[href='https://play.google.com/store/apps/details?id=com.odoo.mobile']" t-operation="replace">-->
|
||||||
|
<!-- <a class="d-block mx-auto" href="https://www.sunpop.cn" target="_blank">-->
|
||||||
|
<!-- <img class="d-block mx-auto img img-fluid" src="/web_mobile/static/src/img/google_play.png" alt="On Google Play"/>-->
|
||||||
|
<!-- </a>-->
|
||||||
|
<!-- </t>-->
|
||||||
|
<!-- <t t-jquery="a[href='https://itunes.apple.com/us/app/odoo/id1272543640']" t-operation="replace">-->
|
||||||
|
<!-- <a class="d-block mx-auto" href="https://www.sunpop.cn" target="_blank">-->
|
||||||
|
<!-- <img class="d-block mx-auto img img-fluid" src="/web_mobile/static/src/img/app_store.png" alt="On Apple Store"/>-->
|
||||||
|
<!-- </a>-->
|
||||||
|
<!-- </t>-->
|
||||||
|
<!-- </t>-->
|
||||||
|
</templates>
|
||||||
4
app_product_category_chart/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import models
|
||||||
69
app_product_category_chart/__manifest__.py
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# -*- 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': 'Category Chart Hierarchy, 产品目录多层级结构图',
|
||||||
|
'version': '11.19.04.09',
|
||||||
|
'author': 'Sunpop.cn',
|
||||||
|
'category': 'Base',
|
||||||
|
'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.
|
||||||
|
""",
|
||||||
|
'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': [
|
||||||
|
'product',
|
||||||
|
],
|
||||||
|
'images': ['static/description/banner.gif'],
|
||||||
|
'data': [
|
||||||
|
'views/product_category_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,
|
||||||
|
}
|
||||||
2
app_product_category_chart/controllers/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
67
app_product_category_chart/i18n/zh_CN.po
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * app_product_category_chart
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 12.0+e-20190301\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2019-04-09 00:38+0000\n"
|
||||||
|
"PO-Revision-Date: 2019-04-09 00:38+0000\n"
|
||||||
|
"Last-Translator: <>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_product_category_chart.app_product_category_form_view
|
||||||
|
msgid "Hierarchy Chart"
|
||||||
|
msgstr "目录结构图"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image
|
||||||
|
msgid "Image"
|
||||||
|
msgstr "图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__child_all_count
|
||||||
|
msgid "Indirect Surbordinates Count"
|
||||||
|
msgstr "非直接下属数量"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image_medium
|
||||||
|
msgid "Medium-sized image"
|
||||||
|
msgstr "中等尺寸图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image_medium
|
||||||
|
msgid "Medium-sized image of this Category. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_product_category_chart.app_product_category_form_view
|
||||||
|
msgid "Please get widget from https://apps.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model,name:app_product_category_chart.model_product_category
|
||||||
|
msgid "Product Category"
|
||||||
|
msgstr "产品种类"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,field_description:app_product_category_chart.field_product_category__image_small
|
||||||
|
msgid "Small-sized image"
|
||||||
|
msgstr "小尺寸图像"
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image_small
|
||||||
|
msgid "Small-sized image of this Category. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_product_category_chart
|
||||||
|
#: model:ir.model.fields,help:app_product_category_chart.field_product_category__image
|
||||||
|
msgid "This field holds the image used as avatar for this category, limited to 1024x1024px"
|
||||||
|
msgstr "目录图像最大为 1024x1024px"
|
||||||
|
|
||||||
4
app_product_category_chart/models/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import product_category
|
||||||
41
app_product_category_chart/models/product_category.py
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from odoo import api, fields, models, tools, _
|
||||||
|
|
||||||
|
|
||||||
|
class ProductCategory(models.Model):
|
||||||
|
_inherit = "product.category"
|
||||||
|
|
||||||
|
# 目录图片,可显示小图标,
|
||||||
|
# image: all image fields are base64 encoded and PIL-supported
|
||||||
|
image = fields.Binary("Image", attachment=True,
|
||||||
|
help="This field holds the image used as avatar for this category, limited to 1024x1024px",)
|
||||||
|
image_medium = fields.Binary("Medium-sized image", attachment=True,
|
||||||
|
help="Medium-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field in form views or some kanban views.")
|
||||||
|
image_small = fields.Binary("Small-sized image", attachment=True,
|
||||||
|
help="Small-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field anywhere a small image is required.")
|
||||||
|
|
||||||
|
child_all_count = fields.Integer(
|
||||||
|
'Indirect Surbordinates Count',
|
||||||
|
compute='_compute_child_all_count', store=False)
|
||||||
|
|
||||||
|
@api.model_create_multi
|
||||||
|
def create(self, vals_list):
|
||||||
|
for vals in vals_list:
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(ProductCategory, self).create(vals_list)
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def write(self, vals):
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(ProductCategory, self).write(vals)
|
||||||
|
|
||||||
|
@api.depends('child_id.child_all_count')
|
||||||
|
def _compute_child_all_count(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.child_all_count = len(rec.child_id) + sum(child.child_all_count for child in rec.child_id)
|
||||||
BIN
app_product_category_chart/static/description/banner.gif
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
app_product_category_chart/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
app_product_category_chart/static/description/demo1.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
app_product_category_chart/static/description/demo2.jpg
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
app_product_category_chart/static/description/demo4.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
app_product_category_chart/static/description/demo5.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
app_product_category_chart/static/description/demo6.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
app_product_category_chart/static/description/demo7.jpg
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
app_product_category_chart/static/description/demo9.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
app_product_category_chart/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
190
app_product_category_chart/static/description/index.html
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<h2 class="oe_slogan" style="color:#875A7B;">Product Category Chart Hierarchy</h2>
|
||||||
|
<h3 class="oe_slogan">Very useful for show parent child relationship, like product category, stock location, hr department</h3>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b> Key features: </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Easy to make show parent children Chart Hierarchy.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in product category.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in stock location.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in hr department, employee.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in Account chart.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Free to Use in User Alliance Distribution Multi level.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
It's a widget, you can use it in anywhere in odoo.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="oe_slogan">Buy
|
||||||
|
<a href="https://www.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/">
|
||||||
|
this 1 chart hierarchy
|
||||||
|
</a>
|
||||||
|
in odoo Store. Get free 4 related free apps.
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<div class="oe_span12">
|
||||||
|
<img class="oe_demo oe_screenshot" src="banner.gif">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b>Get relate Demo </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_product_category_chart/" target="_blank">Product category chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_stock_location_chart/" target="_blank">Stock Location chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_hr_department_chart/" target="_blank">hr department employee chart hierarchy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_account_account_chart/" target="_blank">Account chart hierarchy(chinese only)</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_users_chart_hierarchy/" target="_blank">User Alliance Distribution Multi level</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Product category Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Show sub category and quick access category</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo2.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Stock Location Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo4.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">HR Department Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo5.jpg">
|
||||||
|
</div>
|
||||||
|
<h1 class="text-danger text-center">HR Emploee Chart Hierarchy (this is include in odoo)</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo6.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">Account Chart Hierarchy</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo7.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">User Alliance Distribution Multi level</h1>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="demo9.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Easy to setup just use widget='web_chart_hierarchy'. like this</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup1.jpg">
|
||||||
|
</div>
|
||||||
|
<h4 class="oe_slogan">Also need to change view for better ui</h4>
|
||||||
|
<div class="oe_demo oe_screenshot">
|
||||||
|
<img src="setup2.jpg">
|
||||||
|
</div>
|
||||||
|
<h1><br/> Use follow param to setup widget:<br/></h1>
|
||||||
|
<h4>image: --the field of image.</h4>
|
||||||
|
<h4>desc: --the field of subtitle.</h4>
|
||||||
|
<h4>direct_sub: --the field of sub node.</h4>
|
||||||
|
<h4>child_all_count: --the field of node count.</h4>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container oe_dark">
|
||||||
|
<div class="oe_row oe_spaced text-center">
|
||||||
|
<div class="oe_span12">
|
||||||
|
<h2 class="oe_slogan">Technical Help & Support</h2>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 pad0">
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
For any type of technical help & support requests, Feel free to contact us</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:guohuadeng@hotmail.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> guohuadeng@hotmail.com</a>
|
||||||
|
<p><h4>
|
||||||
|
Via QQ: 300883</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-envelope"></i> 300883@qq.com</a>
|
||||||
|
</div>
|
||||||
|
<div class="oe_mt16">
|
||||||
|
<p><h4>
|
||||||
|
Visit our website for more support.</h4></p>
|
||||||
|
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
|
||||||
|
class="btn btn-warning btn-lg" rel="nofollow" href="https://www.sunpop.cn" target="_blank"><span
|
||||||
|
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
|
||||||
|
<i class="fa fa-web"></i>https://www.sunpop.cn</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
BIN
app_product_category_chart/static/description/setup1.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
app_product_category_chart/static/description/setup2.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
app_product_category_chart/static/img/专家顾问.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/值班经理.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/内部往来挂账.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
app_product_category_chart/static/img/办公家具.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
app_product_category_chart/static/img/半成品质检.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
app_product_category_chart/static/img/原材料.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/成品.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/所有.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
app_product_category_chart/static/img/旅游.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/服务.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/消耗品.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/管理.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
app_product_category_chart/static/img/费用管理.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
app_product_category_chart/static/img/软件.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
app_product_category_chart/static/img/运费.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app_product_category_chart/static/img/销售.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
44
app_product_category_chart/views/product_category_views.xml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_product_category_form_view" model="ir.ui.view">
|
||||||
|
<field name="name">app.product.category.form</field>
|
||||||
|
<field name="model">product.category</field>
|
||||||
|
<field name="inherit_id" ref="product.product_category_form_view"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//div[@class='oe_button_box']" position="after">
|
||||||
|
<div id="o_node_container">
|
||||||
|
<div id="o_node_main">
|
||||||
|
<field name="image" widget="image" class="oe_avatar"
|
||||||
|
options="{'preview_image': 'image_medium', 'size': [90, 90]}"/>
|
||||||
|
<span id="add_title"/>
|
||||||
|
<span id="add_group"/>
|
||||||
|
</div>
|
||||||
|
<div id="o_node_right">
|
||||||
|
<h4 class="o_chart_hierarchy_title mb16 mt0">Hierarchy Chart</h4>
|
||||||
|
<field name="child_id" widget="web_chart_hierarchy"
|
||||||
|
string="Please get widget from https://apps.odoo.com/apps/modules/12.0/app_web_chart_hierarchy/"
|
||||||
|
options="{
|
||||||
|
'image': 'image_small',
|
||||||
|
'desc': 'ref',
|
||||||
|
'direct_sub': 'child_id',
|
||||||
|
'child_all_count':'child_all_count'}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="app_product_category_form_view2" model="ir.ui.view">
|
||||||
|
<field name="name">app.product.category.form2</field>
|
||||||
|
<field name="model">product.category</field>
|
||||||
|
<field name="inherit_id" ref="app_product_category_form_view"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//span[@id='add_title']" position="after">
|
||||||
|
<xpath expr="//div[@class='oe_title']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//span[@id='add_group']" position="after">
|
||||||
|
<xpath expr="//group[@name='first']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
4
app_stock_location_chart/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import models
|
||||||
70
app_stock_location_chart/__manifest__.py
Normal file
@@ -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': 'Stock Location Chart Hierarchy, 仓库库位多层级结构图',
|
||||||
|
'version': '11.19.04.09',
|
||||||
|
'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.
|
||||||
|
""",
|
||||||
|
'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': [
|
||||||
|
'stock',
|
||||||
|
],
|
||||||
|
'images': ['static/description/banner.gif'],
|
||||||
|
'data': [
|
||||||
|
'views/stock_location_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,
|
||||||
|
}
|
||||||
|
|
||||||
2
app_stock_location_chart/controllers/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
112
app_stock_location_chart/i18n/zh_CN.po
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * app_catetory_chart_hierarchy
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Martin Trigaux, 2018
|
||||||
|
# 珠海-杜哥 <liangjia@qq.com>, 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: 珠海-杜哥 <liangjia@qq.com>, 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_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:137
|
||||||
|
#, python-format
|
||||||
|
msgid "Direct Subordinates of %s"
|
||||||
|
msgstr "%s的直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:126
|
||||||
|
#, python-format
|
||||||
|
msgid "Direct subordinates"
|
||||||
|
msgstr "直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model:ir.model,name:app_catetory_chart_hierarchy.model_product.category
|
||||||
|
msgid "node"
|
||||||
|
msgstr "员工"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:89
|
||||||
|
#, python-format
|
||||||
|
msgid "In order to get an organigram, set a parent and save the record."
|
||||||
|
msgstr "为了获取组织图,请设置一个上司然后保存"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:147
|
||||||
|
#, python-format
|
||||||
|
msgid "Indirect Subordinates of %s"
|
||||||
|
msgstr "%s的非直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model:ir.model.fields,field_description:app_catetory_chart_hierarchy.field_product.category__child_all_count
|
||||||
|
msgid "Indirect Surbordinates Count"
|
||||||
|
msgstr "非直接下属数量"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:136
|
||||||
|
#, python-format
|
||||||
|
msgid "Indirect subordinates"
|
||||||
|
msgstr "非直接下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:66
|
||||||
|
#, python-format
|
||||||
|
msgid "More parents"
|
||||||
|
msgstr "更多管理员"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:87
|
||||||
|
#, python-format
|
||||||
|
msgid "No hierarchy position."
|
||||||
|
msgstr "没有层级位置"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_catetory_chart_hierarchy.product.category_view_form_inherit_chart_hierarchy
|
||||||
|
msgid "Organization Chart"
|
||||||
|
msgstr "组织图表"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:155
|
||||||
|
#, python-format
|
||||||
|
msgid "Redirect"
|
||||||
|
msgstr "重定向"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/js/app_catetory_chart_hierarchy.js:140
|
||||||
|
#, python-format
|
||||||
|
msgid "Subordinates of %s"
|
||||||
|
msgstr "%s的下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:88
|
||||||
|
#, python-format
|
||||||
|
msgid "This employee has no parent or subordinate."
|
||||||
|
msgstr "该员工没有上司或下属"
|
||||||
|
|
||||||
|
#. module: app_catetory_chart_hierarchy
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/app_catetory_chart_hierarchy/static/src/xml/app_catetory_chart_hierarchy.xml:144
|
||||||
|
#, python-format
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "合计"
|
||||||
4
app_stock_location_chart/models/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from . import stock_location
|
||||||
41
app_stock_location_chart/models/stock_location.py
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||||
|
|
||||||
|
from odoo import api, fields, models, tools, _
|
||||||
|
|
||||||
|
|
||||||
|
class Location(models.Model):
|
||||||
|
_inherit = "stock.location"
|
||||||
|
|
||||||
|
# 目录图片,可显示小图标,
|
||||||
|
# image: all image fields are base64 encoded and PIL-supported
|
||||||
|
image = fields.Binary("Image", attachment=True,
|
||||||
|
help="This field holds the image used as avatar for this category, limited to 1024x1024px",)
|
||||||
|
image_medium = fields.Binary("Medium-sized image", attachment=True,
|
||||||
|
help="Medium-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field in form views or some kanban views.")
|
||||||
|
image_small = fields.Binary("Small-sized image", attachment=True,
|
||||||
|
help="Small-sized image of this Category. It is automatically "\
|
||||||
|
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||||
|
"Use this field anywhere a small image is required.")
|
||||||
|
|
||||||
|
child_all_count = fields.Integer(
|
||||||
|
'Indirect Surbordinates Count',
|
||||||
|
compute='_compute_child_all_count', store=False)
|
||||||
|
|
||||||
|
@api.model_create_multi
|
||||||
|
def create(self, vals_list):
|
||||||
|
for vals in vals_list:
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(Location, self).create(vals_list)
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def write(self, vals):
|
||||||
|
tools.image_resize_images(vals)
|
||||||
|
return super(Location, self).write(vals)
|
||||||
|
|
||||||
|
@api.depends('child_ids.child_all_count')
|
||||||
|
def _compute_child_all_count(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids)
|
||||||
BIN
app_stock_location_chart/static/description/banner.gif
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
app_stock_location_chart/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
app_stock_location_chart/static/description/demo1.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
app_stock_location_chart/static/description/demo2.jpg
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
app_stock_location_chart/static/description/demo4.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
app_stock_location_chart/static/description/demo5.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
app_stock_location_chart/static/description/demo6.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
app_stock_location_chart/static/description/demo7.jpg
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
app_stock_location_chart/static/description/demo9.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |