backend-plus 1.19.1 → 1.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2374,7 +2374,7 @@ myOwn.TableGrid.prototype.displayGrid = function displayGrid(){
2374
2374
  var retrievedRow = result.updatedRow;
2375
2375
  for(var fieldName in retrievedRow){
2376
2376
  if(!/^\$/.test(fieldName)){
2377
- if(!grid.def.field[fieldName].clientSide || grid.def.field[fieldName].serverSide && grid.def.field[fieldName].inTable!==false){
2377
+ if(grid.def.field[fieldName] && (!grid.def.field[fieldName].clientSide || grid.def.field[fieldName].serverSide && grid.def.field[fieldName].inTable!==false)){
2378
2378
  if(depot.rowControls[fieldName]){
2379
2379
  var value = depot.rowControls[fieldName].getTypedValue();
2380
2380
  if(!sameValue(depot.row[fieldName], value)){
@@ -318,6 +318,7 @@ export type TableDefinition = EditableDbDefinition & {
318
318
  specialValidator?:string
319
319
  saveAfter?:boolean
320
320
  selfRefresh?:boolean
321
+ filterColumns?:{column:string, operatior:string, value:any}[]
321
322
  }
322
323
  export type OtherTableDefs = TableDefinition['sql']['otherTableDefs']
323
324
  export interface DetailTable { table?: string, fields: FieldsForConnectDetailTable, abr: string, label?: string, refreshParent?:boolean, refreshFromParent?:boolean, wScreen?:string, condition?:string }
@@ -481,6 +481,11 @@ AppBackend.prototype.isAdmin = function isAdmin(reqOrContext){
481
481
  return reqOrContext && (reqOrContext.forDump || reqOrContext.user && reqOrContext.user[be.config.login.rolFieldName] == 'admin');
482
482
  }
483
483
 
484
+ AppBackend.prototype.canChangePass = async function isAdmin(reqOrContext, _userToChangePass){
485
+ var be = this;
486
+ return be.isAdmin(reqOrContext);
487
+ }
488
+
484
489
  AppBackend.prototype._Browsers = {
485
490
  Edge: {short:'Ed' , minVer:14 , polly:true},
486
491
  Konqueror: {short:'Kq' , minVer:null, polly:true},
@@ -651,7 +651,7 @@ ProcedureTables = [
651
651
  {name:'newpass'},
652
652
  ],
653
653
  coreFunction:async function(context, parameters){
654
- if(context.be.isAdmin(context) && context.user[context.be.config.login.userFieldName]!=parameters.user){
654
+ if(await context.be.canChangePass(context, parameters.user) && context.user[context.be.config.login.userFieldName]!=parameters.user){
655
655
  var ok = await context.be.changePassword(context.client,parameters.user,false,parameters.newpass);
656
656
  if(ok){
657
657
  return ok
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "backend-plus",
3
3
  "description": "Backend for typed controls",
4
- "version": "1.19.1",
4
+ "version": "1.19.3",
5
5
  "author": "Codenautas <codenautas@googlegroups.com>",
6
6
  "license": "MIT",
7
7
  "repository": "codenautas/backend-plus",
@@ -36,7 +36,7 @@
36
36
  "body-parser": "^1.20.2",
37
37
  "cast-error": "^0.1.0",
38
38
  "castellano": "^0.1.3",
39
- "connect-pg-simple": "^8.0.0",
39
+ "connect-pg-simple": "^9.0.0",
40
40
  "cookie-parser": "^1.4.6",
41
41
  "dialog-promise": "^0.9.15",
42
42
  "discrepances": "^0.2.8",
@@ -81,7 +81,7 @@
81
81
  "@types/js-yaml": "^4.0.5",
82
82
  "@types/mocha": "^10.0.1",
83
83
  "@types/multiparty": "~0.0.33",
84
- "@types/node": "^20.2.5",
84
+ "@types/node": "^20.3.0",
85
85
  "@types/nodemailer": "^6.4.8",
86
86
  "@types/numeral": "~2.0.2",
87
87
  "@types/session-file-store": "^1.2.2",
@@ -101,7 +101,7 @@
101
101
  "puppeteer": "^20.5.0",
102
102
  "sinon": "^15.1.0",
103
103
  "supertest": "^6.3.3",
104
- "types.d.ts": "~0.6.14",
104
+ "types.d.ts": "~0.6.15",
105
105
  "typescript": "^5.1.3",
106
106
  "why-is-node-running": "^2.2.2"
107
107
  },