new fix template thematic advance refs - BT#12441

pull/2487/head
Alex Aragon 8 years ago
parent e6281cde91
commit 9ebcedc92a
  1. 1
      main/course_progress/index.php
  2. 76
      main/course_progress/thematic.php
  3. 3
      main/course_progress/thematic_controller.php
  4. BIN
      main/img/icons/16/cd.png
  5. BIN
      main/img/icons/16/delete.png
  6. BIN
      main/img/icons/16/down.png
  7. BIN
      main/img/icons/16/down_na.png
  8. BIN
      main/img/icons/16/pdf.png
  9. BIN
      main/img/icons/16/up.png
  10. BIN
      main/img/icons/16/up_na.png
  11. 14
      main/inc/lib/template.lib.php
  12. 17
      main/inc/lib/thematic.lib.php
  13. 94
      main/template/default/course_progress/progress.tpl

@ -81,6 +81,7 @@ if (!empty($thematic_id)) {
$thematic_data = $thematic->get_thematic_list($thematic_id);
}
// get default thematic plan title
$default_thematic_plan_title = $thematic->get_default_thematic_plan_title();

@ -96,7 +96,7 @@ if ($action == 'thematic_list') {
$message = Display::return_message($text,'info', false);
}
$list = [];
// Display thematic data
if (!empty($thematic_data)) {
// display progress
@ -104,6 +104,15 @@ if ($action == 'thematic_list') {
echo '<table width="100%" class="data_table">';
echo '<tr><th width="33%">'.get_lang('Thematic').'</th><th>'.get_lang('ThematicPlan').'</th><th width="33%">'.get_lang('ThematicAdvance').'</th></tr>';
foreach ($thematic_data as $thematic) {
$list['id'] = $thematic['id'];
$list['id_course'] = $thematic['c_id'];
$list['id_session'] = $thematic['session_id'];
$list['title'] = Security::remove_XSS($thematic['title'], STUDENT);
$list['content'] = Security::remove_XSS($thematic['content'], STUDENT);
$list['display_orden'] = $thematic['display_order'];
$list['active'] = $thematic['active'];
$my_thematic_id = $thematic['id'];
$session_star = '';
@ -115,75 +124,70 @@ if ($action == 'thematic_list') {
//@todo add a validation in order to load or not course thematics in the session thematic
echo '<tr>';
$actions_first_col = '';
$toolbarThematic = '';
if (api_is_allowed_to_edit(null, true)) {
// Thematic title
$actions_first_col = Display::url(
Display::return_icon('cd.gif', get_lang('Copy')),
'index.php?'.api_get_cidreq().'&action=thematic_copy&thematic_id='.$my_thematic_id.$params.$url_token
$toolbarThematic = Display::url(
Display::return_icon('cd.png', get_lang('Copy'), null, ICON_SIZE_TINY),
'index.php?'.api_get_cidreq().'&action=thematic_copy&thematic_id='.$my_thematic_id.$params.$url_token,
array('class'=> 'btn btn-default')
);
if (api_get_session_id() == 0) {
if ($thematic['display_order'] > 1) {
$actions_first_col .= ' <a href="'.api_get_self().'?action=moveup&'.api_get_cidreq().'&thematic_id='.$my_thematic_id.$params.$url_token.'">'.Display::return_icon('up.png', get_lang('Up'), '', ICON_SIZE_SMALL).'</a>';
$toolbarThematic .= ' <a class="btn btn-default" href="'.api_get_self().'?action=moveup&'.api_get_cidreq().'&thematic_id='.$my_thematic_id.$params.$url_token.'">'.Display::return_icon('up.png', get_lang('Up'), '', ICON_SIZE_TINY).'</a>';
} else {
$actions_first_col .= ' '.Display::return_icon('up_na.png', '&nbsp;', '', ICON_SIZE_SMALL);
$toolbarThematic .= '<div class="btn btn-default">'.Display::return_icon('up_na.png', '&nbsp;', '', ICON_SIZE_TINY) . '</div>';
}
if (isset($thematic['max_thematic_item']) && $thematic['display_order'] < $thematic['max_thematic_item']) {
$actions_first_col .= ' <a href="'.api_get_self().'?action=movedown&a'.api_get_cidreq().'&thematic_id='.$my_thematic_id.$params.$url_token.'">'.Display::return_icon('down.png', get_lang('Down'), '', ICON_SIZE_SMALL).'</a>';
$toolbarThematic .= ' <a class="btn btn-default" href="'.api_get_self().'?action=movedown&a'.api_get_cidreq().'&thematic_id='.$my_thematic_id.$params.$url_token.'">'.Display::return_icon('down.png', get_lang('Down'), '', ICON_SIZE_TINY).'</a>';
} else {
$actions_first_col .= ' '.Display::return_icon('down_na.png', '&nbsp;', '', ICON_SIZE_SMALL);
$toolbarThematic .= '<div class="btn btn-default">'.Display::return_icon('down_na.png', '&nbsp;', '', ICON_SIZE_TINY) . '</div>';
}
}
if (api_get_session_id() == $thematic['session_id']) {
$actions_first_col .= Display::url(
Display::return_icon('pdf.png'),
$toolbarThematic .= Display::url(
Display::return_icon('pdf.png', get_lang('ExportToPDF'), null, ICON_SIZE_TINY),
api_get_self().'?'.api_get_cidreq()."$url_token&".http_build_query([
'action' => 'export_single_thematic',
'thematic_id' => $my_thematic_id
])
]),
array('class' => 'btn btn-default')
);
$actions_first_col .= '<a href="index.php?'.api_get_cidreq().'&action=thematic_edit&thematic_id='
$toolbarThematic .= '<a class="btn btn-default" href="index.php?'.api_get_cidreq().'&action=thematic_edit&thematic_id='
.$my_thematic_id.$params.$url_token.'">'
.Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL).'</a>';
$actions_first_col .= '<a onclick="javascript:if(!confirm(\''
.Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_TINY).'</a>';
$toolbarThematic .= '<a class="btn btn-default" onclick="javascript:if(!confirm(\''
.get_lang('AreYouSureToDelete')
.'\')) return false;" href="index.php?'.api_get_cidreq().'&action=thematic_delete&thematic_id='
.$my_thematic_id.$params.$url_token.'">'
.Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL).'</a>';
.Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_TINY).'</a>';
}
$actions_first_col = Display::div($actions_first_col, array('id' => 'thematic_id_content_'.$thematic['id'], 'class' => 'thematic_tools'));
$actions_first_col = Display::div($actions_first_col, array('style' => 'height:20px'));
// $actions_first_col = Display::div($actions_first_col, array('id' => 'thematic_id_content_'.$thematic['id'], 'class' => 'thematic_tools'));
// $actions_first_col = Display::div($actions_first_col, array('style' => 'height:20px'));
}
echo Display::tag('td', Display::tag('h3', Security::remove_XSS($thematic['title'], STUDENT).$session_star).Security::remove_XSS($thematic['content'], STUDENT).$actions_first_col, array('id' => 'thematic_td_content_'.$thematic['id'], 'class' => 'thematic_content'));
// Display 2nd column - thematic plan data
echo '<td>';
//if (api_is_allowed_to_edit(null, true) && api_get_session_id() == $thematic['session_id']) {
if (api_is_allowed_to_edit(null, true)) {
echo '<div style="text-align:right"><a href="index.php?'.api_get_cidreq().'&origin=thematic_details&action=thematic_plan_list&thematic_id='.$thematic['id'].'&width=700&height=500">'.
Display::return_icon('edit.png', get_lang('EditThematicPlan'), array('style' => 'vertical-align:middle'), ICON_SIZE_MEDIUM).'</a></div><br />';
}
if (empty($thematic_plan_div[$thematic['id']])) {
echo Display::div('', array('id' => "thematic_plan_".$thematic['id']));
$list['thematic_plan'] = null;
} else {
echo $thematic_plan_div[$thematic['id']];
$list['thematic_plan'] = $thematic_plan_div[$thematic['id']];
}
echo '</td>';
// Display 3rd column - thematic advance data
echo '<td style="vertical-align:top">';
//if (api_is_allowed_to_edit(null, true) && api_get_session_id() == $thematic['session_id']) {
if (api_is_allowed_to_edit(null, true)) {
echo '<div style="text-align:right"><a href="index.php?'.api_get_cidreq().'&action=thematic_advance_add&thematic_id='.$thematic['id'].'">'.
Display::return_icon('add.png', get_lang('NewThematicAdvance'), '', ICON_SIZE_MEDIUM).'</a></div>';
}
//if (api_is_allowed_to_edit(null, true) && api_get_session_id() == $thematic['session_id']) {
if (!empty($thematic_advance_data[$thematic['id']])) {
$list['thematic_advance'] = $thematic_advance_data[$thematic['id']];
echo '<table width="100%">';
foreach ($thematic_advance_data[$thematic['id']] as $thematic_advance) {
$thematic_advance['start_date'] = api_get_local_time($thematic_advance['start_date']);
@ -253,7 +257,12 @@ if ($action == 'thematic_list') {
}
echo '</td>';
echo '</tr>';
$list['toolbar'] = $toolbarThematic;
$listThematic[] = $list;
} //End for
echo '</table>';
} else {
echo '<div><em>'.get_lang('ThereIsNoAThematicSection').'</em></div>';
@ -310,8 +319,9 @@ if ($action == 'thematic_list') {
$tpl->assign('actions', $toolbar);
$tpl->assign('message', $message);
$tpl->assign('data',$data);
$tpl->assign('score_progress', $score);
$tpl->assign('data',$listThematic);
$tpl->assign('session_star',$session_star);
$tpl->assign('score_progress', $total_average_of_advances);
$tpl->assign('thamatic', $thematic);
$thematicLayout = $tpl->get_template('course_progress/progress.tpl');
$tpl->display($thematicLayout);

@ -315,7 +315,7 @@ class ThematicController
// Third column
$thematic_advance_data = $thematic->get_thematic_advance_list(null, null, true);
$data['thematic_plan_div'] = $thematic->get_thematic_plan_div($thematic_plan_data);
$data['thematic_plan_div'] = $thematic->get_thematic_plan_array($thematic_plan_data);
$data['thematic_advance_div'] = $thematic->get_thematic_advance_div($thematic_advance_data);
$data['thematic_plan_data'] = $thematic_plan_data;
$data['thematic_advance_data'] = $thematic_advance_data;
@ -328,7 +328,6 @@ class ThematicController
$layoutName = $displayHeader ? 'layout' : 'layout_no_header';
// render to the view
$this->view->set_data($data);
$this->view->set_layout($layoutName);
$this->view->set_template('thematic');

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 992 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

@ -136,6 +136,7 @@ class Template
$this->twig->addFilter('icon', new Twig_Filter_Function('Template::get_icon_path'));
$this->twig->addFilter('img', new Twig_Filter_Function('Template::get_image'));
$this->twig->addFilter('format_date', new Twig_Filter_Function('Template::format_date'));
$this->twig->addFilter('isAllowedToEdit', new Twig_Filter_Function('Template::isAllowedToEdit'));
$this->twig->addFilter('api_get_local_time', new Twig_Filter_Function('api_get_local_time'));
// a combination of the two previous functions
$this->twig->addFilter('local_format_date', new Twig_Filter_Function('api_convert_and_format_date'));
@ -236,7 +237,18 @@ class Template
{
return api_format_date($timestamp, $format);
}
/**
* @param string $image
* @param int $size
* @param string $name
* @return string
*/
public static function isAllowedToEdit($tutor= false, $coach = false, $session_coach = false, $check_student_view = true)
{
return api_is_allowed_to_edit($tutor, $coach,$session_coach, $check_student_view);
}
/**
* Return the item's url key:
*

@ -614,7 +614,7 @@ class Thematic
* @param array $data
* @return array
*/
public function get_thematic_plan_div($data)
public function get_thematic_plan_array($data)
{
$final_return = array();
$uinfo = api_get_user_info();
@ -632,10 +632,10 @@ class Thematic
}
}
$no_data = true;
$session_star = '';
$return = '<div id="thematic_plan_'.$thematic_id.'">';
$return = array();
if (!empty($default_thematic_plan_title)) {
foreach ($default_thematic_plan_title as $id=>$title) {
//avoid others
if ($title == 'Others' && empty($data[$thematic_id][$id]['description'])) {
@ -647,17 +647,18 @@ class Thematic
$session_star = api_get_session_image(api_get_session_id(), $uinfo['status']);
}
}
$return .= Display::tag('h3', Security::remove_XSS($data[$thematic_id][$id]['title'], STUDENT).$session_star);
$return .= Security::remove_XSS($data[$thematic_id][$id]['description'], STUDENT);
$no_data = false;
$return[$id]['title'] = Security::remove_XSS($data[$thematic_id][$id]['title'], STUDENT).$session_star;
$return[$id]['description'] = Security::remove_XSS($data[$thematic_id][$id]['description'], STUDENT);
}
}
}
$final_return[$thematic_id] = $return;
/*
if ($no_data) {
$return .= '<div><em>'.get_lang('StillDoNotHaveAThematicPlan').'</em></div>';
}
$return .= '</div>';
$final_return[$thematic_id] = $return;
*/
}
return $final_return;

@ -1,13 +1,105 @@
{% extends template ~ "/layout/layout_1_col.tpl" %}
{% block content %}
{{ data | var_dump }}
{% set tutor = false | isAllowedToEdit(true) %}
<div id="course-progress" class="thematic">
<div class="row">
<div class="col-md-12">
<div class="score-progress">
<h2>{{ 'Progress' | get_lang }}: <span id="div_result">{{ score_progress }}</span> %</h2>
</div>
<div class="table-responsive">
<table width="100%" class="table">
<tr>
<th style="width: 25%">{{ 'Thematic' | get_lang }}</th>
<th style="width: 40%">{{ 'ThematicPlan' | get_lang }}</th>
<th style="width: 35%">{{ 'ThematicAdvance' | get_lang }}</th>
</tr>
{% for item in data %}
<tr>
<td id="id-thematic-{{ item.id }}">
{% if session_star is empty %}
<h3>{{ item.title }}</h3>
{% else %}
<h3>{{ item.title }} {{ session_star }}</h3>
{% endif %}
{{ item.content }}
<div class="btn-group btn-group-sm">
{{ item.toolbar }}
</div>
</td>
<td>
{% if tutor %}
<div class="pull-right">
<a title="{{ 'EditThematicPlan' | get_lang }}" href="index.php?{{ _p.web_cid_query }}&origin=thematic_details&action=thematic_plan_list&thematic_id={{ item.id }}&width=700&height=500'" class="btn btn-default">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
</div>
{% endif %}
<div class="thematic_plan_{{ item.id }}">
{% if item.thematic_plan is empty %}
<p>{{ 'StillDoNotHaveAThematicPlan' | get_lang }}</p>
{% else %}
{% for subitem in item.thematic_plan %}
<h4>{{ subitem.title }}</h4>
<p>{{ subitem.description }}</p>
{% endfor %}
{% endif %}
</div>
</td>
<td>
{% if tutor %}
<div class="pull-right">
<a title="{{ 'NewThematicAdvance' | get_lang }}" href="index.php?{{ _p.web_cid_query }}&action=thematic_advance_add&thematic_id={{ item.id }}" class="btn btn-default">
<i class="fa fa-plus-circle" aria-hidden="true"></i>
</a>
</div>
{% endif %}
<table width="100%" class="table">
{% for advance in item.thematic_advance %}
<tr>
<td style="width: 90%" class="thematic_advance_content" id="thematic_advance_content_id_{{ advance.id }}">
<div id="thematic_advance_{{ advance.id }}">
<strong>{{ advance.start_date | format_date }}</strong>
{{ advance.content }}
</div>
{% if tutor %}
<div class="toolbar_actions" id="thematic_advance_tools_{{ advance.id }}">
<div class="btn-group btn-group-sm">
<a class="btn btn-default btn-sm" href="index.php?{{ _p.web_cid_query }}&action=thematic_advance_edit&thematic_id={{ item.id }}&thematic_advance_id={{ advance.id }}" title="{{ 'Edit' |get_lang }}">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
<a class="btn btn-default btn-sm" onclick="javascript:if(!confirm('{{ 'AreYouSureToDelete' | get_lang }}')) return false;" href="index.php?{{ _p.web_cid_query }}&action=thematic_advance_delete&thematic_id={{ item.id }}&thematic_advance_id={{ advance.id }}" title="{{ 'Delete' |get_lang }}">
<i class="fa fa-trash" aria-hidden="true"></i>
</a>
</div>
</div>
{% endif %}
</div
</td>
{% if advance.done_advance == 1 %}
{% set color = "background-color:#E5EDF9;" %}
{% else %}
{% set color = "background-color:#FFFFFF;" %}
{% endif %}
<td style="width: 10%; {{ color }}" id="td_done_thematic_{{ advance.id }}">
{% if tutor %}
<center>
<input type="radio" class="done_thematic" id="done_thematic_{{ advance.id }}" name="done_thematic" value="{{ advance.id }}" onclick="update_done_thematic_advance(this.value)">
</center>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
</div>

Loading…
Cancel
Save