To repeat this issue, use the Knop 8 demo, login, go to Advanced, select a record, and try to delete it.
When a record is requested and a stale lockvalue exists in the database object, knop_form incorrectly generates a lockvalue instead of a keyvalue. This prevents the record from being saved or deleted.
In addition, when trying to delete a record, the $s_user variable "disappears". An error is returned:
No tag, type or constant was defined under the name string->trace with arguments: array: (-html)
at: /index.lasso on line: 115 at position: 13
Line 115:
$s_user -> trace(-html);
Then if one refreshes the error page:
No tag, type or constant was defined under the name string->auth.
at: /_config/cfg__nav.inc on line: 38 at position: 16
Line38:
if: $s_user -> auth;
Inserting this at line 37:
$__html_reply__ = $s_user->isa('string');
abort;
Returns:
true
It's as if the knop_user type gets redefined as type string and loses all of its knop_user methods. Now we need to find where that happens while deleting a record with a lock.
In fact, I think I found the problem, in global__config.inc:
To repeat this issue, use the Knop 8 demo, login, go to Advanced, select a record, and try to delete it.
When a record is requested and a stale lockvalue exists in the database object, knop_form incorrectly generates a lockvalue instead of a keyvalue. This prevents the record from being saved or deleted.
In addition, when trying to delete a record, the $s_user variable "disappears". An error is returned:
No tag, type or constant was defined under the name string->trace with arguments: array: (-html) at: /index.lasso on line: 115 at position: 13
Line 115:
$s_user -> trace(-html);
Then if one refreshes the error page:
No tag, type or constant was defined under the name string->auth. at: /_config/cfg__nav.inc on line: 38 at position: 16
Line38:
if: $s_user -> auth;
Inserting this at line 37:
Returns: true
It's as if the knop_user type gets redefined as type string and loses all of its knop_user methods. Now we need to find where that happens while deleting a record with a lock.
In fact, I think I found the problem, in global__config.inc:
test 1
=> user
test 2
=> string
That result makes ZERO sense, because this file gets loaded whether the action is a save or delete.