Skip to content

Commit

Permalink
Fixed issue #14129: Translation missing in subquestion panel
Browse files Browse the repository at this point in the history
  • Loading branch information
lime-marc committed Jan 8, 2020
1 parent 5065cef commit b690b55
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 18 deletions.
39 changes: 35 additions & 4 deletions application/commands/TwigCommand.php
Expand Up @@ -24,6 +24,7 @@ public function init()
Yii::import('application.helpers.surveytranslator_helper', true);
Yii::import('application.helpers.common_helper', true);
Yii::import('application.helpers.expressions.em_manager_helper', true);
Yii::import('application.helpers.admin.htmleditor_helper', true);

// Directories where the assets will be created.
Yii::app()->assetManager->setBasePath(realpath(__DIR__.'/../../tmp/assets/'));
Expand All @@ -48,10 +49,10 @@ public function actionIndex()
* Generate twig cache files for each core Survey Theme and core questions views.
*
*/
public function actionGenerateTwigTmpFiles( $sThemeDir=null, $bGenerateSurveyCache=true, $bGenerateQuestionsCache=true, $bShowLogs=false )
public function actionGenerateTwigTmpFiles( $sThemeDir=null, $bGenerateSurveyCache=true, $bGenerateQuestionsCache=true, $bGenerateAdminCache=true, $bShowLogs=false )
{
$this->aLogs = array();
$this->aLogs["action"] = "actionGenerateTwigTmpFiles $sThemeDir $bGenerateSurveyCache $bGenerateQuestionsCache $bShowLogs";
$this->aLogs["action"] = "actionGenerateTwigTmpFiles $sThemeDir $bGenerateSurveyCache $bGenerateQuestionsCache $bGenerateAdminCache $bShowLogs";
if ($bGenerateSurveyCache){
$this->actionGenerateSurveyThemesCache($sThemeDir );
}
Expand All @@ -60,6 +61,10 @@ public function actionGenerateTwigTmpFiles( $sThemeDir=null, $bGenerateSurveyCac
$this->actionGenerateQuestionsCache(null);
}

if ($bGenerateAdminCache){
$this->actionGenerateAdminCache(null);
}

// TODO: here add something more complex to create a file log on the server, something that can be return to the CU server at release creation, etc
if ($bShowLogs){
var_dump($this->aLogs);
Expand All @@ -82,7 +87,6 @@ public function actionGenerateSurveyThemesCache($sThemeDir=null)

foreach ($oThemeDir as $fileinfo) {
if ($fileinfo->getFilename() != ".." && $fileinfo->getFilename() != "." && $fileinfo->getFilename() != "index.html"){

$templatename = $fileinfo->getFilename();
$oTemplateForPreview = Template::getInstance($templatename, null, null, true, true)->prepareTemplateRendering($templatename, null, true);

Expand All @@ -109,7 +113,6 @@ public function actionGenerateQuestionsCache( $sQuestionDir=null )

// Generate cache for question theme
$sQuestionDir = ($sQuestionDir===null)?dirname(__FILE__).'/../views/survey/questions/answer':$sQuestionDir;

$oQuestionDir = new DirectoryIterator($sQuestionDir);

foreach ($oQuestionDir as $fileinfo) {
Expand Down Expand Up @@ -145,6 +148,34 @@ public function actionGenerateQuestionsCache( $sQuestionDir=null )
}
}

/**
* Generate twig cache files for admin views.
* NOTE: It's a recursive function which build every twig file in admin area.
*
* @param string $sAdminDir the directory to parse, where to find the twig files.
*/
public function actionGenerateAdminCache( $sAdminDir=null )
{

$this->aLogs["action"] = "actionGenerateAdminCache $sAdminDir";

// Generate cache for admin area
$sAdminDir = ($sAdminDir===null)?dirname(__FILE__).'/../views/admin':$sAdminDir;
$oAdminDirectory = new RecursiveDirectoryIterator($sAdminDir);
$oAdminIterator = new RecursiveIteratorIterator($oAdminDirectory);
$oAdminRegex = new RegexIterator($oAdminIterator, '/^.+\.twig$/i', RecursiveRegexIterator::GET_MATCH);

$aAdminData = array();
foreach ($oAdminRegex as $oTwigFile) {
$sTwigFile = $oTwigFile[0];
if (file_exists($sTwigFile)){
$this->aLogs["twig"] = "$sTwigFile";
$line = file_get_contents($sTwigFile);
$sHtml = Yii::app()->twigRenderer->convertTwigToHtml($line);
}
}
}

/**
* Generate the cache for a given survey theme
* @param TemplateManifest
Expand Down
2 changes: 1 addition & 1 deletion application/core/ConsoleApplication.php
Expand Up @@ -51,7 +51,7 @@ public function __construct($aApplicationConfig = null)
$emailConfig = require(__DIR__.'/../config/email.php');
$versionConfig = require(__DIR__.'/../config/version.php');
$updaterVersionConfig = require(__DIR__.'/../config/updater_version.php');
$lsConfig = array_merge($coreConfig, $emailConfig, $versionConfig, $updaterVersionConfig);
$lsConfig = array_merge($coreConfig, $consoleConfig, $emailConfig, $versionConfig, $updaterVersionConfig);

/* Custom config file */
$configdir = $coreConfig['configdir'];
Expand Down
Expand Up @@ -202,8 +202,10 @@
{% endfor %}

<!-- Modals -->
{% include 'admin/survey/Question/question_subviews/_modals.twig' %}

{% if first==false %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% include '/admin/survey/Question/question_subviews/_modals.twig' %}
{% endif %}

<p>
<input type='submit' class="hidden" id='saveallbtn_{{ anslang }}' name='method' value='{{ gT("Save changes") }}' />
<!-- For javascript -->
Expand All @@ -219,7 +221,7 @@
'gid' : gid
})
) }}"
data-assessmentvisible="{% if assessmentvisible|length and assessmentvisible==true%}1{% else %}0{% endif %}"
data-assessmentvisible="{% if assessmentvisible==true %}1{% else %}0{% endif %}"
data-errormessage="An error occured while processing the ajax request."
data-surveyid="{{ surveyid }}"
data-languages='{{ json_encode(all_languages) }}'
Expand Down
Expand Up @@ -12,7 +12,9 @@
{{ getLanguageNameFromCode(oSurvey.language, false)}} ({{ gT("Base language") }}):
</div>
<div class="col-8">
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% endif %}
<a href='{{tmp_url}}' target='_blank'> {{tmp_url}} </a>
</div>
</div>
Expand All @@ -25,8 +27,10 @@
{{ getLanguageNameFromCode(langname, false) ~ ":" }}
</div>
<div class="col-8">
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
<a href='{{tmp_url}}' target='_blank'> {{tmp_url}} </a>
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% endif %}
<a href='{{tmp_url}}' target='_blank'> {{tmp_url}} </a>
</div>
</div>
</li>
Expand Down Expand Up @@ -86,7 +90,9 @@
<div class="panel-heading"> {{ gT("Share QR-code:") }}</div>
<div class="panel-body">
<ul class="list-group">
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand All @@ -105,7 +111,9 @@
</div>
</li>
{% for langname in aAdditionalLanguages %}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand Down Expand Up @@ -136,7 +144,9 @@
</div>
<div class="panel-body">
<ul class="list-group">
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand All @@ -149,7 +159,9 @@
</div>
</li>
{% for langname in aAdditionalLanguages %}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand All @@ -173,7 +185,9 @@
</div>
<div class="panel-body">
<ul class="list-group">
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : oSurvey.language}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand All @@ -187,7 +201,9 @@
</div>
</li>
{% for langname in aAdditionalLanguages %}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% if oSurvey.sid %} {# pseudo condition due to reverse parsing problems while generating twig admin cache via console.php twig generateAdminCache #}
{% set tmp_url = createAbsoluteUrl("survey/index", { "sid" : oSurvey.sid, "lang" : langname}) %}
{% endif %}
<li class="list-group-item">
<div class="ls-flex-row col-12">
<div class="col-6">
Expand Down
Expand Up @@ -19,7 +19,7 @@
<ul class='{{coreClass}} list-unstyled form-horizontal' role="group" aria-labelledby="ls-question-text-{{basename}}">
{% block rows %}
{% if aRows is empty %}
{% include 'survey/questions/answer/multiplenumeric/empty.twig' %}
{% include '/survey/questions/answer/multiplenumeric/empty.twig' %}
{% else %}
{% for aRow in aRows %}
{% include rowTemplate with aRow only %}
Expand Down

0 comments on commit b690b55

Please sign in to comment.