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
Labels
Merge Requests
138
Merge Requests
138
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
Jobs
Commits
Open sidebar
nexedi
erp5
Commits
a8db1208
Commit
a8db1208
authored
Jan 22, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
corporate_identity: py3
parent
de39dc95
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
106 additions
and
70 deletions
+106
-70
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
...erp5_corporate_identity/Base_getTemplateProxyParameter.py
+1
-1
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
...portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
+5
-5
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsReport.py
...portal_skins/erp5_corporate_identity/Base_viewAsReport.py
+3
-3
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Presentation_viewAsSlideshow.py
...s/erp5_corporate_identity/Presentation_viewAsSlideshow.py
+24
-3
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_createTableOfContent.py
...s/erp5_corporate_identity/WebPage_createTableOfContent.py
+1
-1
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_embedReportDocumentList.py
...rp5_corporate_identity/WebPage_embedReportDocumentList.py
+13
-6
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
...ortal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
+16
-14
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsContract.py
...l_skins/erp5_corporate_identity/WebPage_viewAsContract.py
+12
-11
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
...al_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
+11
-9
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
...al_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
+11
-9
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
..._skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
+9
-8
No files found.
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
View file @
a8db1208
...
...
@@ -128,7 +128,7 @@ def populateOrganisationDict(my_organisation_list):
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
])
b64encode
(
organisation_default_image
.
convert
(
format
=
"png"
,
display
=
"thumbnail"
)[
1
])
.
decode
()
)
else
:
output_dict
[
"logo_url"
]
=
err
(
"logo_url"
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
View file @
a8db1208
...
...
@@ -256,9 +256,9 @@ if letter_format == "pdf":
)
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_content
,
allow_script
=
True
)
header_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_head
,
allow_script
=
True
)
footer_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_foot
,
allow_script
=
True
)
embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
letter
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
margin_top
=
letter_header_margin_to_top
,
...
...
@@ -266,8 +266,8 @@ if letter_format == "pdf":
margin_left
=
0
,
margin_right
=
0
,
header_spacing
=
1
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsReport.py
View file @
a8db1208
...
...
@@ -269,10 +269,10 @@ if doc_format == "pdf":
margin_bottom
=
20
,
toc
=
False
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
)
default_conversion_kw
.
update
(
conversion_dict
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Presentation_viewAsSlideshow.py
View file @
a8db1208
...
...
@@ -11,6 +11,8 @@ Try to convert old OpenOffice presentations into slideshows
# ------------------------------------------------------------------------------
import
re
from
io
import
BytesIO
from
zipfile
import
ZipFile
blank
=
''
flags
=
re
.
MULTILINE
|
re
.
DOTALL
|
re
.
IGNORECASE
...
...
@@ -18,8 +20,21 @@ flags = re.MULTILINE|re.DOTALL|re.IGNORECASE
def
getHeaderSlideTitle
(
my_doc
):
return
'<h1>'
+
my_doc
.
getTitle
()
+
'</h1>'
def
getSlideList
(
content
):
return
re
.
findall
(
r'<html>(.*?)</html>'
,
content
,
flags
=
flags
)
def
getSlideList
(
zip_content
):
slide_list
=
[]
with
ZipFile
(
BytesIO
(
zip_content
))
as
zf
:
for
name
in
sorted
(
zf
.
namelist
(),
# iterate in order: 'tmpczlzod7e.impr.html', 'img1.html', 'text1.html', 'img2.html', 'text2.html'
key
=
lambda
name
:
(
not
name
.
endswith
(
'impr.html'
),
'img'
not
in
name
,
name
.
replace
(
'img'
,
''
).
replace
(
'text'
,
''
))):
if
name
.
endswith
(
'.html'
):
slide_list
.
extend
(
re
.
findall
(
r'<html>(.*?)</html>'
,
zf
.
read
(
name
).
decode
(
'utf-8'
),
flags
=
flags
)
)
return
slide_list
def
getKey
(
item
):
return
int
(
item
[
0
])
...
...
@@ -29,7 +44,11 @@ if context.getPortalType() in ["Presentation"]:
portal
=
context
.
getPortalObject
()
mimetype
=
'text/html'
content_type
=
context
.
getContentType
()
raw_data
=
portal
.
portal_transforms
.
convertToData
(
mimetype
,
bytes
(
context
.
getData
()
or
b""
),
context
=
context
,
mimetype
=
content_type
)
raw_data
=
portal
.
portal_transforms
.
convertToData
(
mimetype
,
bytes
(
context
.
getData
()
or
b""
),
context
=
context
,
mimetype
=
content_type
)
if
raw_data
is
None
:
raise
ValueError
(
"Failed to convert to %r"
%
mimetype
)
if
context
.
REQUEST
is
not
None
:
...
...
@@ -38,6 +57,8 @@ if context.getPortalType() in ["Presentation"]:
# get a list of slides
content
=
getSlideList
(
raw_data
)
# ( comment below might be obsolete, this was before fixing a bug that we iterated
# directly in the binary data from .zip raw content, which was somehow OK on python2 )
# every slide is in the raw_data twice, once with the title and image as text,
# once with the slidecontent without title. All slides are mixed randomly, so
# we need to find out which slide contains what and then put them in their
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_createTableOfContent.py
View file @
a8db1208
...
...
@@ -15,7 +15,7 @@ import re
from
Products.PythonScripts.standard
import
html_quote
blank
=
""
header_current
=
1
header_current
=
'0'
header_initial
=
None
table_of_content
=
blank
index
=
0
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_embedReportDocumentList.py
View file @
a8db1208
...
...
@@ -10,6 +10,7 @@ Insert reports linked to in a document (including backcompat handling)
# doc_format output format being generated
import
re
import
six
document
=
context
...
...
@@ -28,10 +29,14 @@ def getReportViaFancyName(my_report_name, follow_up):
if
method_call
is
not
None
:
# extra curl: Coverage report requires parameter details (1|0)
if
coverage_name
:
return
method_call
(
display_comment
=
True
)[
0
].
encode
(
encoding
=
'UTF-8'
)
if
detail_name
:
return
method_call
(
format
=
'detailed'
,
display_detail
=
1
)[
0
].
encode
(
encoding
=
'UTF-8'
)
return
method_call
(
display_comment
=
True
)[
0
].
encode
(
encoding
=
'UTF-8'
)
result
=
method_call
(
display_comment
=
True
)[
0
]
elif
detail_name
:
result
=
method_call
(
format
=
'detailed'
,
display_detail
=
1
)[
0
]
else
:
result
=
method_call
(
display_comment
=
True
)[
0
]
if
six
.
PY2
:
result
=
result
.
encode
(
encoding
=
'UTF-8'
)
return
result
if
doc_content
.
find
(
'${WebPage_'
)
!=
-
1
:
document_required_follow_up_list
=
[
x
.
getObject
()
for
x
in
document
.
portal_catalog
(
...
...
@@ -82,8 +87,10 @@ for link in re.findall('([^[]<a.*?</a>[^]])', doc_content):
if
target_context
is
not
None
:
target_caller
=
getattr
(
target_context
,
report_name
,
None
)
if
target_caller
is
not
None
:
substitution_content
=
target_caller
(
**
link_param_dict
)
substitution_content
=
target_caller
(
**
link_param_dict
)[
0
]
if
six
.
PY2
:
substitution_content
=
substitution_content
.
encode
(
"utf-8"
)
# Note: switched to report returning a tuple with (content, header-title, header-subtitle)
doc_content
=
doc_content
.
replace
(
link
,
substitution_content
[
0
].
encode
(
"utf-8"
)
.
strip
())
doc_content
=
doc_content
.
replace
(
link
,
substitution_content
.
strip
())
return
doc_content
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
View file @
a8db1208
...
...
@@ -33,6 +33,7 @@ MAIN FILE: generate book in different output formats
# display_svg format for svg images (svg, png*)
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
...
...
@@ -83,8 +84,7 @@ book_version = html_quote(override_document_version) if override_document_versio
book_description
=
html_quote
(
override_document_description
)
if
override_document_description
else
book
.
getDescription
()
book_title
=
html_quote
(
override_document_title
)
if
override_document_title
else
book
.
getTitle
()
# unicode
if
isinstance
(
book_content
,
unicode
):
if
six
.
PY2
and
isinstance
(
book_content
,
unicode
):
book_content
=
book_content
.
encode
(
"UTF-8"
)
# backcompat
...
...
@@ -197,7 +197,9 @@ if book_include_reference_table:
#else:
# book_content = book_content.replace("${WebPage_insertTableOfReferences}", book_references.encode('UTF-8').strip())
book_references
=
book
.
Base_unescape
(
book_references
)
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
book_references
.
encode
(
'UTF-8'
).
strip
())
if
six
.
PY2
:
book_references
=
book_references
.
encode
(
'utf-8'
)
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
book_references
.
strip
())
else
:
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
blank
)
...
...
@@ -209,7 +211,7 @@ if book_include_content_table:
book_table_of_content
=
book
.
WebPage_createBookXslTableOfContent
(
book_toc_title
=
book_translated_toc_title
,
margin_15mm
=
margin_15mm
).
encode
(
'UTF-8'
).
strip
()
).
strip
()
elif
book_format
==
"html"
:
book_content
,
book_table_of_content
=
book
.
WebPage_createTableOfContent
(
doc_content
=
book_content
,
...
...
@@ -357,22 +359,22 @@ elif book_format == "pdf":
)
# ================ encode and build cloudoo elements =========================
header_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_head
,
allow_script
=
True
)
header_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
before_toc_data_list
=
[
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_cover
,
allow_script
=
True
)),
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_cover
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
),
]
after_toc_data_list
=
[]
if
book_include_history_table
:
before_toc_data_list
.
append
(
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_history
,
allow_script
=
True
))
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_history
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
)
)
#if book_include_reference_table:
# after_toc_data_list.append(
# b64encode(book.Base_convertHtmlToSingleFile(book_references, allow_script=True))
# b64encode(book.Base_convertHtmlToSingleFile(book_references, allow_script=True)
.encode('utf-8')).decode(
)
# )
xsl_style_sheet_data
=
book_table_of_content
embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_content
,
allow_script
=
True
)
footer_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_foot
,
allow_script
=
True
)
xsl_style_sheet_data
=
book_table_of_content
.
encode
(
'utf-8'
)
embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
if
margin_15mm
:
margin_top
=
50
margin_bottom
=
25
...
...
@@ -385,11 +387,11 @@ elif book_format == "pdf":
margin_bottom
=
margin_bottom
,
toc
=
True
if
book_include_content_table
else
False
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
after_toc_data_list
=
after_toc_data_list
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsContract.py
View file @
a8db1208
import
re
import
six
from
base64
import
b64encode
blank
=
''
blank
=
b
''
pref
=
context
.
getPortalObject
().
portal_preferences
contract_format
=
kw
.
get
(
'format'
)
or
'html'
...
...
@@ -35,7 +36,7 @@ contract_version = context.getVersion() or "001"
contract_description
=
context
.
getDescription
()
contract_title
=
context
.
getTitle
()
if
isinstance
(
contract_content
,
unicode
):
if
six
.
PY2
and
isinstance
(
contract_content
,
unicode
):
contract_content
=
contract_content
.
encode
(
"UTF-8"
)
contract_history_section_list
=
re
.
findall
(
'<section.+?>.+?</section>'
,
contract_content
,
re
.
S
)
...
...
@@ -289,22 +290,22 @@ elif contract_format == "pdf":
)
# ================ encode and build cloudoo elements =========================
header_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_head
,
allow_script
=
True
)
header_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
before_toc_data_list
=
[
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_cover
,
allow_script
=
True
)),
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_cover
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
),
]
after_toc_data_list
=
[]
if
contract_include_history_table
:
before_toc_data_list
.
append
(
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_history
,
allow_script
=
True
))
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_history
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
)
)
#if contract_include_reference_table:
# after_toc_data_list.append(
# b64encode(context.Base_convertHtmlToSingleFile(contract_references, allow_script=True))
# b64encode(context.Base_convertHtmlToSingleFile(contract_references, allow_script=True))
.decode()
# )
xsl_style_sheet_data
=
contract_table_of_content
embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_content
,
allow_script
=
True
)
footer_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_foot
,
allow_script
=
True
)
embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
margin_top
=
40
margin_bottom
=
20
pdf_file
=
context
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
...
...
@@ -313,11 +314,11 @@ elif contract_format == "pdf":
margin_bottom
=
margin_bottom
,
toc
=
True
if
contract_include_content_table
else
False
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
after_toc_data_list
=
after_toc_data_list
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
View file @
a8db1208
...
...
@@ -22,6 +22,7 @@ MAIN FILE: render two pager in different output formats
# document_save: save file in document module (default None)
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
...
...
@@ -146,10 +147,11 @@ if leaflet_display_side:
)
#leaflet_content = leaflet_legalese.decode() + leaflet_content.decode()
if
isinstance
(
leaflet_legalese
,
unicode
):
leaflet_legalese
=
leaflet_legalese
.
encode
(
"UTF-8"
)
if
isinstance
(
leaflet_content
,
unicode
):
leaflet_content
=
leaflet_content
.
encode
(
"UTF-8"
)
if
six
.
PY2
:
if
isinstance
(
leaflet_legalese
,
unicode
):
leaflet_legalese
=
leaflet_legalese
.
encode
(
"UTF-8"
)
if
isinstance
(
leaflet_content
,
unicode
):
leaflet_content
=
leaflet_content
.
encode
(
"UTF-8"
)
leaflet_content
=
leaflet_legalese
+
leaflet_content
...
...
@@ -255,9 +257,9 @@ if leaflet_format == "pdf":
)
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_content
,
allow_script
=
True
)
header_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_head
,
allow_script
=
True
)
footer_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_foot
,
allow_script
=
True
)
embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
leaflet
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
orientation
=
"portrait"
,
...
...
@@ -265,9 +267,9 @@ if leaflet_format == "pdf":
margin_bottom
=
20
,
margin_left
=
0
,
margin_right
=
0
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
View file @
a8db1208
...
...
@@ -21,6 +21,7 @@ MAIN FILE: render press release in different output formats
# document_save: save file in document module (default None)
import
re
import
six
from
base64
import
b64encode
blank
=
''
...
...
@@ -137,10 +138,11 @@ if release_display_about:
release_relative_url
=
release_relative_url
,
)
#release_content = release_content.decode() + release_about.decode()
if
isinstance
(
release_content
,
unicode
):
release_content
=
release_content
.
encode
(
"UTF-8"
)
if
isinstance
(
release_about
,
unicode
):
release_about
=
release_about
.
encode
(
"UTF-8"
)
if
six
.
PY2
:
if
isinstance
(
release_content
,
unicode
):
release_content
=
release_content
.
encode
(
"UTF-8"
)
if
isinstance
(
release_about
,
unicode
):
release_about
=
release_about
.
encode
(
"UTF-8"
)
release_content
=
release_content
+
release_about
...
...
@@ -226,9 +228,9 @@ if release_format == "pdf":
)
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_content
,
allow_script
=
True
)
header_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_head
,
allow_script
=
True
)
footer_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_foot
,
allow_script
=
True
)
embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
release
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
orientation
=
"portrait"
,
...
...
@@ -236,9 +238,9 @@ if release_format == "pdf":
margin_bottom
=
20
,
margin_left
=
0
,
margin_right
=
0
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
View file @
a8db1208
...
...
@@ -24,6 +24,7 @@ MAIN FILE: generate presentation in different output formats
# remote_content: convert legacy odp, sxi formats (not active)
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
...
...
@@ -420,25 +421,25 @@ if doc_format == "pdf" or doc_format == "mhtml":
)
# ================ encode and build cloudoo elements =========================
footer_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_footer, allow_script=True)
#embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
footer_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_footer, allow_script=True).encode('utf-8')
#embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True).encode('utf-8')
cover = doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True).encode('utf-8')
before_body_data_list = [
b64encode(
doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True)
),
b64encode(
cover).decode(
),
]
if doc_format == "
mhtml
":
context.REQUEST.RESPONSE.setHeader("
Content
-
Type
", "
text
/
html
;
")
return doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True)
if doc_display_notes:
#after_body_data_list = [
# b64encode(doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)),
# b64encode(doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
.encode('utf-8')).decode(
),
#]
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
.encode('utf-8')
after_body_data_list = []
else:
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
.encode('utf-8')
after_body_data_list = []
#after_body_data_list = []
pdf_file = doc.Base_cloudoooDocumentConvert(embedded_html_data, "
html
", "
pdf
", conversion_kw=dict(
encoding="
utf8
",
orientation= "
portrait
" if doc_display_notes else "
landscape
",
...
...
@@ -447,7 +448,7 @@ if doc_format == "pdf" or doc_format == "mhtml":
before_body_data_list=before_body_data_list,
after_body_data_list=after_body_data_list,
header_spacing=10,
footer_html_data=b64encode(footer_embedded_html_data),
footer_html_data=b64encode(footer_embedded_html_data)
.decode()
,
footer_spacing=3
)
)
...
...
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