mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
update app-odoo , app base
This commit is contained in:
@@ -32,14 +32,14 @@
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': "Base Pro, 基础增强",
|
||||
'version': '13.19.10.16',
|
||||
'name': "Partner set customer vendor",
|
||||
'version': '13.19.10.28',
|
||||
'author': 'Sunpop.cn',
|
||||
'category': 'Base',
|
||||
'website': 'https://www.sunpop.cn',
|
||||
'license': 'LGPL-3',
|
||||
'sequence': 2,
|
||||
'price': 0.00,
|
||||
'price': 18.00,
|
||||
'currency': 'EUR',
|
||||
'images': ['static/description/banner.png'],
|
||||
'depends': [
|
||||
@@ -47,12 +47,13 @@
|
||||
'purchase',
|
||||
],
|
||||
'summary': """
|
||||
Add customer, vendor (supplier) field to partner model and views.
|
||||
Set and view partner type: customer or vendor.
|
||||
Odoo App of Sunpop.cn
|
||||
""",
|
||||
'description': """
|
||||
Support Odoo 13,12, 11, Enterprise and Community Edition
|
||||
1. Add customer, supplier field to partner
|
||||
2.
|
||||
Support Odoo 13, Enterprise and Community Edition
|
||||
1. Add customer, vendor field to partner
|
||||
3. Multi-language Support.
|
||||
4. Multi-Company Support.
|
||||
5. Support Odoo 13,12, 11, Enterprise and Community Edition
|
||||
|
||||
@@ -23,6 +23,14 @@ def pre_init_hook(cr):
|
||||
# cr.execute("")
|
||||
|
||||
def post_init_hook(cr, registry):
|
||||
try:
|
||||
#
|
||||
sql = "UPDATE res_partner SET customer = TRUE WHERE customer_rank >= 1;"
|
||||
cr.execute(sql)
|
||||
sql = "UPDATE res_partner SET supplier = TRUE WHERE supplier_rank >= 1"
|
||||
cr.execute(sql)
|
||||
except Exception as e:
|
||||
pass
|
||||
pass
|
||||
# cr.execute("")
|
||||
|
||||
|
||||
@@ -24,7 +24,41 @@ from odoo.tools import pycompat
|
||||
|
||||
class Partner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
customer = fields.Boolean(string='Is a Customer', default=True,
|
||||
|
||||
def _get_default_customer(self):
|
||||
search_partner_mode = self.env.context.get('res_partner_search_mode')
|
||||
is_customer = search_partner_mode == 'customer'
|
||||
if is_customer and not self.env.context.get('default_customer'):
|
||||
return is_customer
|
||||
else:
|
||||
return None
|
||||
|
||||
def _get_default_supplier(self):
|
||||
search_partner_mode = self.env.context.get('res_partner_search_mode')
|
||||
is_supplier = search_partner_mode == 'supplier'
|
||||
if is_supplier and not self.env.context.get('default_supplier'):
|
||||
return is_supplier
|
||||
else:
|
||||
return None
|
||||
|
||||
customer = fields.Boolean(string='Is a Customer', default=_get_default_customer, inverse='_set_customer',
|
||||
help="Check this box if this contact is a customer. It can be selected in sales orders.")
|
||||
supplier = fields.Boolean(string='Is a Vendor',
|
||||
supplier = fields.Boolean(string='Is a Vendor', default=_get_default_supplier, inverse='_set_supplier',
|
||||
help="Check this box if this contact is a vendor. It can be selected in purchase orders.")
|
||||
|
||||
def _set_customer(self):
|
||||
for rec in self:
|
||||
if rec.customer:
|
||||
if rec.customer_rank < 1 or not rec.customer_rank:
|
||||
rec.customer_rank = 1
|
||||
else:
|
||||
rec.customer_rank = 0
|
||||
|
||||
def _set_supplier(self):
|
||||
for rec in self:
|
||||
if rec.supplier:
|
||||
if rec.supplier_rank < 1 or not rec.supplier_rank:
|
||||
rec.supplier_rank = 1
|
||||
else:
|
||||
rec.supplier_rank = 0
|
||||
|
||||
|
||||
BIN
app_base/static/description/demo1.jpg
Normal file
BIN
app_base/static/description/demo1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
@@ -1,10 +1,10 @@
|
||||
<section class="oe_container">
|
||||
<div class="oe_row oe_spaced" >
|
||||
<div class="oe_span12">
|
||||
<h2 class="oe_slogan"> </h2>
|
||||
<h3 class="oe_slogan"> </h3>
|
||||
<h2 class="oe_slogan"> Partner set customer vendor </h2>
|
||||
<h3 class="oe_slogan"> Set and view partner type: customer or vendor. </h3>
|
||||
<div class="oe_row">
|
||||
<h3>Lastest update: v12.19.04.28</h3>
|
||||
<h3>Lastest update: v13.19.10.28</h3>
|
||||
<div class="oe_span12">
|
||||
<img class="oe_demo oe_screenshot" style="max-height: 100%;" src="banner.png">
|
||||
</div>
|
||||
@@ -14,19 +14,11 @@
|
||||
<ul class="list-unstyled">
|
||||
<li>
|
||||
<i class="fa fa-check-square-o text-primary"></i>
|
||||
Put key function here.
|
||||
Add customer, vendor field to partner model and views. Like odoo 12.
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-check-square-o text-primary"></i>
|
||||
3. Multi-language Support.
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-check-square-o text-primary"></i>
|
||||
4. Multi-Company Support.
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-check-square-o text-primary"></i>
|
||||
5. Support Odoo 13,12, 11, Enterprise and Community Edition.
|
||||
Set and view partner type: customer or supplier.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -38,10 +30,10 @@
|
||||
|
||||
<section class="oe_container">
|
||||
<div class="oe_row oe_spaced">
|
||||
<h1 class="text-danger text-center">So Easy to navigator and search any data.</h1>
|
||||
<h1 class="text-danger text-center">So Easy to set and show customer or vendor.</h1>
|
||||
<h4 class="oe_slogan"> </h4>
|
||||
<div class="oe_demo oe_screenshot">
|
||||
<img src=".jpg"/>
|
||||
<img src="demo1.jpg"/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -18,12 +18,14 @@
|
||||
|
||||
{
|
||||
'name': "App base chinese,中国化基本模块增强",
|
||||
'version': '13.19.05.17',
|
||||
'version': '13.19.10.28',
|
||||
'author': 'Sunpop.cn',
|
||||
'category': 'Base',
|
||||
'website': 'https://www.sunpop.cn',
|
||||
'license': 'LGPL-3',
|
||||
'sequence': 2,
|
||||
'price': 18.00,
|
||||
'currency': 'EUR',
|
||||
'summary': """
|
||||
Chinese enhance. Out of the box use in china.
|
||||
Set all chinese default value.
|
||||
@@ -46,6 +48,7 @@
|
||||
'pre_init_hook': 'pre_init_hook',
|
||||
'post_init_hook': 'post_init_hook',
|
||||
'depends': [
|
||||
'app_base',
|
||||
'stock',
|
||||
'l10n_cn'
|
||||
],
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<field name="code">product.category.seq.normal</field>
|
||||
<field name="prefix">CAT</field>
|
||||
<field name="padding">4</field>
|
||||
<field name="initial">True</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_3}:
|
||||
name: Thomas Passot
|
||||
parent_id: base.res_partner_2
|
||||
function: Functional Consultant
|
||||
email: thomas.passot@agrolait.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_4}:
|
||||
name: Michel Fletcher
|
||||
parent_id: base.res_partner_2
|
||||
function: Analyst
|
||||
email: michel.fletcher@agrolait.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_5}:
|
||||
name: Chao Wang
|
||||
parent_id: base.res_partner_3
|
||||
function: Marketing Manager
|
||||
email: chao.wang@chinaexport.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_10}:
|
||||
name: David Simpson
|
||||
parent_id: base.res_partner_3
|
||||
function: Senior Consultant
|
||||
email: david.simpson@epic.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_11}:
|
||||
name: John M. Brown
|
||||
parent_id: base.res_partner_3
|
||||
function: Director
|
||||
email: john.brown@epic.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_13}:
|
||||
name: Charlie Bernard
|
||||
parent_id: base.res_partner_4
|
||||
function: Senior Associate
|
||||
email: charlie.bernard@wealthyandsons.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_14}:
|
||||
name: Jessica Dupont
|
||||
parent_id: base.res_partner_4
|
||||
function: Analyst
|
||||
email: jessica.dupont@wealthyandsons.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_15}:
|
||||
name: Phillipp Miller
|
||||
parent_id: base.res_partner_12
|
||||
function: Creative Director
|
||||
email: phillipp.miller@mediapole.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_16}:
|
||||
name: Ayaan Agarwal
|
||||
parent_id: base.res_partner_12
|
||||
function: Director
|
||||
email: ayaan.agarwal@bestdesigners.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_17}:
|
||||
name: Daniel Jackson
|
||||
parent_id: base.res_partner_10
|
||||
function: Managing Partner
|
||||
email: daniel.jackson@jackson.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_18}:
|
||||
name: William Thomas
|
||||
parent_id: base.res_partner_10
|
||||
function: Senior Consultant
|
||||
email: william.jackson@jackson.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_22}:
|
||||
name: Laith Jubair
|
||||
parent_id: base.res_partner_2
|
||||
function: Director
|
||||
email: laith.jubair@axelor.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_24}:
|
||||
name: Robert Anderson
|
||||
parent_id: base.res_partner_4
|
||||
function: System Analyst
|
||||
email: robert.anderson@chamberworks.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_25}:
|
||||
name: Jacob Taylor
|
||||
parent_id: base.res_partner_3
|
||||
function: Order Clerk
|
||||
email: jacob.taylor@millennium.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_28}:
|
||||
name: Benjamin Flores
|
||||
parent_id: base.res_partner_12
|
||||
function: Business Executive
|
||||
email: benjamin.flores@nebula.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_30}:
|
||||
name: Lucas Jones
|
||||
parent_id: base.res_partner_18
|
||||
function: Functional Consultant
|
||||
email: lucas.jones@thinkbig.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_32}:
|
||||
name: Robin Smith
|
||||
parent_id: base.res_partner_4
|
||||
function: Sales Manager
|
||||
email: robin.smith@globalsolutions.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_33}:
|
||||
name: Morgan Rose
|
||||
parent_id: base.res_partner_4
|
||||
function: Financial Manager
|
||||
email: morgan.rose@globalsolutions.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_address_34}:
|
||||
name: Kevin Clarke
|
||||
parent_id: base.res_partner_4
|
||||
function: Knowledge Manager
|
||||
email: kevin.clarke@globalsolutions.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_main1}:
|
||||
name: Mark Davis
|
||||
customer: False
|
||||
parent_id: base.main_partner
|
||||
function: Chief Executive Officer (CEO)
|
||||
email: mark.davis@yourcompany.example.com
|
||||
-
|
||||
!record {model: 'res.partner', id: base.res_partner_main2}:
|
||||
name: Roger Scott
|
||||
customer: False
|
||||
parent_id: base.main_partner
|
||||
function: Chief Operations Officer (COO)
|
||||
email: roger.scott@yourcompany.example.com
|
||||
@@ -32,14 +32,6 @@
|
||||
<xpath expr="//field[@name='zip']" position="move"/>
|
||||
</xpath>
|
||||
<!-- res.partner联系人 form -->
|
||||
<!-- 所有类型联系人默认都不是客户,不是供应商-->
|
||||
<xpath expr="//field[@name='child_ids']" position="attributes">
|
||||
<attribute name="context">
|
||||
{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id':
|
||||
state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': 0, 'default_customer': 0,
|
||||
'default_lang': lang,}
|
||||
</attribute>
|
||||
</xpath>
|
||||
<!--联系人,如果是个人类型,不允许其下再有联系人-->
|
||||
<xpath expr="//notebook/page[1]" position="attributes">
|
||||
<attribute name="attrs">{'invisible': [('is_company','!=', True)]}</attribute>
|
||||
|
||||
Reference in New Issue
Block a user