mirror of
https://github.com/bitwarden/browser
synced 2025-12-13 23:03:32 +00:00
[PM-15559] Fix hide passwords in AC for users that have view, except password (#12252)
* [PM-15559] Update admin dialog flows to first try the local state before using the API when not required * [PM-15559] Clear initial values after creating a new cipher so that they do not override the newly created cipher for subsequent edits
This commit is contained in:
@@ -281,17 +281,19 @@ export class VaultItemDialogComponent implements OnInit, OnDestroy {
|
||||
// If the cipher was newly created (via add/clone), switch the form to edit for subsequent edits.
|
||||
if (this._originalFormMode === "add" || this._originalFormMode === "clone") {
|
||||
this.formConfig.mode = "edit";
|
||||
this.formConfig.initialValues = null;
|
||||
}
|
||||
|
||||
let cipher: Cipher;
|
||||
let cipher = await this.cipherService.get(cipherView.id);
|
||||
|
||||
// When the form config is used within the Admin Console, retrieve the cipher from the admin endpoint
|
||||
if (this.formConfig.isAdminConsole) {
|
||||
// When the form config is used within the Admin Console, retrieve the cipher from the admin endpoint (if not found in local state)
|
||||
if (this.formConfig.isAdminConsole && (cipher == null || this.formConfig.admin)) {
|
||||
const cipherResponse = await this.apiService.getCipherAdmin(cipherView.id);
|
||||
cipherResponse.edit = true;
|
||||
cipherResponse.viewPassword = true;
|
||||
|
||||
const cipherData = new CipherData(cipherResponse);
|
||||
cipher = new Cipher(cipherData);
|
||||
} else {
|
||||
cipher = await this.cipherService.get(cipherView.id);
|
||||
}
|
||||
|
||||
// Store the updated cipher so any following edits use the most up to date cipher
|
||||
|
||||
Reference in New Issue
Block a user