2424 item-value =" code"
2525 v-model =" statusToSet"
2626 :rules =" [(v) => !!v || 'Status is required']"
27- @change =" statusFields = true "
27+ @change =" onStatusChange(statusToSet) "
2828 />
2929
3030 <div v-show =" statusFields" v-if =" showRevising" >
@@ -212,6 +212,7 @@ export default {
212212 },
213213 computed: {
214214 ...mapGetters('auth', ['keycloakSubject']),
215+ ...mapGetters('form', ['form', 'formSubmission', 'submissionUsers']),
215216 // State Machine
216217 showRevising() {
217218 return ['REVISING'].includes(this.statusToSet);
@@ -225,6 +226,25 @@ export default {
225226 },
226227 methods: {
227228 ...mapActions('notifications', ['addNotification']),
229+ ...mapActions('form', ['fetchSubmissionUsers']),
230+ async onStatusChange(status) {
231+ this.statusFields = true;
232+ if (status === 'REVISING') {
233+ try {
234+ await this.fetchSubmissionUsers(this.submissionId);
235+ const submitterData = this.submissionUsers.data.find((data) => {
236+ const username = data.user.idpCode ? `${data.user.username}@${data.user.idpCode}` : data.user.username;
237+ return username === this.formSubmission.createdBy;
238+ });
239+ this.revisionEmail = submitterData.user.email;
240+ } catch (error) {
241+ this.addNotification({
242+ message: 'An error occured while trying to fetch recipient emails for this submission.',
243+ consoleError: `Error getting recipient emails for ${this.submissionId}: ${error}`,
244+ });
245+ }
246+ }
247+ },
228248 assignToCurrentUser() {
229249 this.assignee = this.formReviewers.find(
230250 (f) => f.keycloakId === this.keycloakSubject
@@ -277,8 +297,8 @@ export default {
277297 (sc) => sc.code === this.currentStatus.code
278298 ).statusCode;
279299 this.items = this.currentStatus.statusCodeDetail.nextCodes;
280-
281- // Hiding REVISING status until backend can receive submitter's email.
300+ }
301+ if (!this.form.enableSubmitterDraft) {
282302 this.items = this.items.filter((item) => item !== 'REVISING');
283303 }
284304 } catch (error) {
0 commit comments