...
 
Commits (28)
......@@ -11,8 +11,12 @@
<value> <string>global</string> </value>
</item>
<item>
<key> <string>actbox_icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Leave Requests to Submit(%(count)s)</string> </value>
<value> <string>Leave Requests to Submit (%(count)s)</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
......@@ -47,10 +51,7 @@ leave_request_module/view?simulation_state=draft&local_roles=Owner&reset:int=1
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="Guard" module="Products.DCWorkflow.Guard"/>
<tuple/>
</tuple>
<global name="Guard" module="Products.DCWorkflow.Guard"/>
</pickle>
<pickle>
<dictionary>
......@@ -67,10 +68,7 @@ leave_request_module/view?simulation_state=draft&local_roles=Owner&reset:int=1
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/>
</tuple>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
......
import json
doc = json.loads(context.getData())
AT_KEY_TO_CHANGE = 2
KEY_TO_CHANGE = 0
NEW_KEY_VAL = 1
LIST_OF_NESTED_KEYS = [
["layout", "title", "text"],
["layout", "xaxis", "title", "text"],
["layout", "yaxis", "title", "text"]
]
def nestedKeyExists (key_list, dictionary):
keyExists = False
currKey = key_list[0]
if type(dictionary) == dict:
if currKey in dictionary:
smaller_list = key_list[1:]
if len(smaller_list) == 0:
keyExists = True
else:
return nestedKeyExists(smaller_list, dictionary[currKey])
return keyExists
def changeKeysInDict(key_list, dictionary):
if len(key_list) == AT_KEY_TO_CHANGE:
dictionary[key_list[KEY_TO_CHANGE]] = dictionary[key_list[KEY_TO_CHANGE]][key_list[NEW_KEY_VAL]]
else:
return changeKeysInDict(key_list[1:], dictionary[key_list[0]])
for i in LIST_OF_NESTED_KEYS:
if nestedKeyExists(i, doc):
changeKeysInDict(i, doc)
doc['isPlotlyGraph'] = True;
return json.dumps(doc)
......@@ -50,11 +50,11 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>depth, parent</string> </value>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_generateTicketUseDomain</string> </value>
<value> <string>WebChart_getData</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -115,7 +115,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getData()</string> </value>
<value> <string>python: here.WebChart_getData()</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -5,7 +5,7 @@ renderjs.js
rsvp.js
gadget_chart_editor.js
static/css/main.88fa11bf.css
static/js/main.99e62089.js
static/js/main.8b730bc1.js
NETWORK:
*
\ No newline at end of file
......@@ -12,9 +12,9 @@
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<script type="text/javascript" src="static/js/main.99e62089.js"></script>
<script src="https://unpkg.com/react@16.8.6/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16.8.6/umd/react-dom.development.js" crossorigin></script>
<script type="text/javascript" src="static/js/main.8b730bc1.js"></script>
<script src="gadget_chart_editor.js" type="text/javascript"></script>
......
......@@ -22,10 +22,10 @@
})
.declareMethod('render', function (options) {
return this.changeState({
key: options.key,
value: options.value.value || "",
url: options.value.url || "",
value: options.value || "",
editable: options.editable === undefined ? true : options.editable,
configuration: options.configuration,
configuration_mobile: options.configuration_mobile,
......@@ -60,14 +60,11 @@
modification_dict.hasOwnProperty('is_responsive') ||
modification_dict.hasOwnProperty('is_mobile') ||
modification_dict.hasOwnProperty('editable') ||
modification_dict.hasOwnProperty('url')) {
modification_dict.hasOwnProperty('value')) {
// Expected configuration changed.
if ("value" in modification_dict && modification_dict.value != ""){
props = {...props, ...JSON.parse(modification_dict.value)};
}
if ("url" in modification_dict){
props = {...props, ...{url: modification_dict.url}};
}
ReactDOM.unmountComponentAtNode(container);
gadget.state.component = ReactDOM.render(React.createElement(EntryPoint.default.App, props, null), container);
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>main.99e62089.js.map</string> </value>
<value> <string>main.8b730bc1.js.map</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>main.99e62089.js.map</string> </value>
<value> <string>main.8b730bc1.js.map</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>main.99e62089.js</string> </value>
<value> <string>main.8b730bc1.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>main.99e62089.js</string> </value>
<value> <string>main.8b730bc1.js</string> </value>
</item>
</dictionary>
</pickle>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -80,7 +80,8 @@
} else if (options.portal_type === 'Web Style') {
mode = 'css';
} else if ((options.portal_type === 'Python Script') ||
(options.portal_type === 'Test Component')) {
(options.portal_type === 'Test Component') ||
(options.portal_type === 'Extension Component')) {
mode = 'python';
}
state_dict.mode = mode;
......
......@@ -40,6 +40,14 @@ Creates the Book header.
for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
function setImageSize(pic) {
if (pic.naturalWidth / pic.naturalHeight <= 1) {
pic.style.width = "auto";
pic.style.maxWidth = "28mm";
pic.style.maxHeight = "28mm"
pic.style.height = "auto";
}
}
</script>
</head>
<body class="ci-book" onload="setPlaceholdersWithUrlParameters()">
......@@ -55,7 +63,7 @@ Creates the Book header.
<tr>
<td>
<div class="ci-book-header-image-wkhtmltopdf-image-wrapper">
<img tal:attributes="src python: book_logo_url; alt python: book_logo_title"/>
<img class="hack" onload="setImageSize(event.srcElement)" tal:attributes="src python: book_logo_url; alt python: book_logo_title"/>
</div>
</td>
<td>
......
......@@ -45,7 +45,6 @@ Creates the Tables of references.
<tal:block metal:define-macro="book_references">
<tal:comment tal:replace="nothing">We need to recheck in case macro is called directly</tal:comment>
<tal:block tal:condition="python: book_include_reference != 0">
<h1 i18n:translate="" i18n:domain="erp5_ui">Introduction</h1>
<h2 i18n:translate="" i18n:domain="erp5_ui">References</h2>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of applicable documents and references.</p>
<h3 i18n:translate="" i18n:domain="erp5_ui">Applicable Documents</h3>
......
......@@ -45,6 +45,8 @@ if (doc_content.find('${WebPage_')):
)]
substitution_list = re.findall(r'\${WebPage_(.*)}', doc_content)
for substitution_report in substitution_list:
if substitution_report == 'insertTableOfReferences':
continue
placeholder = ''.join(['${WebPage_', substitution_report, '}'])
substitution_content = getReportViaFancyName(substitution_report)
doc_content = doc_content.replace(placeholder, substitution_content)
......
......@@ -90,7 +90,7 @@ if isinstance(book_content, unicode):
book_content = book_content.encode("UTF-8")
# backcompat
book_history_section_list = re.findall('<section*?>.+?</section>', book_content, re.S)
#book_history_section_list = re.findall('<section*?>.+?</section>', book_content, re.S)
# override for tests
if override_batch_mode:
......@@ -130,7 +130,7 @@ book_table_list = []
book_table_of_content = blank
# backcompat
book_content = book_content.replace("${WebPage_insertTableOfReferences}", blank)
# book_content = book_content.replace("${WebPage_insertTableOfReferences}", blank)
# XXX: not done
if book_include_history_table:
......@@ -191,10 +191,13 @@ if book_include_reference_table:
# backcompat for manual history tables at the beginning of documents
# NOTE: assumes <section>s are not used elsewhere!
if len(book_history_section_list) > 0:
book_content = book_content.replace(book_history_section_list[-1], (book_history_section_list[-1] + book_references.encode('UTF-8').strip()))
else:
book_content = book_references.encode('UTF-8').strip() + book_content
#if len(book_history_section_list) > 0:
# book_content = book_content.replace(book_history_section_list[-1], (book_history_section_list[-1] + book_references.encode('UTF-8').strip()))
#else:
# book_content = book_content.replace("${WebPage_insertTableOfReferences}", book_references.encode('UTF-8').strip())
book_content = book_content.replace("${WebPage_insertTableOfReferences}", book_references.encode('UTF-8').strip())
else:
book_content = book_content.replace("${WebPage_insertTableOfReferences}", blank)
# table of content has to be created manually to run over everything that
# should be indexed in the toc
......@@ -241,7 +244,7 @@ if book_format == "html" or book_format == "mhtml":
book_signature_list=book_signature_list,
book_version_list=book_version_list,
book_distribution_list=book_distribution_list,
book_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display=None),
book_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display="small"),
book_logo_title=book_theme.get("theme_logo_description"),
book_reference=book_reference,
book_revision=book_revision,
......@@ -290,7 +293,7 @@ if book_format == "pdf":
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_theme_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display=None),
book_theme_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display="small"),
book_theme_logo_alt=book_theme.get("theme_logo_alt"),
book_template_css_url=book_theme.get("template_css_url"),
book_include_history=book_include_history_table,
......@@ -300,7 +303,6 @@ if book_format == "pdf":
)
# book_references created and added above
book_content = book.WebPage_createBookContent(
book_format=book_format,
book_rendering_fix=book_rendering_fix,
......@@ -321,7 +323,7 @@ if book_format == "pdf":
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display=None),
book_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display="small"),
book_logo_title=book_theme.get("theme_logo_description"),
book_short_title=book_short_title,
book_reference=book_reference,
......@@ -336,7 +338,7 @@ if book_format == "pdf":
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_theme_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display=None),
book_theme_logo_url=book.Base_setUrl(path=book_source.get("enhanced_logo_url"), display="small"),
book_theme_logo_alt=book_theme.get("theme_logo_description"),
book_template_css_url=book_theme.get("template_css_url"),
book_full_reference=book_full_reference,
......@@ -375,7 +377,6 @@ if book_format == "pdf":
footer_spacing=3,
)
)
return book.WebPage_finishPdfCreation(
doc_download=book_download,
doc_save=book_save,
......
......@@ -245,11 +245,24 @@
display: inline;
vertical-align: middle;
}
/* BACKUP:
fits all logos, unless you have to use a really wiiiiide logo like Nexedi
*/
.ci-book .ci-book-header .ci-book-header-image-wkhtmltopdf-image-wrapper img {
height: auto;
display: inline-block;
width: auto;
}
/* hardcode here we go.
NOTE: logos will disappear in wkhtmltopdf if they go beyond the available space
.ci-book .ci-book-header .ci-book-header-image-wkhtmltopdf-image-wrapper img {
height: auto;
display: inline-block;
width: 60%;
vertical-align: -webkit-baseline-middle;
}
*/
/* header spec section */
.ci-book .ci-book-header td:last-child {
text-align: left;
......@@ -979,4 +992,4 @@ div.ci-document-box-offer-milestone {
/* backcompat */
.ci-document-box-end + .ci-document-box-resources {
margin-left: 20%;
}
}
\ No newline at end of file
......@@ -159,6 +159,17 @@
page-break-inside: avoid;
}
.ci-book :not(.ci-book-header-image-wkhtmltopdf-image-wrapper) > img {
page-break-after: avoid;
margin-left: auto;
margin-right: auto;
width: 90%;
display: block;
}
.ci-book :not(.ci-book-header-image-wkhtmltopdf-image-wrapper) > img ~ span {
margin-left: 3cm;
}
.ci-book section:not(:last-child) {
page-break-after: always;
page-break-inside: always;
......@@ -247,17 +258,25 @@
width: 100%;
line-height: 25mm;
}
/* BACKUP:
fits all logos, unless you have to use a really wiiiiide logo like Nexedi
*/
.ci-book .ci-book-header .ci-book-header-image-wkhtmltopdf-image-wrapper img {
/*
display: inline-block;
width: auto;
height: auto;
*/
max-width: 28mm;
height: auto;
vertical-align: middle;
max-height: 14mm;
}
/* hardcode here we go.
NOTE: logos will disappear in wkhtmltopdf if they go beyond the available space
.ci-book .ci-book-header .ci-book-header-image-wkhtmltopdf-image-wrapper img {
height: auto;
vertical-align: middle;
display: inline-block;
width: 60%;
object-fit: contain;
}
*/
/* header spec section */
.ci-book .ci-book-header td:last-child {
text-align: left;
......@@ -747,7 +766,7 @@
padding-top: 20px;
max-width: 240mm;
page-break-after: avoid;
width: 50%;
width: 90%;
}
.ci-book .ci-book-img > img ~ span {
margin-left: 3cm;
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>a5a69b7067fad35fe505e713a39926b3</string> </value>
<value> <string>3f342b9c09131adf3f6b0f37a9ceac9c</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>c6bef2ea51fccf25726a99d95bb775f6</string> </value>
<value> <string>75ec36fedb7d0f0977c0334fb20c616e</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>d9d6b3fcc977c59003b7c3ff45b712dc</string> </value>
<value> <string>e8da2c25abb31f148331f78c6326ca22</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>7a44a54d7983374d6d78fa236086f3f9</string> </value>
<value> <string>6bd59a9c0c273d86048097b8f1ad899d</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>712b3838ab7cff82801b12e9d2320798</string> </value>
<value> <string>6ad2682d99be4a59a79197270e30fe05</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -79,7 +79,7 @@
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>0e006c3ef64b92cb0e1f39174a11a289</string> </value>
<value> <string>7bf32739ce469e3d5f9227944bd08c90</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -101,6 +101,7 @@
</tbody>
</table>
</section>
<h1>Introduction</h1>
${WebPage_insertTableOfReferences}
<h1>Synthese</h1>
<p>This document is a high level overview measures taken by Foo for Bar project. </p>
......
......@@ -32,7 +32,9 @@
<tr>
<td>
<div class="ci-book-header-image-wkhtmltopdf-image-wrapper">
<img src="organisation_module/template_test_association/default_image?format=png&amp;display=thumbnail"
<img class="hack"
onload="setImageSize(event.srcElement)"
src="organisation_module/template_test_association/default_image?format=png&amp;display=small"
alt="" />
</div>
</td>
......@@ -91,7 +93,7 @@
<section class="ci-book-table-of-content"><p class="ci-book-toc-faux-h1">Table of Contents</p><ol><li><div><a href="#synthese0_anchor">Synthese</div></a><ol><li><div><a href="#risks-and-measures1_anchor">Risks and measures</div></a><ol><li><div><a href="#risk-of-casualties-if-device-does-not-stop-and-destroys-itself2_anchor">Risk of casualties if device does not stop and destroys itself</div></a></li><li><div><a href="#risk-of-killing-birds-and-polluting-the-environment3_anchor">Risk of killing birds and polluting the environment</div></a></li><li><div><a href="#noise-and-vibration-levels4_anchor">Noise and vibration levels</div></a></li></ol></li></ol><li><div><a href="#reports5_anchor">Reports</div></a><ol><li><div><a href="#project-reports6_anchor">Project Reports</div></a></li><li><div><a href="#sale-order-reports7_anchor">Sale Order Reports</div></a></ol></ol></section>
<section class="ci-book-table-of-content"><p class="ci-book-toc-faux-h1">Table of Contents</p><ol><li><div><a href="#introduction0_anchor">Introduction</div></a></li><li><div><a href="#synthese1_anchor">Synthese</div></a><ol><li><div><a href="#risks-and-measures2_anchor">Risks and measures</div></a><ol><li><div><a href="#risk-of-casualties-if-device-does-not-stop-and-destroys-itself3_anchor">Risk of casualties if device does not stop and destroys itself</div></a></li><li><div><a href="#risk-of-killing-birds-and-polluting-the-environment4_anchor">Risk of killing birds and polluting the environment</div></a></li><li><div><a href="#noise-and-vibration-levels5_anchor">Noise and vibration levels</div></a></li></ol></li></ol><li><div><a href="#reports6_anchor">Reports</div></a><ol><li><div><a href="#project-reports7_anchor">Project Reports</div></a></li><li><div><a href="#sale-order-reports8_anchor">Sale Order Reports</div></a></ol></ol></section>
<section>
......@@ -197,8 +199,9 @@
</tbody>
</table>
</section>
<h1><a name="introduction0_anchor"></a>Introduction<a class="custom-para" href=#introduction0_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<h1><a name="synthese0_anchor"></a>Synthese<a class="custom-para" href=#synthese0_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<h1><a name="synthese1_anchor"></a>Synthese<a class="custom-para" href=#synthese1_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<p>This document is a high level overview measures taken by Foo for Bar project. </p>
<p>
The purpose of this document is to show possible dangers and measures being
......@@ -208,8 +211,8 @@ taken to prevent them from legal and ethics point of view.
<h2><a name="risks-and-measures1_anchor"></a>Risks and measures<a class="custom-para" href=#risks-and-measures1_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<h3><a name="risk-of-casualties-if-device-does-not-stop-and-destroys-itself2_anchor"></a>Risk of casualties if device does not stop and destroys itself<a class="custom-para" href=#risk-of-casualties-if-device-does-not-stop-and-destroys-itself2_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<h2><a name="risks-and-measures2_anchor"></a>Risks and measures<a class="custom-para" href=#risks-and-measures2_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<h3><a name="risk-of-casualties-if-device-does-not-stop-and-destroys-itself3_anchor"></a>Risk of casualties if device does not stop and destroys itself<a class="custom-para" href=#risk-of-casualties-if-device-does-not-stop-and-destroys-itself3_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<p>
When is it safe to turn off if we turn if off too early or are to risk-aversise,
economic losses of the device not working can be incurred. If on the other hand
......@@ -224,14 +227,14 @@ learning. Based on these findings another model / formula can be derived in
which we can calculate risk and evaluate costs of insurance which can cover
risk of casualties, et al.
</p>
<h3><a name="risk-of-killing-birds-and-polluting-the-environment3_anchor"></a>Risk of killing birds and polluting the environment<a class="custom-para" href=#risk-of-killing-birds-and-polluting-the-environment3_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<h3><a name="risk-of-killing-birds-and-polluting-the-environment4_anchor"></a>Risk of killing birds and polluting the environment<a class="custom-para" href=#risk-of-killing-birds-and-polluting-the-environment4_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<p>The software is set up on pre-existing devices which should have already
passed regulatory checks and certification concerning these risks. The use of
smart sensors technology in no way compromises security as the software
is solely responsible for shutting down and starting a device without
affects its normal operation nor its structure.
</p>
<h3><a name="noise-and-vibration-levels4_anchor"></a>Noise and vibration levels<a class="custom-para" href=#noise-and-vibration-levels4_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<h3><a name="noise-and-vibration-levels5_anchor"></a>Noise and vibration levels<a class="custom-para" href=#noise-and-vibration-levels5_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<p>
During operation, sound and vibration continue to be emitted into the
water body, potentially disturbing the communication and foraging behaviour
......@@ -307,15 +310,15 @@ which should not be touched.
web page, this time Google [<a href="https://www.google.com/" title="Google Website;Search;0;1">AD</a>], to
test whether the counter increments correctly.
</p>
<h1><a name="reports5_anchor"></a>Reports<a class="custom-para" href=#reports5_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<h1><a name="reports6_anchor"></a>Reports<a class="custom-para" href=#reports6_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<p>
Embedding reports should work via links with a report name and subsequent parameters
specified. Reports are all custom, so if they don't exist, they will not be loaded.
</p>
<h2><a name="project-reports6_anchor"></a>Project Reports<a class="custom-para" href=#project-reports6_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<h2><a name="project-reports7_anchor"></a>Project Reports<a class="custom-para" href=#project-reports7_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<a href="project_module/template_test_project?report=Base_generateLineBreakdownReport&amp;display_header=2">Line Breakdown Report</a>
<br/>
<h2><a name="sale-order-reports7_anchor"></a>Sale Order Reports<a class="custom-para" href=#sale-order-reports7_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<h2><a name="sale-order-reports8_anchor"></a>Sale Order Reports<a class="custom-para" href=#sale-order-reports8_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<a href="sale_order_module/template_test_sale_order?report=Base_generateCostEffortReport&amp;display_detail=detailed">Cost Effort Report</a>
<br/>
<a href="sale_order_module/template_test_sale_order?report=Base_generateDeliverableReport">Deliverable Report</a>
......
......@@ -32,7 +32,9 @@
<tr>
<td>
<div class="ci-book-header-image-wkhtmltopdf-image-wrapper">
<img src="Template.Test.Image.Erp5.Logo?format=png&amp;display=thumbnail"
<img class="hack"
onload="setImageSize(event.srcElement)"
src="Template.Test.Image.Erp5.Logo?format=png&amp;display=small"
alt="" />
</div>
</td>
......@@ -279,8 +281,9 @@
</tr>
</tbody>
</table>
</section><h1><a name="introduction0_anchor"></a>Introduction<a class="custom-para" href=#introduction0_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<h2><a name="references1_anchor"></a>References<a class="custom-para" href=#references1_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
</section>
<h1><a name="introduction0_anchor"></a>Introduction<a class="custom-para" href=#introduction0_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<h2><a name="references1_anchor"></a>References<a class="custom-para" href=#references1_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h2>
<p>This section provides the list of applicable documents and references.</p>
<h3><a name="applicable-documents2_anchor"></a>Applicable Documents<a class="custom-para" href=#applicable-documents2_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h3>
<p>This section provides the list of applicable documents.</p>
......@@ -431,7 +434,6 @@
</tbody>
</table>
<h1><a name="synthese7_anchor"></a>Synthese<a class="custom-para" href=#synthese7_anchor><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a></h1>
<p>This document is a high level overview measures taken by Foo for Bar project. </p>
<p>
......
......@@ -32,7 +32,9 @@
<tr>
<td>
<div class="ci-book-header-image-wkhtmltopdf-image-wrapper">
<img src="organisation_module/template_test_association/default_image?format=png&amp;display=thumbnail"
<img class="hack"
onload="setImageSize(event.srcElement)"
src="organisation_module/template_test_association/default_image?format=png&amp;display=small"
alt="" />
</div>
</td>
......
......@@ -32,7 +32,9 @@
<tr>
<td>
<div class="ci-book-header-image-wkhtmltopdf-image-wrapper">
<img src="organisation_module/template_test_association/default_image?format=png&amp;display=thumbnail"
<img class="hack"
onload="setImageSize(event.srcElement)"
src="organisation_module/template_test_association/default_image?format=png&amp;display=small"
alt="" />
</div>
</td>
......
portal = context.getPortalObject()
if depth:
category_relative_url = parent.getMembershipCriterionCategory()
else:
category_relative_url = portal.portal_preferences.getPreference(
'preferred_' + context.REQUEST['here'].getPortalType().replace(' Module', '').lower().replace(' ', '_') + '_use',
)
if not category_relative_url:
return ()
child_list, resource_list = portal.portal_categories.use.restrictedTraverse(category_relative_url).Category_getUseCategoryListAndResourceList()
domain_list = []
if child_list:
resource_uid_by_use_uid_dict = {}
for row in portal.portal_catalog(select_list=['default_use_uid'], default_use_uid=[x.getUid() for x in child_list]):
resource_uid_by_use_uid_dict.setdefault(row.default_use_uid, []).append(row.uid)
for child in child_list:
domain = parent.generateTempDomain(id=child.getId())
domain.edit(
title=child.getTranslatedTitle(),
membership_criterion_category=(child.getRelativeUrl(), ),
domain_generator_method_id=script.id,
)
domain.setCriterionPropertyList(['strict_resource_uid'])
domain.setCriterion('strict_resource_uid', identity=resource_uid_by_use_uid_dict[child.getUid()])
domain_list.append(domain)
for resource in resource_list:
domain = parent.generateTempDomain(id=resource.getId())
domain.edit(
title=resource.getTranslatedTitle(),
membership_criterion_base_category=('resource', ),
membership_criterion_category=('resource/' + resource.getRelativeUrl(), ),
)
domain_list.append(domain)
return sorted(domain_list, key=lambda x: x.getTitle())
......@@ -224,17 +224,12 @@
<item>
<key> <string>domain_root_list</string> </key>
<value>
<list>
<tuple>
<string>ticket_use_domain</string>
<string>Type</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <int>1</int> </value>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
......
......@@ -219,10 +219,6 @@
<value>
<list>
<tuple>
<string>ticket_use_domain</string>
<string>Type</string>
</tuple>
<tuple>
<string>causality_event_portal_type_domain</string>
<string>Channel</string>
</tuple>
......
portal_alarms/upgrader_migrate_event_workflow_history
portal_contribution_registry/crm_ingestion
portal_domains/causality_event_portal_type_domain
portal_domains/communication_plan_domain
portal_domains/ticket_use_domain
\ No newline at end of file
portal_domains/communication_plan_domain
\ No newline at end of file
......@@ -98,7 +98,7 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Different phases used in for manufacturing</string> </value>
<value> <string>Different phases used in for production</string> </value>
</item>
<item>
<key> <string>id</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_list</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/NotebookModule_viewNotebookList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Notebook_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<module>
<id>notebook_module</id>
<permission_list>
<permission type='tuple'>
<name>Access Transient Objects</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access contents information</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access session data</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal content</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal folders</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Change local roles</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Copy or Move</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Delete objects</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>List folder contents</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Modify portal content</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View History</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
</permission_list>
<portal_type>Notebook Module</portal_type>
<title>Notebooks</title>
</module>
\ No newline at end of file
<allowed_content_type_list>
<portal_type id="Notebook Module">
<item>Notebook</item>
</portal_type>
</allowed_content_type_list>
\ No newline at end of file
<base_category_list>
<portal_type id="Notebook">
<item>follow_up</item>
<item>function</item>
<item>group</item>
<item>publication_section</item>
<item>site</item>
</portal_type>
<portal_type id="Notebook Module">
<item>business_application</item>
</portal_type>
</base_category_list>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value> <string>folder_icon.gif</string> </value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addFolder</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple>
<string>module</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Notebook Module</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>Folder</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string>erp5_ui</string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string>erp5_ui</string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<workflow_chain>
<chain>
<type>Notebook</type>
<workflow>document_conversion_interaction_workflow, document_publication_workflow, document_security_interaction_workflow, edit_workflow, processing_status_workflow</workflow>
</chain>
</workflow_chain>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_doSelect</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>NotebookModule_viewNotebookList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>NotebookModule_viewNotebookList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Notebooks</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>