feat/#12 - Listagem de cursos na dashboard
This commit is contained in:
347
layout/my.php
347
layout/my.php
@@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
defined('MOODLE_INTERNAL') || die();
|
defined('MOODLE_INTERNAL') || die();
|
||||||
|
|
||||||
|
use core_completion\progress;
|
||||||
|
|
||||||
user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA);
|
user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA);
|
||||||
require_once($CFG->libdir . '/behat/lib.php');
|
require_once($CFG->libdir . '/behat/lib.php');
|
||||||
|
|
||||||
@@ -85,6 +87,7 @@ $scontactus = get_string('contact_us', 'theme_qualisaude');
|
|||||||
$phone = get_string('phone', 'theme_qualisaude');
|
$phone = get_string('phone', 'theme_qualisaude');
|
||||||
$email = get_string('email', 'theme_qualisaude');
|
$email = get_string('email', 'theme_qualisaude');
|
||||||
$sfollowus = get_string('followus', 'theme_qualisaude');
|
$sfollowus = get_string('followus', 'theme_qualisaude');
|
||||||
|
$myCourses = getMyCourses();
|
||||||
|
|
||||||
$url = ($fburl != '' || $pinurl != '' || $twurl != '' || $gpurl != '') ? 1 : 0;
|
$url = ($fburl != '' || $pinurl != '' || $twurl != '' || $gpurl != '') ? 1 : 0;
|
||||||
$block3 = ($address != '' || $phoneno != '' || $emailid != '' || $url != 0) ? 1 : 0;
|
$block3 = ($address != '' || $phoneno != '' || $emailid != '' || $url != 0) ? 1 : 0;
|
||||||
@@ -156,9 +159,351 @@ $templatecontext = [
|
|||||||
"block1" => $block1,
|
"block1" => $block1,
|
||||||
"footlogourl" => $footlogourl,
|
"footlogourl" => $footlogourl,
|
||||||
"username" => $username,
|
"username" => $username,
|
||||||
"show_btn_leftblock"=>$show_btn_leftblock
|
"show_btn_leftblock"=>$show_btn_leftblock,
|
||||||
|
"myCourses"=>$myCourses
|
||||||
];
|
];
|
||||||
|
|
||||||
$templatecontext['flatnavigation'] = $PAGE->flatnav;
|
$templatecontext['flatnavigation'] = $PAGE->flatnav;
|
||||||
echo $OUTPUT->render_from_template('theme_qualisaude/my', $templatecontext);
|
echo $OUTPUT->render_from_template('theme_qualisaude/my', $templatecontext);
|
||||||
|
|
||||||
|
function getMyCourses(){
|
||||||
|
global $DB, $OUTPUT;
|
||||||
|
|
||||||
|
$content = "";
|
||||||
|
|
||||||
|
if(is_siteadmin()) {
|
||||||
|
|
||||||
|
$content .= "<div class='col-12'>";
|
||||||
|
$content .= "<div class='conteiner' style='background-color:#f8f9fa; margin-bottom: 20px;'>";
|
||||||
|
$content .= "<div class='row'>";
|
||||||
|
$content .= "<div class='col-12'>";
|
||||||
|
$content .= "<div style='padding:10px 10px 0 10px;'>";
|
||||||
|
$content .= "<h3>Página acessada como administrador</h3>";
|
||||||
|
|
||||||
|
//listagem completa dos cursos abre apenas para admins
|
||||||
|
$categories = array_values($DB->get_records('course_categories', null, 'id desc', 'id, name, visible'));
|
||||||
|
$SELECT = "<select name='categorias[]' id='sel1' class=\"form-control\" multiple>\n";
|
||||||
|
foreach($categories as $cat){
|
||||||
|
$SELECT .= "<option value=\"$cat->id\">$cat->name</option>";
|
||||||
|
}
|
||||||
|
$SELECT.="</select>";
|
||||||
|
|
||||||
|
$content .= "<div class=\"form-group\">";
|
||||||
|
$content .= " <label for=\"sel1\">Selecione as categorias:</label><form method=\"get\">\n";
|
||||||
|
$content .= $SELECT;
|
||||||
|
$content .= "<input type='submit' value='Carregar' style='margin-top:10px;' /></form>";//$btn_rel_coord imprime botao para acesso a relatorio de coordenadores
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
|
||||||
|
|
||||||
|
$request = optional_param_array('categorias', '', PARAM_INT);
|
||||||
|
if(!$request){//caso não tenha dados para requisição, carrego o primeiro da lista
|
||||||
|
$request = $categories[0]->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
$request_result = "";
|
||||||
|
if(is_array($request)){//caso seja um array transformo em string para filtro
|
||||||
|
$request = implode(',', $request);
|
||||||
|
$request_result = $request;
|
||||||
|
}else{
|
||||||
|
$request_result = $request;
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "SELECT c.id, c.fullname, c.shortname,cc.id as catid, cc.name FROM {course} as c
|
||||||
|
INNER JOIN {course_categories} as cc on c.category = cc.id
|
||||||
|
WHERE cc.id in ($request_result)
|
||||||
|
ORDER BY cc.id DESC";
|
||||||
|
$courses_list = $DB->get_records_sql($query);
|
||||||
|
|
||||||
|
$content .= "<section id=\"list-course\" class=\"col-12 card\">\n";
|
||||||
|
$content .= "<div class=\"card-body \">\n";
|
||||||
|
$content .= "<div class=\"card-text \">\n";
|
||||||
|
$content .= "<div class=\"card-deck dashboard-card-deck\">\n";
|
||||||
|
// $content .= "<ul class='row'>\n";
|
||||||
|
|
||||||
|
//print_object($courses_list);
|
||||||
|
foreach($courses_list as $course){
|
||||||
|
$professores_list = array_values($DB->get_records_sql("SELECT U.id, U.firstname, U.lastname, RA.roleid FROM {user} AS U
|
||||||
|
INNER JOIN {role_assignments} AS RA ON U.id = RA.userid
|
||||||
|
INNER JOIN {context} AS C ON RA.contextid = C.id
|
||||||
|
WHERE C.instanceid = $course->id AND RA.roleid in (3)
|
||||||
|
ORDER BY RA.roleid ASC"));
|
||||||
|
|
||||||
|
$html_profs = '';
|
||||||
|
$lastKey =count($professores_list);
|
||||||
|
foreach($professores_list as $key =>$prof){
|
||||||
|
//echo $key." == ".$lastKey."<br>";
|
||||||
|
// if($key != $lastKey-1){
|
||||||
|
// $html_profs.=$prof->firstname.' '.$prof->lastname.' / ';
|
||||||
|
// }else{
|
||||||
|
// $html_profs.=$prof->firstname.' '.$prof->lastname;
|
||||||
|
// }
|
||||||
|
$html_profs.= $OUTPUT->user_picture($prof, array('size'=>30, 'class'=>'userpicture foto'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$image_name = explode('_',$course->shortname)[0];
|
||||||
|
if(file_exists($imagedir.$image_name.$mimetipe_image)) {
|
||||||
|
$image_caminho = $imagepath . $image_name . $mimetipe_image;
|
||||||
|
}else{
|
||||||
|
$image_caminho = $imagepath .'notfound'.$mimetipe_image;
|
||||||
|
}
|
||||||
|
|
||||||
|
$content .= '
|
||||||
|
<div class="card dashboard-card" role="listitem" data-region="course-content" data-course-id="2">
|
||||||
|
<a href="http://localhost/qualisaude/course/view.php?id=2" tabindex="-1">
|
||||||
|
<div class="card-img dashboard-card-img" style="background-image: url('.$image_caminho.');">
|
||||||
|
<span class="sr-only">Imagem do curso</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="http://localhost/qualisaude/course/view.php?id=2" class="coursename mr-2">
|
||||||
|
<span class="sr-only">Nome do curso</span>
|
||||||
|
<span class="multiline">'.$course->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: '.getProgress($course).'%" aria-valuemin="0" aria-valuemax="100"></div>
|
||||||
|
</div>
|
||||||
|
<div class="small">
|
||||||
|
<span class="sr-only">Progresso do curso:</span>
|
||||||
|
<strong>'.getProgress($course).'</strong>% completo
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
';
|
||||||
|
|
||||||
|
}
|
||||||
|
// $content .= "</ul>\n";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</div>";
|
||||||
|
$content .= "</section>\n";
|
||||||
|
|
||||||
|
|
||||||
|
}else{// Carregamento para usuário que não são administrador
|
||||||
|
//------------- ---------------
|
||||||
|
//SET COURSE LIST MANDACARU
|
||||||
|
//------------- ---------------
|
||||||
|
$courses_list = enrol_get_my_courses(NULL,'sortorder DESC');
|
||||||
|
$listcourse = array();
|
||||||
|
$categories = $DB->get_records('course_categories', null, '', 'id, name');
|
||||||
|
$auxcat = 0;
|
||||||
|
$filtered_course_list = array();
|
||||||
|
foreach($courses_list as $courseobj){
|
||||||
|
if($courseobj->category ==5 || $courseobj->category ==1){//Filtro que elimina as disciplinas de categorias que não devem ser consideradas
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//pegando docentes
|
||||||
|
$professores_list = $DB->get_records_sql("SELECT U.id, U.firstname, U.lastname, RA.roleid FROM {user} AS U
|
||||||
|
INNER JOIN {role_assignments} AS RA ON U.id = RA.userid
|
||||||
|
INNER JOIN {context} AS C ON RA.contextid = C.id
|
||||||
|
WHERE C.instanceid = $courseobj->id AND RA.roleid in (3)
|
||||||
|
ORDER BY RA.roleid ASC");
|
||||||
|
|
||||||
|
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;
|
||||||
|
$image_name = explode('_',$courseobj->shortname)[0];
|
||||||
|
if(file_exists($imagedir.$image_name.$mimetipe_image)) {
|
||||||
|
$courseobj->imagepath = $imagepath . $image_name . $mimetipe_image;
|
||||||
|
$courseobj->changecategory = $change_category;
|
||||||
|
$courseobj->courselink = $course_link;
|
||||||
|
if($courseobj->category != 5){//tem que pular
|
||||||
|
$courseobj->proflist =array_values($professores_list);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$courseobj->imagepath = $imagepath .'notfound'.$mimetipe_image;
|
||||||
|
$courseobj->changecategory = $change_category;
|
||||||
|
$courseobj->courselink = $course_link;
|
||||||
|
if($courseobj->category != 5){
|
||||||
|
$courseobj->proflist =array_values($professores_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$filtered_course_list[]= $courseobj; // Aplicação do filtro eliminando as disciplinas que não devem ser consideradas
|
||||||
|
|
||||||
|
}
|
||||||
|
// print_object($courses_list);
|
||||||
|
//------------- ---------------
|
||||||
|
//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";
|
||||||
|
}
|
||||||
|
$html_profs = '';
|
||||||
|
$lastKey =count($cats->proflist);
|
||||||
|
foreach($cats->proflist as $key =>$prof){
|
||||||
|
//echo $key." == ".$lastKey."<br>";
|
||||||
|
if($key != $lastKey-1){
|
||||||
|
$html_profs.=$prof->firstname.' '.$prof->lastname.' / ';
|
||||||
|
}else{
|
||||||
|
$html_profs.=$prof->firstname.' '.$prof->lastname;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// $content .= "<li class=\"col-sm-4 border-gray back-white padding\">
|
||||||
|
// <div class=\"box-list-course\">
|
||||||
|
// <hr style=\"background:#c43f00\">
|
||||||
|
// <h3><a href=\"{$cats->courselink}{$cats->id} \" title='Diciplina - $cats->fullname'>{$cats->fullname}</a></h3>
|
||||||
|
// <!--<p class=\"sub-title\">letras portugues</p>-->
|
||||||
|
// <p class=\"coordenador\"><b>Professores: </b>{$html_profs}</p>
|
||||||
|
// <figure>
|
||||||
|
// <a href=\"{$cats->courselink}{$cats->id} \"><img src=\"{$cats->imagepath}\" alt ='Imagem da diciplina $cats->fullname'class=\"img-responsive\" ></a>
|
||||||
|
// </figure>
|
||||||
|
// <div class=\"barra-progresso\">
|
||||||
|
// <!--<div class=\"progresso\"><hr style=\"width:37%;\"></div>-->
|
||||||
|
// <!--<div class=\"porcentagem\">37%</div>-->
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
// </li>";
|
||||||
|
|
||||||
|
$content .= '
|
||||||
|
<div class="card dashboard-card" role="listitem" data-region="course-content" data-course-id="2">
|
||||||
|
<a href="http://localhost/qualisaude/course/view.php?id=2" tabindex="-1">
|
||||||
|
<div class="card-img dashboard-card-img" style="background-image: url();">
|
||||||
|
<span class="sr-only">Imagem do curso</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="http://localhost/qualisaude/course/view.php?id=2" 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: '.getProgress($cats).'%" aria-valuemin="0" aria-valuemax="100"></div>
|
||||||
|
</div>
|
||||||
|
<div class="small">
|
||||||
|
<span class="sr-only">Progresso do curso:</span>
|
||||||
|
<strong>'.getProgress($cats).'</strong>% completo
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
';
|
||||||
|
|
||||||
|
//close div - caso seja o último do array, ele precisa fechar o anterior e auto fechar o último. - Correção de bug realizada
|
||||||
|
/*if(count($filtered_course_list) == $key+1){//
|
||||||
|
echo "</ul>\n";
|
||||||
|
echo " </div>\n";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
// $content .= "</ul>\n";
|
||||||
|
$content .= " </div>\n";
|
||||||
|
/* if(count($courses_list) == $continue){
|
||||||
|
|
||||||
|
}else {
|
||||||
|
echo "</ul>\n";
|
||||||
|
echo " </div><!--Aqui finaliza-->\n";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
$content .= ' </div>';
|
||||||
|
$content .= '</section>';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProgress($course){
|
||||||
|
global $USER;
|
||||||
|
|
||||||
|
if (empty($userid)) {
|
||||||
|
$userid = $USER->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
$percentage = progress::get_course_progress_percentage($course);
|
||||||
|
if(!$percentage){
|
||||||
|
$percentage=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// $completion = new \completion_info($course);
|
||||||
|
// $modules = $completion->get_activities();
|
||||||
|
// $count = count($modules);
|
||||||
|
// if (!$count) {
|
||||||
|
// $count=0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $completed = 0;
|
||||||
|
// foreach ($modules as $module) {
|
||||||
|
// $data = $completion->get_data($module, false, $userid);
|
||||||
|
// $completed += $data->completionstate == COMPLETION_INCOMPLETE ? 0 : 1;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// $content = "<div class='barra_progresso'>";
|
||||||
|
// $content .= " <label>$completed atividades completas de $count</label>";
|
||||||
|
// $content .= " <div class='progresso'>";
|
||||||
|
// $content .= " <div class='andamento' style='width:$percentage%;'><label style='color:#fff; float: right; font-weight: 300; margin-right:10px; font-size: 14px;'>$percentage%</label></div>";
|
||||||
|
// $content .= " </div>";
|
||||||
|
// $content .= "</div>";
|
||||||
|
|
||||||
|
return $percentage;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -277,8 +277,134 @@ section#inicial{
|
|||||||
.pagelayout-mydashboard{
|
.pagelayout-mydashboard{
|
||||||
#region-main{
|
#region-main{
|
||||||
border: 0px;
|
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 ################################# */
|
/* ################################### CURSO ################################# */
|
||||||
|
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
<div class="region_main_settings_menu_proxy"></div>
|
<div class="region_main_settings_menu_proxy"></div>
|
||||||
{{/hasregionmainsettingsmenu}}
|
{{/hasregionmainsettingsmenu}}
|
||||||
{{{ output.course_content_header }}}
|
{{{ output.course_content_header }}}
|
||||||
|
{{{ myCourses }}}
|
||||||
{{{ output.main_content }}}
|
{{{ output.main_content }}}
|
||||||
{{{ output.activity_navigation }}}
|
{{{ output.activity_navigation }}}
|
||||||
{{{ output.course_content_footer }}}
|
{{{ output.course_content_footer }}}
|
||||||
|
|||||||
Reference in New Issue
Block a user