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
3d57b15b
Commit
3d57b15b
authored
Aug 01, 2018
by
Sven Franck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_corporate_identity: handle edge cases on pdf layouts
parent
78a30a14
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
227 additions
and
67 deletions
+227
-67
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateParameter.py
...kins/erp5_corporate_identity/Base_getTemplateParameter.py
+23
-6
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
...erp5_corporate_identity/Base_getTemplateProxyParameter.py
+3
-2
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/book.css.css
...l_skins/erp5_corporate_identity/template_css/book.css.css
+85
-18
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/book.pdf.css.css
...ins/erp5_corporate_identity/template_css/book.pdf.css.css
+88
-22
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/slide.css.css
..._skins/erp5_corporate_identity/template_css/slide.css.css
+15
-9
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/slide.pdf.css.css
...ns/erp5_corporate_identity/template_css/slide.pdf.css.css
+13
-10
No files found.
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateParameter.py
View file @
3d57b15b
...
...
@@ -17,16 +17,18 @@ if parameter == "wkhtmltopdf_rendering_fix":
<script>
(function () {
var table_list = document.body.querySelectorAll("table"),
blockquote_list = document.body.querySelectorAll("table"),
sheet_width_in_px,
div;
// always measure what is the px equivalent for 210mm (A4 210x297mm)
div = document.createElement("div")
div.style.width = "200mm"; // XXX HARDCODED
document.body.appendChild(div);
sheet_width_in_px = div.clientWidth;
document.body.removeChild(div);
if (table_list.length > 0) {
// measure what is the px equivalent for 210mm (A4 210x297mm)
div = document.createElement("div")
div.style.width = "200mm"; // XXX HARDCODED
document.body.appendChild(div);
sheet_width_in_px = div.clientWidth;
document.body.removeChild(div);
// Resize a table by reducing th and td font-size,
// to avoid the table to be larger than the sheet width,
...
...
@@ -46,6 +48,21 @@ if parameter == "wkhtmltopdf_rendering_fix":
});
});
}
// same for other elements
if (blockquote_list.length > 0) {
[].forEach.call(blockquote_list, function (blockquote) {
if (sheet_width_in_px > blockquote.clientWidth) return;
var ratio_percent = Math.floor((sheet_width_in_px / blockquote.clientWidth) * 100);
blockquote.style.width = "100%";
// Select all children and affect the font-size in percent.
// The CSS should not set the font-size on the table instead of th and td
[].forEach.call(blockquote.children, function (e) {
e.setAttribute("style", "font-size: " + ratio_percent + "%");
});
});
}
}());
</script>
"""
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
View file @
3d57b15b
...
...
@@ -10,7 +10,7 @@ Return local parameters that require proxy role to access
# pass_flag_site whether called from a web site (no follow-up)
portal_type_valid_template_list
=
[
"Web Site"
,
"Web Section"
,
"Web Page"
,
"Letter"
]
portal_type_valid_report_list
=
[
"Project"
,
"Sale Order"
,
"Sale Opportunity"
,
"Requirement Document"
]
portal_type_valid_report_list
=
[
"Project"
,
"Sale Order"
,
"Sale Opportunity"
,
"Requirement Document"
,
"Person"
]
portal_type
=
context
.
getPortalType
()
portal_object
=
context
.
getPortalObject
()
validation_state
=
(
'released'
,
'released_alive'
,
'published'
,
'published_alive'
,
...
...
@@ -233,7 +233,8 @@ if pass_parameter is not None and pass_source_data is not None:
if
pass_parameter
==
"override_organisation"
:
return
populateOrganisationDict
(
portal_object
.
portal_catalog
(
portal_type
=
"Organisation"
,
title
=
(
''
.
join
([
"="
,
str
(
pass_source_data
)]))
#title=(''.join(["=", str(pass_source_data)]))
title
=
pass_source_data
))
# ----------------------- Sender (Override) ----------------------------------
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/book.css.css
View file @
3d57b15b
...
...
@@ -420,15 +420,24 @@
.ci-book
table
td
{
border
:
1px
solid
#a1a1a1
;
padding
:
0
2mm
;
}
.ci-book
table
th
{
text-align
:
center
;
}
/* opinionated align for content tables, overwrite in html if required */
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
:not
(
.ci-book-table
)
tbody
td
,
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
:not
(
.ci-book-table
)
tbody
th
{
text-align
:
left
;
}
/*
.ci-book table:not(.ci-book-header):not(.ci-book-footer):not(.ci-book-table) tbody tr td:first-child,
.ci-book table:not(.ci-book-header):not(.ci-book-footer):not(.ci-book-table) tbody tr th:first-child {
text-align: right;
}
*/
.ci-book
table
thead
tr
th
p
{
color
:
black
!important
;
}
.ci-book
p
+
table
td
a
{
display
:
block
;
}
/* opinionated align for content tables, overwrite in html if required */
.ci-book
a
+
table
tbody
tr
td
:first-child
,
.ci-book
a
+
table
tbody
tr
th
:first-child
{
text-align
:
center
;
...
...
@@ -437,7 +446,9 @@
.ci-book
a
+
table
tbody
tr
th
:not
(
:first-child
)
{
text-align
:
right
;
}
.ci-book
p
+
table
td
a
{
display
:
block
;
}
/* table formatting */
.ci-book
table
{
border-collapse
:
collapse
;
...
...
@@ -454,6 +465,11 @@
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
tbody
tr
:first-child
th
{
background-color
:
#e0e0e0
;
font-weight
:
bold
;
text-align
:
center
;
}
.ci-book
.ci-book-table
tbody
tr
td
,
.ci-book
.ci-book-table
tbody
tr
th
{
text-align
:
center
;
}
.ci-book
table
thead
tr
td
,
...
...
@@ -751,9 +767,29 @@ html .ci-book table td p {
}
/* === code boxes === */
.ci-book
pre
{
text-align
:
left
;
white-space
:
pre-line
;
word-wrap
:
break-word
;
padding
:
10px
20px
36px
;
background-color
:
rgb
(
234
,
246
,
246
);
/*
white-space: pre;
word-wrap: break-word;
overflow-wrap: break-word;
*/
/*
break after 100 characters - https://stackoverflow.com/a/16756641
max-width: 40em;
max-width: 100ch;
*/
}
.ci-book
pre
code
{
display
:
block
;
background-color
:
rgb
(
234
,
246
,
246
);
}
.ci-book
p
code
,
.ci-book
blockquote
{
background-color
:
rgb
(
234
,
246
,
246
);
}
/* === special headers === */
...
...
@@ -828,6 +864,7 @@ html .ci-book table td p {
text-indent
:
2mm
;
}
/* === reports === */
/* should have their own .css/.pdf.css file eventually */
.ci-book
.ci-book-table
.ci-book-report-cell-left
,
.ci-book
.ci-book-table
td
[
colspan
]
{
text-align
:
left
;
...
...
@@ -838,7 +875,10 @@ html .ci-book table td p {
/* === box items === */
/* Project Breakdown/Milestone List */
.ci-book
.ci-book-box-offer
,
.ci-book
div
.ci-book-box-offer-milestone
{
.ci-book
div
.ci-book-box-offer-milestone
,
/* backcompat */
.ci-document-box-offer
,
div
.ci-document-box-offer-milestone
{
width
:
100%
;
}
.ci-book
.ci-book-box-offer
,
...
...
@@ -857,15 +897,25 @@ html .ci-book table td p {
}
.ci-book
.ci-book-box-offer
b
,
.ci-book
.ci-book-box-offer-milestone
b
,
.ci-book
.ci-book-box-offer-line
b
{
.ci-book
.ci-book-box-offer-line
b
,
/* backcompat */
.ci-document-box-offer
b
,
.ci-document-box-offer-milestone
b
,
.ci-document-box-offer-line
b
{
font-weight
:
bold
;
}
.ci-book
.ci-book-box-detail
{
.ci-book
.ci-book-box-detail
,
/* backcompat */
.ci-document-box-detail
{
table-layout
:
fixed
;
}
.ci-book
.ci-book-box-offer
,
.ci-book
.ci-book-box-offer-line
,
.ci-book
.ci-book-box-offer-milestone
{
.ci-book
.ci-book-box-offer-milestone
,
/* backcompat */
.ci-document-box-offer
,
.ci-document-box-offer-line
,
.ci-document-box-offer-milestone
{
border
:
1px
solid
#a1a1a1
;
padding
:
2px
;
-webkit-box-sizing
:
border-box
;
...
...
@@ -876,37 +926,54 @@ html .ci-book table td p {
box-shadow
:
10px
10px
0
#a1a1a1
;
background-color
:
#fff
;
}
.ci-book
.ci-book-box-coverage
{
.ci-book
.ci-book-box-coverage
,
/* backcompat */
.ci-document-box-coverage
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
66%
;
}
.ci-book
.ci-book-box-location
,
.ci-book
.ci-book-box-resources
,
.ci-book
.ci-book-box-leader
{
.ci-book-box-location
,
.ci-book-box-resources
,
.ci-book-box-leader
,
/* backcompat */
.ci-document-box-location
,
.ci-document-box-resources
,
.ci-document-box-leader
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-begin
,
.ci-book
.ci-book-box-end
{
.ci-book
.ci-book-box-end
,
/* backcompat */
.ci-document-box-begin
,
.ci-document-box-end
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-id
{
.ci-book
.ci-book-box-id
,
/* backcompat */
.ci-document-box-id
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-duration
{
.ci-book
.ci-book-box-duration
,
/* backcompat */
.ci-document-box-duration
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
{
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
,
/* backcompat */
.ci-document-box-end
+
.ci-document-box-resources
{
margin-left
:
20%
;
}
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
{
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
,
/* backcompat */
.ci-document-box-end
+
.ci-document-box-resources
{
margin-left
:
20%
;
}
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/book.pdf.css.css
View file @
3d57b15b
...
...
@@ -34,7 +34,7 @@
.ci-book
a
,
.ci-book
li
,
.ci-book
p
,
.ci-book
pre
code
{
.ci-book
pre
{
font-size
:
5.29167mm
;
/* 15pt; */
/* 20px; */
}
.ci-book
.ci-book-img
+
span
,
...
...
@@ -43,7 +43,6 @@
.ci-book
table
thead
td
,
.ci-book
table
tbody
td
,
.ci-book
table
tbody
td
span
,
.ci-book
table
tbody
td
p
,
.ci-book
table
tbody
td
li
,
.ci-book
table
tbody
td
em
,
.ci-book
table
tbody
td
strong
,
...
...
@@ -55,6 +54,9 @@
.ci-book
.ci-book-header
td
:last-child
div
{
font-size
:
4.7625mm
;
/* 13.5pt; */
/* 18px; */
}
.ci-book
table
tbody
td
p
{
font-size
:
inherit
;
}
.ci-book
.ci-book-header
.ci-book-header-subtitle
,
.ci-book
.ci-book-header
.ci-book-header-value
,
...
...
@@ -121,6 +123,12 @@
text-align
:
initial
;
}
/* === word breaks (long urls eg) === */
.ci-book
p
{
overflow-wrap
:
break-word
;
word-wrap
:
break-word
;
}
/* === page breaks === */
.ci-book
h1
{
...
...
@@ -418,10 +426,22 @@
.ci-book
table
th
,
.ci-book
table
td
{
border
:
1px
solid
#a1a1a1
;
padding
:
0
2mm
;
text-align
:
center
;
padding
:
0
2mm
;
text-align
:
center
;
}
/* opinionated align for content tables, overwrite in html if required */
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
:not
(
.ci-book-table
)
tbody
td
,
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
:not
(
.ci-book-table
)
tbody
th
{
text-align
:
left
;
}
/*
.ci-book table:not(.ci-book-header):not(.ci-book-footer):not(.ci-book-table) tbody tr td:first-child,
.ci-book table:not(.ci-book-header):not(.ci-book-footer):not(.ci-book-table) tbody tr th:first-child {
text-align: left;
}
*/
.ci-book
table
thead
tr
th
p
{
color
:
black
!important
;
}
.ci-book
a
+
table
tbody
tr
td
:first-child
,
.ci-book
a
+
table
tbody
tr
th
:first-child
{
text-align
:
center
;
...
...
@@ -430,13 +450,9 @@
.ci-book
a
+
table
tbody
tr
th
:not
(
:first-child
)
{
text-align
:
right
;
}
.ci-book
table
thead
tr
th
p
{
color
:
black
!important
;
}
.ci-book
p
+
table
td
a
{
display
:
block
;
}
/* table formatting */
.ci-book
table
{
border-collapse
:
collapse
;
...
...
@@ -453,6 +469,11 @@
.ci-book
table
:not
(
.ci-book-header
)
:not
(
.ci-book-footer
)
tbody
tr
:first-child
th
{
background-color
:
#e0e0e0
;
font-weight
:
bold
;
text-align
:
center
;
}
.ci-book
.ci-book-table
tbody
tr
td
,
.ci-book
.ci-book-table
tbody
tr
th
{
text-align
:
center
;
}
.ci-book
table
thead
tr
td
,
...
...
@@ -750,16 +771,31 @@ html .ci-book table td p {
}
/* === code boxes === */
.ci-book
pre
{
text-align
:
left
;
white-space
:
pre-line
;
word-wrap
:
break-word
;
padding
:
10px
20px
36px
;
background-color
:
rgb
(
234
,
246
,
246
);
/*
white-space: pre;
word-wrap: break-word;
overflow-wrap: break-word;
*/
/*
break after 100 characters - https://stackoverflow.com/a/16756641
max-width: 40em;
max-width: 100ch;
*/
}
.ci-book
pre
code
{
display
:
block
;
background-color
:
rgb
(
234
,
246
,
246
);
}
.ci-book
p
code
,
.ci-book
blockquote
{
background-color
:
rgb
(
234
,
246
,
246
);
}
/* === special headers === */
/* distribution list */
.ci-book
.ci-book
thead
th
{
...
...
@@ -842,7 +878,10 @@ html .ci-book table td p {
/* === box items === */
/* Project Breakdown/Milestone List */
.ci-book
.ci-book-box-offer
,
.ci-book
.ci-book-box-offer-milestone
{
.ci-book
div
.ci-book-box-offer-milestone
,
/* backcompat */
.ci-document-box-offer
,
div
.ci-document-box-offer-milestone
{
width
:
100%
;
}
.ci-book
.ci-book-box-offer
,
...
...
@@ -861,15 +900,25 @@ html .ci-book table td p {
}
.ci-book
.ci-book-box-offer
b
,
.ci-book
.ci-book-box-offer-milestone
b
,
.ci-book
.ci-book-box-offer-line
b
{
.ci-book
.ci-book-box-offer-line
b
,
/* backcompat */
.ci-document-box-offer
b
,
.ci-document-box-offer-milestone
b
,
.ci-document-box-offer-line
b
{
font-weight
:
bold
;
}
.ci-book
.ci-book-box-detail
{
.ci-book
.ci-book-box-detail
,
/* backcompat */
.ci-document-box-detail
{
table-layout
:
fixed
;
}
.ci-book
.ci-book-box-offer
,
.ci-book
.ci-book-box-offer-line
,
.ci-book
.ci-book-box-offer-milestone
{
.ci-book
.ci-book-box-offer-milestone
,
/* backcompat */
.ci-document-box-offer
,
.ci-document-box-offer-line
,
.ci-document-box-offer-milestone
{
border
:
1px
solid
#a1a1a1
;
padding
:
2px
;
-webkit-box-sizing
:
border-box
;
...
...
@@ -880,37 +929,54 @@ html .ci-book table td p {
box-shadow
:
10px
10px
0
#a1a1a1
;
background-color
:
#fff
;
}
.ci-book
.ci-book-box-coverage
{
.ci-book
.ci-book-box-coverage
,
/* backcompat */
.ci-document-box-coverage
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
66%
;
}
.ci-book
.ci-book-box-location
,
.ci-book
.ci-book-box-resources
,
.ci-book
.ci-book-box-leader
{
.ci-book-box-location
,
.ci-book-box-resources
,
.ci-book-box-leader
,
/* backcompat */
.ci-document-box-location
,
.ci-document-box-resources
,
.ci-document-box-leader
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-begin
,
.ci-book
.ci-book-box-end
{
.ci-book
.ci-book-box-end
,
/* backcompat */
.ci-document-box-begin
,
.ci-document-box-end
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-id
{
.ci-book
.ci-book-box-id
,
/* backcompat */
.ci-document-box-id
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-duration
{
.ci-book
.ci-book-box-duration
,
/* backcompat */
.ci-document-box-duration
{
display
:
inline-block
;
vertical-align
:
top
;
width
:
33%
;
}
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
{
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
,
/* backcompat */
.ci-document-box-end
+
.ci-document-box-resources
{
margin-left
:
20%
;
}
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
{
.ci-book
.ci-book-box-end
+
.ci-book-box-resources
,
/* backcompat */
.ci-document-box-end
+
.ci-document-box-resources
{
margin-left
:
20%
;
}
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/slide.css.css
View file @
3d57b15b
...
...
@@ -240,18 +240,24 @@ html .ci-slideshow ol li {
}
/* code */
html
.ci-slideshow
code
{
background-color
:
#eee
;
html
.ci-slideshow
pre
,
html
.ci-slideshow-handout
pre
{
text-align
:
left
;
white-space
:
pre-line
;
word-wrap
:
break-word
;
padding
:
10px
20px
36px
;
background-color
:
rgb
(
234
,
246
,
246
);
}
html
.ci-slideshow
pre
code
html
.ci-slideshow-handout
pre
code
{
display
:
block
;
background-color
:
rgb
(
234
,
246
,
246
);
}
html
.ci-slideshow
pre
{
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
;
background-color
:
#eee
;
text-align
:
left
;
padding
:
/*16px;*/
.25em
;
html
.ci-slideshow
p
code
{
background-color
:
rgb
(
234
,
246
,
246
);
}
/* details */
html
.ci-slideshow
details
{
text-align
:
justify
;
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/template_css/slide.pdf.css.css
View file @
3d57b15b
...
...
@@ -202,18 +202,21 @@ section {
width
:
auto
;
}
/* code */
html
.ci-slideshow
code
,
html
.ci-slideshow-handout
code
{
background-color
:
#eee
;
}
html
.ci-slideshow
pre
,
html
.ci-slideshow-handout
pre
{
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
;
background-color
:
#eee
;
text-align
:
left
;
padding
:
16px
;
text-align
:
left
;
white-space
:
pre-line
;
word-wrap
:
break-word
;
padding
:
10px
20px
36px
;
background-color
:
rgb
(
234
,
246
,
246
);
}
html
.ci-slideshow
pre
code
html
.ci-slideshow-handout
pre
code
{
display
:
block
;
background-color
:
rgb
(
234
,
246
,
246
);
}
html
.ci-slideshow
p
code
{
background-color
:
rgb
(
234
,
246
,
246
);
}
...
...
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