mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-15 10:13:15 -05:00
Fix display of private objects sometimes
This commit is contained in:
parent
1771293fcf
commit
0f92523d28
@ -56,8 +56,6 @@ describe('settings', () => {
|
|||||||
'GET',
|
'GET',
|
||||||
'http://localhost:8000/api/mail_accounts/*',
|
'http://localhost:8000/api/mail_accounts/*',
|
||||||
(req) => {
|
(req) => {
|
||||||
console.log(req, this.newMailAccounts)
|
|
||||||
|
|
||||||
let response = { ...mailAccountsJson }
|
let response = { ...mailAccountsJson }
|
||||||
if (this.newMailAccounts.length) {
|
if (this.newMailAccounts.length) {
|
||||||
response.results = response.results.concat(this.newMailAccounts)
|
response.results = response.results.concat(this.newMailAccounts)
|
||||||
@ -142,7 +140,7 @@ describe('settings', () => {
|
|||||||
cy.get('app-saved-view-widget').contains('Inbox').should('not.exist')
|
cy.get('app-saved-view-widget').contains('Inbox').should('not.exist')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should show a list of mail accounts & rules & support creation', () => {
|
it('should show a list of mail accounts & support creation', () => {
|
||||||
cy.contains('a', 'Mail').click()
|
cy.contains('a', 'Mail').click()
|
||||||
cy.get('app-settings .tab-content ul li').its('length').should('eq', 5) // 2 headers, 2 accounts, 1 rule
|
cy.get('app-settings .tab-content ul li').its('length').should('eq', 5) // 2 headers, 2 accounts, 1 rule
|
||||||
cy.contains('button', 'Add Account').click()
|
cy.contains('button', 'Add Account').click()
|
||||||
@ -162,6 +160,13 @@ describe('settings', () => {
|
|||||||
.wait('@getAccounts')
|
.wait('@getAccounts')
|
||||||
cy.contains('Saved account')
|
cy.contains('Saved account')
|
||||||
|
|
||||||
|
cy.get('app-settings .tab-content ul li').its('length').should('eq', 6)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should show a list of mail rules & support creation', () => {
|
||||||
|
cy.contains('a', 'Mail').click()
|
||||||
|
cy.get('app-settings .tab-content ul li').its('length').should('eq', 5) // 2 headers, 2 accounts, 1 rule
|
||||||
|
|
||||||
cy.wait(1000)
|
cy.wait(1000)
|
||||||
cy.contains('button', 'Add Rule').click()
|
cy.contains('button', 'Add Rule').click()
|
||||||
cy.contains('Create new mail rule')
|
cy.contains('Create new mail rule')
|
||||||
@ -177,6 +182,6 @@ describe('settings', () => {
|
|||||||
.wait('@getRules')
|
.wait('@getRules')
|
||||||
cy.contains('Saved rule').wait(1000)
|
cy.contains('Saved rule').wait(1000)
|
||||||
|
|
||||||
cy.get('app-settings .tab-content ul li').its('length').should('eq', 7)
|
cy.get('app-settings .tab-content ul li').its('length').should('eq', 6)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -27,21 +27,31 @@ export class SelectComponent extends AbstractInputComponent<number> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_items: any[]
|
_items: any[]
|
||||||
|
privateItems: any[] = []
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
set items(items) {
|
set items(items) {
|
||||||
if (this.value && items.find((i) => i.id === this.value) === undefined) {
|
this._items = items
|
||||||
items.push({
|
if (this.value) this.checkForPrivateItem(this.value)
|
||||||
id: this.value,
|
}
|
||||||
|
|
||||||
|
writeValue(newValue: any): void {
|
||||||
|
if (newValue && this._items) this.checkForPrivateItem(newValue)
|
||||||
|
super.writeValue(newValue)
|
||||||
|
}
|
||||||
|
|
||||||
|
checkForPrivateItem(value) {
|
||||||
|
if (this._items.find((i) => i.id === value) === undefined) {
|
||||||
|
this.privateItems.push({
|
||||||
|
id: value,
|
||||||
name: $localize`Private`,
|
name: $localize`Private`,
|
||||||
private: true,
|
private: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this._items = items
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get items(): any[] {
|
get items(): any[] {
|
||||||
return this._items
|
return this._items?.concat(this.privateItems)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user