diff --git a/application/config/version.php b/application/config/version.php index 38774cf7b68..f8e29f5d1e9 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -12,7 +12,7 @@ */ $config['versionnumber'] = '4.4.16'; -$config['dbversionnumber'] = 443; +$config['dbversionnumber'] = 444; $config['buildnumber'] = ''; $config['updatable'] = true; $config['templateapiversion'] = 3; diff --git a/application/helpers/update/updatedb_helper.php b/application/helpers/update/updatedb_helper.php index 737150e9d8b..8c71749899f 100644 --- a/application/helpers/update/updatedb_helper.php +++ b/application/helpers/update/updatedb_helper.php @@ -3783,12 +3783,29 @@ function ($v) { $oDB->createCommand()->update('{{settings_global}}', array('stg_value' => 442), "stg_name='DBVersion'"); $oTransaction->commit(); } + if ($iOldDBVersion < 443) { $oTransaction = $oDB->beginTransaction(); $oDB->createCommand()->renameColumn('{{users}}', 'lastLogin', 'last_login'); $oDB->createCommand()->update('{{settings_global}}', array('stg_value' => 443), "stg_name='DBVersion'"); $oTransaction->commit(); } + + if ($iOldDBVersion < 444) { + $oTransaction = $oDB->beginTransaction(); + // Delete duplicate template configurations + $deleteQuery = "DELETE FROM {{template_configuration}} + WHERE id NOT IN ( + SELECT id FROM ( + SELECT MIN(id) as id + FROM {{template_configuration}} t + GROUP BY t.template_name, t.sid, t.gsid, t.uid + ) x + )"; + $oDB->createCommand($deleteQuery)->execute(); + $oDB->createCommand()->update('{{settings_global}}', array('stg_value' => 444), "stg_name='DBVersion'"); + $oTransaction->commit(); + } } catch (Exception $e) { Yii::app()->setConfig('Updating', false); $oTransaction->rollback(); diff --git a/application/models/TemplateConfiguration.php b/application/models/TemplateConfiguration.php index 20614cc7af3..92a6632f479 100755 --- a/application/models/TemplateConfiguration.php +++ b/application/models/TemplateConfiguration.php @@ -345,7 +345,7 @@ public static function checkAndcreateSurveyConfig($iSurveyId) { //if a template name is given also check against that $oSurvey = Survey::model()->findByPk($iSurveyId); - $sTemplateName = $oSurvey->template; + $sTemplateName = $oSurvey->oOptions->template; $iSurveyGroupId = $oSurvey->gsid; $criteria = new CDbCriteria();