diff --git a/jslib b/jslib index d1f7a97011..c946f01b5f 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit d1f7a97011f043a6225f603e71f0565acbe7dcdd +Subproject commit c946f01b5fbe5b84b928ae8dd4ad54a15dd1803d diff --git a/src/app/organizations/vault/add-edit.component.ts b/src/app/organizations/vault/add-edit.component.ts index 9bf2d3aaf9..bd36d5a772 100644 --- a/src/app/organizations/vault/add-edit.component.ts +++ b/src/app/organizations/vault/add-edit.component.ts @@ -1,11 +1,9 @@ -import { - Component, - OnInit, -} from '@angular/core'; +import { Component } from '@angular/core'; import { ApiService } from 'jslib/abstractions/api.service'; import { AuditService } from 'jslib/abstractions/audit.service'; import { CipherService } from 'jslib/abstractions/cipher.service'; +import { CollectionService } from 'jslib/abstractions/collection.service'; import { FolderService } from 'jslib/abstractions/folder.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { MessagingService } from 'jslib/abstractions/messaging.service'; @@ -18,6 +16,7 @@ import { UserService } from 'jslib/abstractions/user.service'; import { CipherData } from 'jslib/models/data/cipherData'; import { Cipher } from 'jslib/models/domain/cipher'; import { Organization } from 'jslib/models/domain/organization'; +import { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest'; import { CipherRequest } from 'jslib/models/request/cipherRequest'; import { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component'; @@ -26,18 +25,27 @@ import { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.c selector: 'app-org-vault-add-edit', templateUrl: '../../vault/add-edit.component.html', }) -export class AddEditComponent extends BaseAddEditComponent implements OnInit { +export class AddEditComponent extends BaseAddEditComponent { organization: Organization; originalCipher: Cipher = null; constructor(cipherService: CipherService, folderService: FolderService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, auditService: AuditService, stateService: StateService, - userService: UserService, totpService: TotpService, - passwordGenerationService: PasswordGenerationService, private apiService: ApiService, + userService: UserService, collectionService: CollectionService, + totpService: TotpService, passwordGenerationService: PasswordGenerationService, + private apiService: ApiService, messagingService: MessagingService) { super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService, - userService, totpService, passwordGenerationService, messagingService); + userService, collectionService, totpService, passwordGenerationService, messagingService); + } + + async load() { + await super.load(); + if (!this.editMode) { + this.cipher.organizationId = this.organization.id; + } + await this.organizationChanged(); } protected async loadCipher() { @@ -51,9 +59,6 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit { } protected encryptCipher() { - if (!this.editMode) { - this.cipher.organizationId = this.organization.id; - } if (!this.organization.isAdmin) { return super.encryptCipher(); } @@ -64,10 +69,11 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit { if (!this.organization.isAdmin) { return super.saveCipher(cipher); } - const request = new CipherRequest(cipher); if (this.editMode) { + const request = new CipherRequest(cipher); return this.apiService.putCipherAdmin(this.cipherId, request); } else { + const request = new CipherCreateRequest(cipher); return this.apiService.postCipherAdmin(request); } } diff --git a/src/app/vault/add-edit.component.html b/src/app/vault/add-edit.component.html index b9364463e7..bb074e60dd 100644 --- a/src/app/vault/add-edit.component.html +++ b/src/app/vault/add-edit.component.html @@ -83,7 +83,7 @@ {{'premium' | i18n}} - + {{'upgrade' | i18n}} @@ -366,6 +366,30 @@ + +

{{'ownership' | i18n}}

+
+
+ + +
+
+
+ +

{{'collections' | i18n}}

+
+ {{'noCollectionsInList' | i18n}} +
+ +
+ + +
+
+
diff --git a/src/app/vault/add-edit.component.ts b/src/app/vault/add-edit.component.ts index 307e5f69c4..8354747fe1 100644 --- a/src/app/vault/add-edit.component.ts +++ b/src/app/vault/add-edit.component.ts @@ -1,12 +1,10 @@ -import { - Component, - OnInit, -} from '@angular/core'; +import { Component } from '@angular/core'; import { CipherType } from 'jslib/enums/cipherType'; import { AuditService } from 'jslib/abstractions/audit.service'; import { CipherService } from 'jslib/abstractions/cipher.service'; +import { CollectionService } from 'jslib/abstractions/collection.service'; import { FolderService } from 'jslib/abstractions/folder.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { MessagingService } from 'jslib/abstractions/messaging.service'; @@ -23,7 +21,7 @@ import { LoginUriView } from 'jslib/models/view/loginUriView'; selector: 'app-vault-add-edit', templateUrl: 'add-edit.component.html', }) -export class AddEditComponent extends BaseAddEditComponent implements OnInit { +export class AddEditComponent extends BaseAddEditComponent { canAccessPremium: boolean; totpCode: string; totpCodeFormatted: string; @@ -39,13 +37,16 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit { constructor(cipherService: CipherService, folderService: FolderService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, auditService: AuditService, stateService: StateService, - protected userService: UserService, protected totpService: TotpService, - protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) { - super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService); + userService: UserService, collectionService: CollectionService, + protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService, + protected messagingService: MessagingService) { + super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService, + userService, collectionService); } async ngOnInit() { - await super.load(); + await super.ngOnInit(); + await this.load(); this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null; this.hasPasswordHistory = this.cipher.hasPasswordHistory; this.cleanUp(); diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index 527f38dce8..c8d72b3d5b 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -2498,5 +2498,11 @@ }, "selected": { "message": "Selected" + }, + "ownership": { + "message": "Ownership" + }, + "whoOwnsThisItem": { + "message": "Who owns this item?" } }