Merge branch 'feat/#12' into 'master'

Feat/#12

See merge request AVAS/qualisaude/theme_qualisaude!4
This commit is contained in:
Saulo Rufino de Sá
2019-10-23 14:32:42 -03:00
3 changed files with 272 additions and 1 deletions

View File

@@ -24,6 +24,8 @@
defined('MOODLE_INTERNAL') || die();
use core_completion\progress;
user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA);
require_once($CFG->libdir . '/behat/lib.php');
@@ -85,6 +87,7 @@ $scontactus = get_string('contact_us', 'theme_qualisaude');
$phone = get_string('phone', 'theme_qualisaude');
$email = get_string('email', 'theme_qualisaude');
$sfollowus = get_string('followus', 'theme_qualisaude');
$myCourses = getMyCourses();
$url = ($fburl != '' || $pinurl != '' || $twurl != '' || $gpurl != '') ? 1 : 0;
$block3 = ($address != '' || $phoneno != '' || $emailid != '' || $url != 0) ? 1 : 0;
@@ -156,9 +159,150 @@ $templatecontext = [
"block1" => $block1,
"footlogourl" => $footlogourl,
"username" => $username,
"show_btn_leftblock"=>$show_btn_leftblock
"show_btn_leftblock"=>$show_btn_leftblock,
"myCourses"=>$myCourses
];
$templatecontext['flatnavigation'] = $PAGE->flatnav;
echo $OUTPUT->render_from_template('theme_qualisaude/my', $templatecontext);
function getMyCourses(){
global $DB, $CFG, $OUTPUT;
$content = "";
// Carregamento para usuário que não são administrador
//------------- ---------------
//SET COURSE LIST MANDACARU
//------------- ---------------
$courses_list = enrol_get_my_courses(NULL,'sortorder DESC', 0, [], true);
$categories = $DB->get_records('course_categories', null, '', 'id, name');
$auxcat = 0;
$filtered_course_list = array();
foreach($courses_list as $courseobj){
if($auxcat ==0){
$change_category = 1;
$auxcat = $courseobj->category;
}elseif($auxcat != $courseobj->category){
$change_category = 1;
$auxcat = $courseobj->category;
}else{
$change_category = 0;
$auxcat = $courseobj->category;
}
$courseobj->categoryname = $categories[$courseobj->category]->name;
$courseobj->imagepath = "";
$courseobj->changecategory = $change_category;
$filtered_course_list[]= $courseobj; // Aplicação do filtro eliminando as disciplinas que não devem ser consideradas
}
//------------- ---------------
//SET COURSE LIST MANDACARU
//------------- ---------------
$content .= '<section id="list-course" class="col-lg-12 col-md-12 col-xs-12">';
$content .= ' <ul class="nav nav-tabs" id="myTabs" role="tablist">';
$cont = 0;
foreach($filtered_course_list as $key=>$cats){
$active = "";
if($key==0){
$active ='active';
}
if($cats->changecategory){
$content .= "<li role=\"presentation\"><a href=\"#{$cats->category}\" class=\"{$active}\" aria-controls=\"categoryname\" role=\"tab\" data-toggle=\"tab\">$cats->categoryname</a></li>";
}
}
if(count($filtered_course_list) == $cont ) {
$content .= "<li role=\"presentation\" class=\"active\"><a href=\"#\" aria-controls=\"categoryname\" role=\"tab\" data-toggle=\"tab\">Nenhuma disciplina disponível</a></li>";
}
$content .= ' </ul>';
$content .= ' <div class="tab-content card-body">';
$continue =0;
foreach($filtered_course_list as $key=>$cats){
$active = "";
if($key ==0){
$active ='active';
}
//close div
if($cats->changecategory && $key!=0){
// $content .= "</ul>\n";
$content .= " </div>\n";
}else{
$active ='active';
}
//open div
if($cats->changecategory){
$content .= "<div role=\"tabpanel\" class=\"tab-pane card-deck dashboard-card-deck fade in {$active}\" id=\"$cats->category\">\n";
// $content .= "<ul class='row'>\n";
}
//gerando a imagem do curso
$courseDetails = $DB->get_record('course', array('id'=>$cats->id));
$courseImage = \core_course\external\course_summary_exporter::get_course_image($courseDetails);
if(!$courseImage){
$courseImage = $OUTPUT->get_generated_image_for_id($cats->id);
}
//calc Progress
$progress =getProgress($courseDetails);
$course_link = $CFG->wwwroot. "/course/view.php?id={$cats->id}";
$content .= "
<div class=\"card dashboard-card\" role=\"listitem\" data-region=\"course-content\" data-course-id=\"2\">
<a href=\"{$course_link}\" tabindex=\"-1\">
<div class=\"card-img dashboard-card-img\" style=\"background-image: url({$courseImage});\">
<span class=\"sr-only\"></span>
</div>
</a>
<div class=\"p-2 course-info-container\" id=\"course-info-container-2-4\">
<div class=\"d-flex align-items-start\">
<div class=\"w-100 text-truncate\">
<a href=\"{$course_link}\" class=\"coursename mr-2\">
<span class=\"sr-only\">Nome do curso</span>
<span class=\"multiline\">{$cats->fullname}</span>
</a>
</div>
</div>
</div>
<div class=\"p-2\">
<div class=\"progress bg-white border\">
<div class=\"progress-bar bar\" role=\"progressbar\" aria-valuenow=\"50\" style=\"width:{$progress}%\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>
</div>
<div class=\"small\">
<span class=\"sr-only\">Progresso do curso:</span>
<strong>{$progress}</strong>% completo
</div>
</div>
</div>
";
}
$content .= " </div>\n";
$content .= ' </div>';
$content .= '</section>';
return $content;
}
function getProgress($course){
$percentage = progress::get_course_progress_percentage($course);
if(!$percentage){
$percentage=0;
}
return $percentage;
}

View File

@@ -277,9 +277,135 @@ section#inicial{
.pagelayout-mydashboard{
#region-main{
border: 0px;
section#list-course{
padding-left: 3px;
#myTabs{
li{
a{
border-radius: 10px 10px 0 0;
border: 1px solid #efefef;
border-bottom: 0px;
padding: 1px 20px 0px 20px;
line-height: 30px;
display: block;
margin-right: 10px;
text-decoration: none;
&.active{
background-color: #dee2e7;
}
}
}
}
.card-body{
padding: 0px;
.card-deck{
.card{
box-shadow: 0px 1px 3px 0px rgba(0,0,0,.1);
margin: 10px 2px 0px 2px;
display: inline-flex;
}
}
}
}
}
}
.dashboard-card-deck:not(.fixed-width-cards) {
@media (min-width: 576px) {
.dashboard-card {
width: calc(50% - #{$card-gutter});
}
}
@media (min-width: 840px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
@media (min-width: 1100px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
@media (min-width: 1360px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
}
#region-main.has-blocks {
.dashboard-card-deck:not(.fixed-width-cards) {
@media (min-width: 1200px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
@media (min-width: 1470px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
}
}
body.drawer-open-left {
.dashboard-card-deck:not(.fixed-width-cards) {
@media (min-width: 768px) {
.dashboard-card {
width: calc(100% - #{$card-gutter});
}
}
@media (min-width: 861px) {
.dashboard-card {
width: calc(50% - #{$card-gutter});
}
}
@media (min-width: 1122px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
@media (min-width: 1381px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
}
}
body.drawer-open-left #region-main.has-blocks {
.dashboard-card-deck:not(.fixed-width-cards) {
@media (min-width: 1200px) {
.dashboard-card {
width: calc(100% - #{$card-gutter});
}
}
@media (min-width: 1236px) {
.dashboard-card {
width: calc(50% - #{$card-gutter});
}
}
@media (min-width: 1497px) {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
}
}
@media (min-width: 1200px) {
#block-region-side-pre {
.dashboard-card-deck:not(.fixed-width-cards) {
margin-left: 0;
margin-right: 0;
.dashboard-card {
width: calc(100% - #{$card-gutter}) !important;
}
}
}
}
/* ################################### CURSO ################################# */
.pagelayout-course{

View File

@@ -82,6 +82,7 @@
<div class="region_main_settings_menu_proxy"></div>
{{/hasregionmainsettingsmenu}}
{{{ output.course_content_header }}}
{{{ myCourses }}}
{{{ output.main_content }}}
{{{ output.activity_navigation }}}
{{{ output.course_content_footer }}}