aces / Loris

LORIS is a web-accessible database solution for longitudinal multi-site studies.
GNU General Public License v3.0
144 stars 173 forks source link

[imaging_qc] Module does not load at all #6967

Closed jesscall closed 3 years ago

jesscall commented 4 years ago

Describe the bug Module does not load. Get a 500 error.

Screen Shot 2020-09-03 at 1 09 47 PM

Here is the error log:

[Thu Sep 03 13:03:12.517195 2020] [php7:warn] [pid 27729] [client ::1:58816] PHP Warning:  PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'm.t2' in 'field list' in /var/www/loris/php/libraries/Database.class.inc on line 710, referer: http://localhost:8080/imaging_qc/
[Thu Sep 03 13:03:12.518214 2020] [php7:notice] [pid 27729] [client ::1:58816] Could not execute SELECT PSCID, SessionID, cand_id, site, project, subproject, visit_label, scan_type, mri_parameter_form, scan_done, tarchive_loc, scan_location, qc_status, uploaded_by, selected, CommentID, TarchiveID FROM (  SELECT DISTINCT\n           c.PSCID,\n           s.ID as SessionID,\n           s.CandID as cand_id,\n           (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n           s.Visit_label as visit_label,\n           't1' as scan_type,\n           t.TarchiveID as tarchiveID,\n           CASE\n              WHEN EXISTS(\n                  SELECT\n                      *\n                  FROM\n                      tarchive_series ts\n                  LEFT JOIN mri_protocol mp ON mp.Scan_type=44\n                  WHERE\n                      ts.TarchiveID = t.TarchiveID\n                      AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n                      AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n           END as tarchive_loc,\n           (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n           as subproject, CASE\n              WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n              ELSE 'Complete'\n           END AS mri_parameter_form,\n           CASE\n              WHEN m.T1_Scan_done IS NULL THEN ''\n              WHEN (m.T1_Scan_done = 'Complete'\n              OR m.T1_Scan_done = 'Partial') THEN 'Yes'\n              ELSE 'No'\n           END as scan_done,\n           CASE\n              WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n              WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n              WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n           END as scan_location,\n           CASE\n              WHEN qc.Selected = '' THEN 'False'\n              WHEN qc.Selected = 'true' THEN 'True'\n           END as selected,\n           qc.QCStatus as qc_status,\n           mu.uploadedBy as uploaded_by,\n           f.CommentID as CommentID  FROM flag f\n        JOIN session s ON (f.SessionID=s.ID)\n        JOIN candidate c ON (s.CandID=c.CandID)\n        LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n        LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n        LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n        fi.AcquisitionProtocolID=44)\n        LEFT JOIN mri_violations_log mvl ON\n        (mvl.CandID = s.CandID AND mvl.Scan_type=44\n        AND mvl.PatientName LIKE CONCAT ('%', s.Visit_label,'%'))\n        LEFT JOIN files_qcstatus qc ON (qc.FileID = fi.FileID)\n        LEFT JOIN mri_upload mu ON (mu.SessionID = f.SessionID)  WHERE 1=1\n          AND NOT f.CommentID LIKE 'DDE%'\n          AND f.Test_name='mri_parameter_form'\n          AND c.Active='Y'\n          AND s.Active='Y'\n          AND s.CenterID <> '1' \n          UNION ALL\n           SELECT DISTINCT\n           c.PSCID,\n           s.ID as SessionID,\n           s.CandID as cand_id,\n           (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n           s.Visit_label as visit_label,\n           't2' as scan_type,\n           t.TarchiveID as tarchiveID,\n           CASE\n              WHEN EXISTS(\n                  SELECT\n                      *\n                  FROM\n                      tarchive_series ts\n                  LEFT JOIN mri_protocol mp ON mp.Scan_type=45\n                  WHERE\n                      ts.TarchiveID = t.TarchiveID\n                      AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n                      AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n           END as tarchive_loc,\n           (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n           as subproject, CASE\n              WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n              ELSE 'Complete'\n           END AS mri_parameter_form,\n           CASE\n              WHEN m.t2_Scan_done IS NULL THEN ''\n              WHEN (m.t2_Scan_done = 'Complete'\n              OR m.t2_Scan_done = 'Partial') THEN 'Yes'\n              ELSE 'No'\n           END as scan_done,\n           CASE\n              WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n              WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n              WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n           END as scan_location,\n           CASE\n              WHEN qc.Selected = '' THEN 'False'\n              WHEN qc.Selected = 'true' THEN 'True'\n           END as selected,\n           qc.QCStatus as qc_status,\n           mu.uploadedBy as uploaded_by,\n           f.CommentID as CommentID  FROM flag f\n        JOIN session s ON (f.SessionID=s.ID)\n        JOIN candidate c ON (s.CandID=c.CandID)\n        LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n        LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n        LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n        fi.AcquisitionProtocolID=45)\n        LEFT JOIN mri_violations_log mvl ON\n        (mvl.CandID = s.CandID AND mvl.Scan_type=45\n        AND mvl.PatientName LIKE CONCAT ('%', s.Visit_label,'%'))\n        LEFT JOIN files_qcstatus qc ON (qc.FileID = fi.FileID)\n        LEFT JOIN mri_upload mu ON (mu.SessionID = f.SessionID)  WHERE 1=1\n          AND NOT f.CommentID LIKE 'DDE%'\n          AND f.Test_name='mri_parameter_form'\n          AND c.Active='Y'\n          AND s.Active='Y'\n          AND s.CenterID <> '1' \n          UNION ALL\n           SELECT DISTINCT\n           c.PSCID,\n           s.ID as SessionID,\n           s.CandID as cand_id,\n           (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n           s.Visit_label as visit_label,\n           't2-defaced' as scan_type,\n           t.TarchiveID as tarchiveID,\n           CASE\n              WHEN EXISTS(\n                  SELECT\n                      *\n                  FROM\n                      tarchive_series ts\n                  LEFT JOIN mri_protocol mp ON mp.Scan_type=1014\n                  WHERE\n                      ts.TarchiveID = t.TarchiveID\n                      AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n                      AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n           END as tarchive_loc,\n           (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n           as subproject, CASE\n              WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n              ELSE 'Complete'\n           END AS mri_parameter_form,\n           CASE\n              WHEN m.t2-defaced_Scan_done IS NULL THEN ''\n              WHEN (m.t2-defaced_Scan_done = 'Complete'\n              OR m.t2-defaced_Scan_done = 'Partial') THEN 'Yes'\n              ELSE 'No'\n           END as scan_done,\n           CASE\n              WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n              WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n              WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n           END as scan_location,\n           CASE\n              WHEN qc.Selected = '' THEN 'False'\n              WHEN qc.Selected = 'true' THEN 'True'\n           END as selected,\n           qc.QCStatus as qc_status,\n           mu.uploadedBy as uploaded_by,\n           f.CommentID as CommentID  FROM flag f\n        JOIN session s ON (f.SessionID=s.ID)\n        JOIN candidate c ON (s.CandID=c.CandID)\n        LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n        LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n        LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n        fi.AcquisitionProtocolID=1014)\n        LEFT JOIN mri_violations_log mvl ON\n        (mvl.CandID = s.CandID AND mvl.Scan_type=1014\n        AND mvl.PatientNa
[Thu Sep 03 13:03:12.518338 2020] [php7:notice] [pid 27729] [client ::1:58816] Unknown column 'm.t2' in 'field list'#0 /var/www/loris/php/libraries/Database.class.inc(747): Database->execute(Object(PDOStatement), Array)\n#1 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(863): Database->pselect('SELECT PSCID, S...', Array)\n#2 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(799): NDB_Menu_Filter->_getFullList()\n#3 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(828): NDB_Menu_Filter->toArray()\n#4 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(698): NDB_Menu_Filter->toJSON()\n#5 /var/www/loris/php/libraries/NDB_Page.class.inc(714): NDB_Menu_Filter->display()\n#6 /var/www/loris/php/libraries/NDB_Page.class.inc(693): NDB_Page->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#7 /var/www/loris/php/libraries/Module.class.inc(412): NDB_Page->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Imaging_QC))\n#8 /var/www/loris/src/Middleware/ResponseGenerator.php(50): Module->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#9 /var/www/loris/src/Middleware/AuthMiddleware.php(63): LORIS\\Middleware\\ResponseGenerator->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Module))\n#10 /var/www/loris/src/Router/ModuleRouter.php(74): LORIS\\Middleware\\AuthMiddleware->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Module))\n#11 /var/www/loris/src/Middleware/ExceptionHandlingMiddleware.php(34): LORIS\\Router\\ModuleRouter->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#12 /var/www/loris/src/Router/BaseRouter.php(112): LORIS\\Middleware\\ExceptionHandlingMiddleware->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\ModuleRouter))\n#13 /var/www/loris/src/Middleware/ResponseGenerator.php(50): LORIS\\Router\\BaseRouter->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#14 /var/www/loris/src/Middleware/ContentLength.php(52): LORIS\\Middleware\\ResponseGenerator->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\BaseRouter))\n#15 /var/www/loris/htdocs/index.php(48): LORIS\\Middleware\\ContentLength->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\BaseRouter))\n#16 {main}, referer: http://localhost:8080/imaging_qc/

To Reproduce Steps to reproduce the behavior (attach screenshots if applicable):

  1. Go to Imaging Quality Control module

What did you expect to happen? For the module to load.

laemtl commented 4 years ago

The module is working fine on my machine. Maybe you need to apply a patch made by Cecile? here.

-- edit I checked and t2 does not exist in mri_parameter_form. Your error log is truncated, can you paste the complete output?

driusan commented 4 years ago

You're missing the link for "here"

ridz1208 commented 4 years ago

@jesscall are you testing on RB or the CCNA dataset ?

jesscall commented 4 years ago

@laemtl running the patch does not fix the error.

Log:

[Thu Sep 03 15:17:00.038746 2020] [php7:warn] [pid 17319] [client ::1:58878] PHP Warning: PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'm.t2' in 'field list' in /var/www/loris/php/libraries/Database.class.inc on line 710, referer: http://localhost:8080/imaging_qc

[Thu Sep 03 15:17:00.039114 2020] [php7:notice] [pid 17319] [client ::1:58878] Could not execute SELECT PSCID, SessionID, cand_id, site, project, subproject, visit_label, scan_type, mri_parameter_form, scan_done, tarchive_loc, scan_location, qc_status, uploaded_by, selected, CommentID, TarchiveID FROM ( SELECT DISTINCT\n c.PSCID,\n s.ID as SessionID,\n s.CandID as cand_id,\n (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n s.Visit_label as visit_label,\n 't1' as scan_type,\n t.TarchiveID as tarchiveID,\n CASE\n WHEN EXISTS(\n SELECT\n *\n FROM\n tarchive_series ts\n LEFT JOIN mri_protocol mp ON mp.Scan_type=44\n WHERE\n ts.TarchiveID = t.TarchiveID\n AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n END as tarchive_loc,\n (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n as subproject, CASE\n WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n ELSE 'Complete'\n END AS mri_parameter_form,\n CASE\n WHEN m.T1_Scan_done IS NULL THEN ''\n WHEN (m.T1_Scan_done = 'Complete'\n OR m.T1_Scan_done = 'Partial') THEN 'Yes'\n ELSE 'No'\n END as scan_done,\n CASE\n WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n END as scan_location,\n CASE\n WHEN qc.Selected = '' THEN 'False'\n WHEN qc.Selected = 'true' THEN 'True'\n END as selected,\n qc.QCStatus as qc_status,\n mu.uploadedBy as uploaded_by,\n f.CommentID as CommentID FROM flag f\n JOIN session s ON (f.SessionID=s.ID)\n JOIN candidate c ON (s.CandID=c.CandID)\n LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n fi.AcquisitionProtocolID=44)\n LEFT JOIN mri_violations_log mvl ON\n (mvl.CandID = s.CandID AND mvl.Scan_type=44\n AND mvl.PatientName LIKE CONCAT ('%', s.Visit_label,'%'))\n LEFT JOIN files_qcstatus qc ON (qc.FileID = fi.FileID)\n LEFT JOIN mri_upload mu ON (mu.SessionID = f.SessionID) WHERE 1=1\n AND NOT f.CommentID LIKE 'DDE%'\n AND f.Test_name='mri_parameter_form'\n AND c.Active='Y'\n AND s.Active='Y'\n AND s.CenterID <> '1' \n UNION ALL\n SELECT DISTINCT\n c.PSCID,\n s.ID as SessionID,\n s.CandID as cand_id,\n (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n s.Visit_label as visit_label,\n 't2' as scan_type,\n t.TarchiveID as tarchiveID,\n CASE\n WHEN EXISTS(\n SELECT\n *\n FROM\n tarchive_series ts\n LEFT JOIN mri_protocol mp ON mp.Scan_type=45\n WHERE\n ts.TarchiveID = t.TarchiveID\n AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n END as tarchive_loc,\n (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n as subproject, CASE\n WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n ELSE 'Complete'\n END AS mri_parameter_form,\n CASE\n WHEN m.t2_Scan_done IS NULL THEN ''\n WHEN (m.t2_Scan_done = 'Complete'\n OR m.t2_Scan_done = 'Partial') THEN 'Yes'\n ELSE 'No'\n END as scan_done,\n CASE\n WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n END as scan_location,\n CASE\n WHEN qc.Selected = '' THEN 'False'\n WHEN qc.Selected = 'true' THEN 'True'\n END as selected,\n qc.QCStatus as qc_status,\n mu.uploadedBy as uploaded_by,\n f.CommentID as CommentID FROM flag f\n JOIN session s ON (f.SessionID=s.ID)\n JOIN candidate c ON (s.CandID=c.CandID)\n LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n fi.AcquisitionProtocolID=45)\n LEFT JOIN mri_violations_log mvl ON\n (mvl.CandID = s.CandID AND mvl.Scan_type=45\n AND mvl.PatientName LIKE CONCAT ('%', s.Visit_label,'%'))\n LEFT JOIN files_qcstatus qc ON (qc.FileID = fi.FileID)\n LEFT JOIN mri_upload mu ON (mu.SessionID = f.SessionID) WHERE 1=1\n AND NOT f.CommentID LIKE 'DDE%'\n AND f.Test_name='mri_parameter_form'\n AND c.Active='Y'\n AND s.Active='Y'\n AND s.CenterID <> '1' \n UNION ALL\n SELECT DISTINCT\n c.PSCID,\n s.ID as SessionID,\n s.CandID as cand_id,\n (SELECT name FROM psc WHERE CenterID=s.CenterID) as site,\n s.Visit_label as visit_label,\n 't2-defaced' as scan_type,\n t.TarchiveID as tarchiveID,\n CASE\n WHEN EXISTS(\n SELECT\n *\n FROM\n tarchive_series ts\n LEFT JOIN mri_protocol mp ON mp.Scan_type=1014\n WHERE\n ts.TarchiveID = t.TarchiveID\n AND (ts.EchoTime BETWEEN mp.TE_min AND mp.TE_max)\n AND (ts.RepetitionTime BETWEEN mp.TR_min AND mp.TR_max) ) THEN 'In DICOM' ELSE 'Missing'\n END as tarchive_loc,\n (SELECT Name FROM Project WHERE ProjectID=s.ProjectID) as project, (SELECT title FROM subproject WHERE SubprojectID=s.SubprojectID)\n as subproject, CASE\n WHEN m.Data_entry_completion_status='Incomplete' THEN 'Incomplete'\n ELSE 'Complete'\n END AS mri_parameter_form,\n CASE\n WHEN m.t2-defaced_Scan_done IS NULL THEN ''\n WHEN (m.t2-defaced_Scan_done = 'Complete'\n OR m.t2-defaced_Scan_done = 'Partial') THEN 'Yes'\n ELSE 'No'\n END as scan_done,\n CASE\n WHEN (fi.fileID IS NULL AND mvl.PatientName IS NULL) THEN 'Missing'\n WHEN fi.fileID IS NOT NULL THEN 'In Imaging Browser'\n WHEN mvl.PatientName IS NOT NULL THEN 'In MRI Violated Scans'\n END as scan_location,\n CASE\n WHEN qc.Selected = '' THEN 'False'\n WHEN qc.Selected = 'true' THEN 'True'\n END as selected,\n qc.QCStatus as qc_status,\n mu.uploadedBy as uploaded_by,\n f.CommentID as CommentID FROM flag f\n JOIN session s ON (f.SessionID=s.ID)\n JOIN candidate c ON (s.CandID=c.CandID)\n LEFT JOIN mri_parameter_form m ON (m.CommentID=f.CommentID)\n LEFT JOIN tarchive t ON (t.SessionID=s.ID)\n LEFT JOIN files fi ON (fi.SessionID=s.ID AND\n fi.AcquisitionProtocolID=1014)\n LEFT JOIN mri_violations_log mvl ON\n (mvl.CandID = s.CandID AND mvl.Scan_type=1014\n AND mvl.PatientNa

[Thu Sep 03 15:17:00.039250 2020] [php7:notice] [pid 17319] [client ::1:58878] Unknown column 'm.t2' in 'field list'#0 /var/www/loris/php/libraries/Database.class.inc(747): Database->execute(Object(PDOStatement), Array)\n#1 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(863): Database->pselect('SELECT PSCID, S...', Array)\n#2 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(799): NDB_Menu_Filter->_getFullList()\n#3 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(828): NDB_Menu_Filter->toArray()\n#4 /var/www/loris/php/libraries/NDB_Menu_Filter.class.inc(698): NDB_Menu_Filter->toJSON()\n#5 /var/www/loris/php/libraries/NDB_Page.class.inc(714): NDB_Menu_Filter->display()\n#6 /var/www/loris/php/libraries/NDB_Page.class.inc(693): NDB_Page->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#7 /var/www/loris/php/libraries/Module.class.inc(412): NDB_Page->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Imaging_QC))\n#8 /var/www/loris/src/Middleware/ResponseGenerator.php(50): Module->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#9 /var/www/loris/src/Middleware/AuthMiddleware.php(63): LORIS\\Middleware\\ResponseGenerator->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Module))\n#10 /var/www/loris/src/Router/ModuleRouter.php(74): LORIS\\Middleware\\AuthMiddleware->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\imaging_qc\\Module))\n#11 /var/www/loris/src/Middleware/ExceptionHandlingMiddleware.php(34): LORIS\\Router\\ModuleRouter->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#12 /var/www/loris/src/Router/BaseRouter.php(112): LORIS\\Middleware\\ExceptionHandlingMiddleware->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\ModuleRouter))\n#13 /var/www/loris/src/Middleware/ResponseGenerator.php(50): LORIS\\Router\\BaseRouter->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#14 /var/www/loris/src/Middleware/ContentLength.php(52): LORIS\\Middleware\\ResponseGenerator->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\BaseRouter))\n#15 /var/www/loris/htdocs/index.php(48): LORIS\\Middleware\\ContentLength->process(Object(Laminas\\Diactoros\\ServerRequest), Object(LORIS\\Router\\BaseRouter))\n#16 {main}, referer: http://localhost:8080/imaging_qc

jesscall commented 4 years ago

@ridz1208 using RB

jesscall commented 4 years ago

Okay I realize what the problem is.

In Configuration -> Imaging Modules -> Tabulated Scan Types, I had the following listed:

Screen Shot 2020-09-03 at 3 32 40 PM

The problem arises for the t2-defaced scan type. When removing it from the list, the module loads correctly.

driusan commented 4 years ago

The problem seems to be the references to m.t2-defaced_Scan_done. They need to be escaped because of the -.

jesscall commented 4 years ago

Issuing PR to escape the field.

However I should note that this still doesn't fix the problem: The reason being that t2-defaced_Scan_done is not a field in the mri_parameter_form table.

Screen Shot 2020-09-29 at 11 40 15 AM

@cmadjar Should these scan types be added to the instrument? Or does this query need to be updated to only check for scan types in the mri_parameter_form table?

cmadjar commented 4 years ago

@jesscall good catch! Indeed, I think the query should be updated to only check for scan types that are also present in the mri_parameter_form table. Thanks!

jesscall commented 4 years ago

@cmadjar Made the fixes in the linked PR, if you can take a look I'd really like your feedback!

driusan commented 4 years ago

oops, sorry, must have put a wrong number in the commit message.. that was supposed to just autoclose the million issues about "SessionID does not exist" exceptions.

laemtl commented 4 years ago

There are still some issues related to the change made to sessionID (see #7063)