case 4604 - case form: Close and Reopen buttons instead of editing the dates

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-01 09:59:09 -07:00
parent d1813f6d63
commit d286650eaa

View File

@@ -66,23 +66,33 @@
v-model="obj.created"
:label="$sock.t('Created')"
:rules="[form().required(this, 'created')]"
:readonly="formState.readOnly"
:readonly="true"
:error-messages="form().serverErrors(this, 'created')"
data-cy="created"
@input="fieldValueChanged('created')"
></gz-date-time-picker>
</v-col>
<!-- case 4604: closed is set by the Close / Reopen button, not picked (Sockeye only, so plain English) -->
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-date-time-picker
ref="closed"
v-model="obj.closed"
:label="$sock.t('GZCaseClosed')"
:readonly="formState.readOnly"
:readonly="true"
:error-messages="form().serverErrors(this, 'closed')"
data-cy="closed"
@input="fieldValueChanged('closed')"
></gz-date-time-picker>
<v-btn
v-if="!formState.readOnly && obj.id != 0"
color="primary"
text
:disabled="formState.loading"
data-cy="closeOpen"
@click="setClosed(obj.closed == null)"
>{{ obj.closed == null ? "Close case" : "Reopen case" }}</v-btn
>
</v-col>
<!-- --------------------------------- -->
@@ -259,6 +269,15 @@ export default {
form() {
return window.$gz.form;
},
async setClosed(close) {
//case 4604: Close sets the closed date to now, saves the case and goes back; Open clears it and saves
this.obj.closed = close ? window.$gz.locale.nowUTC8601String() : null;
this.fieldValueChanged("closed");
await this.submit();
if (close && !this.formState.dirty) {
this.$router.go(-1);
}
},
fieldValueChanged(ref) {
if (
this.formState.ready &&