• last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Cleanup private interface lang::system::timezone_support_p: ref-timezones has been made a dependency of acs-lang long ago

  1. … 4 more files in changeset.
Allow to specify a user for lang::user::language, default to the package default locale when a locale for user+package is not found

Increase proc coverage

This test will fail because of two reasons:

- when using package-level locales and a package default locale is specified, but no user+package locale, the expected behavior should be that the default from the package is used, but this is not the case

- lang::user::language does not allow to specify a user id

file locale-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./test/locale-procs.tcl
Increase proc coverage

Increase proc coverage

file lang-catalog-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./test/lang-catalog-procs.tcl
Cleanup leftover, fix typos

    • -5
    • +2
    ./test/acs-lang-localization-procs.tcl
lc_time_tz_convert reform:

- enforce that only dates in the ISO format "%Y-%m-%d %H:%M:%S" are accepted

- apply clock api normalization to seemingly out of range time_values, as per https://www.tcl.tk/man/tcl/TclCmd/clock.html#M25

- return the empty string every time input is invalid or a conversion cannot be determined

- return a value, as ISO date, only when conversion is successful

- prefer the clock api to perform the conversion, but fall back to the ref-timezones datamodel when the timezone is not supported by Tcl

    • -12
    • +0
    ./localization-procs-postgresql.xql
Introduce a thorough test of the lc_time_tz_convert api checking:

- dates in the distant past

- dates in the distant future

- daylight saving for different times of the year across the two timezones

- historical circumstances (e.g. Pre-timezones US)

- Invalid input

The test shows that the current api does not behave consistently in certain circumstances:

- the same time_value is sometimes returned with invalid input

- the empty string is sometimes returned with valid input

- for dates where the ref-timezones package does not provide information, no result is returned

    • -0
    • +118
    ./test/acs-lang-localization-procs.tcl
improve spelling

    • -1
    • +1
    ./test/acs-lang-localization-procs.tcl
  1. … 8 more files in changeset.
break overlong lines

produce error message in the error log, if the parameter value_array_list is not well formed

Document public api

Document public api

  1. … 1 more file in changeset.
Small improvements:

- use "string is space" instead of trimming the string and checking if empty, at least 2x faster on development, wherever we don't need the trimmed value

- modernize leftover foreach trick with lassign

  1. … 6 more files in changeset.
Deprecate template::util::is_true, implemented as a simple string command oneliner since 2015 and inline occurrences

  1. … 32 more files in changeset.
Properly escape "<" and ">" in api-doc documentation.

Since all documentation is rendered via HTML, the characters

"<" and ">" have to be HTML-quoted, otherwise strange things

(omission, unintended renderings) might occur.

E.g. the sentence

Define an interface between a page and an

ADP <include> similar to the page_contract.

was rendered as

Define an interface between a page and an

ADP similar to the page_contract.

which is incorrect.

  1. … 13 more files in changeset.
Return 0 when looking up the existance of a message key in an unsupported locale instead of failing, test the behavior

    • -0
    • +56
    ./test/acs-lang-localization-procs.tcl
Improve test precision: take into account packages defined as <install... in the info file, as e.g. dotlrn does

Fallback here as well to en_US when no supported locale is found

info files do not contain message keys

use cookie namespace also for stored locales

  1. … 1 more file in changeset.
Constrain the language we return for the connection to the ones we support: could happen on system that have supposted a language in the past and still have users set it as their preferred language

Fixes for Oracle 19c: (temporary?) fix for message catalogs

This change fixes the problem that after a fresh installation, all (!)

messages keys are empty. I am not sure what the source of the problem

is, why this has supposedly worked some years before, and whether

there are undesired side-effects of this change. Without this change,

the openacs installation leads to fully broken state.

improved error message

Fixes for Oracle 19c boolean types in query

This fixes the following bug for Oracle:

: SQL:

: select locale

: from ad_locales l

: where language = :language

: and enabled_p

: !>>>!and (default_p or not exists (select 1 from ad_locales

: where language = :language

: and locale <> l.locale))

:

Reduce need for xql

Cleanup hacks addressing #2011927 bug in Oracle: this has been supposedly addressed in version 9i, already EOL

See http://oracle-docs.dartmouth.edu/dba-docs/patchset_9.2.0.4.htm

Fix acs-lang.test_message_register automated test:

when checking if a message should be created or updated, do not trust the nsv, which won't be there for messages that have been soft-deleted and go to the db instead. When a message is soft deleted, cleanup the nsv cache.