diff --git a/application/controllers/survey/index.php b/application/controllers/survey/index.php index 38723bb7d4c..3f7c87cd9bd 100644 --- a/application/controllers/survey/index.php +++ b/application/controllers/survey/index.php @@ -494,7 +494,7 @@ function sendreq(surveyid) { // check also if it is allowed to change survey after completion if ($thissurvey['alloweditaftercompletion'] == 'Y' ) { - $tokenInstance = Token::model($surveyid)->usable()->findByAttributes(array('token' => $token)); + $tokenInstance = Token::model($surveyid)->editable()->findByAttributes(array('token' => $token)); } else { $tokenInstance = Token::model($surveyid)->usable()->incomplete()->findByAttributes(array('token' => $token)); } diff --git a/application/models/Token.php b/application/models/Token.php index 53ada965254..4cb4ee3584a 100644 --- a/application/models/Token.php +++ b/application/models/Token.php @@ -142,8 +142,11 @@ public function scopes() 'condition' => 'completed = "N"' ), 'usable' => array( - 'condition' => 'usesleft > 0 AND COALESCE(validfrom, NOW()) >= NOW() AND COALESCE(validfrom, NOW()) <= NOW()' - ) + 'condition' => 'usesleft > 0 AND COALESCE(validuntil, NOW()) >= NOW() AND COALESCE(validfrom, NOW()) <= NOW()' + ), + 'editable' => array( + 'condition' => 'COALESCE(validuntil, NOW()) >= NOW() AND COALESCE(validfrom, NOW()) <= NOW()' + ) ); } public function summary()