mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
Handle very old date strings in correspondent list
This commit is contained in:
parent
b961df90a7
commit
421e78a748
@ -668,7 +668,7 @@ describe('DocumentDetailComponent', () => {
|
|||||||
const object = {
|
const object = {
|
||||||
id: 22,
|
id: 22,
|
||||||
name: 'Correspondent22',
|
name: 'Correspondent22',
|
||||||
last_correspondence: new Date(),
|
last_correspondence: new Date().toISOString(),
|
||||||
} as PaperlessCorrespondent
|
} as PaperlessCorrespondent
|
||||||
const qfSpy = jest.spyOn(documentListViewService, 'quickFilter')
|
const qfSpy = jest.spyOn(documentListViewService, 'quickFilter')
|
||||||
component.filterDocuments([object])
|
component.filterDocuments([object])
|
||||||
|
@ -31,8 +31,12 @@ describe('CorrespondentListComponent', () => {
|
|||||||
ReactiveFormsModule,
|
ReactiveFormsModule,
|
||||||
],
|
],
|
||||||
}).compileComponents()
|
}).compileComponents()
|
||||||
|
|
||||||
correspondentsService = TestBed.inject(CorrespondentService)
|
correspondentsService = TestBed.inject(CorrespondentService)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Tests are included in management-list.compontent.spec.ts
|
||||||
|
|
||||||
|
it('should use correct delete message', () => {
|
||||||
jest.spyOn(correspondentsService, 'listFiltered').mockReturnValue(
|
jest.spyOn(correspondentsService, 'listFiltered').mockReturnValue(
|
||||||
of({
|
of({
|
||||||
count: 3,
|
count: 3,
|
||||||
@ -56,15 +60,30 @@ describe('CorrespondentListComponent', () => {
|
|||||||
fixture = TestBed.createComponent(CorrespondentListComponent)
|
fixture = TestBed.createComponent(CorrespondentListComponent)
|
||||||
component = fixture.componentInstance
|
component = fixture.componentInstance
|
||||||
fixture.detectChanges()
|
fixture.detectChanges()
|
||||||
})
|
|
||||||
|
|
||||||
// Tests are included in management-list.compontent.spec.ts
|
|
||||||
|
|
||||||
it('should use correct delete message', () => {
|
|
||||||
expect(
|
expect(
|
||||||
component.getDeleteMessage({ id: 1, name: 'Correspondent1' })
|
component.getDeleteMessage({ id: 1, name: 'Correspondent1' })
|
||||||
).toEqual(
|
).toEqual(
|
||||||
'Do you really want to delete the correspondent "Correspondent1"?'
|
'Do you really want to delete the correspondent "Correspondent1"?'
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should support very old date strings', () => {
|
||||||
|
jest.spyOn(correspondentsService, 'listFiltered').mockReturnValue(
|
||||||
|
of({
|
||||||
|
count: 1,
|
||||||
|
all: [1],
|
||||||
|
results: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
name: 'Correspondent1',
|
||||||
|
last_correspondence: '1832-12-31T15:32:54-07:52:58',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
)
|
||||||
|
fixture = TestBed.createComponent(CorrespondentListComponent)
|
||||||
|
component = fixture.componentInstance
|
||||||
|
fixture.detectChanges()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
@ -44,7 +44,19 @@ export class CorrespondentListComponent extends ManagementListComponent<Paperles
|
|||||||
key: 'last_correspondence',
|
key: 'last_correspondence',
|
||||||
name: $localize`Last used`,
|
name: $localize`Last used`,
|
||||||
valueFn: (c: PaperlessCorrespondent) => {
|
valueFn: (c: PaperlessCorrespondent) => {
|
||||||
return this.datePipe.transform(c.last_correspondence)
|
if (c.last_correspondence) {
|
||||||
|
let date = new Date(c.last_correspondence)
|
||||||
|
if (date.toString() == 'Invalid Date') {
|
||||||
|
// very old date strings are unable to be parsed
|
||||||
|
date = new Date(
|
||||||
|
c.last_correspondence
|
||||||
|
?.toString()
|
||||||
|
.replace(/-(\d\d):\d\d:\d\d/gm, `-$1:00`)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return this.datePipe.transform(date)
|
||||||
|
}
|
||||||
|
return ''
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { MatchingModel } from './matching-model'
|
import { MatchingModel } from './matching-model'
|
||||||
|
|
||||||
export interface PaperlessCorrespondent extends MatchingModel {
|
export interface PaperlessCorrespondent extends MatchingModel {
|
||||||
last_correspondence?: Date
|
last_correspondence?: string // Date
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user