Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.
To test
-------
[1] Arrange for a workstation whose internal ID is larger than
any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
(e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
should be active.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
return Promise.reject('hasWorkPermHere requires a workstation');
}
+ const ws_ou: number = +this.auth.user().ws_ou();
return this.hasWorkPermAt(permNames, true).then(resp => {
const answer: HasPermHereResult = {};
Object.keys(resp).forEach(perm => {
- answer[perm] = resp[perm].indexOf(wsId) > -1;
+ answer[perm] = resp[perm].indexOf(ws_ou) > -1;
});
return answer;
});