mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
Merge pull request #862 from paperless-ngx/fix-date-input-errors
Fix: show errors on invalid date input
This commit is contained in:
commit
fe61ca2c97
@ -162,8 +162,8 @@
|
|||||||
<div [ngbNavOutlet]="nav" class="mt-2"></div>
|
<div [ngbNavOutlet]="nav" class="mt-2"></div>
|
||||||
|
|
||||||
<button type="button" class="btn btn-outline-secondary" (click)="discard()" i18n [disabled]="networkActive || !(isDirty$ | async)">Discard</button>
|
<button type="button" class="btn btn-outline-secondary" (click)="discard()" i18n [disabled]="networkActive || !(isDirty$ | async)">Discard</button>
|
||||||
<button type="button" class="btn btn-outline-primary" (click)="saveEditNext()" *ngIf="hasNext()" i18n [disabled]="networkActive || !(isDirty$ | async)">Save & next</button>
|
<button type="button" class="btn btn-outline-primary" (click)="saveEditNext()" *ngIf="hasNext()" i18n [disabled]="networkActive || !(isDirty$ | async) || error">Save & next</button>
|
||||||
<button type="submit" class="btn btn-primary" i18n [disabled]="networkActive || !(isDirty$ | async)">Save</button>
|
<button type="submit" class="btn btn-primary" i18n [disabled]="networkActive || !(isDirty$ | async) || error">Save</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -146,18 +146,24 @@ export class DocumentDetailComponent
|
|||||||
this.documentForm.valueChanges
|
this.documentForm.valueChanges
|
||||||
.pipe(takeUntil(this.unsubscribeNotifier))
|
.pipe(takeUntil(this.unsubscribeNotifier))
|
||||||
.subscribe((changes) => {
|
.subscribe((changes) => {
|
||||||
|
this.error = null
|
||||||
if (this.ogDate) {
|
if (this.ogDate) {
|
||||||
let newDate = new Date(normalizeDateStr(changes['created']))
|
try {
|
||||||
newDate.setHours(
|
let newDate = new Date(normalizeDateStr(changes['created']))
|
||||||
this.ogDate.getHours(),
|
newDate.setHours(
|
||||||
this.ogDate.getMinutes(),
|
this.ogDate.getHours(),
|
||||||
this.ogDate.getSeconds(),
|
this.ogDate.getMinutes(),
|
||||||
this.ogDate.getMilliseconds()
|
this.ogDate.getSeconds(),
|
||||||
)
|
this.ogDate.getMilliseconds()
|
||||||
this.documentForm.patchValue(
|
)
|
||||||
{ created: newDate.toISOString() },
|
this.documentForm.patchValue(
|
||||||
{ emitEvent: false }
|
{ created: newDate.toISOString() },
|
||||||
)
|
{ emitEvent: false }
|
||||||
|
)
|
||||||
|
} catch (e) {
|
||||||
|
// catch this before we try to save and simulate an api error
|
||||||
|
this.error = { created: e.message }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.assign(this.document, this.documentForm.value)
|
Object.assign(this.document, this.documentForm.value)
|
||||||
@ -320,16 +326,17 @@ export class DocumentDetailComponent
|
|||||||
this.documentsService
|
this.documentsService
|
||||||
.get(this.documentId)
|
.get(this.documentId)
|
||||||
.pipe(first())
|
.pipe(first())
|
||||||
.subscribe(
|
.subscribe({
|
||||||
(doc) => {
|
next: (doc) => {
|
||||||
Object.assign(this.document, doc)
|
Object.assign(this.document, doc)
|
||||||
this.title = doc.title
|
this.title = doc.title
|
||||||
this.documentForm.patchValue(doc)
|
this.documentForm.patchValue(doc)
|
||||||
|
this.openDocumentService.setDirty(doc.id, false)
|
||||||
},
|
},
|
||||||
(error) => {
|
error: () => {
|
||||||
this.router.navigate(['404'])
|
this.router.navigate(['404'])
|
||||||
}
|
},
|
||||||
)
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
save() {
|
save() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user