Right now (KReport master 02c85d28095284df) we have following defects:
- error in logic checking if we have qtscript or javascript interpreter used
- one error where report:interpreter name is used instead of report:script-interpreter
- "script interpreter used" is checked only by looking at report:script/report:script-interpreter attr and report:script/report:script-interpreter/@text. The text is saved in d->originalScript. If it is empty, we consider there are no scripts and report:scrip element is not saved. => loss of design.
- This is not OK, should be instead: look for report:item-data-source attributes of report elements and see if they values are value.trimmed().startsWith('='). Then if script interpreter isn't javascript/qtscript, display the usual warning.
Example 1:
- FIXED
Report with python script. Note there is script code used in report:item-data-source. Warning should be displayed.
<!DOCTYPE kexireport> <kexireport> <report:content xmlns:report="http://kexi-project.org/report/2.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"> <report:title>Report</report:title> <report:script report:script-interpreter="python"></report:script> <report:grid report:grid-divisions="4" report:grid-snap="1" report:page-unit="cm" report:grid-visible="1"/> <report:page-style report:print-orientation="portrait" fo:margin-bottom="28.346505799999999pt" fo:margin-top="28.346505799999999pt" fo:margin-left="28.346505799999999pt" fo:margin-right="28.346505799999999pt" report:page-size="A4">predefined</report:page-style> <report:body> <report:detail> <report:section svg:height="77.952890950006235pt" fo:background-color="#ffffff" report:section-type="detail"> <report:field report:item-data-source="=field.value("date")+"\n"+field.value("uptime")+"\n"+field.value("dns")+"\n"+field.value("connect")" report:name="field2" report:word-wrap="0" report:can-grow="1" report:horizontal-align="left" svg:x="7.086626450000000pt" svg:width="531.496983750085064pt" svg:y="7.086626450000000pt" report:vertical-align="center" svg:height="14.173252900002270pt" report:z-index="0"> <report:text-style fo:letter-spacing="0%" style:letter-kerning="true" fo:font-size="11" fo:foreground-color="#000000" fo:font-family="Nokia Pure Text" fo:background-color="#ffffff" fo:background-opacity="100%"/> <report:line-style report:line-style="nopen" report:line-weight="1" report:line-color="#000000"/> </report:field> </report:section> </report:detail> </report:body> </report:content> <connection type="internal" source="_160237"/> </kexireport>
Example 2
- TODO?
Report saved without report:script because of defective logic. Note there still is script code used in report:item-data-source.
<!DOCTYPE kexireport> <kexireport> <report:content xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:report="http://kexi-project.org/report/2.0"> <report:title>Report</report:title> <report:grid report:grid-visible="1" report:grid-snap="1" report:grid-divisions="4" report:page-unit="cm"/> <report:page-style fo:margin-left="28.346505799999999pt" report:page-size="A4" fo:margin-top="28.346505799999999pt" report:print-orientation="portrait" fo:margin-bottom="28.346505799999999pt" fo:margin-right="28.346505799999999pt">predefined</report:page-style> <report:body> <report:detail> <report:section fo:background-color="#ffffff" report:section-type="detail" svg:height="77.952890950006235pt"> <report:field report:horizontal-align="left" report:z-index="0" report:can-grow="1" report:value="" report:word-wrap="0" report:item-data-source="= field.value("date")+"\n"+field.value("uptime")+"\n"+field.value("dns")+"\n"+field.value("connect")" svg:width="531.496983750127583pt" svg:height="14.173252900003403pt" report:name="field2" report:vertical-align="center" svg:x="3.881451088374710pt" svg:y="7.062213858883440pt"> <report:text-style fo:background-color="#ffffff" fo:font-size="11" fo:font-family="Nokia Pure Text" fo:foreground-color="#000000" style:letter-kerning="true" fo:background-opacity="100%" fo:letter-spacing="0%"/> <report:line-style report:line-style="nopen" report:line-color="#000000" report:line-weight="1"/> </report:field> </report:section> </report:detail> </report:body> </report:content> <connection type="internal" source="_160237"/> </kexireport>