From 3a6ef60ee9dc1a4f0b757cca8374470608f0e6a3 Mon Sep 17 00:00:00 2001 From: Patrick Teichmann Date: Mon, 12 Sep 2022 17:27:33 +0200 Subject: [PATCH] LSC-267: added dp update for latest changes in failed_emails LSC-267: fixed responselink display condition --- application/config/version.php | 2 +- .../helpers/update/updates/Update_491.php | 26 +++++++++++++++++++ application/models/FailedEmail.php | 3 ++- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 application/helpers/update/updates/Update_491.php diff --git a/application/config/version.php b/application/config/version.php index 6bbd51c081d..fb4db6d33d4 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -12,7 +12,7 @@ */ $config['versionnumber'] = '5.4.0'; -$config['dbversionnumber'] = 490; +$config['dbversionnumber'] = 491; $config['buildnumber'] = ''; $config['updatable'] = true; $config['templateapiversion'] = 3; diff --git a/application/helpers/update/updates/Update_491.php b/application/helpers/update/updates/Update_491.php new file mode 100644 index 00000000000..554064ff307 --- /dev/null +++ b/application/helpers/update/updates/Update_491.php @@ -0,0 +1,26 @@ +db->getSchema()->getTable('{{failed_emails}}')->getColumn('responseid'); + if ($responseidColumn === null) { + $this->db->createCommand()->addColumn( + '{{failed_emails}}', + 'responseid', + "integer NOT NULL" + ); + } + $resendVarsColumn = $this->db->getSchema()->getTable('{{failed_emails}}')->getColumn('resend_vars'); + if ($resendVarsColumn === null) { + $this->db->createCommand()->addColumn( + '{{failed_emails}}', + 'resend_vars', + "text NOT NULL" + ); + } + } +} diff --git a/application/models/FailedEmail.php b/application/models/FailedEmail.php index a7d0620c2dd..14e088a601d 100644 --- a/application/models/FailedEmail.php +++ b/application/models/FailedEmail.php @@ -210,7 +210,8 @@ public function getButtons(): string */ public function getResponseUrl(): string { - if (Survey::model()->findByPk($this->surveyid)->hasResponsesTable) { + $survey = Survey::model()->findByPk($this->surveyid); + if ( $survey !== null && $survey->hasResponsesTable) { $response = Response::model($this->surveyid)->findByPk($this->responseid); if (!empty($response)) { $responseUrl = App()->createUrl("responses/view/", ['surveyId' => $this->surveyid, 'id' => $this->responseid]);