From 6046815f05bae3e7b6b1ec78e2fa11b8cb782d1f Mon Sep 17 00:00:00 2001 From: Andrea Vos Date: Mon, 23 Sep 2024 23:14:48 +0200 Subject: [PATCH] (bug)(admin) fix timesheets ('transferMethod is readonly') --- pages/admin/timesheets/index.vue | 45 +++++++++++++++----------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/pages/admin/timesheets/index.vue b/pages/admin/timesheets/index.vue index 5b53c4c3e..4223dcd66 100644 --- a/pages/admin/timesheets/index.vue +++ b/pages/admin/timesheets/index.vue @@ -87,6 +87,7 @@
+

Transfer method: @@ -187,12 +188,29 @@ export default { months: MONTHS, transferMethods: TRANSFER_METHODS, + timesheet: this.buildTimesheet(this.persistent), + transferMethod: this.persistent?.transfer || '', + transferDetails: { + bank_name: this.persistent?.details?.bank_name || '', + bank_iban: this.persistent?.details?.bank_iban || '', + bank_bic: this.persistent?.details?.bank_bic || '', + paypal_email: this.persistent?.details?.paypal_email || '', + charity_name: this.persistent?.details?.charity_name || '', + charity_url: this.persistent?.details?.charity_url || '', + notes: this.persistent?.details?.notes || '', + }, + focusMonth: null, focusArea: null, }; }, - computed: { - timesheet() { + watch: { + year() { + this.$refs['cell-1-0'][0].focus(); + }, + }, + methods: { + buildTimesheet(persistent) { const timesheet = {}; for (let y = min.year; y <= max.year; y++) { timesheet[y] = {}; @@ -202,33 +220,12 @@ export default { } timesheet[y][m] = {}; for (const area of AREAS) { - timesheet[y][m][area] = this.persistent?.timesheet?.[y]?.[m]?.[area] || 0; + timesheet[y][m][area] = persistent?.timesheet?.[y]?.[m]?.[area] || 0; } } } return timesheet; }, - transferMethod() { - return this.persistent?.transfer || ''; - }, - transferDetails() { - return { - bank_name: this.persistent?.details?.bank_name || '', - bank_iban: this.persistent?.details?.bank_iban || '', - bank_bic: this.persistent?.details?.bank_bic || '', - paypal_email: this.persistent?.details?.paypal_email || '', - charity_name: this.persistent?.details?.charity_name || '', - charity_url: this.persistent?.details?.charity_url || '', - notes: this.persistent?.details?.notes || '', - }; - }, - }, - watch: { - year() { - this.$refs['cell-1-0'][0].focus(); - }, - }, - methods: { dt(year, month) { return DateTime.local(parseInt(year), parseInt(month), 1); },