[med-svn] [Git][med-team/gnumed-client][upstream] New upstream version 1.8.24+dfsg
Marc Angermann (@marc_a)
gitlab at salsa.debian.org
Thu Apr 16 21:20:54 BST 2026
Marc Angermann pushed to branch upstream at Debian Med / gnumed-client
Commits:
a1f305dc by Marc Angermann at 2026-04-16T22:14:39+02:00
New upstream version 1.8.24+dfsg
- - - - -
5 changed files:
- client/CHANGELOG
- client/business/gmDICOM.py
- client/doc/schema/gnumed-entire_schema.html
- client/gnumed.py
- client/wxpython/gmDocumentWidgets.py
Changes:
=====================================
client/CHANGELOG
=====================================
@@ -6,6 +6,12 @@
# rel-1-8-maint
------------------------------------------------
+ 1.8.24
+
+FIX: more robust UI update when quickly scrolling document tree
+FIX: more robust handling of DICOM instance download issues
+FIX: more robust Orthanc DICOM instance parsing
+
1.8.23
FIX: hyphenated module names failing in newer Python versions [thanks María]
@@ -2296,6 +2302,14 @@ FIX: missing cast to ::text in dem.date_trunc_utc() calls
# gnumed_v22
------------------------------------------------
+ 22.34
+
+FIX: bootstrapping: chicken-egg-problem with gm-dbo vs groups creation
+FIX: bootstrapping: use pg_roles rather than pg_user b/c of collation dependance
+FIX: gm.transfer_users(): switch from pg_user to pg_roles
+FIX: bootstrapping: properly set ADMIN on groups when running several upgrades in a row
+FIX: bootstrapping: using CREATE ROLE for users requires explicit LOGIN
+
22.33
FIX: boostrapping: gm-dbo cannot GRANT ... WITH ADMIN to itself
=====================================
client/business/gmDICOM.py
=====================================
@@ -581,26 +581,38 @@ class cOrthancServer:
filename = gmTools.get_unique_filename(suffix = '.png')
_log.debug('exporting preview for instance [%s] into [%s]', instance_id, filename)
download_url = '%s/instances/%s/preview' % (self.__server_url, instance_id)
- f = io.open(filename, 'wb')
try:
- f.write(self.__run_GET(url = download_url, allow_cached = True))
+ content, status = self.__run_GET(url = download_url, allow_cached = True, also_return_status = True)
except Exception:
- _log.exception('cannot retrieve instance')
- filename = None
- finally:
- f.close()
+ _log.exception('cannot retrieve instance preview')
+ return None
+
+ if content is False:
+ _log.error('cannot retrieve instance preview: %s', status)
+ return None
+
+ with open(filename, 'wb') as f:
+ f.write(content)
return filename
#--------------------------------------------------------
def get_instance(self, instance_id:str, filename:str=None, allow_cached:bool=True) -> str:
if filename is None:
filename = gmTools.get_unique_filename(suffix = '.dcm')
-
_log.debug('exporting instance [%s] into [%s]', instance_id, filename)
download_url = '%s/instances/%s/attachments/dicom/data' % (self.__server_url, instance_id)
- f = io.open(filename, 'wb')
- f.write(self.__run_GET(url = download_url, allow_cached = allow_cached))
- f.close()
+ try:
+ content, status = self.__run_GET(url = download_url, allow_cached = True, also_return_status = True)
+ except Exception:
+ _log.exception('cannot retrieve instance')
+ return None
+
+ if content is False:
+ _log.error('cannot retrieve instance: %s', status)
+ return None
+
+ with open(filename, 'wb') as f:
+ f.write(content)
return filename
#--------------------------------------------------------
@@ -1171,7 +1183,7 @@ class cOrthancServer:
for key in orth_series:
if key == 'MainDicomTags':
for mkey in orth_series['MainDicomTags']:
- series_dict['all_tags'][mkey] = orth_series['MainDicomTags'][mkey].strip()
+ series_dict['all_tags'][mkey] = orth_series['MainDicomTags'][mkey]
continue
series_dict['all_tags'][key] = orth_series[key]
_log.debug('series: %s', list(series_dict['all_tags']))
@@ -1800,6 +1812,6 @@ if __name__ == "__main__":
#test_modify_patient_id()
#test_upload_files()
#test_upload_file()
- #test_get_instance_preview()
+ test_get_instance_preview()
#test_get_instance_tags()
#test_patient()
=====================================
client/doc/schema/gnumed-entire_schema.html
=====================================
@@ -112,7 +112,7 @@
<body>
<!-- Primary Index -->
-<p><br><br>Dumped on 2025-12-29</p>
+<p><br><br>Dumped on 2026-04-16</p>
<h1><a name="index">Index of database - gnumed_v22</a></h1>
<ul>
@@ -158,7 +158,7 @@
<li><a name="gm.schema">gm</a></li><ul>
<li><a href="gnumed-entire_schema.html#gm.table.access-log">access_log</a></li><li><a href="gnumed-entire_schema.html#gm.table.notifying-tables">notifying_tables</a></li><li><a href="gnumed-entire_schema.html#gm.table.schema-revision">schema_revision</a></li>
- <li><a href="gnumed-entire_schema.html#gm.function.account-is-dbowner-or-staff-account-name">account_is_dbowner_or_staff(_account name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-missing-array-bits">add_missing_array_bits()</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-table-for-notifies-name-name">add_table_for_notifies(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-user-to-permission-group-name-name">add_user_to_permission_group(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.array-unnest-anyarray">array_unnest(anyarray)</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure">concat_table_structure()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-integer">concat_table_structure(integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v1">concat_table_structure_v1()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v16-and-up">concat_table_structure_v16_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v17-and-up">concat_table_structure_v17_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v18-and-up">concat_table_structure_v18_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v19-and-up">concat_table_structure_v19_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v2">concat_table_structure_v2()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v3">concat_table_structure_v3()</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-all-enc-epi-sanity-check-triggers">create_all_enc_epi_sanity_check_triggers()</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-all-table-mod-triggers-drop-old-triggers-boolean">create_all_table_mod_triggers(_drop_old_triggers boolean)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-enc-epi-sanity-check-trigger-schema-name-name-table-name-name-fk-encounter-col-name-fk-episode-col-name">create_enc_epi_sanity_check_trigger(_schema_name name, _table_name name, _fk_encounter_col name, _fk_episode_col name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-generic-combi-vaccine-text-textARRAY-text-boolean">create_generic_combi_vaccine(text, text[], text, boolean)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-table-mod-triggers-schema-name-name-table-name-name">create_table_mod_triggers(_schema_name name, _table_name name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-user-name-text">create_user(name, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.disable-user-name">disable_user(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.drop-user-name">drop_user(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.get-users">get_users()</a></li><li><a href="gnumed-entire_schema.html#gm.function.get-users-name">get_users(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.is-null-or-blank-string-text">is_null_or_blank_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.is-null-or-non-empty-string-text">is_null_or_non_empty_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.lo-chunked-md5-oid-integer">lo_chunked_md5(oid, integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.load-auto-explain-min-duration-integer">load_auto_explain(_min_duration integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-access2emr-text">log_access2emr(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-other-access-text">log_other_access(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-script-insertion-text-text">log_script_insertion(text, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.nullify-empty-string-text">nullify_empty_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.register-notifying-table-name-name">register_notifying_table(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.strip-allzeros-fraction-numeric">strip_allzeros_fraction(numeric)</a></li><li><a href="gnumed-entire_schema.html#gm.function.transfer-users-text">transfer_users(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.transfer-users-text-text">transfer_users(text, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.trf-announce-table-del">trf_announce_table_del()</a></li><li><a href="gnumed-entire_schema.html#gm.function.trf-announce-table-ins-upd">trf_announce_table_ins_upd()</a></li><li><a href="gnumed-entire_schema.html#gm.function.user-exists-name">user_exists(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.xid2int-xid">xid2int(xid)</a></li>
+ <li><a href="gnumed-entire_schema.html#gm.function.account-is-dbowner-or-staff-account-name">account_is_dbowner_or_staff(_account name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-missing-array-bits">add_missing_array_bits()</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-table-for-notifies-name-name">add_table_for_notifies(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.add-user-to-permission-group-name-name">add_user_to_permission_group(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.array-unnest-anyarray">array_unnest(anyarray)</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure">concat_table_structure()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-integer">concat_table_structure(integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v1">concat_table_structure_v1()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v16-and-up">concat_table_structure_v16_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v17-and-up">concat_table_structure_v17_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v18-and-up">concat_table_structure_v18_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v19-and-up">concat_table_structure_v19_and_up()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v2">concat_table_structure_v2()</a></li><li><a href="gnumed-entire_schema.html#gm.function.concat-table-structure-v3">concat_table_structure_v3()</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-all-enc-epi-sanity-check-triggers">create_all_enc_epi_sanity_check_triggers()</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-all-table-mod-triggers-drop-old-triggers-boolean">create_all_table_mod_triggers(_drop_old_triggers boolean)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-enc-epi-sanity-check-trigger-schema-name-name-table-name-name-fk-encounter-col-name-fk-episode-col-name">create_enc_epi_sanity_check_trigger(_schema_name name, _table_name name, _fk_encounter_col name, _fk_episode_col name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-generic-combi-vaccine-text-textARRAY-text-boolean">create_generic_combi_vaccine(text, text[], text, boolean)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-table-mod-triggers-schema-name-name-table-name-name">create_table_mod_triggers(_schema_name name, _table_name name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.create-user-name-text">create_user(name, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.disable-user-name">disable_user(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.drop-user-name">drop_user(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.get-users">get_users()</a></li><li><a href="gnumed-entire_schema.html#gm.function.get-users-name">get_users(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.is-null-or-blank-string-text">is_null_or_blank_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.is-null-or-non-empty-string-text">is_null_or_non_empty_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.lo-chunked-md5-oid-integer">lo_chunked_md5(oid, integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.load-auto-explain-min-duration-integer">load_auto_explain(_min_duration integer)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-access2emr-text">log_access2emr(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-other-access-text">log_other_access(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.log-script-insertion-text-text">log_script_insertion(text, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.nullify-empty-string-text">nullify_empty_string(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.register-notifying-table-name-name">register_notifying_table(name, name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.strip-allzeros-fraction-numeric">strip_allzeros_fraction(numeric)</a></li><li><a href="gnumed-entire_schema.html#gm.function.transfer-users-text">transfer_users(text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.transfer-users-text-text">transfer_users(text, text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.trf-announce-table-del">trf_announce_table_del()</a></li><li><a href="gnumed-entire_schema.html#gm.function.trf-announce-table-ins-upd">trf_announce_table_ins_upd()</a></li><li><a href="gnumed-entire_schema.html#gm.function.user-exists-name">user_exists(name)</a></li><li><a href="gnumed-entire_schema.html#gm.function.user-needs-md5-2-scramsha256-pwd-switch-user-text">user_needs_md5_2_scramsha256_pwd_switch(_user text)</a></li><li><a href="gnumed-entire_schema.html#gm.function.xid2int-xid">xid2int(xid)</a></li>
</ul>
<li><a name="i18n.schema">i18n</a></li><ul>
@@ -50039,11 +50039,11 @@ LEFT JOIN clin.encounter c_enc
<!-- View Definition -->
<pre>
-SELECT b_b.pk AS pk_bill
+SELECT pk AS pk_bill
,
- b_b.invoice_id
+ invoice_id
,
- b_b.fk_receiver_identity AS pk_receiver_identity
+ fk_receiver_identity AS pk_receiver_identity
,
(
@@ -50108,15 +50108,15 @@ SELECT v_bill_items.currency
LIMIT 1
) AS currency
,
- b_b.close_date
+ close_date
,
- b_b.apply_vat
+ apply_vat
,
- b_b.comment
+ comment
,
- b_b.fk_receiver_address AS pk_receiver_address
+ fk_receiver_address AS pk_receiver_address
,
- b_b.fk_doc AS pk_doc
+ fk_doc AS pk_doc
,
(
@@ -50153,7 +50153,7 @@ SELECT array_agg
) sorted_values
) AS pk_bill_items
,
- b_b.xmin AS xmin_bill
+ xmin AS xmin_bill
FROM bill.bill b_b;</pre>
@@ -53333,12 +53333,12 @@ ON (
<!-- View Definition -->
<pre>
-SELECT dt.pk AS pk_doc_type
+SELECT pk AS pk_doc_type
,
- dt.name AS type
+ name AS type
,
_
-(dt.name) AS l10n_type
+(name) AS l10n_type
,
(NOT
@@ -53364,7 +53364,7 @@ SELECT dt.pk AS pk_doc_type
)
) AS is_in_use
,
- dt.xmin AS xmin_doc_type
+ xmin AS xmin_doc_type
FROM blobs.doc_type dt;</pre>
@@ -55324,14 +55324,14 @@ WHERE (d_n.active IS TRUE);</pre>
<!-- View Definition -->
<pre>
-SELECT b_vud.pk_patient
+SELECT pk_patient
,
count
(1) AS no_of_docs
FROM blobs.v_unreviewed_docs b_vud
-GROUP BY b_vud.pk_patient;</pre>
+GROUP BY pk_patient;</pre>
<!-- List off permissions -->
@@ -58820,55 +58820,55 @@ end;</pre>
<!-- View Definition -->
<pre>
-SELECT v_emr_journal.pk_patient
+SELECT pk_patient
,
- v_emr_journal.modified_when
+ modified_when
,
- v_emr_journal.clin_when
+ clin_when
,
- v_emr_journal.modified_by
+ modified_by
,
- v_emr_journal.soap_cat
+ soap_cat
,
- v_emr_journal.narrative
+ narrative
,
- v_emr_journal.pk_encounter
+ pk_encounter
,
- v_emr_journal.pk_episode
+ pk_episode
,
- v_emr_journal.pk_health_issue
+ pk_health_issue
,
- v_emr_journal.src_pk
+ src_pk
,
- v_emr_journal.src_table
+ src_table
,
- v_emr_journal.row_version
+ row_version
,
- v_emr_journal.health_issue
+ health_issue
,
- v_emr_journal.issue_laterality
+ issue_laterality
,
- v_emr_journal.issue_active
+ issue_active
,
- v_emr_journal.issue_clinically_relevant
+ issue_clinically_relevant
,
- v_emr_journal.issue_confidential
+ issue_confidential
,
- v_emr_journal.episode
+ episode
,
- v_emr_journal.episode_open
+ episode_open
,
- v_emr_journal.encounter_started
+ encounter_started
,
- v_emr_journal.encounter_last_affirmed
+ encounter_last_affirmed
,
- v_emr_journal.encounter_type
+ encounter_type
,
- v_emr_journal.encounter_l10n_type
+ encounter_l10n_type
FROM clin.v_emr_journal
-WHERE (v_emr_journal.src_table <> 'clin.suppressed_hint'::text);</pre>
+WHERE (src_table <> 'clin.suppressed_hint'::text);</pre>
<!-- List off permissions -->
@@ -74435,11 +74435,11 @@ WHERE (
<!-- View Definition -->
<pre>
-SELECT c_p.fk_identity AS pk_patient
+SELECT fk_identity AS pk_patient
,
- c_p.modified_when
+ modified_when
,
- c_p.modified_when AS clin_when
+ modified_when AS clin_when
,
COALESCE
(
@@ -74452,7 +74452,7 @@ SELECT c_p.fk_identity AS pk_patient
)
, (
('<'::text ||
- (c_p.modified_by)::text
+ (modified_by)::text
) || '>'::text
)
) AS modified_by
@@ -74463,7 +74463,7 @@ SELECT c_p.fk_identity AS pk_patient
(_
('EDC'::text) || to_char
(
- (c_p.edc)::timestamp with time zone
+ (edc)::timestamp with time zone
,': YYYY Mon DD'::text
)
) AS narrative
@@ -74484,11 +74484,11 @@ ORDER BY c_e.started DESC
,
NULL::integer AS pk_health_issue
,
- c_p.pk AS src_pk
+ pk AS src_pk
,
'clin.patient'::text AS src_table
,
- c_p.row_version
+ row_version
,
NULL::text AS health_issue
,
@@ -74514,7 +74514,7 @@ ORDER BY c_e.started DESC
FROM clin.patient c_p
-WHERE (c_p.edc IS NOT NULL);</pre>
+WHERE (edc IS NOT NULL);</pre>
<!-- List off permissions -->
@@ -78800,35 +78800,35 @@ SELECT encounter.fk_patient
WHERE (encounter.pk = c_hi.fk_encounter)
) AS pk_patient
,
- c_hi.pk AS pk_health_issue
+ pk AS pk_health_issue
,
- c_hi.description
+ description
,
- c_hi.summary
+ summary
,
- c_hi.laterality
+ laterality
,
- c_hi.age_noted
+ age_noted
,
- c_hi.is_active
+ is_active
,
- c_hi.clinically_relevant
+ clinically_relevant
,
- c_hi.is_confidential
+ is_confidential
,
- c_hi.is_cause_of_death
+ is_cause_of_death
,
- c_hi.fk_encounter AS pk_encounter
+ fk_encounter AS pk_encounter
,
- c_hi.modified_when
+ modified_when
,
- c_hi.modified_by
+ modified_by
,
- c_hi.row_version
+ row_version
,
- c_hi."grouping"
+ "grouping"
,
- c_hi.diagnostic_certainty_classification
+ diagnostic_certainty_classification
,
(EXISTS
@@ -78858,7 +78858,7 @@ SELECT encounter.fk_patient
, ARRAY[]::integer[]
) AS pk_generic_codes
,
- c_hi.xmin AS xmin_health_issue
+ xmin AS xmin_health_issue
FROM clin.health_issue c_hi;</pre>
@@ -83394,43 +83394,43 @@ WHERE (
<!-- View Definition -->
<pre>
-SELECT c_idu.pk AS pk_incoming_data_unmatched
+SELECT pk AS pk_incoming_data_unmatched
,
- c_idu.fk_patient_candidates AS pk_patient_candidates
+ fk_patient_candidates AS pk_patient_candidates
,
- c_idu.firstnames
+ firstnames
,
- c_idu.lastnames
+ lastnames
,
- c_idu.dob
+ dob
,
- c_idu.gender
+ gender
,
- c_idu.postcode
+ postcode
,
- c_idu.other_info
+ other_info
,
- c_idu.request_id
+ request_id
,
- c_idu.requestor
+ requestor
,
- c_idu.external_data_id
+ external_data_id
,
- c_idu.comment
+ comment
,
- c_idu.fk_identity_disambiguated AS pk_identity_disambiguated
+ fk_identity_disambiguated AS pk_identity_disambiguated
,
- c_idu.fk_provider_disambiguated AS pk_provider_disambiguated
+ fk_provider_disambiguated AS pk_provider_disambiguated
,
- c_idu.type AS data_type
+ type AS data_type
,
md5
-(c_idu.data) AS md5_sum
+(data) AS md5_sum
,
octet_length
-(c_idu.data) AS data_size
+(data) AS data_size
,
- c_idu.xmin AS xmin_incoming_data_unmatched
+ xmin AS xmin_incoming_data_unmatched
FROM clin.incoming_data_unmatched c_idu;</pre>
@@ -85790,7 +85790,7 @@ SELECT encounter.fk_patient
WHERE (encounter.pk = a.fk_encounter)
) AS pk_patient
,
- a.modified_when
+ modified_when
,
COALESCE
(
@@ -85803,22 +85803,22 @@ SELECT encounter.fk_patient
)
, (
('<'::text ||
- (a.modified_by)::text
+ (modified_by)::text
) || '>'::text
)
) AS modified_by
,
- a.last_confirmed
+ last_confirmed
,
- a.has_allergy
+ has_allergy
,
- a.comment
+ comment
,
- a.fk_encounter AS pk_encounter
+ fk_encounter AS pk_encounter
,
- a.pk AS pk_allergy_state
+ pk AS pk_allergy_state
,
- a.xmin AS xmin_allergy_state
+ xmin AS xmin_allergy_state
FROM clin.allergy_state a;</pre>
@@ -96342,11 +96342,11 @@ SELECT pg_class.relname
WHERE (pg_class.oid = rr.tableoid)
) AS src_table
,
- rr.fk_reviewed_row AS pk_reviewed_row
+ fk_reviewed_row AS pk_reviewed_row
,
- rr.is_technically_abnormal
+ is_technically_abnormal
,
- rr.clinically_relevant
+ clinically_relevant
,
(
@@ -96357,11 +96357,11 @@ SELECT staff.short_alias
WHERE (staff.pk = rr.fk_reviewer)
) AS reviewer
,
- rr.comment
+ comment
,
- rr.pk AS pk_review_root
+ pk AS pk_review_root
,
- rr.fk_reviewer AS pk_reviewer
+ fk_reviewer AS pk_reviewer
FROM clin.review_root rr;</pre>
@@ -99972,15 +99972,15 @@ LEFT JOIN dem.org d_o
<!-- View Definition -->
<pre>
-SELECT c_tp.pk AS pk_test_panel
+SELECT pk AS pk_test_panel
,
- c_tp.description
+ description
,
- c_tp.comment
+ comment
,
- c_tp.modified_when
+ modified_when
,
- c_tp.modified_by
+ modified_by
,
COALESCE
(
@@ -100032,9 +100032,9 @@ SELECT row_to_json
, ARRAY[]::integer[]
) AS pk_generic_codes
,
- c_tp.row_version
+ row_version
,
- c_tp.xmin AS xmin_test_panel
+ xmin AS xmin_test_panel
FROM clin.test_panel c_tp;</pre>
@@ -113307,11 +113307,11 @@ not-quite-so-bad: occupation
<!-- View Definition -->
<pre>
-SELECT lnk_person_org_address.id_identity
+SELECT id_identity
,
- lnk_person_org_address.id_address
+ id_address
,
- lnk_person_org_address.id_type
+ id_type
FROM dem.lnk_person_org_address;</pre>
@@ -117546,53 +117546,53 @@ FROM dem.lnk_person_org_address;</pre>
<!-- View Definition -->
<pre>
-SELECT d_vp.pk_identity
+SELECT pk_identity
,
- d_vp.title
+ title
,
- d_vp.firstnames
+ firstnames
,
- d_vp.preferred
+ preferred
,
- d_vp.lastnames
+ lastnames
,
- d_vp.gender
+ gender
,
- d_vp.l10n_gender
+ l10n_gender
,
- d_vp.dob_only
+ dob_only
,
- d_vp.dob
+ dob
,
- d_vp.tob
+ tob
,
- d_vp.deceased
+ deceased
,
- d_vp.marital_status
+ marital_status
,
- d_vp.l10n_marital_status
+ l10n_marital_status
,
- d_vp.emergency_contact
+ emergency_contact
,
- d_vp.comment
+ comment
,
- d_vp.is_deleted
+ is_deleted
,
- d_vp.pk_marital_status
+ pk_marital_status
,
- d_vp.pk_active_name
+ pk_active_name
,
- d_vp.pk_emergency_contact
+ pk_emergency_contact
,
- d_vp.pk_primary_provider
+ pk_primary_provider
,
- d_vp.xmin_identity
+ xmin_identity
,
- d_vp.dob_is_estimated
+ dob_is_estimated
FROM dem.v_all_persons d_vp
-WHERE (d_vp.is_deleted IS FALSE);</pre>
+WHERE (is_deleted IS FALSE);</pre>
<!-- List off permissions -->
@@ -119351,53 +119351,53 @@ WHERE (
<!-- View Definition -->
<pre>
-SELECT d_vp.pk_identity
+SELECT pk_identity
,
- d_vp.title
+ title
,
- d_vp.firstnames
+ firstnames
,
- d_vp.preferred
+ preferred
,
- d_vp.lastnames
+ lastnames
,
- d_vp.gender
+ gender
,
- d_vp.l10n_gender
+ l10n_gender
,
- d_vp.dob_only
+ dob_only
,
- d_vp.dob
+ dob
,
- d_vp.tob
+ tob
,
- d_vp.deceased
+ deceased
,
- d_vp.marital_status
+ marital_status
,
- d_vp.l10n_marital_status
+ l10n_marital_status
,
- d_vp.emergency_contact
+ emergency_contact
,
- d_vp.comment
+ comment
,
- d_vp.is_deleted
+ is_deleted
,
- d_vp.pk_marital_status
+ pk_marital_status
,
- d_vp.pk_active_name
+ pk_active_name
,
- d_vp.pk_emergency_contact
+ pk_emergency_contact
,
- d_vp.pk_primary_provider
+ pk_primary_provider
,
- d_vp.xmin_identity
+ xmin_identity
,
- d_vp.dob_is_estimated
+ dob_is_estimated
FROM dem.v_all_persons d_vp
-WHERE (d_vp.is_deleted IS TRUE);</pre>
+WHERE (is_deleted IS TRUE);</pre>
<!-- List off permissions -->
@@ -119933,21 +119933,21 @@ FROM (dem.lnk_org_unit2ext_id d_lou2ei
<!-- View Definition -->
<pre>
-SELECT gl.tag
+SELECT tag
,
_
-(gl.tag) AS l10n_tag
+(tag) AS l10n_tag
,
- gl.label
+ label
,
_
-(gl.label) AS l10n_label
+(label) AS l10n_label
,
- gl.comment
+ comment
,
- gl.sort_weight
+ sort_weight
,
- gl.pk AS pk_gender_label
+ pk AS pk_gender_label
FROM dem.gender_label gl;</pre>
@@ -130160,6 +130160,26 @@ BEGIN
return true;
END;</pre>
+<hr>
+<h2>Function:
+ <a href="gnumed-entire_schema.html#gm.schema">gm</a>.<a name="gm.function.user-needs-md5-2-scramsha256-pwd-switch-user-text">user_needs_md5_2_scramsha256_pwd_switch(_user text)</a>
+</h2>
+<h3>Returns: boolean</h3>
+<h3>Language: PLPGSQL</h3>
+<p>Check if a given user needs to renew the password for making the encryption method switch.</p>
+<pre>
+BEGIN
+ PERFORM 1 FROM pg_authid WHERE
+ rolname = _user
+ AND
+ rolpassword LIKE 'md5%';
+ IF NOT FOUND THEN
+ RETURN FALSE;
+ END IF;
+ RAISE NOTICE 'gm.user_needs_md5_2_scramsha256_pwd_switch: account [%] needs to re-set password for encryption method switch', _user;
+ RETURN TRUE;
+END;</pre>
+
<hr>
<h2>Function:
<a href="gnumed-entire_schema.html#gm.schema">gm</a>.<a name="gm.function.xid2int-xid">xid2int(xid)</a>
@@ -140782,27 +140802,27 @@ FROM (ref.atc a
<!-- View Definition -->
<pre>
-SELECT auto_hint.pk AS pk_auto_hint
+SELECT pk AS pk_auto_hint
,
- auto_hint.query
+ query
,
- auto_hint.recommendation_query
+ recommendation_query
,
- auto_hint.title
+ title
,
- auto_hint.hint
+ hint
,
- auto_hint.url
+ url
,
- auto_hint.is_active
+ is_active
,
- auto_hint.source
+ source
,
- auto_hint.lang
+ lang
,
- auto_hint.popup_type
+ popup_type
,
- auto_hint.highlight_as_priority
+ highlight_as_priority
,
NULL::text AS rationale4suppression
,
@@ -140814,28 +140834,28 @@ SELECT auto_hint.pk AS pk_auto_hint
(
(
(COALESCE
- (auto_hint.query
+ (query
,''::text
) || COALESCE
- (auto_hint.recommendation_query
+ (recommendation_query
,''::text
)
) || COALESCE
- (auto_hint.title
+ (title
,''::text
)
) || COALESCE
- (auto_hint.hint
+ (hint
,''::text
)
) || COALESCE
- (auto_hint.url
+ (url
,''::text
)
)
) AS md5_sum
,
- auto_hint.xmin AS xmin_auto_hint
+ xmin AS xmin_auto_hint
FROM ref.auto_hint;</pre>
@@ -142155,22 +142175,22 @@ FROM (
<!-- View Definition -->
<pre>
-SELECT r_dp.pk AS pk_drug_product
+SELECT pk AS pk_drug_product
,
- r_dp.description AS product
+ description AS product
,
- r_dp.preparation
+ preparation
,
_
-(r_dp.preparation) AS l10n_preparation
+(preparation) AS l10n_preparation
,
- r_dp.atc_code AS atc
+ atc_code AS atc
,
- r_dp.external_code
+ external_code
,
- r_dp.external_code_type
+ external_code_type
,
- r_dp.is_fake AS is_fake_product
+ is_fake AS is_fake_product
,
(EXISTS
@@ -142221,9 +142241,9 @@ SELECT row_to_json
) component_row
) AS components
,
- r_dp.fk_data_source AS pk_data_source
+ fk_data_source AS pk_data_source
,
- r_dp.xmin AS xmin_drug_product
+ xmin AS xmin_drug_product
FROM ref.drug_product r_dp;</pre>
@@ -143979,31 +143999,31 @@ FROM (
<!-- View Definition -->
<pre>
-SELECT r_ke.pk AS pk_expansion
+SELECT pk AS pk_expansion
,
- r_ke.fk_staff AS pk_staff
+ fk_staff AS pk_staff
,
- r_ke.keyword
+ keyword
,
- r_ke.textual_data AS expansion
+ textual_data AS expansion
,
- r_ke.encrypted AS is_encrypted
+ encrypted AS is_encrypted
,
-(r_ke.binary_data IS NULL) AS is_textual
+(binary_data IS NULL) AS is_textual
,
octet_length
-(r_ke.binary_data) AS data_size
+(binary_data) AS data_size
,
-(r_ke.fk_staff IS NULL) AS public_expansion
+(fk_staff IS NULL) AS public_expansion
,
-(r_ke.fk_staff IS NOT NULL) AS private_expansion
+(fk_staff IS NOT NULL) AS private_expansion
,
- r_ke.owner
+ owner
,
- r_ke.xmin AS xmin_expansion
+ xmin AS xmin_expansion
FROM ref.keyword_expansion r_ke;</pre>
@@ -144563,15 +144583,15 @@ FROM (ref.substance r_s
<!-- View Definition -->
<pre>
-SELECT r_pt.pk AS pk_paperwork_template
+SELECT pk AS pk_paperwork_template
,
- r_pt.name_short
+ name_short
,
- r_pt.name_long
+ name_long
,
- r_pt.external_version
+ external_version
,
- r_pt.gnumed_revision
+ gnumed_revision
,
(
@@ -144593,7 +144613,7 @@ SELECT _
) AS l10n_template_type
,
COALESCE
-(r_pt.instance_type
+(instance_type
, (
SELECT r_ft.name
@@ -144605,7 +144625,7 @@ SELECT _
,
COALESCE
(_
- (r_pt.instance_type)
+ (instance_type)
, (
SELECT _
(r_ft.name) AS _
@@ -144616,21 +144636,21 @@ SELECT _
)
) AS l10n_instance_type
,
- r_pt.engine
+ engine
,
- r_pt.in_use
+ in_use
,
- r_pt.edit_after_substitution
+ edit_after_substitution
,
- r_pt.filename
+ filename
,
CASE
WHEN
-(r_pt.data IS NOT NULL) THEN true
+(data IS NOT NULL) THEN true
ELSE false
END AS has_template_data
,
- r_pt.modified_when AS last_modified
+ modified_when AS last_modified
,
COALESCE
(
@@ -144643,14 +144663,14 @@ SELECT _
)
, (
('<'::text ||
- (r_pt.modified_by)::text
+ (modified_by)::text
) || '>'::text
)
) AS modified_by
,
- r_pt.fk_template_type AS pk_template_type
+ fk_template_type AS pk_template_type
,
- r_pt.xmin AS xmin_paperwork_template
+ xmin AS xmin_paperwork_template
FROM ref.paperwork_templates r_pt;</pre>
@@ -145044,13 +145064,13 @@ FROM (ref.dose r_d
<!-- View Definition -->
<pre>
-SELECT r_s.pk AS pk_substance
+SELECT pk AS pk_substance
,
- r_s.description AS substance
+ description AS substance
,
- r_s.intake_instructions
+ intake_instructions
,
- r_s.atc
+ atc
,
ARRAY
(
@@ -145076,7 +145096,7 @@ SELECT row_to_json
) loinc_row
) AS loincs
,
- r_s.xmin AS xmin_substance
+ xmin AS xmin_substance
FROM ref.substance r_s;</pre>
@@ -145244,18 +145264,18 @@ FROM ref.substance r_s;</pre>
<!-- View Definition -->
<pre>
-SELECT rti.pk AS pk_tag_image
+SELECT pk AS pk_tag_image
,
- rti.description
+ description
,
_
-(rti.description) AS l10n_description
+(description) AS l10n_description
,
- rti.filename
+ filename
,
octet_length
(COALESCE
- (rti.image
+ (image
,'\x'::bytea
)
) AS size
@@ -145272,7 +145292,7 @@ SELECT rti.pk AS pk_tag_image
)
) AS is_in_use
,
- rti.xmin AS xmin_tag_image
+ xmin AS xmin_tag_image
FROM ref.tag_image rti;</pre>
@@ -145986,27 +146006,27 @@ public expansion of the same keyword.</p>
<pre>
SELECT DISTINCT
-ON (union_result.keyword) union_result.pk_expansion
+ON (keyword) pk_expansion
,
- union_result.pk_staff
+ pk_staff
,
- union_result.keyword
+ keyword
,
- union_result.expansion
+ expansion
,
- union_result.is_encrypted
+ is_encrypted
,
- union_result.is_textual
+ is_textual
,
- union_result.data_size
+ data_size
,
- union_result.public_expansion
+ public_expansion
,
- union_result.private_expansion
+ private_expansion
,
- union_result.owner
+ owner
,
- union_result.xmin_expansion
+ xmin_expansion
FROM (
SELECT r_ke.pk AS pk_expansion
=====================================
client/gnumed.py
=====================================
@@ -97,7 +97,7 @@ against. Please run GNUmed as a non-root user.
sys.exit(1)
#----------------------------------------------------------
-current_client_version = '1.8.23'
+current_client_version = '1.8.24'
current_client_branch = '1.8'
_log = None
=====================================
client/wxpython/gmDocumentWidgets.py
=====================================
@@ -1402,7 +1402,11 @@ class cScanIdxDocsPnl(wxgScanIdxPnl.wxgScanIdxPnl, gmPlugin.cPatientChange_Plugi
#--------------------------------------------------------
def _on_update_file_description(self, result):
status, description = result
- fname, source = self._LCTRL_doc_pages.get_selected_item_data(only_one = True)
+ item_data = self._LCTRL_doc_pages.get_selected_item_data(only_one = True)
+ if not item_data:
+ return
+
+ fname, source = item_data
txt = _(
'Source: %s\n'
'File: %s\n'
View it on GitLab: https://salsa.debian.org/med-team/gnumed-client/-/commit/a1f305dc2e98380a910146f61dc8bc54a2ac2ea6
--
View it on GitLab: https://salsa.debian.org/med-team/gnumed-client/-/commit/a1f305dc2e98380a910146f61dc8bc54a2ac2ea6
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260416/46865306/attachment-0001.htm>
More information about the debian-med-commit
mailing list