diff --git a/modules/survey_accounts/js/survey_accounts_helper.js b/modules/survey_accounts/js/survey_accounts_helper.js index 917e91eef37..ce3acbbad9b 100644 --- a/modules/survey_accounts/js/survey_accounts_helper.js +++ b/modules/survey_accounts/js/survey_accounts_helper.js @@ -16,11 +16,13 @@ $(document).ready(function () { // Handles cases where there was an error on the page and we're resubmitting var email2 = $("input[name=Email2]").val(); var email = $("input[name=Email]").val(); - if (email.length > 0 && email2.length > 0 && email == email2) - { - $('#email_survey').removeAttr('disabled'); - } else { - $('#email_survey').attr('disabled','disabled'); + if (email && email2) { + if (email.length > 0 && email2.length > 0 && email == email2) + { + $('#email_survey').removeAttr('disabled'); + } else { + $('#email_survey').attr('disabled','disabled'); + } } // Reset Test_name so that the template can be loaded by ajax below $("select[name=Test_name]").val(""); @@ -93,7 +95,7 @@ $(document).ready(function () { $("#emailContent").val(content); } ); - + }); }); diff --git a/modules/survey_accounts/jsx/surveyAccountsIndex.js b/modules/survey_accounts/jsx/surveyAccountsIndex.js index 0fac30465de..7241e266873 100644 --- a/modules/survey_accounts/jsx/surveyAccountsIndex.js +++ b/modules/survey_accounts/jsx/surveyAccountsIndex.js @@ -112,7 +112,11 @@ class SurveyAccountsIndex extends Component { options: options.instruments, }}, {label: 'URL', show: true}, - {label: 'Status', show: true}, + {label: 'Status', show: true, filter: { + name: 'Status', + type: 'select', + options: options.statusOptions, + }}, ]; const addSurvey = () => { location.href='/survey_accounts/addSurvey/'; diff --git a/modules/survey_accounts/php/addsurvey.class.inc b/modules/survey_accounts/php/addsurvey.class.inc index 7bd74d60ae9..17e23330d55 100644 --- a/modules/survey_accounts/php/addsurvey.class.inc +++ b/modules/survey_accounts/php/addsurvey.class.inc @@ -162,8 +162,9 @@ class AddSurvey extends \NDB_Form ]; } } - - if ($_REQUEST['fire_away'] !== 'Create survey') { + if (!isset($_REQUEST['fire_away']) + || ($_REQUEST['fire_away'] !== 'Create survey') + ) { if (!filter_var( $values['Email'], FILTER_VALIDATE_EMAIL @@ -241,11 +242,11 @@ class AddSurvey extends \NDB_Form 'CommentID' => $commentID, ] ); + $this->tpl_data['success'] = true; } catch (\DatabaseException $e) { error_log($e->getMessage()); $this->tpl_data['success'] = false; } - $this->tpl_data['success'] = true; if ($email && ($values['send_email'] == 'true')) { $config = \NDB_Config::singleton(); @@ -291,7 +292,7 @@ class AddSurvey extends \NDB_Form "Instrument", array_merge( ['' => ''], - \Utility::getDirectInstruments() + \NDB_BVL_Instrument::getDirectEntryInstrumentNamesList($this->loris) ) ); $this->addBasicText("Email", "Email address"); diff --git a/modules/survey_accounts/php/survey_accounts.class.inc b/modules/survey_accounts/php/survey_accounts.class.inc index 9154921e4a1..7256ccc759e 100644 --- a/modules/survey_accounts/php/survey_accounts.class.inc +++ b/modules/survey_accounts/php/survey_accounts.class.inc @@ -74,14 +74,22 @@ class Survey_Accounts extends \DataFrameworkMenu */ public function getFieldOptions() : array { + $statusOptions = [ + 'Created' => 'Created', + 'Sent' => 'Sent', + 'In Progress' => 'In Progress', + 'Complete' => 'Complete', + ]; + $instruments = \NDB_BVL_Instrument::getDirectEntryInstrumentNamesList( $this->loris ); return [ - 'visits' => \Utility::getVisitList(), - 'instruments' => $instruments, + 'visits' => \Utility::getVisitList(), + 'instruments' => $instruments, + 'statusOptions' => $statusOptions, ]; }