opt
4
app_account_chinese_ztree/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from . import models
|
||||||
|
from .hooks import post_init_hook
|
||||||
62
app_account_chinese_ztree/__manifest__.py
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Created on 2018-08-15
|
||||||
|
# author: 广州尚鹏,http://www.sunpop.cn
|
||||||
|
# email: 300883@qq.com
|
||||||
|
# resource of Sunpop
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
# Odoo在线中文用户手册(长期更新)
|
||||||
|
# http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html
|
||||||
|
|
||||||
|
# Odoo10离线中文用户手册下载
|
||||||
|
# http://www.sunpop.cn/odoo10_user_manual_document_offline/
|
||||||
|
# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备)
|
||||||
|
# http://www.sunpop.cn/odoo10_developer_document_offline/
|
||||||
|
# description:
|
||||||
|
|
||||||
|
{
|
||||||
|
'name': "App Multi Level Account Chart, parent children tree",
|
||||||
|
'version': '12.0.12.14',
|
||||||
|
'author': 'Sunpop.cn',
|
||||||
|
'category': 'Base',
|
||||||
|
'website': 'http://www.sunpop.cn',
|
||||||
|
'license': 'LGPL-3',
|
||||||
|
'sequence': 2,
|
||||||
|
'summary': """
|
||||||
|
Use for parent children tree list select navigator. Multi Level Account Chart tree.
|
||||||
|
ztree widget.
|
||||||
|
""",
|
||||||
|
'description': """
|
||||||
|
zTree widget.
|
||||||
|
Advance search with real parent children tree, ListView or KanbanView ,
|
||||||
|
eg: Account Chart tree, Product category tree,Department tree, stock location tree.
|
||||||
|
超级方便的查询,树状视图。
|
||||||
|
""",
|
||||||
|
'price': 0.00,
|
||||||
|
'currency': 'EUR',
|
||||||
|
'depends': [
|
||||||
|
'account',
|
||||||
|
'l10n_cn_standard_lastest',
|
||||||
|
],
|
||||||
|
'images': ['static/description/banner.gif'],
|
||||||
|
'data': [
|
||||||
|
'views/account_views.xml',
|
||||||
|
],
|
||||||
|
'demo': [
|
||||||
|
],
|
||||||
|
'test': [
|
||||||
|
],
|
||||||
|
'css': [
|
||||||
|
],
|
||||||
|
'qweb': [
|
||||||
|
'static/src/xml/*.xml',
|
||||||
|
],
|
||||||
|
'js': [
|
||||||
|
],
|
||||||
|
'post_load': None,
|
||||||
|
'post_init_hook': 'post_init_hook',
|
||||||
|
'installable': True,
|
||||||
|
'application': True,
|
||||||
|
'auto_install': False,
|
||||||
|
}
|
||||||
20
app_account_chinese_ztree/hooks.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Created on 2018-10-12
|
||||||
|
# author: 广州尚鹏,http://www.sunpop.cn
|
||||||
|
# email: 300883@qq.com
|
||||||
|
# resource of Sunpop
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
# Odoo在线中文用户手册(长期更新)
|
||||||
|
# http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html
|
||||||
|
|
||||||
|
# Odoo10离线中文用户手册下载
|
||||||
|
# http://www.sunpop.cn/odoo10_user_manual_document_offline/
|
||||||
|
# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备)
|
||||||
|
# http://www.sunpop.cn/odoo10_developer_document_offline/
|
||||||
|
# description:
|
||||||
|
|
||||||
|
def post_init_hook(cr, pool):
|
||||||
|
pass
|
||||||
|
# cr.execute("")
|
||||||
14
app_account_chinese_ztree/i18n/zh_CN.po
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-01-08 14:28+0000\n"
|
||||||
|
"PO-Revision-Date: 2018-01-08 14:28+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"
|
||||||
1
app_account_chinese_ztree/models/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
2
app_account_chinese_ztree/report/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
BIN
app_account_chinese_ztree/static/description/banner.gif
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
BIN
app_account_chinese_ztree/static/description/demo1.jpg
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
app_account_chinese_ztree/static/description/demo11.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
app_account_chinese_ztree/static/description/demo12.jpg
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
app_account_chinese_ztree/static/description/demo2.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
app_account_chinese_ztree/static/description/demo3.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
app_account_chinese_ztree/static/description/demo4.jpg
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
app_account_chinese_ztree/static/description/demo5.jpg
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
app_account_chinese_ztree/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
179
app_account_chinese_ztree/static/description/index.html
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
|
<h2 class="oe_slogan" style="color:#875A7B;">App ztree widget, for parent children tree list. Demo for hr department employee</h2>
|
||||||
|
<h3 class="oe_slogan">Very useful for 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 custom parent children tree.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Use in product category.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Use in stock location.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Use in hr department, employee.
|
||||||
|
</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>
|
||||||
|
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
|
||||||
|
<i class="fa fa-hand-o-right"></i><b>Extend features(Need extra module, release soon): </b>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
Easy to navigate product, employee in tree or kanban view.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</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 Module </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_web_widget_ztree/" target="_blank" class="text-danger">zTree widget (must need to use in following demo).</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_product_ztree/" target="_blank">Product and category.</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_stock_ztree/" target="_blank">Stock and Location.</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-link text-primary"></i>
|
||||||
|
<a href="http://www.odoo.com/apps/modules/12.0/app_hr_ztree/" target="_blank">hr department and employee.</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Use in hr department.</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo4.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Use in hr employee.</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo5.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Use in product.</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo2.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Use in product category.</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo1.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Use in stock location.</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo3.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h1> </h1>
|
||||||
|
<h1 class="text-danger text-center">(!Need extra module and pay, release soon)Easy to navigator.</h1>
|
||||||
|
<h4 class="oe_slogan">Product, employee in kanban view</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo11.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">(!Need extra module and pay, release soon)List view</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="demo12.jpg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="oe_container">
|
||||||
|
<div class="oe_row oe_spaced">
|
||||||
|
<h4 class="oe_slogan">Easy to setup just use widget='widget_select'. like this</h4>
|
||||||
|
<div class="oe_demo oe_picture oe_screenshot">
|
||||||
|
<img src="setup1.jpg">
|
||||||
|
</div>
|
||||||
|
<h1><br/> Use follow param to setup widget:<br/></h1>
|
||||||
|
<h4>ztree_parent_key: --the key field of parent children relation.</h4>
|
||||||
|
<h4>ztree_expend_level: --how many level to expend the tree for initialize. Default is 2</h4>
|
||||||
|
<h4>limit: --how many record to show ztree. Default is 16</h4>
|
||||||
|
<h4>order: --the field to order by</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="http://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>http://www.sunpop.cn</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
BIN
app_account_chinese_ztree/static/description/setup1.jpg
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
app_account_chinese_ztree/static/img/icon_sunpop.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
app_account_chinese_ztree/static/img/logo_sunpop.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
17
app_account_chinese_ztree/views/account_views.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<odoo>
|
||||||
|
<data>
|
||||||
|
<!-- account -->
|
||||||
|
<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="l10n_cn_standard_lastest.app_view_account_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='parent_id']" position="attributes">
|
||||||
|
<!-- Add your fields or attributes here -->
|
||||||
|
<attribute name="widget">ztree_select</attribute>
|
||||||
|
<attribute name="ztree_parent_key">parent_id</attribute>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</data>
|
||||||
|
</odoo>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
<!-- Country -->
|
<!-- Country -->
|
||||||
<record id="base.cn" model="res.country">
|
<record id="base.cn" model="res.country">
|
||||||
<field eval="'%(country_name)s,%(state_name)s%(city)s,%(street)s%(street2)s %(zip)s'" name="address_format" />
|
<field eval="'%(country_name)s,%(state_name)s%(city)s,%(zip)s\n%(street)s\n%(street2)s'" name="address_format" />
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -19,24 +19,17 @@
|
|||||||
<field name="credit_limit"/>
|
<field name="credit_limit"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<!--res.partner客户 地址中国化 -->
|
<!--res.partner客户 地址中国化 -->
|
||||||
<xpath expr="//div[@class='o_address_format']" position="replace">
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
<div class="o_address_format">
|
<xpath expr="//field[@name='country_id']" position="move"/>
|
||||||
<div class="oe_edit_only">
|
</xpath>
|
||||||
<button name="open_parent" type="object" string="(edit)" class="oe_link"
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'contact')]}"/>
|
<xpath expr="//field[@name='state_id']" position="move"/>
|
||||||
</div>
|
</xpath>
|
||||||
<field name="country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
|
<xpath expr="//field[@name='city']" position="move"/>
|
||||||
<field name="state_id" class="o_address_state" placeholder="State" options='{"no_open": True}'
|
</xpath>
|
||||||
attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" context="{'country_id': country_id, 'zip': zip}"/>
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
<field name="city" placeholder="City" class="o_address_city"
|
<xpath expr="//field[@name='zip']" position="move"/>
|
||||||
attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
|
|
||||||
<field name="zip" placeholder="ZIP" class="o_address_zip"
|
|
||||||
attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
|
|
||||||
<field name="street" placeholder="Street..." class="o_address_street"
|
|
||||||
attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
|
|
||||||
<field name="street2" invisible="1"/>
|
|
||||||
</div>
|
|
||||||
</xpath>
|
</xpath>
|
||||||
<!-- res.partner联系人 form -->
|
<!-- res.partner联系人 form -->
|
||||||
<!-- 所有类型联系人默认都不是客户,不是供应商-->
|
<!-- 所有类型联系人默认都不是客户,不是供应商-->
|
||||||
@@ -56,57 +49,101 @@
|
|||||||
<attribute name="required">1</attribute>
|
<attribute name="required">1</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<!-- 联系人也显示地址,中国格式 -->
|
<!-- 联系人也显示地址,中国格式 -->
|
||||||
<xpath expr="//page//field[@name='child_ids']//form[1]//group//group" position="replace">
|
<!--res.partner客户 地址中国化 -->
|
||||||
<group attrs="">
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='street']" position="before">
|
||||||
<label for="street" string="Address"/>
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='country_id']" position="move"/>
|
||||||
<div>
|
|
||||||
<div class="o_address_format" name="div_address">
|
|
||||||
<field name="country_id" placeholder="Country" class="o_address_country"
|
|
||||||
options='{"no_open": True, "no_create": True}'/>
|
|
||||||
<field name="state_id" class="o_address_state" placeholder="State"
|
|
||||||
options='{"no_open": True}' context="{'country_id': country_id, 'zip': zip}"/>
|
|
||||||
<field name="city" placeholder="City" class="o_address_city"/>
|
|
||||||
<field name="zip" placeholder="ZIP" class="o_address_zip"/>
|
|
||||||
<field name="street" placeholder="Street..." class="o_address_street"/>
|
|
||||||
<field name="street2" invisible="1"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</group>
|
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='state_id']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='city']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='child_ids']//form[1]//field[@name='zip']" position="move"/>
|
||||||
|
</xpath>
|
||||||
<!-- res.partner联系人 kanban -->
|
<!-- res.partner联系人 kanban -->
|
||||||
<!-- 显示类型和地址等 -->
|
<!-- 显示类型和地址等 -->
|
||||||
<xpath expr="//page//field[@name='child_ids']//kanban[1]//templates//div[@class='oe_kanban_details']" position="replace">
|
<xpath expr="//field[@name='child_ids']//kanban[1]//templates//field[@name='name']" position="before">
|
||||||
<div class="oe_kanban_details">
|
<t t-if="record.ref.raw_value">[<field name="ref"/>]</t>
|
||||||
<div>
|
</xpath>
|
||||||
[<field name="ref"/>]
|
<xpath expr="//field[@name='child_ids']//kanban[1]//templates//field[@name='name']" position="after">
|
||||||
<strong>
|
<div t-if="record.type.raw_value"><field name="type"/></div>
|
||||||
<field name="name"/>
|
</xpath>
|
||||||
</strong>
|
</field>
|
||||||
</div>
|
</record>
|
||||||
<div>
|
|
||||||
<field name="type"/>
|
<!--res.partner open地址中国化 -->
|
||||||
</div>
|
<record id="app_view_partner_address_form" model="ir.ui.view">
|
||||||
<div t-if="record.function.raw_value">
|
<field name="name">app.res.partner.form.address</field>
|
||||||
<field name="function"/>
|
<field name="model">res.partner</field>
|
||||||
</div>
|
<field name="inherit_id" ref="base.view_partner_address_form"/>
|
||||||
<div t-if="record.email.raw_value">
|
<field name="arch" type="xml">
|
||||||
<field name="email"/>
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
</div>
|
<xpath expr="//field[@name='country_id']" position="move"/>
|
||||||
<div>
|
</xpath>
|
||||||
<field t-if="record.state_id.raw_value" name="state_id"/>
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
<div>
|
<xpath expr="//field[@name='state_id']" position="move"/>
|
||||||
<field name="city"/>
|
</xpath>
|
||||||
<field name="street"/>
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
<field name="zip" invisible="1"/>
|
<xpath expr="//field[@name='city']" position="move"/>
|
||||||
</div>
|
</xpath>
|
||||||
</div>
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
<div t-if="record.phone.raw_value">Tel:
|
<xpath expr="//field[@name='zip']" position="move"/>
|
||||||
<field name="phone"/>
|
</xpath>
|
||||||
</div>
|
</field>
|
||||||
<div t-if="record.mobile.raw_value">Mobile:
|
</record>
|
||||||
<field name="mobile"/>
|
<!--res.partner open地址中国化 -->
|
||||||
</div>
|
<record id="app_view_partner_short_form" model="ir.ui.view">
|
||||||
</div>
|
<field name="name">app.res.partner.form</field>
|
||||||
|
<field name="model">res.partner</field>
|
||||||
|
<field name="inherit_id" ref="base.view_partner_short_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='country_id']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='state_id']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='city']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='zip']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<!--res.partner 私人地址中国化 -->
|
||||||
|
<record id="app_res_partner_view_form_private" model="ir.ui.view">
|
||||||
|
<field name="name">app.res.partner.view.form.private</field>
|
||||||
|
<field name="model">res.partner</field>
|
||||||
|
<field name="inherit_id" ref="base.res_partner_view_form_private"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='country_id']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='state_id']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='city']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='street']" position="before">
|
||||||
|
<xpath expr="//field[@name='zip']" position="move"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="app_view_partner_tree" model="ir.ui.view">
|
||||||
|
<field name="name">app.res.partner.tree</field>
|
||||||
|
<field name="model">res.partner</field>
|
||||||
|
<field name="inherit_id" ref="base.view_partner_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='phone']" position="before">
|
||||||
|
<field name="mobile"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='email']" position="after">
|
||||||
|
<field name="category_id"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ class SaleOrderLine(models.Model):
|
|||||||
# weight_uom_name = fields.Char(string='Weight Measure', related='product_id.weight_uom_id.name', readonly=True)
|
# weight_uom_name = fields.Char(string='Weight Measure', related='product_id.weight_uom_id.name', readonly=True)
|
||||||
weight = fields.Float(string='Weight', related='product_id.weight', store=True, readonly=True)
|
weight = fields.Float(string='Weight', related='product_id.weight', store=True, readonly=True)
|
||||||
weight_subtotal = fields.Float(string='Weight Subtotal', compute='_compute_weight_subtotal',
|
weight_subtotal = fields.Float(string='Weight Subtotal', compute='_compute_weight_subtotal',
|
||||||
inverse='_set_weight_subtotal', store=True)
|
inverse='_set_weight_subtotal', store=True)
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
@api.depends('product_id', 'product_uom', 'product_uom_qty')
|
@api.depends('product_id', 'weight', 'product_uom', 'product_uom_qty')
|
||||||
def _compute_weight_subtotal(self):
|
def _compute_weight_subtotal(self):
|
||||||
for line in self:
|
for line in self:
|
||||||
weight_subtotal = 0
|
weight_subtotal = 0
|
||||||
|
|||||||
@@ -10,18 +10,15 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': '2018最新中国企业会计表.Latest Chinese Accounting.',
|
'name': '2018最新中国企业会计表.Latest Chinese Accounting.',
|
||||||
'version': '12.0.11.14',
|
'version': '12.0.12.14',
|
||||||
'author': 'Sunpop.cn',
|
'author': 'Sunpop.cn',
|
||||||
'category': 'Localization',
|
'category': 'Localization',
|
||||||
'website': 'http://www.sunpop.cn',
|
'website': 'http://www.sunpop.cn',
|
||||||
'license': 'LGPL-3',
|
'license': 'LGPL-3',
|
||||||
'sequence': 12,
|
'sequence': 12,
|
||||||
'summary': """
|
'summary': """
|
||||||
Chinese enhance. Focus on account chart.
|
Multi level account chart. Chinese enhance. Focus on account chart.
|
||||||
update tax.
|
Add account chart group data. Account group, Chinese tax.
|
||||||
add account chart group data.
|
|
||||||
Set account group.
|
|
||||||
Set chinese tax.
|
|
||||||
Set chinese account report.
|
Set chinese account report.
|
||||||
""",
|
""",
|
||||||
'description': """
|
'description': """
|
||||||
@@ -31,7 +28,7 @@
|
|||||||
2. 将菜单中设置为"财务"。
|
2. 将菜单中设置为"财务"。
|
||||||
3. 补充分类及标签信息。
|
3. 补充分类及标签信息。
|
||||||
4. 更新税信息。
|
4. 更新税信息。
|
||||||
5. 增加树状结构,可设置上级科目,配合 "app_web_superbar" 使用可轻易实现树状导航。
|
5. 增加树状结构,支持二级科目,可设置上级科目,配合 "app_web_superbar" 使用可轻易实现树状导航。
|
||||||
6. 使用金蝶的会计科目命名法对多级科目进行初始化。可自行调整为用友科目命名法
|
6. 使用金蝶的会计科目命名法对多级科目进行初始化。可自行调整为用友科目命名法
|
||||||
7. 注意,必须在没有业务数据,没有会计科目的初始环境。可以使用 "app_odoo_customize" 模块清除财务数据,重置会计科目。
|
7. 注意,必须在没有业务数据,没有会计科目的初始环境。可以使用 "app_odoo_customize" 模块清除财务数据,重置会计科目。
|
||||||
|
|
||||||
|
|||||||