20 Commits

Author SHA1 Message Date
aea252ccc6 chore(release): 6.14.1 [skip ci]
## [6.14.1](https://git.datacontroller.io/dc/dc/compare/v6.14.0...v6.14.1) (2025-03-05)

### Bug Fixes

* handle national language datetime formats ([149e318](149e318a87))
* updating logic to use NLDAT formats ([95289aa](95289aa952))
2025-03-05 15:28:45 +00:00
d8908f9c7f Merge pull request 'fix: handle national language datetime formats' (#144) from fix-nldatm into main
All checks were successful
Release / Build-production-and-ng-test (push) Successful in 4m48s
Release / Build-and-test-development (push) Successful in 9m38s
Release / release (push) Successful in 10m26s
Reviewed-on: #144
2025-03-05 14:50:58 +00:00
95289aa952 fix: updating logic to use NLDAT formats
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 5m3s
Build / Build-and-test-development (pull_request) Successful in 9m47s
2025-03-05 14:49:56 +00:00
149e318a87 fix: handle national language datetime formats
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 5m9s
Build / Build-and-test-development (pull_request) Successful in 9m58s
2025-03-05 14:34:51 +01:00
8657826e60 chore(release): 6.14.0 [skip ci]
# [6.14.0](https://git.datacontroller.io/dc/dc/compare/v6.13.2...v6.14.0) (2025-02-26)

### Features

* uses SORTSEQ=LINGUISTIC for the services/metanav/metadetails service ([a45f5bb](a45f5bb3b2))
2025-02-26 19:44:07 +00:00
a45f5bb3b2 feat: uses SORTSEQ=LINGUISTIC for the services/metanav/metadetails service
All checks were successful
Release / Build-production-and-ng-test (push) Successful in 4m49s
Release / Build-and-test-development (push) Successful in 9m42s
Release / release (push) Successful in 10m27s
2025-02-26 19:24:53 +00:00
ae9a91a7a1 chore: bumping sasjs/core to 4.54
Some checks failed
Release / Build-and-test-development (push) Has been cancelled
Release / release (push) Has been cancelled
Release / Build-production-and-ng-test (push) Has been cancelled
2025-02-26 19:21:07 +00:00
3638bde633 chore(release): 6.13.2 [skip ci]
## [6.13.2](https://git.datacontroller.io/dc/dc/compare/v6.13.1...v6.13.2) (2025-02-26)

### Bug Fixes

* get metadata email if exists ([1bd0eef](1bd0eef913))
2025-02-26 12:25:46 +00:00
3a2361f42c Merge pull request 'fix: get metadata email if exists' (#143) from fix-mpe_alerts-metadata-emails into main
All checks were successful
Release / Build-production-and-ng-test (push) Successful in 4m45s
Release / Build-and-test-development (push) Successful in 9m37s
Release / release (push) Successful in 10m32s
Reviewed-on: #143
2025-02-26 12:06:51 +00:00
1bd0eef913 fix: get metadata email if exists
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 5m4s
Build / Build-and-test-development (pull_request) Successful in 9m53s
2025-02-26 12:19:58 +01:00
85aa3b38b7 Merge pull request 'fix: Added missing=STRING to enable national chars' (#142) from metadetails-national-chars into main
Some checks failed
Release / Build-production-and-ng-test (push) Successful in 4m55s
Release / Build-and-test-development (push) Successful in 9m52s
Release / release (push) Failing after 4m37s
Reviewed-on: #142
2025-02-18 11:59:51 +00:00
678859a68d Merge branch 'main' into metadetails-national-chars
Some checks failed
Build / Build-and-test-development (pull_request) Has been cancelled
Build / Build-and-ng-test (pull_request) Has been cancelled
2025-02-18 11:54:15 +00:00
e531acee3f Added missing=STRING to enable national chars
Some checks failed
Build / Build-and-ng-test (pull_request) Successful in 5m25s
Build / Build-and-test-development (pull_request) Has been cancelled
2025-02-18 12:46:45 +01:00
4a45ebfe3b chore(release): 6.13.1 [skip ci]
## [6.13.1](https://git.datacontroller.io/dc/dc/compare/v6.13.0...v6.13.1) (2025-02-18)

### Bug Fixes

* Avoiding LATIN1 unprintables in various UI locations ([bce1fd5](bce1fd57ef))
* updated @sasjs/adapter, crypto-browserify ([4e64f28](4e64f28732))
2025-02-18 10:37:07 +00:00
8fb9a344f2 Merge pull request 'fix: updated @sasjs/adapter, crypto-browserify' (#141) from vulnerabilities-fix into main
All checks were successful
Release / Build-production-and-ng-test (push) Successful in 4m49s
Release / Build-and-test-development (push) Successful in 9m37s
Release / release (push) Successful in 10m17s
Reviewed-on: #141
2025-02-18 10:18:09 +00:00
8829b60220 chore: licence checker
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 4m57s
Build / Build-and-test-development (pull_request) Successful in 9m39s
2025-02-18 10:31:46 +01:00
4e64f28732 fix: updated @sasjs/adapter, crypto-browserify
Some checks failed
Build / Build-and-ng-test (pull_request) Failing after 1m43s
Build / Build-and-test-development (pull_request) Successful in 9m56s
2025-02-18 10:23:42 +01:00
a0749de700 Merge pull request 'fix: Avoiding LATIN1 unprintables in various UI locations' (#140) from issue137 into main
Some checks failed
Release / Build-production-and-ng-test (push) Failing after 1m39s
Release / Build-and-test-development (push) Has been skipped
Release / release (push) Has been skipped
Reviewed-on: #140
2025-02-17 16:36:57 +00:00
f9623e046e Merge branch 'main' into issue137
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 5m12s
Build / Build-and-test-development (pull_request) Successful in 9m45s
2025-02-17 16:36:44 +00:00
bce1fd57ef fix: Avoiding LATIN1 unprintables in various UI locations
All checks were successful
Build / Build-and-ng-test (pull_request) Successful in 5m8s
2025-02-17 16:35:18 +00:00
16 changed files with 6209 additions and 4539 deletions

View File

@ -1,3 +1,33 @@
## [6.14.1](https://git.datacontroller.io/dc/dc/compare/v6.14.0...v6.14.1) (2025-03-05)
### Bug Fixes
* handle national language datetime formats ([149e318](https://git.datacontroller.io/dc/dc/commit/149e318a8787be0109f25aeec3a1270ea75a97b2))
* updating logic to use NLDAT formats ([95289aa](https://git.datacontroller.io/dc/dc/commit/95289aa9524d3cb2b1c248cfb84f6b0d0a490c32))
# [6.14.0](https://git.datacontroller.io/dc/dc/compare/v6.13.2...v6.14.0) (2025-02-26)
### Features
* uses SORTSEQ=LINGUISTIC for the services/metanav/metadetails service ([a45f5bb](https://git.datacontroller.io/dc/dc/commit/a45f5bb3b27a86da5f55ff28c9c7669956484ddf))
## [6.13.2](https://git.datacontroller.io/dc/dc/compare/v6.13.1...v6.13.2) (2025-02-26)
### Bug Fixes
* get metadata email if exists ([1bd0eef](https://git.datacontroller.io/dc/dc/commit/1bd0eef913593579771c647d80010ce628c00819))
## [6.13.1](https://git.datacontroller.io/dc/dc/compare/v6.13.0...v6.13.1) (2025-02-18)
### Bug Fixes
* Avoiding LATIN1 unprintables in various UI locations ([bce1fd5](https://git.datacontroller.io/dc/dc/commit/bce1fd57ef397cfdd030552c3f424a8407174729))
* updated @sasjs/adapter, crypto-browserify ([4e64f28](https://git.datacontroller.io/dc/dc/commit/4e64f28732868b07ec2ab403912bd384c62c7e1d))
# [6.13.0](https://git.datacontroller.io/dc/dc/compare/v6.12.3...v6.13.0) (2025-01-31) # [6.13.0](https://git.datacontroller.io/dc/dc/compare/v6.12.3...v6.13.0) (2025-01-31)

View File

@ -10,7 +10,7 @@ const check = (cwd) => {
onlyAllow: onlyAllow:
'AFLv2.1;Apache 2.0;Apache-2.0;Apache*;Artistic-2.0;0BSD;BSD*;BSD-2-Clause;BSD-3-Clause;CC0-1.0;CC-BY-3.0;CC-BY-4.0;ISC;MIT;MPL-2.0;ODC-By-1.0;Python-2.0;Unlicense;', 'AFLv2.1;Apache 2.0;Apache-2.0;Apache*;Artistic-2.0;0BSD;BSD*;BSD-2-Clause;BSD-3-Clause;CC0-1.0;CC-BY-3.0;CC-BY-4.0;ISC;MIT;MPL-2.0;ODC-By-1.0;Python-2.0;Unlicense;',
excludePackages: excludePackages:
'@cds/city@1.1.0;@handsontable/angular@14.4.0;handsontable@14.4.0;hyperformula@2.7.0;jackspeak@2.2.0;path-scurry@1.7.0' '@cds/city@1.1.0;@handsontable/angular@14.6.2;handsontable@14.6.2;hyperformula@2.7.1;jackspeak@3.4.3;path-scurry@1.11.1;package-json-from-dist@1.0.1'
}, },
(error, json) => { (error, json) => {
if (error) { if (error) {

10666
client/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -49,14 +49,14 @@
"@clr/icons": "^13.0.2", "@clr/icons": "^13.0.2",
"@clr/ui": "^17.0.1", "@clr/ui": "^17.0.1",
"@handsontable/angular": "^14.3.0", "@handsontable/angular": "^14.3.0",
"@sasjs/adapter": "4.10.2", "@sasjs/adapter": "^4.11.0",
"@sasjs/utils": "^3.4.0", "@sasjs/utils": "^3.4.0",
"@sheet/crypto": "file:libraries/sheet-crypto.tgz", "@sheet/crypto": "file:libraries/sheet-crypto.tgz",
"@types/d3-graphviz": "^2.6.7", "@types/d3-graphviz": "^2.6.7",
"@types/text-encoding": "0.0.35", "@types/text-encoding": "0.0.35",
"base64-arraybuffer": "^0.2.0", "base64-arraybuffer": "^0.2.0",
"buffer": "^5.4.3", "buffer": "^5.4.3",
"crypto-browserify": "3.12.0", "crypto-browserify": "^3.12.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"d3-graphviz": "^5.0.2", "d3-graphviz": "^5.0.2",
"fs-extra": "^7.0.1", "fs-extra": "^7.0.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "dcfrontend", "name": "dcfrontend",
"version": "6.13.0", "version": "6.14.1",
"description": "Data Controller", "description": "Data Controller",
"devDependencies": { "devDependencies": {
"@saithodev/semantic-release-gitea": "^2.1.0", "@saithodev/semantic-release-gitea": "^2.1.0",

8
sas/package-lock.json generated
View File

@ -7,7 +7,7 @@
"name": "dc-sas", "name": "dc-sas",
"dependencies": { "dependencies": {
"@sasjs/cli": "^4.11.1", "@sasjs/cli": "^4.11.1",
"@sasjs/core": "^4.53.0" "@sasjs/core": "^4.55.0"
} }
}, },
"node_modules/@coolaj86/urequest": { "node_modules/@coolaj86/urequest": {
@ -116,9 +116,9 @@
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw==" "integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
}, },
"node_modules/@sasjs/core": { "node_modules/@sasjs/core": {
"version": "4.53.0", "version": "4.55.0",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.53.0.tgz", "resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.55.0.tgz",
"integrity": "sha512-bGLa9OUlrA6s8+TFjoxc1/0B7LlR+f1gLEXU5vNnrxbidOZ8raR+i1vgBtF4Ux9432G8g+Ju80E5vR/Q/QyK3Q==", "integrity": "sha512-M+OTbNzQZIpGiQUUAR3RLYAomM32TAjzj9B/OiEqHbz18IsBz2Vufv669SCrWWft2E/MnHlXGVfqQGJOGQYI6w==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@sasjs/lint": { "node_modules/@sasjs/lint": {

View File

@ -29,6 +29,6 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@sasjs/cli": "^4.11.1", "@sasjs/cli": "^4.11.1",
"@sasjs/core": "^4.53.0" "@sasjs/core": "^4.55.0"
} }
} }

View File

@ -96,6 +96,8 @@ data work.emails;
/* get email from metadata if not in input table */ /* get email from metadata if not in input table */
if metadata_getnasn(uri,"EmailAddresses",1,emailuri)<=0 then do; if metadata_getnasn(uri,"EmailAddresses",1,emailuri)<=0 then do;
putlog "DCWARN: " alert_user " has no emails in MPE_EMAILS or metadata!"; putlog "DCWARN: " alert_user " has no emails in MPE_EMAILS or metadata!";
end;
else do;
if metadata_getattr(emailuri,"Address",user_email)<0 then do; if metadata_getattr(emailuri,"Address",user_email)<0 then do;
putlog 'DCWARN: Unexpected error! Valid emailURI but no email. Weird.'; putlog 'DCWARN: Unexpected error! Valid emailURI but no email. Weird.';
end; end;

View File

@ -249,26 +249,18 @@ data vars(keep=name type length varnum format);
end; end;
else do; else do;
if format2='' then format=cats(length,'.'); if format2='' then format=cats(length,'.');
else if format2=:'DATETIME' or format2=:'E8601DT' then do; else if format2=:'DATETIME' or format2=:'E8601DT' or format=:'NLDATM'
then do;
format='DATETIME19.'; format='DATETIME19.';
end; end;
else if format2=:'DATE' or format2=:'DDMMYY' else if format2=:'DATE' or format2=:'DDMMYY'
or format2=:'MMDDYY' or format2=:'YYMMDD' or format2=:'MMDDYY' or format2=:'YYMMDD'
or format2=:'E8601DA' or format2=:'B8601DA' or format2=:'E8601DA' or format2=:'B8601DA'
or format=:'NLDATE'
then do; then do;
format='DATE9.'; format='DATE9.';
end; end;
else if format2='BEST' & formatl=0 then format=cats('BEST',length,'.'); else if format2='BEST' & formatl=0 then format=cats('BEST',length,'.');
/*
else if format2=:'DATETIME' or format2=:'DATE' or format2=:'DDMMYY'
or format2=:'MMDDYY' or format2=:'YYMMDD' then do;
*date or datetime format so use original ;
dsid=open("&libref..&ds");
vnum=varnum(dsid,name);
format=varfmt(dsid,vnum);
dsid=close(dsid);
end;
*/
else do; else do;
if formatl=0 then formatl=length; if formatl=0 then formatl=length;
format=cats(format2,formatl,'.',formatd); format=cats(format2,formatl,'.',formatd);

View File

@ -82,7 +82,7 @@ create table out1 (rename=(SUBMITTED_ON_DTTM1=SUBMITTED_ON_DTTM)) as
) )
%webout(OPEN) %webout(OPEN)
%webout(OBJ,fromSAS) %webout(OBJ,fromSAS,missing=STRING)
%webout(CLOSE) %webout(CLOSE)

View File

@ -340,7 +340,8 @@ select upcase(loadtype)
if ctrlOptions ne '' then if ctrlOptions ne '' then
colType=cats(coltype,',"type":"dropdown","source":',ctrlOptions,"}"); colType=cats(coltype,',"type":"dropdown","source":',ctrlOptions,"}");
else if type='num' then do; else if type='num' then do;
if format=:'DATETIME' or format=:'E8601DT' then do; if format=:'DATETIME' or format=:'E8601DT' or format=:'NLDATM'
then do;
colType=cats(coltype colType=cats(coltype
,',"type":"date","dateFormat":"YYYY-MM-DD HH:mm:ss"' ,',"type":"date","dateFormat":"YYYY-MM-DD HH:mm:ss"'
,',"correctFormat":"true"}'); ,',"correctFormat":"true"}');
@ -349,7 +350,7 @@ select upcase(loadtype)
end; end;
else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY' else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY'
or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA' or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA'
or format=:'MONYY' or format=:'MONYY' or format=:'NLDATE'
then do; then do;
/* see bottom of file for more date formats!! */ /* see bottom of file for more date formats!! */
/* also when updating, update stagedata.sas and mp_getcols.sas /* also when updating, update stagedata.sas and mp_getcols.sas

View File

@ -45,6 +45,6 @@ create table work.fromsas (rename=(SUBMITTED_ON=SUBMITTED_ON_DTTM)) as
) )
%webout(OPEN) %webout(OPEN)
%webout(OBJ,fromSAS) %webout(OBJ,fromSAS,missing=STRING)
%webout(CLOSE) %webout(CLOSE)

View File

@ -136,7 +136,7 @@ run;
) )
%webout(OPEN) %webout(OPEN)
%webout(OBJ,saslibs) %webout(OBJ,saslibs,missing=STRING)
%webout(CLOSE) %webout(CLOSE)
%mpeterm() %mpeterm()

View File

@ -341,7 +341,7 @@ proc sql;
create table ids as select distinct id from graphviz3; create table ids as select distinct id from graphviz3;
%webout(OPEN) %webout(OPEN)
%webout(OBJ,fromSAS) %webout(OBJ,fromSAS,missing=STRING)
%webout(OBJ,ids,dslabel=clickableIDS) %webout(OBJ,ids,dslabel=clickableIDS)
%webout(OBJ,info) %webout(OBJ,info)
%webout(OBJ,flatdata) %webout(OBJ,flatdata)

View File

@ -23,10 +23,11 @@
%mm_getdetails(&objecturi %mm_getdetails(&objecturi
,outattrs=work.attributes ,outattrs=work.attributes
,outassocs=work.associations ,outassocs=work.associations
,sortoptions=SORTSEQ=LINGUISTIC
) )
%webout(OPEN) %webout(OPEN)
%webout(OBJ,attributes) %webout(OBJ,attributes, missing=STRING)
%webout(OBJ,associations) %webout(OBJ,associations)
%webout(CLOSE) %webout(CLOSE)
%mpeterm() %mpeterm()

View File

@ -26,6 +26,6 @@ options metarepository=&repo;
) )
%webout(OPEN) %webout(OPEN)
%webout(OBJ,objects) %webout(OBJ,objects,missing=STRING)
%webout(CLOSE) %webout(CLOSE)
%mpeterm() %mpeterm()