Skip to content

Commit

Permalink
Fixed issue: Numerous postgres problems due to improper table alias n…
Browse files Browse the repository at this point in the history
…ame casing
  • Loading branch information
c-schmitz committed Mar 23, 2020
1 parent 6252d8d commit 44a27b8
Show file tree
Hide file tree
Showing 21 changed files with 53 additions and 53 deletions.
4 changes: 2 additions & 2 deletions application/controllers/admin/assessments.php
Expand Up @@ -257,12 +257,12 @@ private function _collectGroupData($oSurvey, &$aData = array())
{
$aGroups = [];
$db = Yii::app()->db;
$quotedQGL10ns = $db->quoteTableName('questionGroupL10ns');
$quotedQGL10ns = $db->quoteTableName('questiongroupl10ns');
$quotedLanguage = $db->quoteColumnName('language');

$groups = QuestionGroup::model()->with(
[
'questionGroupL10ns' => [
'questiongroupl10ns' => [
'condition' => $quotedQGL10ns . '.' . $quotedLanguage . ' = :language',
'params' => array(':language' => $oSurvey->language)
]
Expand Down
4 changes: 2 additions & 2 deletions application/controllers/admin/conditionsaction.php
Expand Up @@ -1217,11 +1217,11 @@ protected function getTheseRows(array $questionlist)

$result = Question::model()->with(array(
'group' => array(
'condition' => 'questionGroupL10ns.language = :lang',
'condition' => 'questiongroupl10ns.language = :lang',
'params' => array(':lang' => $this->language),
'alias' => 'group',
),
'group.questionGroupL10ns' => array('alias' =>'questiongroupl10ns' ),
'group.questiongroupl10ns' => array('alias' =>'questiongroupl10ns' ),
'questionl10ns'
))->findAllByAttributes(array('qid' => $ql, 'parent_qid' => 0, 'sid' => $this->iSurveyID));

Expand Down
2 changes: 1 addition & 1 deletion application/controllers/admin/dataentry.php
Expand Up @@ -1793,7 +1793,7 @@ public function view($surveyid)
$aQuestions = Question::model()->findAllByAttributes(['sid'=>$surveyid, 'parent_qid'=>0, 'gid'=>$arGroup['gid']]);
$aDataentryoutput .= "\t<tr class='info'>\n"
."<!-- Inside controller dataentry.php -->"
."<td colspan='3'><h4>".flattenText($arGroup->questionGroupL10ns[$sDataEntryLanguage]->group_name, true)."</h4></td>\n"
."<td colspan='3'><h4>".flattenText($arGroup->questiongroupl10ns[$sDataEntryLanguage]->group_name, true)."</h4></td>\n"
."\t</tr>\n";

$gid = $arGroup['gid'];
Expand Down
6 changes: 3 additions & 3 deletions application/controllers/admin/printablesurvey.php
Expand Up @@ -157,14 +157,14 @@ function index($surveyid, $lang = null, $bReturn = false)
// START doing groups
$arQuestions = Question::model()->findAllByAttributes(['sid' => $surveyid, 'gid' => $arQuestionGroup['gid']]);

if (!empty($arQuestionGroup->questionGroupL10ns[$sLanguageCode]->description)) {
$group_desc = $arQuestionGroup->questionGroupL10ns[$sLanguageCode]->description;
if (!empty($arQuestionGroup->questiongroupl10ns[$sLanguageCode]->description)) {
$group_desc = $arQuestionGroup->questiongroupl10ns[$sLanguageCode]->description;
} else {
$group_desc = '';
}

$group = array(
'groupname' => $arQuestionGroup->questionGroupL10ns[$sLanguageCode]->group_name,
'groupname' => $arQuestionGroup->questiongroupl10ns[$sLanguageCode]->group_name,
'groupdescription' => $group_desc,
'questions' => array()
);
Expand Down
2 changes: 1 addition & 1 deletion application/controllers/admin/questionedit.php
Expand Up @@ -1296,7 +1296,7 @@ private function getCompiledQuestionData(&$oQuestion)
LimeExpressionManager::StartProcessingPage(false, true);
$aQuestionDefinition = array_merge($oQuestion->attributes, ['typeInformation' => $oQuestion->questionType]);
$oQuestionGroup = QuestionGroup::model()->findByPk($oQuestion->gid);
$aQuestionGroupDefinition = array_merge($oQuestionGroup->attributes, $oQuestionGroup->questionGroupL10ns);
$aQuestionGroupDefinition = array_merge($oQuestionGroup->attributes, $oQuestionGroup->questiongroupl10ns);

$aScaledSubquestions = $oQuestion->getOrderedSubQuestions();
foreach ($aScaledSubquestions as $scaleId => $aSubquestions) {
Expand Down
4 changes: 2 additions & 2 deletions application/controllers/admin/questiongroups.php
Expand Up @@ -341,7 +341,7 @@ public function view($surveyid, $gid, $landOnSideMenuTab = 'structure')
// TODO: Code duplication (Line 611 - 614) side menu state
$aData['sidemenu']['state'] = true;
$aData['sidemenu']['questiongroups'] = true;
$aData['sidemenu']['group_name'] = $oQuestionGroup->questionGroupL10ns[$baselang]->group_name ?? '';
$aData['sidemenu']['group_name'] = $oQuestionGroup->questiongroupl10ns[$baselang]->group_name ?? '';
$aData['sidemenu']['explorer']['state'] = true;
$aData['sidemenu']['explorer']['gid'] = (isset($gid)) ? $gid : false;
$aData['sidemenu']['explorer']['qid'] = false;
Expand Down Expand Up @@ -430,7 +430,7 @@ public function loadQuestionGroup($surveyid, $iQuestionGroupId = null)
});
} else {
$i10N = [];
foreach ($oQuestionGroup->questionGroupL10ns as $lng => $oQuestionGroupi10n) {
foreach ($oQuestionGroup->questiongroupl10ns as $lng => $oQuestionGroupi10n) {
$i10N[$lng] = $oQuestionGroupi10n->attributes;

templatereplace(
Expand Down
2 changes: 1 addition & 1 deletion application/controllers/admin/statistics.php
Expand Up @@ -169,7 +169,7 @@ public function run($surveyid = 0, $subaction = null)
$aGroups = array();
$keyone = 0;
foreach ($rows as $row) {
$sGroupName = $row->group->questionGroupL10ns[$language]->group_name;
$sGroupName = $row->group->questiongroupl10ns[$language]->group_name;

//store some column names in $filters array
$filters[] = array(
Expand Down
2 changes: 1 addition & 1 deletion application/controllers/admin/surveyadmin.php
Expand Up @@ -559,7 +559,7 @@ public function getAjaxQuestionGroupArray($surveyid)
if (count($aGroups)) {
foreach ($aGroups as $group) {
$curGroup = $group->attributes;
$curGroup['group_name'] = $group->questionGroupL10ns[$baselang]->group_name;
$curGroup['group_name'] = $group->questiongroupl10ns[$baselang]->group_name;
$curGroup['link'] = $this->getController()->createUrl("admin/questiongroups/sa/view", ['surveyid' => $surveyid, 'gid' => $group->gid]);
$group->aQuestions = Question::model()->findAllByAttributes(array("sid"=>$iSurveyID, "gid"=>$group['gid'], 'parent_qid'=>0), array('order'=>'question_order ASC'));
$curGroup['questions'] = array();
Expand Down
10 changes: 5 additions & 5 deletions application/controllers/admin/translate.php
Expand Up @@ -203,10 +203,10 @@ private function _displayUntranslatedFields($iSurveyID, $tolang, $baselang, $tab

$class = get_class($oRowfrom);
if ($class == 'QuestionGroup'){
$aRowfrom = $oRowfrom->questionGroupL10ns[$baselang]->getAttributes();
$aResultBase2 = !empty($type2) ? $oResultBase2->questionGroupL10ns[$baselang]->getAttributes() : $aRowfrom;
$aResultTo = $oResultTo->questionGroupL10ns[$tolang]->getAttributes();
$aResultTo2 = !empty($type2) ? $oResultTo2->questionGroupL10ns[$tolang]->getAttributes() : $aResultTo;
$aRowfrom = $oRowfrom->questiongroupl10ns[$baselang]->getAttributes();
$aResultBase2 = !empty($type2) ? $oResultBase2->questiongroupl10ns[$baselang]->getAttributes() : $aRowfrom;
$aResultTo = $oResultTo->questiongroupl10ns[$tolang]->getAttributes();
$aResultTo2 = !empty($type2) ? $oResultTo2->questiongroupl10ns[$tolang]->getAttributes() : $aResultTo;
} elseif ($class == 'Question' || $class == 'Subquestion'){
$aRowfrom = $oRowfrom->questionl10ns[$baselang]->getAttributes();
$aResultBase2 = !empty($type2) ? $oResultBase2->questionl10ns[$baselang]->getAttributes() : $aRowfrom;
Expand Down Expand Up @@ -766,7 +766,7 @@ private function query($type, $action, $iSurveyID, $tolang, $baselang, $id1 = ""
return SurveyLanguageSetting::model()->resetScope()->findAllByPk(array('surveyls_survey_id'=>$iSurveyID, 'surveyls_language'=>$baselang));
case 'group':
case 'group_desc':
return QuestionGroup::model()->with('questionGroupL10ns', array('condition' => 'language = ' . $baselang))->findAllByAttributes(array('sid'=>$iSurveyID), array('order' => 't.gid'));
return QuestionGroup::model()->with('questiongroupl10ns', array('condition' => 'language = ' . $baselang))->findAllByAttributes(array('sid'=>$iSurveyID), array('order' => 't.gid'));
case 'question':
case 'question_help':
return Question::model()->with('questionl10ns', array('condition' => 'language = ' . $baselang))->with('parent', 'group')->findAllByAttributes(array('sid' => $iSurveyID, 'parent_qid' => 0), array('order' => 'group.group_order, t.question_order, t.scale_id'));
Expand Down
6 changes: 3 additions & 3 deletions application/helpers/common_helper.php
Expand Up @@ -588,7 +588,7 @@ function getGroupList3($gid, $surveyid)
foreach ($gidresult as $gv) {
$groupselecter .= "<option";
if ($gv->gid == $gid) {$groupselecter .= " selected='selected'"; }
$groupselecter .= " value='".$gv->gid."'>".htmlspecialchars($gv->questionGroupL10ns[$sBaseLanguage]->group_name)." (ID:".$gv->gid.")</option>\n";
$groupselecter .= " value='".$gv->gid."'>".htmlspecialchars($gv->questiongroupl10ns[$sBaseLanguage]->group_name)." (ID:".$gv->gid.")</option>\n";
}
return $groupselecter;
}
Expand All @@ -614,7 +614,7 @@ function getGroupListLang($gid, $language, $surveyid)
if ($aAttributes['gid'] == $gid) {$groupselecter .= " selected='selected'"; $gvexist = 1; }
$link = Yii::app()->getController()->createUrl("/admin/questiongroups/sa/view/surveyid/".$surveyid."/gid/".$aAttributes['gid']);
$groupselecter .= " value='{$link}'>";
$groupselecter .= htmlspecialchars(strip_tags($oGroup->questionGroupL10ns[$language]->group_name));
$groupselecter .= htmlspecialchars(strip_tags($oGroup->questiongroupl10ns[$language]->group_name));
$groupselecter .= "</option>\n";
}
if ($groupselecter) {
Expand Down Expand Up @@ -3476,7 +3476,7 @@ function replaceExpressionCodes($iSurveyID, $aCodeMap)
if ($bModified) {
$arGroup->save();
}
foreach ($arGroup->questionGroupL10ns as $arQuestionGroupLS) {
foreach ($arGroup->questiongroupl10ns as $arQuestionGroupLS) {
foreach ($aCodeMap as $sOldCode=>$sNewCode) {
$sOldCode = preg_quote($sOldCode, '~');
$arQuestionGroupLS->description = preg_replace("~{[^}]*\K{$sOldCode}(?=[^}]*?})~", $sNewCode, $arQuestionGroupLS->description, -1, $iCount);
Expand Down
4 changes: 2 additions & 2 deletions application/helpers/frontend_helper.php
Expand Up @@ -1599,8 +1599,8 @@ function UpdateGroupList($surveyid, $language)
foreach ($result as $row) {
$group = array(
'gid' => $row['gid'],
'group_name' => $row->questionGroupL10ns[$language]->group_name,
'description' => $row->questionGroupL10ns[$language]->description);
'group_name' => $row->questiongroupl10ns[$language]->group_name,
'description' => $row->questiongroupl10ns[$language]->description);
$groupList[] = $group;
$gidList[$row['gid']] = $group;
}
Expand Down
12 changes: 6 additions & 6 deletions application/helpers/remotecontrol/remotecontrol_handle.php
Expand Up @@ -1198,7 +1198,7 @@ public function get_group_properties($sSessionKey, $iGroupID, $aGroupSettings =
{
if ($this->_checkSessionKey($sSessionKey)) {
$iGroupID = (int) $iGroupID;
$oGroup = QuestionGroup::model()->with('questionGroupL10ns')->findByAttributes(array('gid' => $iGroupID));
$oGroup = QuestionGroup::model()->with('questiongroupl10ns')->findByAttributes(array('gid' => $iGroupID));
if (!isset($oGroup)) {
return array('status' => 'Error: Invalid group ID');
}
Expand Down Expand Up @@ -1229,9 +1229,9 @@ public function get_group_properties($sSessionKey, $iGroupID, $aGroupSettings =
foreach ($aGroupSettings as $sGroupSetting) {
if (isset($oGroup->$sGroupSetting)) {
$aResult[$sGroupSetting] = $oGroup->$sGroupSetting;
} elseif (isset($oGroup->questionGroupL10ns[$sLanguage])
&& isset($oGroup->questionGroupL10ns[$sLanguage]->$sGroupSetting)) {
$aResult[$sGroupSetting] = $oGroup->questionGroupL10ns[$sLanguage]->$sGroupSetting;
} elseif (isset($oGroup->questiongroupl10ns[$sLanguage])
&& isset($oGroup->questiongroupl10ns[$sLanguage]->$sGroupSetting)) {
$aResult[$sGroupSetting] = $oGroup->questiongroupl10ns[$sLanguage]->$sGroupSetting;
}
}
return $aResult;
Expand Down Expand Up @@ -2023,7 +2023,7 @@ public function list_groups($sSessionKey, $iSurveyID, $sLanguage = null)
}

if (Permission::model()->hasSurveyPermission($iSurveyID, 'survey', 'read')) {
$oGroupList = QuestionGroup::model()->with('questionGroupL10ns')->findAllByAttributes(array("sid"=>$iSurveyID));
$oGroupList = QuestionGroup::model()->with('questiongroupl10ns')->findAllByAttributes(array("sid"=>$iSurveyID));
if (count($oGroupList) == 0) {
return array('status' => 'No groups found');
}
Expand All @@ -2033,7 +2033,7 @@ public function list_groups($sSessionKey, $iSurveyID, $sLanguage = null)
}

foreach ($oGroupList as $oGroup) {
$L10ns = $oGroup->questionGroupL10ns[$sLanguage];
$L10ns = $oGroup->questiongroupl10ns[$sLanguage];
$tmp = array('id'=>$oGroup->primaryKey) + $oGroup->attributes;
$tmp['group_name'] = $L10ns['group_name'];
$tmp['description'] = $L10ns['description'];
Expand Down
8 changes: 4 additions & 4 deletions application/models/Condition.php
Expand Up @@ -235,7 +235,7 @@ public function getConditionCount($qid, $language, Condition $scenarionr)
$db = Yii::app()->db;
$quotedQL10ns = $db->quoteTableName('questionl10ns');
$quotedLanguage = $db->quoteColumnName('language');
$quotedQGL10ns = $db->quoteTableName('questionGroupL10ns');
$quotedQGL10ns = $db->quoteTableName('questiongroupl10ns');

$result = Condition::model()->with(array(
'questions' => array(
Expand All @@ -247,7 +247,7 @@ public function getConditionCount($qid, $language, Condition $scenarionr)
'params' => array(':lang1' => $language)
),
'questions.group',
'questions.group.questionGroupL10ns' => array(
'questions.group.questiongroupl10ns' => array(
'condition' => $quotedQGL10ns . '.' . $quotedLanguage . ' = :lang2',
'params' => array(':lang2' => $language)
)
Expand All @@ -270,7 +270,7 @@ public function getConditions($qid, $language, Condition $scenarionr)
$db = Yii::app()->db;
$quotedQL10ns = $db->quoteTableName('questionl10ns');
$quotedLanguage = $db->quoteColumnName('language');
$quotedQGL10ns = $db->quoteTableName('questionGroupL10ns');
$quotedQGL10ns = $db->quoteTableName('questiongroupl10ns');

$results = Condition::model()->with(array(
'questions' => array(
Expand All @@ -282,7 +282,7 @@ public function getConditions($qid, $language, Condition $scenarionr)
'params' => array(':lang1' => $language)
),
'questions.group',
'questions.group.questionGroupL10ns' => array(
'questions.group.questiongroupl10ns' => array(
'condition' => $quotedQGL10ns . '.' . $quotedLanguage . ' = :lang2',
'params' => array(':lang2' => $language)
)
Expand Down
2 changes: 1 addition & 1 deletion application/models/Question.php
Expand Up @@ -880,7 +880,7 @@ public function getQuestionListColumns()
array(
'header' => gT('Group'),
'name' => 'group',
'value'=> '$data->group->questionGroupL10ns[$data->survey->language]->group_name',
'value'=> '$data->group->questiongroupl10ns[$data->survey->language]->group_name',
),

array(
Expand Down
2 changes: 1 addition & 1 deletion application/models/QuestionBaseDataSet.php
Expand Up @@ -194,7 +194,7 @@ protected function getQuestionGroupSelector()
function ($oQuestionGroup) use (&$aGroupOptions){
$aGroupOptions[] = [
'value' => $oQuestionGroup->gid,
'text' => $oQuestionGroup->questionGroupL10ns[$this->sLanguage]->group_name,
'text' => $oQuestionGroup->questiongroupl10ns[$this->sLanguage]->group_name,
];
}
);
Expand Down
20 changes: 10 additions & 10 deletions application/models/QuestionGroup.php
Expand Up @@ -75,7 +75,7 @@ public function relations()
return array(
'survey' => array(self::BELONGS_TO, 'Survey', 'sid'),
'questions' => array(self::HAS_MANY, 'Question', 'gid', 'condition'=>'parent_qid=0', 'order'=>'question_order ASC'),
'questionGroupL10ns' => array(self::HAS_MANY, 'QuestionGroupL10n', 'gid', 'together' => true)
'questiongroupl10ns' => array(self::HAS_MANY, 'QuestionGroupL10n', 'gid', 'together' => true)
);
}

Expand Down Expand Up @@ -192,8 +192,8 @@ public function getGroupDescription($iGroupId, $sLanguage)
* @return string
*/
public function getGroupNameI10N($sLanguage) {
if (isset($this->questionGroupL10ns[$sLanguage])) {
return $this->questionGroupL10ns[$sLanguage]->group_name;
if (isset($this->questiongroupl10ns[$sLanguage])) {
return $this->questiongroupl10ns[$sLanguage]->group_name;
}
return '';
}
Expand All @@ -205,8 +205,8 @@ public function getGroupNameI10N($sLanguage) {
* @return string
*/
public function getGroupDescriptionI10N($sLanguage) {
if (isset($this->questionGroupL10ns[$sLanguage])) {
return $this->questionGroupL10ns[$sLanguage]->description;
if (isset($this->questiongroupl10ns[$sLanguage])) {
return $this->questiongroupl10ns[$sLanguage]->description;
}
return '';
}
Expand Down Expand Up @@ -341,7 +341,7 @@ public function search()
);

$criteria = new CDbCriteria;
$criteria->with = array('questionGroupL10ns'=>array("select"=>"group_name, description"));
$criteria->with = array('questiongroupl10ns'=>array("select"=>"group_name, description"));
$criteria->together = true;
$criteria->condition = 'sid=:surveyid AND language=:language';
$criteria->params = (array(':surveyid'=>$this->sid, ':language'=>$this->language));
Expand All @@ -366,8 +366,8 @@ public function getPrimaryTitle()
{
$survey = Survey::model()->findByPk($this->sid);
$baselang = $survey->language;
$oQuestionGroup = $this->with('questionGroupL10ns')->find('t.gid = :gid AND language = :language', array(':gid' => $this->gid, ':language' => $baselang));
return $oQuestionGroup->questionGroupL10ns[$baselang]->group_name;
$oQuestionGroup = $this->with('questiongroupl10ns')->find('t.gid = :gid AND language = :language', array(':gid' => $this->gid, ':language' => $baselang));
return $oQuestionGroup->questiongroupl10ns[$baselang]->group_name;
}

/*
Expand All @@ -377,8 +377,8 @@ public function getPrimaryDescription()
{
$survey = Survey::model()->findByPk($this->sid);
$baselang = $survey->language;
$oQuestionGroup = $this->with('questionGroupL10ns')->find('t.gid = :gid AND language = :language', array(':gid' => $this->gid, ':language' => $baselang));
return $oQuestionGroup->questionGroupL10ns[$baselang]->description;
$oQuestionGroup = $this->with('questiongroupl10ns')->find('t.gid = :gid AND language = :language', array(':gid' => $this->gid, ':language' => $baselang));
return $oQuestionGroup->questiongroupl10ns[$baselang]->description;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion application/views/admin/survey/Question/listquestions.php
Expand Up @@ -69,7 +69,7 @@
<option value=""><?php eT('(Any group)');?></option>
<?php foreach($oSurvey->groups as $group): ?>
<option value="<?php echo $group->gid;?>" <?php if( $group->gid == $model->gid){echo 'selected';} ?>>
<?php echo flattenText($group->questionGroupL10ns[$oSurvey->language]->group_name);?>
<?php echo flattenText($group->questiongroupl10ns[$oSurvey->language]->group_name);?>
</option>
<?php endforeach?>
</select>
Expand Down

0 comments on commit 44a27b8

Please sign in to comment.