diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index ed4458ec2..ae9abe847 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -385,7 +385,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">115</context> + <context context-type="linenumber">117</context> </context-group> </trans-unit> <trans-unit id="1241348629231510663" datatype="html"> @@ -534,7 +534,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">368</context> + <context context-type="linenumber">370</context> </context-group> </trans-unit> <trans-unit id="3768927257183755959" datatype="html"> @@ -593,7 +593,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">361</context> + <context context-type="linenumber">363</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html</context> @@ -739,7 +739,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">381</context> + <context context-type="linenumber">383</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -1190,7 +1190,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">337</context> + <context context-type="linenumber">339</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context> @@ -3391,7 +3391,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">109</context> + <context context-type="linenumber">111</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> @@ -4288,7 +4288,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">303</context> + <context context-type="linenumber">305</context> </context-group> </trans-unit> <trans-unit id="8057014866157903311" datatype="html"> @@ -4392,7 +4392,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">95</context> + <context context-type="linenumber">96</context> </context-group> </trans-unit> <trans-unit id="5342432350421167093" datatype="html"> @@ -5104,21 +5104,21 @@ <source>Email Document</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/common/email-document-dialog/email-document-dialog.component.ts</context> - <context context-type="linenumber">19</context> + <context context-type="linenumber">17</context> </context-group> </trans-unit> <trans-unit id="9049148856403142491" datatype="html"> <source>Email sent</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/common/email-document-dialog/email-document-dialog.component.ts</context> - <context context-type="linenumber">72</context> + <context context-type="linenumber">65</context> </context-group> </trans-unit> <trans-unit id="3742745894977668908" datatype="html"> <source>Error emailing document</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/common/email-document-dialog/email-document-dialog.component.ts</context> - <context context-type="linenumber">76</context> + <context context-type="linenumber">69</context> </context-group> </trans-unit> <trans-unit id="6381578200008167206" datatype="html"> @@ -6450,21 +6450,21 @@ <source>Previous</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">112</context> + <context context-type="linenumber">114</context> </context-group> </trans-unit> <trans-unit id="5028777105388019087" datatype="html"> <source>Details</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">125</context> + <context context-type="linenumber">127</context> </context-group> </trans-unit> <trans-unit id="5701618810648052610" datatype="html"> <source>Title</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">128</context> + <context context-type="linenumber">130</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -6487,21 +6487,21 @@ <source>Archive serial number</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">129</context> + <context context-type="linenumber">131</context> </context-group> </trans-unit> <trans-unit id="5114742157723900905" datatype="html"> <source>Date created</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">130</context> + <context context-type="linenumber">132</context> </context-group> </trans-unit> <trans-unit id="2691296884221415710" datatype="html"> <source>Correspondent</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">132</context> + <context context-type="linenumber">134</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context> @@ -6528,7 +6528,7 @@ <source>Document type</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">134</context> + <context context-type="linenumber">136</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context> @@ -6555,7 +6555,7 @@ <source>Storage path</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">136</context> + <context context-type="linenumber">138</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context> @@ -6578,7 +6578,7 @@ <source>Default</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">137</context> + <context context-type="linenumber">139</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context> @@ -6589,14 +6589,14 @@ <source>Content</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">233</context> + <context context-type="linenumber">235</context> </context-group> </trans-unit> <trans-unit id="218403386307979629" datatype="html"> <source>Metadata</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">242</context> + <context context-type="linenumber">244</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts</context> @@ -6607,119 +6607,119 @@ <source>Date modified</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">249</context> + <context context-type="linenumber">251</context> </context-group> </trans-unit> <trans-unit id="6392918669949841614" datatype="html"> <source>Date added</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">253</context> + <context context-type="linenumber">255</context> </context-group> </trans-unit> <trans-unit id="146828917013192897" datatype="html"> <source>Media filename</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">257</context> + <context context-type="linenumber">259</context> </context-group> </trans-unit> <trans-unit id="4500855521601039868" datatype="html"> <source>Original filename</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">261</context> + <context context-type="linenumber">263</context> </context-group> </trans-unit> <trans-unit id="7985558498848210210" datatype="html"> <source>Original MD5 checksum</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">265</context> + <context context-type="linenumber">267</context> </context-group> </trans-unit> <trans-unit id="5888243105821763422" datatype="html"> <source>Original file size</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">269</context> + <context context-type="linenumber">271</context> </context-group> </trans-unit> <trans-unit id="2696647325713149563" datatype="html"> <source>Original mime type</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">273</context> + <context context-type="linenumber">275</context> </context-group> </trans-unit> <trans-unit id="342875990758166588" datatype="html"> <source>Archive MD5 checksum</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">278</context> + <context context-type="linenumber">280</context> </context-group> </trans-unit> <trans-unit id="6033581412811562084" datatype="html"> <source>Archive file size</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">284</context> + <context context-type="linenumber">286</context> </context-group> </trans-unit> <trans-unit id="6992781481378431874" datatype="html"> <source>Original document metadata</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">293</context> + <context context-type="linenumber">295</context> </context-group> </trans-unit> <trans-unit id="2846565152091361585" datatype="html"> <source>Archived document metadata</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">296</context> + <context context-type="linenumber">298</context> </context-group> </trans-unit> <trans-unit id="7206723502037428235" datatype="html"> <source>Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">315,318</context> + <context context-type="linenumber">317,320</context> </context-group> </trans-unit> <trans-unit id="186236568870281953" datatype="html"> <source>History</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">326</context> + <context context-type="linenumber">328</context> </context-group> </trans-unit> <trans-unit id="5129524307369213584" datatype="html"> <source>Save & next</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">363</context> + <context context-type="linenumber">365</context> </context-group> </trans-unit> <trans-unit id="4910102545766233758" datatype="html"> <source>Save & close</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">366</context> + <context context-type="linenumber">368</context> </context-group> </trans-unit> <trans-unit id="1309556917227148591" datatype="html"> <source>Document loading...</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">376</context> + <context context-type="linenumber">378</context> </context-group> </trans-unit> <trans-unit id="8191371354890763172" datatype="html"> <source>Enter Password</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> - <context context-type="linenumber">430</context> + <context context-type="linenumber">432</context> </context-group> </trans-unit> <trans-unit id="2218903673684131427" datatype="html"> @@ -7016,11 +7016,11 @@ <source>An error occurred loading tiff: <x id="PH" equiv-text="err.toString()"/></source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> - <context context-type="linenumber">1477</context> + <context context-type="linenumber">1481</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> - <context context-type="linenumber">1481</context> + <context context-type="linenumber">1485</context> </context-group> </trans-unit> <trans-unit id="4958946940233632319" datatype="html"> diff --git a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts index b0f998a41..7a3659205 100644 --- a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts @@ -8,7 +8,6 @@ import { of, throwError } from 'rxjs' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsService } from 'src/app/services/permissions.service' import { DocumentService } from 'src/app/services/rest/document.service' -import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { EmailDocumentDialogComponent } from './email-document-dialog.component' @@ -40,12 +39,6 @@ describe('EmailDocumentDialogComponent', () => { fixture.detectChanges() }) - it('should get email enabled status from settings', () => { - const settingsService = TestBed.inject(SettingsService) - jest.spyOn(settingsService, 'get').mockReturnValue(true) - expect(component.emailEnabled).toBeTruthy() - }) - it('should set hasArchiveVersion and useArchiveVersion', () => { expect(component.hasArchiveVersion).toBeTruthy() component.hasArchiveVersion = false diff --git a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts index da77838a8..ab8b9768b 100644 --- a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts +++ b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts @@ -2,9 +2,7 @@ import { Component, Input } from '@angular/core' import { FormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' -import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentService } from 'src/app/services/rest/document.service' -import { SettingsService } from 'src/app/services/settings.service' import { ToastService } from 'src/app/services/toast.service' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @@ -39,15 +37,10 @@ export class EmailDocumentDialogComponent extends LoadingComponentWithPermission public emailSubject: string = '' public emailMessage: string = '' - get emailEnabled(): boolean { - return this.settingsService.get(SETTINGS_KEYS.EMAIL_ENABLED) - } - constructor( private activeModal: NgbActiveModal, private documentService: DocumentService, - private toastService: ToastService, - private settingsService: SettingsService + private toastService: ToastService ) { super() this.loading = false diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 399419314..b155cc14d 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -91,9 +91,11 @@ <button ngbDropdownItem (click)="openShareLinks()" [disabled]="!userCanEdit || !userIsOwner" *pngxIfPermissions="{ action: PermissionAction.Add, type: PermissionType.ShareLink }"> <i-bs name="link"></i-bs> <span i18n>Share Links</span> </button> - <button ngbDropdownItem (click)="openEmailDocument()" [disabled]="!userCanEdit || !userIsOwner"> - <i-bs name="envelope"></i-bs> <span i18n>Email</span> - </button> + @if (emailEnabled) { + <button ngbDropdownItem (click)="openEmailDocument()" [disabled]="!userCanEdit || !userIsOwner"> + <i-bs name="envelope"></i-bs> <span i18n>Email</span> + </button> + } </div> </div> diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index d9e74f881..b85a7eaf4 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -1331,6 +1331,11 @@ describe('DocumentDetailComponent', () => { expect(urlRevokeSpy).toHaveBeenCalled() }) + it('should get email enabled status from settings', () => { + jest.spyOn(settingsService, 'get').mockReturnValue(true) + expect(component.emailEnabled).toBeTruthy() + }) + it('should support open share links and email modals', () => { const modalSpy = jest.spyOn(modalService, 'open') initNormally() diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index ae09ed359..27a74cfcd 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -1433,6 +1433,10 @@ export class DocumentDetailComponent !!this.document?.archived_file_name } + get emailEnabled(): boolean { + return this.settings.get(SETTINGS_KEYS.EMAIL_ENABLED) + } + public openEmailDocument() { const modal = this.modalService.open(EmailDocumentDialogComponent, { backdrop: 'static',