Skip to content

Commit

Permalink
Fixed issue: empty template preview in template editor
Browse files Browse the repository at this point in the history
  • Loading branch information
LouisGac authored and TonisOrmisson committed Jul 14, 2017
1 parent e818cfc commit d036ba8
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 24 deletions.
8 changes: 5 additions & 3 deletions application/controllers/admin/templates.php
Expand Up @@ -743,7 +743,7 @@ protected function _templatesummary($templatename, $screenname, $editfile, $rela
@$fnew = fopen("$tempdir/template_temp_$time.html", "w+");
$aData['time'] = $time;
/* Load this template config, else 'survey-template' package can be outdated */
$oEditedTemplate = Template::model()->getTemplateConfiguration($templatename);
$oEditedTemplate = Template::model()->getTemplateConfiguration($templatename, '', true);
if (!$fnew) {
$aData['filenotwritten'] = true;
}
Expand Down Expand Up @@ -825,7 +825,8 @@ protected function _templatesummary($templatename, $screenname, $editfile, $rela
protected function _initialise($templatename, $screenname, $editfile, $showsummary = true)
{
// LimeSurvey style
$oEditedTemplate = Template::model()->getTemplateConfiguration($templatename);
//$oEditedTemplate = Template::model()->getTemplateConfiguration($templatename, '', true);
$oEditedTemplate = Template::model()->getInstance($templatename, '', true);

// In survey mode, bootstrap is loaded via the app init.
// From template editor, we just add the bootstrap files to the js/css to load for template_helper::templatereplace()
Expand Down Expand Up @@ -889,7 +890,7 @@ protected function _initialise($templatename, $screenname, $editfile, $showsumma
/* @todo must control if is updatable : in updatable file OR is a view */
/* Actually allow to update any file exemple css/template-core.css */

$oEditedTemplate = Template::model()->getTemplateConfiguration($templatename);
// $oEditedTemplate = Template::model()->getTemplateConfiguration($templatename, '', true);

// @TODO: Proper language code conversion
$sLanguageCode = 'en';
Expand Down Expand Up @@ -1118,6 +1119,7 @@ protected function _initialise($templatename, $screenname, $editfile, $showsumma
break;
}


$myoutput = Yii::app()->twigRenderer->renderTemplateForTemplateEditor( $sLayoutFile,array('aSurveyInfo'=>$thissurvey), $oEditedTemplate);

$jsfiles = $oEditedTemplate->getValidScreenFiles("js");
Expand Down
28 changes: 15 additions & 13 deletions application/models/Template.php
Expand Up @@ -191,25 +191,27 @@ public static function getTemplatePath($sTemplateName = "")
* @param integer $iSurveyId the id of the survey. If
* @return StdClass
*/
public static function getTemplateConfiguration($sTemplateName='', $iSurveyId='')
public static function getTemplateConfiguration($sTemplateName='', $iSurveyId='', $bForceXML=false)
{

// First we try to get a confifuration row from DB
if (!empty($sTemplateName)){
$oTemplate = self::model()->findByPk($sTemplateName);
$oTemplateConfigurationModel = TemplateConfiguration::model()->find('templates_name=:templates_name AND sid IS NULL AND gsid IS NULL', array(':templates_name'=>$sTemplateName));
}else{
$oTemplateConfigurationModel = TemplateConfiguration::model()->find('templates_name=:templates_name AND sid=:sid', array(':templates_name'=>$sTemplateName, ':sid' => $iSurveyId ));

// No specific template configuration for this survey
if (!is_a($oTemplateConfigurationModel, 'TemplateConfiguration')){
$sTemplateName = Survey::model()->findByPk($iSurveyId)->template;
if (!$bForceXML){
if (!empty($sTemplateName)){
$oTemplate = self::model()->findByPk($sTemplateName);
$oTemplateConfigurationModel = TemplateConfiguration::model()->find('templates_name=:templates_name AND sid IS NULL AND gsid IS NULL', array(':templates_name'=>$sTemplateName));
}else{
$oTemplateConfigurationModel = TemplateConfiguration::model()->find('templates_name=:templates_name AND sid=:sid', array(':templates_name'=>$sTemplateName, ':sid' => $iSurveyId ));

// No specific template configuration for this survey
if (!is_a($oTemplateConfigurationModel, 'TemplateConfiguration')){
$sTemplateName = Survey::model()->findByPk($iSurveyId)->template;
$oTemplateConfigurationModel = TemplateConfiguration::model()->find('templates_name=:templates_name AND sid IS NULL AND gsid IS NULL', array(':templates_name'=>$sTemplateName));
}
}
}

// If no row found, or if the template folder for this configuration row doesn't exist we load the XML config (which will load the default XML)
if (!is_a($oTemplateConfigurationModel, 'TemplateConfiguration') || ! $oTemplateConfigurationModel->checkTemplate()){
if ( $bForceXML || !is_a($oTemplateConfigurationModel, 'TemplateConfiguration') || ! $oTemplateConfigurationModel->checkTemplate()){
$oTemplateConfigurationModel = new TemplateManifest;
}

Expand Down Expand Up @@ -379,10 +381,10 @@ public static function isStandardTemplate($sTemplateName)
* @param int|string $iSurveyId
* @return TemplateConfiguration
*/
public static function getInstance($sTemplateName='', $iSurveyId='')
public static function getInstance($sTemplateName='', $iSurveyId='', $bForceXML=false)
{
if (empty(self::$instance)) {
self::$instance = self::getTemplateConfiguration($sTemplateName, $iSurveyId);
self::$instance = self::getTemplateConfiguration($sTemplateName, $iSurveyId, $bForceXML);
}
return self::$instance;
}
Expand Down
16 changes: 8 additions & 8 deletions templates/default/config.xml
Expand Up @@ -87,7 +87,7 @@
<template_editor>
<screens>
<question>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_main.twig</file>
<file type="view" role="subview">./subviews/survey/group.twig</file>
<file type="view" role="subview">./subviews/survey/question.twig</file>
Expand All @@ -102,14 +102,14 @@
</question>

<surveylist>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_survey_list.twig</file>
<file type="css">./css/template.css</file>
<file type="js">./scripts/template.js</file>
</surveylist>

<welcome>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_first_page.twig</file>
<file type="view" role="subview">./subviews/welcome.twig</file>
<file type="view" role="subview">./subviews/warnings.twig</file>
Expand All @@ -120,14 +120,14 @@
</welcome>

<completed>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_submit.twig</file>
<file type="css">./css/template.css</file>
<file type="js">./scripts/template.js</file>
</completed>

<assessments>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_submit.twig</file>
<file type="view" role="subview">./subviews/assessments.twig</file>
<file type="css">./css/template.css</file>
Expand All @@ -139,21 +139,21 @@
</error>

<clearall>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_clearall.twig</file>
<file type="css">./css/template.css</file>
<file type="js">./scripts/template.js</file>
</clearall>

<load>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_load.twig</file>
<file type="css">./css/template.css</file>
<file type="js">./scripts/template.js</file>
</load>

<save>
<file type="view" role="layout">layout_global.twig</file>
<file type="view" role="global">layout_global.twig</file>
<file type="view" role="layout">layout_save.twig</file>
<file type="css">./css/template.css</file>
<file type="js">./scripts/template.js</file>
Expand Down

0 comments on commit d036ba8

Please sign in to comment.