Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
erp5
Commits
7ce94186
Commit
7ce94186
authored
Aug 20, 2020
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_corporate_identity: make code more readable
parent
246d3c85
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
78 additions
and
80 deletions
+78
-80
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getDestinationDict.py
..._skins/erp5_corporate_identity/Base_getDestinationDict.py
+10
-10
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getSourceDict.py
...ortal_skins/erp5_corporate_identity/Base_getSourceDict.py
+21
-18
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
...erp5_corporate_identity/Base_getTemplateProxyParameter.py
+37
-37
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getThemeDict.py
...portal_skins/erp5_corporate_identity/Base_getThemeDict.py
+10
-15
No files found.
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getDestinationDict.py
View file @
7ce94186
...
...
@@ -8,9 +8,6 @@ Create a destination dict for filling templates
# destination: Can be set if called from Event
# override_destination_person_title: Title of person to use
# override_destination_organisation_title: Title of organisation to use
blank
=
''
# ---------------------------- Set Destination --------------------------------
# destination => Web Page = follow-up Organisation or Person, Event
if
destination
is
None
:
...
...
@@ -21,21 +18,24 @@ if destination is None:
destination_uid
=
None
# destination person
if
override_destination_person_title
is
not
None
or
override_destination_person_title
==
blank
:
if
override_destination_person_title
:
destination_person_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"override_person"
,
source_data
=
override_destination_person_title
)
if
len
(
destination_person_list
)
==
0
:
if
not
destination_person_list
:
# follow up
destination_person_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"person"
,
source_data
=
None
)
if
len
(
destination_person_list
)
>
0
:
if
destination_person_list
:
destination_person
=
destination_person_list
[
0
]
# destination organisation
if
override_destination_organisation_title
is
not
None
or
override_destination_organisation_title
==
blank
:
if
override_destination_organisation_title
:
destination_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"override_organisation"
,
source_data
=
override_destination_organisation_title
)
if
len
(
destination_organisation_list
)
==
0
:
if
not
destination_organisation_list
:
#follow up value
destination_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"organisation"
,
source_data
=
None
)
if
len
(
destination_organisation_list
)
==
0
and
destination_person
is
not
None
:
if
not
destination_organisation_list
and
destination_person
:
# person 's Career Subordination or itself if no career subordination
destination_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"source"
,
source_data
=
destination_person
.
get
(
"uid"
))
or
[]
if
len
(
destination_organisation_list
)
>
0
:
if
destination_organisation_list
:
destination_organisation
=
destination_organisation_list
[
0
]
destination
=
{}
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getSourceDict.py
View file @
7ce94186
...
...
@@ -15,7 +15,6 @@ blank = ''
from
Products.PythonScripts.standard
import
html_quote
# ------------------------------- Set Source ----------------------------------
source_logo_url
=
None
source_organisation
=
None
pref
=
context
.
getPortalObject
().
portal_preferences
default_bank_account_relative_url
=
pref
.
getPreferredCorporateIdentityTemplateDefaultBankAccountRelativeUrl
()
...
...
@@ -27,38 +26,42 @@ if source is None:
source_person_list
=
[]
source_organisation_list
=
[]
#
source person => override => contributor
=> source_decision
if
override_source_person_title
is
not
None
or
override_source_person_title
==
blank
:
#
override => author(contributor)
=> source_decision
if
override_source_person_title
:
source_person_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"override_person"
,
source_data
=
override_source_person_title
)
if
len
(
source_person_list
)
==
0
:
if
not
source_person_list
:
source_person_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"author"
,
source_data
=
None
)
or
[]
if
len
(
source_person_list
)
==
0
and
getattr
(
context
,
'getSourceDecisionValue'
,
None
)
is
not
None
:
if
not
source_person_list
and
getattr
(
context
,
'getSourceDecisionValue'
,
None
)
:
source_person_candidate
=
context
.
getSourceDecisionValue
()
if
source_person_candidate
and
source_person_candidate
.
getPortalType
()
==
"Person"
:
if
source_person_candidate
.
getPortalType
()
==
"Person"
:
source_person_list
=
[
source_person_candidate
]
if
len
(
source_person_list
)
>
0
:
if
source_person_list
:
source_person
=
source_person_list
[
0
]
contributor_title_string
=
', '
.
join
(
x
.
get
(
"name"
,
blank
)
for
x
in
source_person_list
)
# source organisation
# order: override => follow-up => default_organisation_uid => default_company_relative_url => source_person career subordinate => source decision
if
override_source_organisation_title
is
not
None
or
override_source_organisation_title
==
blank
:
# override
if
override_source_organisation_title
:
source_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"override_organisation"
,
source_data
=
override_source_organisation_title
)
if
len
(
source_organisation_list
)
==
0
:
if
not
source_organisation_list
:
# follow up
source_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"organisation"
,
source_data
=
None
)
or
[]
if
len
(
source_organisation_list
)
==
0
and
default_company_relative_url
:
if
not
source_organisation_list
and
default_company_relative_url
:
# default company
source_organisation_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"override_organisation_relative_url"
,
source_data
=
default_company_relative_url
)
or
[]
if
len
(
source_organisation_list
)
==
0
and
source_person
is
not
None
:
for
organisation_candidate
in
source_person_list
:
organisation_candidate_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"source"
,
source_data
=
organisation_candidate
.
get
(
"uid"
))
or
[]
if
len
(
organisation_candidate_list
)
>
0
:
if
not
source_organisation_list
and
source_person_list
:
for
source_person
in
source_person_list
:
# person 's Career Subordination Value
organisation_candidate_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"source"
,
source_data
=
source_person
.
get
(
"uid"
))
or
[]
if
organisation_candidate_list
:
source_organisation_list
=
organisation_candidate_list
break
if
len
(
source_organisation_list
)
==
0
and
getattr
(
context
,
'getSourceDecisionValue'
,
None
)
is
not
None
:
if
not
source_organisation_list
and
getattr
(
context
,
'getSourceDecisionValue'
,
None
)
:
source_organisation_candidate
=
context
.
getSourceDecisionValue
()
if
source_organisation_candidate
and
source_organisation_candidate
.
getPortalType
()
==
"Organisation"
:
if
source_organisation_candidate
.
getPortalType
()
==
"Organisation"
:
source_organisation_list
=
[
source_organisation_candidate
]
if
len
(
source_organisation_list
)
>
0
:
if
source_organisation_list
:
source_organisation
=
source_organisation_list
[
0
]
source
=
{}
...
...
@@ -74,7 +77,7 @@ else:
# override specific bank account (no default to pick correct one if multiple exist)
if
default_bank_account_relative_url
is
not
None
:
override_bank_account_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"bank"
,
source_data
=
default_bank_account_relative_url
)
or
[]
if
len
(
override_bank_account_list
)
>
0
:
if
override_bank_account_list
:
override_bank_account
=
override_bank_account_list
[
0
]
source
[
"bank"
]
=
override_bank_account
.
get
(
"bank"
)
source
[
"bic"
]
=
override_bank_account
.
get
(
"bic"
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
View file @
7ce94186
...
...
@@ -42,29 +42,29 @@ def populateProductDictFromCategoryList(my_category_list):
def
populateProductDict
(
my_product_list
):
result_list
=
[]
for
product
in
my_product_list
:
output_dict
=
{}
output_dict
[
"title"
]
=
product
.
getTitle
()
or
err
(
"product software"
)
result_list
.
append
(
output_dict
)
result_list
.
append
({
"title"
:
product
.
getTitle
()
or
err
(
"product software"
)
}
)
return
result_list
def
populateImageDict
(
my_image_list
):
result_list
=
[]
for
image
in
my_image_list
:
output_dict
=
{}
output_dict
[
"relative_url"
]
=
image
.
getRelativeUrl
()
output_dict
[
"reference"
]
=
image
.
getReference
()
or
err
(
"reference"
)
output_dict
[
"description"
]
=
image
.
getDescription
()
or
err
(
"description"
)
result_list
.
append
(
output_dict
)
result_list
.
append
({
"relative_url"
:
image
.
getRelativeUrl
(),
"reference"
:
image
.
getReference
()
or
err
(
"reference"
),
"description"
:
image
.
getDescription
()
or
err
(
"description"
)
}
)
return
result_list
def
populateBankDict
(
my_bank_list
):
result_list
=
[]
for
bank
in
my_bank_list
:
output_dict
=
{}
output_dict
[
"bank"
]
=
bank
.
getTitle
()
or
err
(
"bank account title"
)
output_dict
[
"iban"
]
=
bank
.
getIban
()
or
err
(
"iban"
)
output_dict
[
"bic"
]
=
bank
.
getBicCode
()
or
err
(
"bic"
)
result_list
.
append
(
output_dict
)
result_list
.
append
({
"bank"
:
bank
.
getTitle
()
or
err
(
"bank account title"
),
"iban"
:
bank
.
getIban
()
or
err
(
"iban"
),
"bic"
:
bank
.
getBicCode
()
or
err
(
"bic"
)
}
)
return
result_list
def
populatePersonDict
(
my_person_list
):
...
...
@@ -80,7 +80,7 @@ def populatePersonDict(my_person_list):
output_dict
[
"name"
]
=
person
.
getTitle
()
or
err
(
"title"
)
output_dict
[
"title"
]
=
person
.
getFunctionTitle
()
or
err
(
"function title"
)
output_dict
[
"uid"
]
=
person
.
getUid
()
or
err
(
"uid"
)
if
person
.
getDefaultAddress
()
is
not
None
:
if
person
_address
:
output_dict
[
"address"
]
=
person_address
.
getStreetAddress
()
or
err
(
"street address"
)
output_dict
[
"postal_code"
]
=
person_address
.
getZipCode
()
or
err
(
"postal code"
)
output_dict
[
"city"
]
=
person_address
.
getCity
()
or
err
(
"city"
)
...
...
@@ -88,17 +88,17 @@ def populatePersonDict(my_person_list):
output_dict
[
"address"
]
=
err
(
"street_adress"
)
output_dict
[
"postal_code"
]
=
err
(
"postal_code"
)
output_dict
[
"city"
]
=
err
(
"city"
)
if
person_region
is
not
None
:
if
person_region
:
output_dict
[
"country"
]
=
person_region
.
getTitle
()
or
err
(
"country"
)
output_dict
[
"codification"
]
=
person_region
.
getCodification
()
or
err
(
"country code"
)
else
:
output_dict
[
"country"
]
=
err
(
"country"
)
output_dict
[
"codification"
]
=
err
(
"country code"
)
if
person_default_telephone
is
not
None
:
if
person_default_telephone
:
output_dict
[
"phone"
]
=
person_default_telephone
.
getCoordinateText
()
or
err
(
"phone"
)
else
:
output_dict
[
"phone"
]
=
err
(
"phone"
)
if
person_default_mail
is
not
None
:
if
person_default_mail
:
output_dict
[
"email"
]
=
person_default_mail
.
getUrlString
()
or
err
(
"email"
)
else
:
output_dict
[
"email"
]
=
err
(
"email"
)
...
...
@@ -125,7 +125,7 @@ def populateOrganisationDict(my_organisation_list):
output_dict
[
"activity_code"
]
=
organisation
.
getActivityCode
()
or
err
(
"activitiy code"
)
#output_dict["logo_url"] = organisation.getDefaultImageAbsoluteUrl() or err("logo_url")
if
organisation_default_image
is
not
None
:
if
organisation_default_image
:
output_dict
[
"logo_url"
]
=
organisation_default_image
.
getRelativeUrl
()
output_dict
[
"logo_data_url"
]
=
'data:image/png;;base64,%s'
%
(
b64encode
(
organisation_default_image
.
convert
(
format
=
"png"
,
display
=
"thumbnail"
)[
1
])
...
...
@@ -140,7 +140,7 @@ def populateOrganisationDict(my_organisation_list):
output_dict
[
"vat"
]
=
organisation
.
getVatCode
()
or
err
(
"vat"
)
output_dict
[
"corporate_registration"
]
=
organisation
.
getCorporateRegistrationCode
()
or
err
(
"corporate_registration"
)
output_dict
[
"email"
]
=
organisation
.
getDefaultEmailText
()
or
err
(
"email"
)
if
organisation
.
getDefaultAddress
()
is
not
None
:
if
organisation
_address
:
output_dict
[
"address"
]
=
organisation_address
.
getStreetAddress
()
or
err
(
"street address"
)
output_dict
[
"postal_code"
]
=
organisation_address
.
getZipCode
()
or
err
(
"postal code"
)
output_dict
[
"city"
]
=
organisation_address
.
getCity
()
or
err
(
"city"
)
...
...
@@ -148,25 +148,26 @@ def populateOrganisationDict(my_organisation_list):
output_dict
[
"address"
]
=
err
(
"street address"
)
output_dict
[
"postal_code"
]
=
err
(
"postal code"
)
output_dict
[
"city"
]
=
err
(
"city"
)
if
organisation_region
is
not
None
:
if
organisation_region
:
output_dict
[
"country"
]
=
organisation_region
.
getTitle
()
or
err
(
"country"
)
output_dict
[
"codification"
]
=
organisation_region
.
getCodification
()
or
err
(
"country code"
)
else
:
output_dict
[
"country"
]
=
err
(
"country"
)
output_dict
[
"codification"
]
=
err
(
"country code"
)
if
organisation_phone
is
not
None
:
if
organisation_phone
:
output_dict
[
"phone"
]
=
organisation_phone
.
getCoordinateText
()
or
err
(
"phone"
)
else
:
output_dict
[
"phone"
]
=
err
(
"phone"
)
if
organisation_fax
is
not
None
:
if
organisation_fax
:
output_dict
[
"fax"
]
=
organisation_fax
.
getCoordinateText
()
or
err
(
"fax"
)
else
:
output_dict
[
"fax"
]
=
err
(
"fax"
)
if
len
(
organisation_link_list
)
==
1
:
#XXXX only 1 ?
output_dict
[
"website"
]
=
organisation_link_list
[
0
].
getUrlString
()
or
err
(
"Website"
)
else
:
output_dict
[
"website"
]
=
err
(
"web site"
)
if
len
(
organisation_bank_list
)
>
0
:
if
organisation_bank_list
:
output_dict
[
"bank"
]
=
organisation_bank_list
[
0
].
getTitle
()
or
err
(
"bank account title"
)
output_dict
[
"iban"
]
=
organisation_bank_list
[
0
].
getIban
()
or
err
(
"iban"
)
output_dict
[
"bic"
]
=
organisation_bank_list
[
0
].
getBicCode
()
or
err
(
"bic"
)
...
...
@@ -219,10 +220,12 @@ if pass_parameter is not None and pass_source_data is not None:
# ---------------------- Override Person -------------------------------------
# returns [{person_dict}]
if
pass_parameter
==
"override_person"
:
return
populatePersonDict
(
portal_object
.
portal_catalog
(
person_list
=
portal_object
.
portal_catalog
(
portal_type
=
"Person"
,
title
=
pass_source_data
))
)
person_list
=
[
x
for
x
in
person_list
if
x
.
getTitle
()
==
pass_source_data
]
return
populatePersonDict
(
person_list
)
# -------------------------- Contributor -------------------------------------
# returns [{person_dict}, {person_dict...}]
...
...
@@ -251,22 +254,19 @@ if pass_parameter is not None and pass_source_data is not None:
# -------------- Source/Destination (Person => Organisation) -----------------
# returns [{organisation_dict}]
if
pass_parameter
==
"source"
or
pass_parameter
==
"destination"
:
person_candidate_list
=
portal_object
.
person_module
.
searchFolder
(
uid
=
pass_source_data
)
organisation_candidate_list
=
portal_object
.
organisation_module
.
searchFolder
(
uid
=
pass_source_data
)
candidate
=
portal_object
.
portal_catalog
.
getResultValue
(
portal_type
=
(
'Person'
,
'Organisation'
),
uid
=
pass_source_data
)
if
len
(
person_candidate_list
)
>
0
:
for
c
in
person_candidate_list
:
organisation
=
c
.
getCareerSubordinationValue
()
if
candidate
:
if
candidate
.
getPortalType
()
==
'Person'
:
organisation
=
c
andidate
.
getCareerSubordinationValue
()
if
organisation
is
not
None
:
return
populateOrganisationDict
([
organisation
])
else
:
return
populatePersonDict
([
c
])
# events might pass organisation as sender/recipient
if
len
(
organisation_candidate_list
)
>
0
:
organisation_candidate_list
=
portal_object
.
organisation_module
.
searchFolder
(
uid
=
pass_source_data
)
for
o
in
organisation_candidate_list
:
return
populateOrganisationDict
([
o
])
return
populatePersonDict
([
candidate
])
# events might pass organisation as sender/recipient
return
populateOrganisationDict
([
candidate
])
return
[]
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getThemeDict.py
View file @
7ce94186
...
...
@@ -21,14 +21,11 @@ lookup_skin = blank
if
skin
:
lookup_skin
=
"?portal_skin="
+
skin
theme_logo_list
=
[]
theme_logo_dict
=
{}
theme_reference
=
None
theme
=
(
context
.
Base_getTemplateProxyParameter
(
parameter
=
"theme"
,
source_data
=
None
)
or
pref
.
getPreferredCorporateIdentityTemplateDefaultTheme
()
)
if
theme
is
not
None
:
theme
=
theme
.
lower
()
theme_logo_prefix
=
pref
.
getPreferredCorporateIdentityTemplateDefaultLogoPrefix
()
...
...
@@ -37,24 +34,22 @@ if theme is not None:
theme_logo_list
=
context
.
Base_getTemplateProxyParameter
(
parameter
=
"logo"
,
source_data
=
theme_reference
)
or
[]
if
len
(
theme_logo_list
)
>
0
:
theme_logo_dict
=
theme_logo_list
[
0
]
theme_dict
=
{}
theme_logo_url
=
pref
.
getPreferredCorporateIdentityTemplateFallbackLogoRelativeUrl
()
+
"?format=png"
theme_dict
[
"theme"
]
=
theme
theme_dict
[
"theme_logo_description"
]
=
theme_logo_dict
.
get
(
"description"
,
blank
)
theme_dict
[
"theme_logo_url"
]
=
theme_logo_url
theme_dict
=
{
"theme"
:
theme
,
"theme_logo_description"
:
theme_logo_dict
.
get
(
"description"
,
blank
)
}
fallback_logo_url
=
pref
.
getPreferredCorporateIdentityTemplateFallbackLogoRelativeUrl
()
+
"?format=png"
# if a theme logo is available, use it instead and add format=png (note, image
# conversion doesn't seem to work with files loaded from skins folders)
if
theme_logo_dict
.
get
(
"relative_url"
,
None
)
is
not
None
:
if
theme_logo_dict
.
get
(
"relative_url"
,
None
):
theme_dict
[
"theme_logo_url"
]
=
theme_logo_dict
.
get
(
"relative_url"
)
+
"?format=png"
else
:
theme_dict
[
"theme_logo_url"
]
=
fallback_logo_url
theme_dict
[
"template_css_url"
]
=
css_path
+
pdf
theme_dict
[
"fallback_img_url"
]
=
theme_logo_url
or
blank
theme_dict
[
"theme_css_font_list"
]
=
[]
theme_font_list
=
pref
.
getPreferredCorporateIdentityTemplateDefaultThemeFontList
()
or
[]
for
font
in
theme_font_list
:
theme_dict
[
"theme_css_font_list"
].
append
(
font
+
pdf
)
theme_dict
[
"fallback_img_url"
]
=
fallback_logo_url
or
blank
theme_dict
[
"theme_css_font_list"
]
=
[
x
+
pdf
for
x
in
pref
.
getPreferredCorporateIdentityTemplateDefaultThemeFontList
()
or
[]]
theme_css_url
=
pref
.
getPreferredCorporateIdentityTemplateThemeCssRelativeUrl
()
if
theme_css_url
:
theme_dict
[
"theme_css_url"
]
=
theme_css_url
+
lookup_skin
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment