diff --git a/main/mySpace/myStudents.php b/main/mySpace/myStudents.php
index c25ed766ab..7030373795 100755
--- a/main/mySpace/myStudents.php
+++ b/main/mySpace/myStudents.php
@@ -665,6 +665,8 @@ $userGroups = $userGroupManager->getNameListByUser(
|
|
+
+
getNameListByUser(
';
+
+ $startDate = UserManager::get_extra_user_data_by_field(
+ $user_info['user_id'],
+ 'datedebutstage'
+ );
+
+ $endDate = UserManager::get_extra_user_data_by_field(
+ $user_info['user_id'],
+ 'datefinstage'
+ );
+
+ $extraField = new ExtraField('user');
+ $extraFieldInfoStart = $extraField->get_handler_field_info_by_field_variable(
+ 'datedebutstage'
+ );
+
+ $extraFieldInfoEnd = $extraField->get_handler_field_info_by_field_variable(
+ 'datefinstage'
+ );
+
+ echo '| ';
+ echo $extraFieldInfoStart['display_text'].' : ';
+ if (isset($startDate['datedebutstage'])) {
+ echo $startDate['datedebutstage'];
+ }
+ echo ' |
';
+
+ echo '| ';
+ echo $extraFieldInfoEnd['display_text'].' : ';
+ if (isset($endDate['datefinstage'])) {
+ echo $endDate['datefinstage'];
+ }
+ echo ' |
';
+
+ /** @var ExtraFieldSavedSearch $saved */
+ $search = [
+ 'user' => $student_id,
+ ];
+
+ $items = $em->getRepository('ChamiloCoreBundle:ExtraFieldSavedSearch')->findBy($search);
+ $listVariables = [
+ 'ecouter',
+ 'lire',
+ 'ecrire',
+ 's_exprimer_oralement_en_continu',
+ 'participer_a_une_conversation',
+ ];
+
+ $extraField = new ExtraField('session');
+
+ if ($items) {
+ /** @var ExtraFieldSavedSearch $item */
+ foreach ($items as $item) {
+ $variable = $item->getField()->getVariable();
+ if (in_array($variable, $listVariables)) {
+ $extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($variable);
+ if ($extraFieldInfo) {
+ echo '';
+ $options = $extraFieldInfo['options'];
+ $optionValues = array_column($options, 'display_text', 'option_value');
+ //var_dump($optionValues);
+ echo $extraFieldInfo['display_text'].' : ';
+ $answers = $item->getValue();
+ $list = [];
+ if (is_array($answers)) {
+ foreach ($answers as $answer) {
+ $list[] = $optionValues[$answer];
+ }
+ } else {
+ foreach ($options as $option) {
+ $answers = trim($answers, '.');
+ $answers = str_replace('-', '_', $answers);
+
+ if ($option['option_value'] != api_underscore_to_camel_case($answers)) {
+ continue;
+ }
+
+ $list[] = $option['display_text'];
+ }
+ }
+ echo '- ';
+ echo implode('
- ', $list);
+ echo '
';
+
+ echo ' |
';
+ }
+ }
+ }
+ }
+
+
// Display timezone if the user selected one and if the admin allows the use of user's timezone
$timezone = null;
$timezone_user = UserManager::get_extra_user_data_by_field(
@@ -800,6 +902,18 @@ $userGroups = $userGroupManager->getNameListByUser(
echo '';
}
}
+
+ $icon = ' '.Display::url(
+ get_lang('Generate'),
+ api_get_self().'?action=generate_certificate&student='.$student_id.'&cidReq='.$course_code.'&course='.$course_code,
+ ['class' => 'btn btn-primary btn-xs']
+ );
+
+ echo '
+ | ';
+ echo get_lang('Certificate').' | '.$icon;
+ echo ' |
';
+
?>
diff --git a/main/template/rainbow/skill/student_report.tpl b/main/template/rainbow/skill/student_report.tpl
new file mode 100644
index 0000000000..e2f36d7abb
--- /dev/null
+++ b/main/template/rainbow/skill/student_report.tpl
@@ -0,0 +1,52 @@
+
+
+
+
+ {{ 'MySkillsReportIntroduction' | get_lang }}
+
+{% if rows %}
+
+ {% if skill_table %}
+ {{ skill_table }}
+ {% endif %}
+
+
+
+
+
+ | {{ 'Badge' | get_lang }} |
+ {{ 'Skill' | get_lang }} |
+ {{ 'Date' | get_lang }} |
+ {{ 'Course' | get_lang }} |
+
+
+
+ {% for row in rows %}
+
+ | {{ row.skill_badge }} |
+ {{ row.skill_name }} |
+ {{ row.achieved_at }} |
+ {% if row.course_name %}
+
+
+ {{ row.course_name }}
+ |
+ {% else %}
+ - |
+ {% endif %}
+
+ {% endfor %}
+
+
+{% endif %}
\ No newline at end of file
diff --git a/user_portal.php b/user_portal.php
index a242d2badb..1145b85215 100755
--- a/user_portal.php
+++ b/user_portal.php
@@ -336,9 +336,9 @@ $controller->tpl->assign('user_image_block', $controller->return_user_image_bloc
//$controller->tpl->assign('course_block', $controller->return_course_block());
//$controller->tpl->assign('navigation_course_links', $controller->return_navigation_links());
//$controller->tpl->assign('search_block', $controller->return_search_block());
-//$controller->tpl->assign('notice_block', $controller->return_notice());
+$controller->tpl->assign('notice_block', $controller->return_notice());
//$controller->tpl->assign('classes_block', $controller->returnClassesBlock());
-//$controller->tpl->assign('skills_block', $controller->returnSkillLinks());
+$controller->tpl->assign('skills_block', $controller->returnSkillLinks());
$historyClass = '';
if (!empty($_GET['history'])) {