senaite / senaite.impress Goto Github PK
View Code? Open in Web Editor NEWHTML to PDF Rendering Engine for SENAITE
License: GNU General Public License v2.0
HTML to PDF Rendering Engine for SENAITE
License: GNU General Public License v2.0
With PR senaite/senaite.core#1555 the option "Store Multi-Report PDFs Individually" in IMPRESS Settings is obsolete now.
Publishing several samples/requests into a single multireport is using one of them as the primary one to:
The word primary implies a kind of first of something, so it is confusing for users to recognize the actual primary request, because of contradicting expectations:
So I propose to make this work in a more consistent and user-friendly way.
IMHO the first sample in the sample list (preferably in ascending order) should be considered as the primary one and should receive the saved pdf too.
-Create a custom report for Senaite.Impress
-Use bootstrap grid classes (other than col-sm-12) to style the report
-Open the report in the Impress report viewer.
-Notice that the grid styling does not apply.
-Bootstrap grid classes do not style Senaite.Impress reports (other than col-sm-12)
-All bootstrap classes supported by WeasyPrint should apply styling.
<tal:render>
<div class="container">
<div class="row">
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
One of three columns
</div>
</div>
</div>
</tal:render>
</tal:report>```
Publish a Sample
Select the Default report
Date Published is empty
Date Published has either the date of publication or the current date time
While "Store Multi-Report PDFs Individually" is ON, those reports are stored repeatedly with identical content into every mentioned sample object.
The corresponding e-mail to the client contains all those identical reports which will lead to client's confusion and/or to very large e-mails unneccessarily, if we talk about e.g. 50 samples per report. IMHO the multireport feature is meant to make things easier and more comprehensive to the client, so this is a doubling of 'multipleness'.
A Multi-Report of n samples produces an e-mail with n identical attachments.
A Multi-Report of n samples produces an e-mail with one attachment, preferably named by the primary sample (also see #58)
Is it possible to make a logo or header appear on all pages using senaite.impress? Like the pagination?
Some people suggest me to put the header in inside a tal:repeat but it doesn't work. It will repeat the header in the same page. Can you help please?
Version Overview
Plone 5.2.14 (5222)
CMF 2.7.1
Zope 4.8.10
Python 2.7.18 (default, Apr 20 2020, 19:34:11) [GCC 8.3.0]
PIL 6.2.2 (Pillow)
WSGI: On
Server: waitress 1.4.4
OS: linux host, ubuntu 20.04
Browser: chrome
Issue Description:
During my testing of SENAITE with loaded demo data, I've encountered two consecutive errors while attempting to publish results. Initially, the system reported an error related to a missing signature attribute. After addressing this issue by adding a signature image to the lab manager's contact, I attempted to publish results again. This time, the system reported an error related to a missing Fullname attribute, despite all name details being correctly filled out under the lab manager's contact profile.
Steps to Reproduce:
Load demo data into SENAITE.
Attempt to publish results without a signature image added for the lab manager.
Add a signature image to the lab manager's contact profile.
Attempt to publish results again.
Initial Error:
Error Message: Ooops, an error occurred - Error: Signature
Relevant template/code snippet: ...manager/Signature...
Attempted Solutions:
I added a signature image for the lab manager's contact in the system as per the documentation.
Subsequent Error:
Error Message: Ooops, an error occurred - Error: Fullname
Relevant template/code snippet: ...manager/Fullname...
Further Steps Taken:
Verified that all name details are present under the lab manager's contact.
Switched the lab manager to another user, but encountered the same error.
Expected Behavior:
The system should successfully publish results without encountering errors related to missing signature or fullname attributes, especially when these attributes are present and correctly configured in the system.
Actual Behavior:
The system fails to publish results, citing missing signature and fullname attributes despite appropriate configuration.
full error message:
Ooops, an error occured
Error: Fullname
PYTHONHTTPSVERIFY=0 buildout
Version and requirements information containing beautifulsoup4:
[versions] constraint on beautifulsoup4: 4.11.1
Requirement of senaite.impress==2.4.0: beautifulsoup4==4.9.3
Requirement of zope.testbrowser: BeautifulSoup4
While:
Installing instance.
Error: The requirement ('beautifulsoup4==4.9.3') is not allowed by your [versions] constraint (4.11.1)
complete the build process
Publish a report and choose A4 with landscape orientation
Note: Other paper formats (A3, letter etc.) seem to be not affected by this
The report overflows on the right boundary
The report keeps within the calculated dimensions
Writing anything in the Remarks field of the analysis in Senaite LIMS.
Showing the raw data of the output (see the screenshot attached)
Showing the text of the remark without anything else e.g. tags or Unicode sequences instead of non-English characters
pyphen==0.11.0 does not support python 2, please use 0.10.0 or less
Line 54 in 318efe9
Create a calculation that has several interim fields (in my case, an average of 5 interim fields). Tick the option to report the interim fields. Create a sample that requires this calculation. Enter some figures into the interim fields and publish the results
No interim fields are displayed on the reports
The interim fields should be displayed on the reports
Create, receive, submit, verify and publish a set of ARs
Choosing additional attachments for E-Mail publication was introduced with #19 recently.
In case of reports of multiple ARs there are offered attachments of the first AR only.
The attachments of the following ARs are missing.
Attachments of all involved ARs are offered in E-Mail publication.
Create a new sample with some AS. Choose one AS and reject it. The same behavior happens for those AS with or without a result.
The rejected AS is shown in the PDF report. When the AS is rejected before a result is saved, an empty space is shown in the PDF report, but when a result is already saved then the latest result is shown in the PDF report.
Rejected AS should not be shown in the PDF results report.
A single analysis specification can be assigned while creating analysis request.
The problem is that a single product tested by lab can have multiple specifications.
Being able to change "Publication Specification", hence having desired specifications in published report would absolutely solve this problem.
Created a new sample request
Assigned analysis specification
Entered the results
Published the report
Changed the "publication specification" again
Published the report again
After saving publication specification, the "specification" changed but the "Range" did not change
The Range should be different in published report
OS: Ubuntu Server 18.04.2 LTS
senaite.core: 1.3.1
senaite.impress: 1.2.0
senaite.core.listing: master
senaite.core.supermodel: master
We need to generate different sample report templates for different clients.
Is there any built-in mechanism to do so or need to PR this feature?
regards,
--Leo
This happens only if there are custom reports containing special characters in the filename.
(Here german umlaut in MultiBestätigung.pt
)
Goto Site setup/Impress settings
(observed on senaite.impress 1.2.3 and 1.2.4)
Traceback:
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module plone.z3cform.layout, line 66, in __call__
Module plone.z3cform.layout, line 50, in update
Module plone.z3cform.fieldsets.extensible, line 59, in update
Module plone.z3cform.patch, line 30, in GroupForm_update
Module z3c.form.group, line 132, in update
Module z3c.form.form, line 136, in updateWidgets
Module z3c.form.field, line 277, in update
Module z3c.form.browser.select, line 51, in update
Module z3c.form.browser.widget, line 171, in update
Module z3c.form.widget, line 233, in update
Module z3c.form.widget, line 227, in updateTerms
Module zope.component._api, line 107, in getMultiAdapter
Module zope.component._api, line 120, in queryMultiAdapter
Module zope.component.registry, line 238, in queryMultiAdapter
Module zope.interface.adapter, line 532, in queryMultiAdapter
Module z3c.form.term, line 105, in ChoiceTerms
Module zope.schema._field, line 352, in bind
Module Zope2.App.schema, line 33, in get
Module senaite.impress.vocabularies, line 36, in __call__
Module zope.schema.vocabulary, line 41, in __init__
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 24: ordinal not in range(128)
Display Impress Settings dialog working with any valid filenames of the reports.
-- Steps to reproduce
Added a Client and added contacts under it
-- Current behavior
Edited a contact to set publication preference. Not seeing any pdf/print options under publications preference
-- Expected behavior
Should be able to see options under publication preference
-- Screenshot (optional)
Clicking Prepublish or Publish button results in below error because of this
Result table shows only the first 5 ARs, the rest is lost.
Results of all ARs should be displayed in separate table sections
following the setting "Maximum columns per results email" in Bika Setup/Result Reports
or create a new item in senaite publisher settings for this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.