Hello,
A fresh 6.1.2 installation won't generate PDFs for "User' export correctly.
The URI of the popup is /projeqtor/view/print.php?print=true&page=objectDetail.php&objectClass=User&objectId=000001&orientation=P&outMode=pdf
=> version of ProjeQtOr
fresh 6.1.2 install
=> browser used (en version)
firefox 52
=> use case to reproduce the issue (step by step case)
- Click Users icon in the top menu
- Select a user
- Click PDF icon in the central pane
=> expected behavior and noticed behavior
- prompts to download a PDF
- loglevel2 : "ERROR : An exception occurred on 2017-03-15 at 21:10:41" in popup window
=> attach print screen to illustrate behavior
=> attach log file (or at least copy lines with "ERROR")
Error loglevel4:
2017-03-15 20:24:23.853 ..... SCRIPT .... 192.168.112.1 /projeqtor/view/print.php
2017-03-15 20:24:23.859 ..... SCRIPT .... 192.168.112.1 Page=print.php
2017-03-15 20:24:23.869 ..... SCRIPT .... 192.168.112.1 ->/view/print.php
2017-03-15 20:24:23.877 ..... SCRIPT .... 192.168.112.1 ->/view/objectDetail.php
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 securityGetAccessRightYesNo ( menuName=menuUser, accessType=read, obj=User #1, user=)
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuUser, accessType=read, obj=User #1, user=User #1)
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=User #1)
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:23.880 ..... SCRIPT .... 192.168.112.1 drawTableFromObject(obj, included=, parentReadOnly=)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 securityGetAccessRightYesNo ( menuName=menuUser, accessType=update, obj=User #1, user=)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuUser, accessType=update, obj=User #1, user=User #1)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=User #1)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:23.881 ..... SCRIPT .... 192.168.112.1 startTitlePane(classObbj=User, section=Description, collapsedList=array, widthPct=760px, print=1, outMode=pdf, prevSection=, nbCol=1, nbBadge=)
2017-03-15 20:24:23.886 ..... SCRIPT .... 192.168.112.1 startTitlePane(classObbj=User, section=Affectations, collapsedList=array, widthPct=760px, print=1, outMode=pdf, prevSection=Description, nbCol=1, nbBadge=0)
2017-03-15 20:24:23.886 ..... SCRIPT .... 192.168.112.1 securityGetAccessRightYesNo ( menuName=menuAffectation, accessType=create, obj=, user=)
2017-03-15 20:24:23.886 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuAffectation, accessType=create, obj=, user=User #1)
2017-03-15 20:24:23.886 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=)
2017-03-15 20:24:23.887 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuAffectation, accessType=create, obj=, user=User #)
2017-03-15 20:24:23.887 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=)
2017-03-15 20:24:23.892 ..... SCRIPT .... 192.168.112.1 securityGetAccessRightYesNo ( menuName=menuUser, accessType=update, obj=User #1, user=)
2017-03-15 20:24:23.892 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuUser, accessType=update, obj=User #1, user=User #1)
2017-03-15 20:24:23.892 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=User #1)
2017-03-15 20:24:23.892 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:23.894 ..... SCRIPT .... 192.168.112.1 startTitlePane(classObbj=User, section=Miscellaneous, collapsedList=array, widthPct=760px, print=1, outMode=pdf, prevSection=Affectations, nbCol=1, nbBadge=)
2017-03-15 20:24:23.894 ..... SCRIPT .... 192.168.112.1 securityGetAccessRightYesNo ( menuName=menuUser, accessType=update, obj=User #1, user=)
2017-03-15 20:24:23.894 ..... SCRIPT .... 192.168.112.1 securityGetAccessRight(menuName=menuUser, accessType=update, obj=User #1, user=User #1)
2017-03-15 20:24:23.894 ..... SCRIPT .... 192.168.112.1 getAccessControlRights(obj=User #1)
2017-03-15 20:24:23.894 ..... SCRIPT .... 192.168.112.1 getProfile(objectOrIdProject=User #1)
2017-03-15 20:24:24.102 ***** ERROR ***** EXCEPTION *****
2017-03-15 20:24:24.102 ***** ERROR ***** on file '/var/www/projeqtor/external/html2pdf/_class/parsingHtml.class.php' at line (118)
2017-03-15 20:24:24.102 ***** ERROR ***** cause = ERROR n°4 : HTML code invalid, the tags are not closed in an orderly fashion.Status : Array
(
[0] => page
[1] => div
[2] => table
[3] => tr
[4] => td
)
HTML : ...tyle="width:610px"></td></tr>
</table><br/><table class="detail" style...
2017-03-15 20:24:24.102 ***** ERROR ***** => #0 /var/www/projeqtor/external/html2pdf/html2pdf.class.php (436) -> parse()
2017-03-15 20:24:24.102 ***** ERROR ***** => #1 /var/www/projeqtor/view/print.php (239) -> writeHTML()
2017-03-15 20:24:24.102 ***** ERROR ***** => #2 /var/www/projeqtor/view/print.php (183) -> finalizePrint()
2017-03-15 20:24:49.443 ..... SCRIPT .... 192.168.112.1 Page=checkAlertToDisplay.php
=> copy errors displayed on browser console
I think the unbalanced tag is written in view/objectDetail.php line 870 (V6.1.2), but it is very hard to tell because the function body is so long.