diff --git a/application/controllers/admin/database.php b/application/controllers/admin/database.php index b88615243e7..96791febd5c 100644 --- a/application/controllers/admin/database.php +++ b/application/controllers/admin/database.php @@ -547,8 +547,16 @@ private function actionUpdateQuestion($iSurveyID) } else { $sQuestionType = Yii::app()->request->getPost('type'); } - - + /* Set 'question_template' to current one before al other action : QuestionTemplate use cirrent one only*/ + $question_template = Yii::app()->request->getPost("question_template", "core"); + QuestionAttribute::model()->deleteAll("attribute = :attribute",array(":attribute" => "question_template")); + if($question_template != "core") { + $attribute = new QuestionAttribute; + $attribute->qid = $this->iQuestionID; + $attribute->value = $question_template; + $attribute->attribute = "question_template"; + $attribute->save(); + } // Remove invalid question attributes on saving $criteria = new CDbCriteria; $criteria->compare('qid', $this->iQuestionID); diff --git a/application/controllers/admin/questions.php b/application/controllers/admin/questions.php index 48f7b963b52..570059728e7 100644 --- a/application/controllers/admin/questions.php +++ b/application/controllers/admin/questions.php @@ -1671,7 +1671,6 @@ public function ajaxquestionattributes() ); $aAttributesWithValues = Question::model()->getAdvancedSettingsWithValues($qid, $type, $surveyid); - // INSERTING CUSTOM ATTRIBUTES FROM CORE QUESTION THEME XML FILE $currentAttributesDefinition = \LimeSurvey\Helpers\questionHelper::getQuestionAttributesSettings($type); if (!empty($sQuestionTemplate) && $sQuestionTemplate !== 'core') { @@ -1686,7 +1685,10 @@ public function ajaxquestionattributes() if (!empty($aOldQuestionThemeAttributes)){ foreach ($aOldQuestionThemeAttributes as $key => $value) { if(array_key_exists($value['name'],$currentAttributesDefinition)) { - $aAttributesWithValues[$value['name']] = array_merge($aAttributesWithValues[$value['name']],$currentAttributesDefinition[$value['name']]); + $aAttributesWithValues[$value['name']] = array_merge( + $aAttributesWithValues[$value['name']], + $currentAttributesDefinition[$value['name']] + ); } else { unset($aAttributesWithValues[$value['name']]); } diff --git a/application/models/QuestionAttribute.php b/application/models/QuestionAttribute.php index 6d73207e4b3..a0755819d2d 100644 --- a/application/models/QuestionAttribute.php +++ b/application/models/QuestionAttribute.php @@ -307,7 +307,6 @@ public static function getDefaultSettings() "category" => gT("Attribute"), "default" => '', "help" => '', - "value" => '', "sortorder" => 1000, "i18n" => false, "readonly" => false,