From dc91fabc844f25821580fa0a05fc72be730b2b2f Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 11:10:04 -0700 Subject: [PATCH 01/15] clarify measurement and analysis dates --- viewer/pages/component.py | 12 ++++++++++++ viewer/templates/component/latest_test_index.html | 4 +++- viewer/templates/component/qctest_index.html | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/viewer/pages/component.py b/viewer/pages/component.py index 6bd0208c5..98db24ffa 100644 --- a/viewer/pages/component.py +++ b/viewer/pages/component.py @@ -1477,6 +1477,17 @@ def setQCResultIndex(i_oid): ).get("properties", {}) analysis_version = properties.get("ANALYSIS_VERSION", "") + # Access raw data to get measurement date + measurement_date = None + if "raw_id" in this_tr and this_tr["raw_id"] is not None: + with contextlib.suppress(Exception): + raw_obj = localdb.QC.testRAW.find_one( + {"_id": ObjectId(this_tr["raw_id"])} + ) + if raw_obj and "raw" in raw_obj and len(raw_obj["raw"]) > 0: + raw_data = raw_obj["raw"][0] + measurement_date = raw_data.get("startTime") + ### result data of non-electrical test docs.append( { @@ -1486,6 +1497,7 @@ def setQCResultIndex(i_oid): "user": this_tr.get("user"), "institute": this_tr["address"], "datetime": this_tr["sys"]["mts"], + "measurement_date": measurement_date, "stage": stage, "QC_passed": QC_passed, "QC_result": QC_result, diff --git a/viewer/templates/component/latest_test_index.html b/viewer/templates/component/latest_test_index.html index 49e343b17..469cd719f 100644 --- a/viewer/templates/component/latest_test_index.html +++ b/viewer/templates/component/latest_test_index.html @@ -182,7 +182,8 @@ TestRun Code QC Passed Inspector - Date + Measurement Date + Analysis Date Analysis Version QC Registration @@ -212,6 +213,7 @@ {% endif %} {{ cellText }} {{ run['user'] }} + {{ datetime.widget(run['measurement_date']) if run['measurement_date'] else 'N/A' }} {{ datetime.widget(run['datetime']) }} {{ run['analysis_version'] }} diff --git a/viewer/templates/component/qctest_index.html b/viewer/templates/component/qctest_index.html index efd54595f..8885452fa 100644 --- a/viewer/templates/component/qctest_index.html +++ b/viewer/templates/component/qctest_index.html @@ -21,7 +21,8 @@ Stage Test Name Inspector - Date + Measurement Date + Analysis Date QC Registration @@ -36,6 +37,7 @@ {{ run['stage'] }} {{ run['testType'] }} {{ run['user'] }} + {{ datetime.widget(run['measurement_date']) if run['measurement_date'] else 'N/A' }} {{ datetime.widget(run['datetime']) }} {% if run["QC_result"] %} Selected -- GitLab From d686291b3512e1fda6bc7639129a3e6da3e5ace9 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 11:41:46 -0700 Subject: [PATCH 02/15] fix measurement date --- viewer/pages/component.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/viewer/pages/component.py b/viewer/pages/component.py index 98db24ffa..bc6ca4330 100644 --- a/viewer/pages/component.py +++ b/viewer/pages/component.py @@ -1486,7 +1486,14 @@ def setQCResultIndex(i_oid): ) if raw_obj and "raw" in raw_obj and len(raw_obj["raw"]) > 0: raw_data = raw_obj["raw"][0] - measurement_date = raw_data.get("startTime") + # Look for TimeStart in Metadata + metadata = raw_data.get("results", {}).get("Metadata", {}) + time_start = metadata.get("TimeStart") + if time_start: + # Convert Unix timestamp to datetime + measurement_date = datetime.fromtimestamp( + time_start, tz=timezone.utc + ) ### result data of non-electrical test docs.append( -- GitLab From 55815f29d2bc0bd84b09d8fa6bef8284156dda85 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 13:17:54 -0700 Subject: [PATCH 03/15] fix analysis/measurement date bug --- viewer/pages/qc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/viewer/pages/qc.py b/viewer/pages/qc.py index 88e837d05..6cd5b9091 100644 --- a/viewer/pages/qc.py +++ b/viewer/pages/qc.py @@ -1829,7 +1829,7 @@ def analyze_measurement( msg = f"ERROR: testType {test[0]['testType']} is not registered in LocalDB." raise ValueError(msg) - for key in ["user", "address", "stage", "testType", "sys"]: + for key in ["user", "address", "stage", "testType"]: with contextlib.suppress(Exception): anaResult[key] = raw[0][key] @@ -1837,6 +1837,11 @@ def analyze_measurement( anaResult["component"] = str(raw[0]["component"]) anaResult["raw_id"] = ObjectId(raw_id) anaResult["gridfs_attachments"] = attachments + anaResult["sys"] = { + "mts": datetime.now(timezone.utc), + "cts": datetime.now(timezone.utc), + "rev": 0, + } except Exception as e: logger.error(str(e)) -- GitLab From ec564362d7b3807aaab412d9a6e2415cefa1e5a3 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 13:37:46 -0700 Subject: [PATCH 04/15] improve recycle button --- .../templates/displayResults/qc_others.html | 88 ++++++++++++++++--- 1 file changed, 75 insertions(+), 13 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index 22bcfd243..ed212b5df 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -64,38 +64,100 @@ {% if 'property' in component['qctest']['results']['results'] %} {% set ana_version = component['qctest']['results']['results']['property']['ANALYSIS_VERSION'] %} - {% elif 'property' in component['qctest']['results']['results'] %} + {% elif 'properties' in component['qctest']['results']['results'] %} {% set ana_version = component['qctest']['results']['results']['properties']['ANALYSIS_VERSION'] %} {% else %} {% set ana_version = '' %} {% endif %} + {# Determine server version based on test type #} + {% if component['qctest']['results']['testType'] == 'E_SUMMARY' %} + {% set server_version = table_docs['qc_analysis_version'] %} + {% else %} + {% set server_version = table_docs['mqat_version'] %} + {% endif %} + + {# Check if analysis is up-to-date #} + {% set is_up_to_date = (ana_version == server_version) %} + + {# Check for existing analysis with server version #} + {% set existing_analysis = None %} + {% if not is_up_to_date %} + {% for run in component['qctest']['resultIndex'] %} + {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} + {% if 'analysis_version' in run and run['analysis_version'] == server_version %} + {% set existing_analysis = run %} + {% break %} + {% endif %} + {% endif %} + {% endfor %} + {% endif %} + {% if session['logged_in'] %} + {# E-SUMMARY and complex analyses can always be recycled due to different inputs/test selections #} {% if component['qctest']['results']['testType'] == 'E_SUMMARY' %}
-

(Server's version: {{ table_docs['qc_analysis_version'] }})

+

(Server's version: {{ server_version }})

+ {% if existing_analysis and not is_up_to_date %} +

+ View existing v{{ server_version }} analysis +

+ {% endif %} +
+ {% elif component['qctest']['results']['rawId'] == None %} + {# Complex analysis - always show recycle button #} +
+
+ + + +

(Server's version: {{ server_version }})

+
+ {% if existing_analysis and not is_up_to_date %} +

+ View existing v{{ server_version }} analysis +

+ {% endif %}
{% else %} - {% if component['qctest']['results']['rawId'] != None %} + {# Simple analysis - use smart logic #} + {% if is_up_to_date %} + {# Analysis is up-to-date - show disabled button #}
-
- - - -

(Server's version: {{ table_docs['mqat_version'] }})

-
+ +

(Current version: {{ ana_version }})

+
+ {% elif existing_analysis %} + {# Existing analysis with server version found - link to it #} +
+ + View Latest Analysis + +

(Version {{ server_version }} available)

- {% elif component['qctest']['results']['rawId'] == None %} + {% else %} + {# No existing analysis - show recycle button #}
-
+ - -

(Server's version: {{ table_docs['qc_analysis_version'] }})

+ +

(Server's version: {{ server_version }})

{% endif %} -- GitLab From 1a0c3cda60df6ab22afd0bf90d1b2f9152a95f0b Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 13:40:16 -0700 Subject: [PATCH 05/15] jinja doesn't support break --- viewer/templates/displayResults/qc_others.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index ed212b5df..b7a41e476 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -85,9 +85,8 @@ {% if not is_up_to_date %} {% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} - {% if 'analysis_version' in run and run['analysis_version'] == server_version %} + {% if 'analysis_version' in run and run['analysis_version'] == server_version and existing_analysis is none %} {% set existing_analysis = run %} - {% break %} {% endif %} {% endif %} {% endfor %} -- GitLab From 2fe97b0f643eeb45ee7f8c760f687e97b2c91288 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 13:49:42 -0700 Subject: [PATCH 06/15] fix up --- .../templates/displayResults/qc_others.html | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index b7a41e476..d5aba9063 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -80,9 +80,9 @@ {# Check if analysis is up-to-date #} {% set is_up_to_date = (ana_version == server_version) %} - {# Check for existing analysis with server version #} + {# Check for existing analysis with server version - only for simple analysis #} {% set existing_analysis = None %} - {% if not is_up_to_date %} + {% if not is_up_to_date and component['qctest']['results']['rawId'] != None %} {% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} {% if 'analysis_version' in run and run['analysis_version'] == server_version and existing_analysis is none %} @@ -101,15 +101,6 @@

(Server's version: {{ server_version }})

- {% if existing_analysis and not is_up_to_date %} -

- View existing v{{ server_version }} analysis -

- {% endif %} {% elif component['qctest']['results']['rawId'] == None %} {# Complex analysis - always show recycle button #} @@ -120,15 +111,6 @@

(Server's version: {{ server_version }})

- {% if existing_analysis and not is_up_to_date %} -

- View existing v{{ server_version }} analysis -

- {% endif %} {% else %} {# Simple analysis - use smart logic #} -- GitLab From f7fdb1887e0d62b9d7d6ce49918204417eca53d4 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 14:26:16 -0700 Subject: [PATCH 07/15] fix up rawId retrieval --- viewer/pages/component.py | 1 + viewer/templates/displayResults/qc_others.html | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/viewer/pages/component.py b/viewer/pages/component.py index bc6ca4330..9475e2d01 100644 --- a/viewer/pages/component.py +++ b/viewer/pages/component.py @@ -1509,6 +1509,7 @@ def setQCResultIndex(i_oid): "QC_passed": QC_passed, "QC_result": QC_result, "analysis_version": analysis_version, + "raw_id": str(this_tr.get("raw_id")) if this_tr.get("raw_id") else None, } ) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index d5aba9063..763481624 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -80,11 +80,11 @@ {# Check if analysis is up-to-date #} {% set is_up_to_date = (ana_version == server_version) %} - {# Check for existing analysis with server version - only for simple analysis #} + {# Check for existing analysis with server version - only for simple analysis from same measurement #} {% set existing_analysis = None %} {% if not is_up_to_date and component['qctest']['results']['rawId'] != None %} {% for run in component['qctest']['resultIndex'] %} - {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} + {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] and run['raw_id'] == component['qctest']['results']['rawId'] %} {% if 'analysis_version' in run and run['analysis_version'] == server_version and existing_analysis is none %} {% set existing_analysis = run %} {% endif %} -- GitLab From df3479fe455c5b52a15101cc1d10ad3d759fc5cd Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 14:49:41 -0700 Subject: [PATCH 08/15] debug --- .../templates/displayResults/qc_others.html | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index 763481624..abff30c55 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -92,6 +92,30 @@ {% endfor %} {% endif %} + {# DEBUG: Temporary debug output #} +
+ DEBUG INFO:
+ Current analysis version: {{ ana_version }}
+ Server version: {{ server_version }}
+ Is up-to-date: {{ is_up_to_date }}
+ Current rawId: {{ component['qctest']['results']['rawId'] }}
+ Current testType: {{ component['qctest']['results']['testType'] }}
+ Current stage: {{ component['qctest']['results']['stage'] }}
+ Existing analysis found: {{ existing_analysis is not none }}
+ {% if existing_analysis %} + Existing analysis ID: {{ existing_analysis['_id'] }}
+ Existing analysis version: {{ existing_analysis['analysis_version'] }}
+ Existing analysis raw_id: {{ existing_analysis['raw_id'] }}
+ {% endif %} +
+ All matching runs:
+ {% for run in component['qctest']['resultIndex'] %} + {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} + ID: {{ run['_id'] }}, Version: {{ run.get('analysis_version', 'N/A') }}, RawID: {{ run.get('raw_id', 'N/A') }}
+ {% endif %} + {% endfor %} +
+ {% if session['logged_in'] %} {# E-SUMMARY and complex analyses can always be recycled due to different inputs/test selections #} {% if component['qctest']['results']['testType'] == 'E_SUMMARY' %} -- GitLab From 5aaa36d4e6a1616f26c00db2df9d7a1a7e5c424f Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 14:53:21 -0700 Subject: [PATCH 09/15] more debug --- viewer/templates/displayResults/qc_others.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index abff30c55..f1057896b 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -112,6 +112,16 @@ {% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} ID: {{ run['_id'] }}, Version: {{ run.get('analysis_version', 'N/A') }}, RawID: {{ run.get('raw_id', 'N/A') }}
+ {% if run.get('raw_id') == component['qctest']['results']['rawId'] %} + ✓ RawID matches
+ {% else %} + ✗ RawID mismatch: '{{ run.get('raw_id') }}' vs '{{ component['qctest']['results']['rawId'] }}'
+ {% endif %} + {% if run.get('analysis_version') == server_version %} + ✓ Version matches server
+ {% else %} + ✗ Version mismatch: '{{ run.get('analysis_version') }}' vs '{{ server_version }}'
+ {% endif %} {% endif %} {% endfor %} -- GitLab From 1d2dc63170d5563dc784a7d45df76d3d396c58e1 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 14:58:25 -0700 Subject: [PATCH 10/15] fix as string --- viewer/pages/component.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/pages/component.py b/viewer/pages/component.py index 9475e2d01..7c2c7c730 100644 --- a/viewer/pages/component.py +++ b/viewer/pages/component.py @@ -1750,7 +1750,7 @@ def setQCResults(_i_oid, i_tr_oid, _regeneratePlots, _expandPlots): "user": this_tr.get("user"), "institute": this_tr["address"], "runId": i_tr_oid, - "rawId": this_tr["raw_id"], + "rawId": str(this_tr["raw_id"]) if this_tr["raw_id"] else None, "id": str(this_tr["_id"]), "attachments": attachments, "vi_doc": vi_doc, -- GitLab From b1ef280f83c162ab413bbbba3d76c9b19dc956db Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 15:05:47 -0700 Subject: [PATCH 11/15] try none --- viewer/templates/displayResults/qc_others.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index f1057896b..bbadccd17 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -81,8 +81,8 @@ {% set is_up_to_date = (ana_version == server_version) %} {# Check for existing analysis with server version - only for simple analysis from same measurement #} - {% set existing_analysis = None %} - {% if not is_up_to_date and component['qctest']['results']['rawId'] != None %} + {% set existing_analysis = none %} + {% if not is_up_to_date and component['qctest']['results']['rawId'] is not none %} {% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] and run['raw_id'] == component['qctest']['results']['rawId'] %} {% if 'analysis_version' in run and run['analysis_version'] == server_version and existing_analysis is none %} @@ -136,7 +136,7 @@

(Server's version: {{ server_version }})

- {% elif component['qctest']['results']['rawId'] == None %} + {% elif component['qctest']['results']['rawId'] is none %} {# Complex analysis - always show recycle button #}
-- GitLab From 957507ef114d220cfdc9e33288534a7267470aaf Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 15:14:40 -0700 Subject: [PATCH 12/15] more debug info --- viewer/templates/displayResults/qc_others.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index bbadccd17..0addf7a31 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -111,7 +111,18 @@ All matching runs:
{% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} - ID: {{ run['_id'] }}, Version: {{ run.get('analysis_version', 'N/A') }}, RawID: {{ run.get('raw_id', 'N/A') }}
+ Stage: {{ run['stage'] }}, Test Type: {{ run['testType'] }}, ID: {{ run['_id'] }}, Version: + {{ run.get('analysis_version', 'N/A') }}, RawID: {{ run.get('raw_id', 'N/A') }}
+ {% if run.get('stage') == component['qctest']['results']['stage'] %} + ✓ stage matches
+ {% else %} + ✗ stage mismatch: '{{ run.get('stage') }}' vs '{{ component['qctest']['results']['stage'] }}'
+ {% endif %} + {% if run.get('testType') == component['qctest']['results']['testType'] %} + ✓ testType matches
+ {% else %} + ✗ testType mismatch: '{{ run.get('testType') }}' vs '{{ component['qctest']['results']['testType'] }}'
+ {% endif %} {% if run.get('raw_id') == component['qctest']['results']['rawId'] %} ✓ RawID matches
{% else %} -- GitLab From b760cc3db6fcb55dc7b7bb619ca0f4af6b168a69 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 15:21:42 -0700 Subject: [PATCH 13/15] for loop scoping --- .../templates/displayResults/qc_others.html | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index 0addf7a31..8cc19af0f 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -81,12 +81,12 @@ {% set is_up_to_date = (ana_version == server_version) %} {# Check for existing analysis with server version - only for simple analysis from same measurement #} - {% set existing_analysis = none %} + {% set ns = namespace(existing_analysis=none) %} {% if not is_up_to_date and component['qctest']['results']['rawId'] is not none %} {% for run in component['qctest']['resultIndex'] %} {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] and run['raw_id'] == component['qctest']['results']['rawId'] %} - {% if 'analysis_version' in run and run['analysis_version'] == server_version and existing_analysis is none %} - {% set existing_analysis = run %} + {% if 'analysis_version' in run and run['analysis_version'] == server_version and ns.existing_analysis is none %} + {% set ns.existing_analysis = run %} {% endif %} {% endif %} {% endfor %} @@ -101,11 +101,11 @@ Current rawId: {{ component['qctest']['results']['rawId'] }}
Current testType: {{ component['qctest']['results']['testType'] }}
Current stage: {{ component['qctest']['results']['stage'] }}
- Existing analysis found: {{ existing_analysis is not none }}
- {% if existing_analysis %} - Existing analysis ID: {{ existing_analysis['_id'] }}
- Existing analysis version: {{ existing_analysis['analysis_version'] }}
- Existing analysis raw_id: {{ existing_analysis['raw_id'] }}
+ Existing analysis found: {{ ns.existing_analysis is not none }}
+ {% if ns.existing_analysis %} + Existing analysis ID: {{ ns.existing_analysis['_id'] }}
+ Existing analysis version: {{ ns.existing_analysis['analysis_version'] }}
+ Existing analysis raw_id: {{ ns.existing_analysis['raw_id'] }}
{% endif %}
All matching runs:
@@ -165,12 +165,12 @@

(Current version: {{ ana_version }})

- {% elif existing_analysis %} + {% elif ns.existing_analysis %} {# Existing analysis with server version found - link to it #}
View Latest Analysis -- GitLab From f79cad7b841ca5d76c36d9afcdb77f1f13d8ef73 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 15:25:11 -0700 Subject: [PATCH 14/15] drop debug --- .../templates/displayResults/qc_others.html | 45 ------------------- 1 file changed, 45 deletions(-) diff --git a/viewer/templates/displayResults/qc_others.html b/viewer/templates/displayResults/qc_others.html index 8cc19af0f..1a1cdbc43 100644 --- a/viewer/templates/displayResults/qc_others.html +++ b/viewer/templates/displayResults/qc_others.html @@ -92,51 +92,6 @@ {% endfor %} {% endif %} - {# DEBUG: Temporary debug output #} -
- DEBUG INFO:
- Current analysis version: {{ ana_version }}
- Server version: {{ server_version }}
- Is up-to-date: {{ is_up_to_date }}
- Current rawId: {{ component['qctest']['results']['rawId'] }}
- Current testType: {{ component['qctest']['results']['testType'] }}
- Current stage: {{ component['qctest']['results']['stage'] }}
- Existing analysis found: {{ ns.existing_analysis is not none }}
- {% if ns.existing_analysis %} - Existing analysis ID: {{ ns.existing_analysis['_id'] }}
- Existing analysis version: {{ ns.existing_analysis['analysis_version'] }}
- Existing analysis raw_id: {{ ns.existing_analysis['raw_id'] }}
- {% endif %} -
- All matching runs:
- {% for run in component['qctest']['resultIndex'] %} - {% if run['testType'] == component['qctest']['results']['testType'] and run['stage'] == component['qctest']['results']['stage'] %} - Stage: {{ run['stage'] }}, Test Type: {{ run['testType'] }}, ID: {{ run['_id'] }}, Version: - {{ run.get('analysis_version', 'N/A') }}, RawID: {{ run.get('raw_id', 'N/A') }}
- {% if run.get('stage') == component['qctest']['results']['stage'] %} - ✓ stage matches
- {% else %} - ✗ stage mismatch: '{{ run.get('stage') }}' vs '{{ component['qctest']['results']['stage'] }}'
- {% endif %} - {% if run.get('testType') == component['qctest']['results']['testType'] %} - ✓ testType matches
- {% else %} - ✗ testType mismatch: '{{ run.get('testType') }}' vs '{{ component['qctest']['results']['testType'] }}'
- {% endif %} - {% if run.get('raw_id') == component['qctest']['results']['rawId'] %} - ✓ RawID matches
- {% else %} - ✗ RawID mismatch: '{{ run.get('raw_id') }}' vs '{{ component['qctest']['results']['rawId'] }}'
- {% endif %} - {% if run.get('analysis_version') == server_version %} - ✓ Version matches server
- {% else %} - ✗ Version mismatch: '{{ run.get('analysis_version') }}' vs '{{ server_version }}'
- {% endif %} - {% endif %} - {% endfor %} -
- {% if session['logged_in'] %} {# E-SUMMARY and complex analyses can always be recycled due to different inputs/test selections #} {% if component['qctest']['results']['testType'] == 'E_SUMMARY' %} -- GitLab From 3d7131c804c24396fbefc0960cfef7cd559ec500 Mon Sep 17 00:00:00 2001 From: Giordon Stark Date: Wed, 23 Jul 2025 15:43:17 -0700 Subject: [PATCH 15/15] update release notes --- docs/release-note.md | 57 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/docs/release-note.md b/docs/release-note.md index 5d95dadaf..1e45c881e 100644 --- a/docs/release-note.md +++ b/docs/release-note.md @@ -2,10 +2,57 @@ ## add tag -- add pulling of multiple components (!293) - ### Release: +## [v2.6.7](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.7) + +### Release: 23 Jul 2025 + +- suppress live notifications for invalid institution codes (!295) +- fix the height of the download components textbox with multiple components + (!296) +- remove old `balloon` / `balloonoya` code everywhere (!297) +- add more functions (list all sites, list tags for given site, improve logging + in case of error) to the JSON API (!298) +- improve the ability to handle measurement dates and analysis dates by + separating the two +- only show the ability to recycle simple analyses if there is not already a + more recent version for the current measurement +- disable recycling for simple analyses that are already matching the latest + version + +## [v2.6.6](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.6) + +### Release: 18 Jul 2025 + +- JSON API fix serial number parsing from tags (!292) +- enable pulling multiple components (!293) +- add more aggressive retrying and retry on connection errors for PDB problems + (!291, !294) +- mqat updated to `v2.6.4` +- fix the expansion of error messages (sometimes the button did not expand) + +## [v2.6.5](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.5) + +### Release: 09 Jul 2025 + +- autopublish zenodo (!290) +- use `argparse.parse_known_args` instead to support non-default setups (!289) +- add a link to JIRA to report connection errors +- mqat updated to `v2.6.3` + +## [v2.6.4](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.4) + +### Release: 09 Jul 2025 + +- improve documentation on setting up yarr (!279) +- fix ring triplet config name (!278) +- initial implementation of JSON API for Infinity plugin with Grafana (!226) +- configuration to disable notifications (!281) +- improve traceback / error logs to suppress errors from packages we don't + maintain (!288) +- fix "Send failures" for EOS uploads (!288) + ## [v2.6.3](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.3) ### Release: 03 Jul 2025 @@ -19,15 +66,15 @@ - fix round triplet layer config name -[v2.6.1](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.1) +## [v2.6.1](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.1) ### Release: 16 Jun 2025 -[v2.6.0](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.0) +## [v2.6.0](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.6.0) ### Release: 16 Jun 2025 -[v2.4.0](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.4.0) +## [v2.4.0](https://gitlab.cern.ch/YARR/localdb-tools/-/tree/v2.4.0) ### Release: 3 Jun 2025 -- GitLab