Visual improvements in plugin buycourses - refs BT#11338

pull/2495/head
Alex Aragón 8 years ago
parent cee24a39bc
commit 065fde43ce
  1. 50
      plugin/buycourses/resources/css/style.css
  2. 27
      plugin/buycourses/src/buy_course_plugin.class.php
  3. 5
      plugin/buycourses/src/process.php
  4. 172
      plugin/buycourses/view/process.tpl

@ -30,7 +30,42 @@
font-size: 18px; font-size: 18px;
line-height: 1.42857; line-height: 1.42857;
} }
/* PROCESS BUY */
.buy-info .price{
font-size: 24px;
line-height: 32px;
font-weight: bold;
padding-bottom: 10px;
padding-top: 10px;
letter-spacing: -0.020em;
}
.buy-info .buy-item .title{
margin-top: 5px;
font-weight: bold;
line-height: 24px;
font-size: 18px;
}
.buy-info .buy-item .description, .buy-info .buy-item .coaches{
margin-bottom: 20px;
color: #666666;
}
.buy-info .buy-item .date{
margin-bottom: 10px;
color: #666666;
}
.buy-summary{
margin-top: 10px;
border-top: 1px solid #CCCCCC;
}
.panel-box-buy{
box-shadow: 0 15px 30px rgba(0,0,0,.1);
padding: 20px;
}
.buy-summary .alert-info {
color: #31708f;
background-color: #e8f2f8;
border-color: #bce8f1;
}
@-moz-keyframes wobblebar-loader { @-moz-keyframes wobblebar-loader {
0% { 0% {
left: 4px; left: 4px;
@ -271,6 +306,18 @@
left: 204px; left: 204px;
} }
} }
/* Landscape phones and down */
@media (max-width: 480px) {
.panel-box-buy{
padding: 0;
}
.buy-summary .pull-right{
float: left !important;
}
.buy-summary .btn-success{
width: 100%;
}
}
/* :not(:required) hides this rule from IE9 and below */ /* :not(:required) hides this rule from IE9 and below */
.wobblebar-loader:not(:required) { .wobblebar-loader:not(:required) {
background: #2E6DA4; background: #2E6DA4;
@ -300,3 +347,4 @@
width: 21.33333px; width: 21.33333px;
height: 14.22222px; height: 14.22222px;
} }

@ -580,10 +580,21 @@ class BuyCoursesPlugin extends Plugin
return []; return [];
} }
$courseDescription = $entityManager->getRepository('ChamiloCourseBundle:CCourseDescription')
->findOneBy(
[
'cId' => $course->getId(),
'sessionId' => 0,
],
[
'descriptionType' => 'ASC',
]
);
$courseInfo = [ $courseInfo = [
'id' => $course->getId(), 'id' => $course->getId(),
'title' => $course->getTitle(), 'title' => $course->getTitle(),
'description' => $course->getDescription(), 'description' => $courseDescription->getContent(),
'code' => $course->getCode(), 'code' => $course->getCode(),
'visual_code' => $course->getVisualCode(), 'visual_code' => $course->getVisualCode(),
'teachers' => [], 'teachers' => [],
@ -594,8 +605,11 @@ class BuyCoursesPlugin extends Plugin
$courseTeachers = $course->getTeachers(); $courseTeachers = $course->getTeachers();
foreach ($courseTeachers as $teacher) { foreach ($courseTeachers as $teachers) {
$courseInfo['teachers'][] = $teacher->getUser()->getCompleteName(); $user = $teachers->getUser();
$teacher['id'] = $user->getId();
$teacher['name'] = $user->getCompleteName();
$courseInfo['teachers'][] = $teacher;
} }
$possiblePath = api_get_path(SYS_COURSE_PATH); $possiblePath = api_get_path(SYS_COURSE_PATH);
@ -646,11 +660,14 @@ class BuyCoursesPlugin extends Plugin
$sessionInfo = [ $sessionInfo = [
'id' => $session->getId(), 'id' => $session->getId(),
'name' => $session->getName(), 'name' => $session->getName(),
'description' => $session->getDescription(),
'dates' => $sessionDates, 'dates' => $sessionDates,
'courses' => [], 'courses' => [],
'price' => $item['price'], 'price' => $item['price'],
'currency' => $item['iso_code'], 'currency' => $item['iso_code'],
'image' => null, 'image' => null,
'nbrCourses' => $session->getNbrCourses(),
'nbrUsers' => $session->getNbrUsers()
]; ];
$fieldValue = new ExtraFieldValue('session'); $fieldValue = new ExtraFieldValue('session');
@ -680,7 +697,9 @@ class BuyCoursesPlugin extends Plugin
foreach ($userCourseSubscriptions as $userCourseSubscription) { foreach ($userCourseSubscriptions as $userCourseSubscription) {
$user = $userCourseSubscription->getUser(); $user = $userCourseSubscription->getUser();
$sessionCourseData['coaches'][] = $user->getCompleteName(); $coaches['id'] = $user->getUserId();
$coaches['name'] = $user->getCompleteName();
$sessionCourseData['coaches'][] = $coaches;
} }
$sessionInfo['courses'][] = $sessionCourseData; $sessionInfo['courses'][] = $sessionCourseData;

@ -11,13 +11,12 @@ use ChamiloSession as Session;
require_once '../config.php'; require_once '../config.php';
$currentUserId = api_get_user_id(); $currentUserId = api_get_user_id();
if (empty($currentUserId)) { if (empty($currentUserId)) {
Session::write('buy_course_redirect', Security::remove_XSS($_SERVER['REQUEST_URI'])); Session::write('buy_course_redirect', Security::remove_XSS($_SERVER['REQUEST_URI']));
header('Location: '.api_get_path(WEB_CODE_PATH).'auth/inscription.php'); header('Location: '.api_get_path(WEB_CODE_PATH).'auth/inscription.php');
exit; exit;
} }
$htmlHeadXtra[] = '<link rel="stylesheet" type="text/css" href="../resources/css/style.css"/>';
$plugin = BuyCoursesPlugin::create(); $plugin = BuyCoursesPlugin::create();
$includeSession = $plugin->get('include_sessions') === 'true'; $includeSession = $plugin->get('include_sessions') === 'true';
$paypalEnabled = $plugin->get('paypal_enable') === 'true'; $paypalEnabled = $plugin->get('paypal_enable') === 'true';
@ -109,7 +108,7 @@ if ($count === 0) {
$form->addHidden('t', intval($_GET['t'])); $form->addHidden('t', intval($_GET['t']));
$form->addHidden('i', intval($_GET['i'])); $form->addHidden('i', intval($_GET['i']));
$form->addButton('submit', $plugin->get_lang('ConfirmOrder'), 'check', 'success'); $form->addButton('submit', $plugin->get_lang('ConfirmOrder'), 'check', 'success', 'btn-lg pull-right');
// View // View
$templateName = $plugin->get_lang('PaymentMethods'); $templateName = $plugin->get_lang('PaymentMethods');

@ -1,58 +1,117 @@
<h2 class="page-header">{{ 'PurchaseData'|get_plugin_lang('BuyCoursesPlugin') }}</h2> <div class="actions">
<a href="{{ _p.web }}main/auth/courses.php" title="{{ "Back"|get_lang }}">
<img src="{{ "back.png"|icon(32) }}" width="32" height="32" alt="{{ "Back"|get_lang }}"
title="{{ "Back"|get_lang }}"/>
</a>
</div>
<div class="page-header">
<h3>{{ 'PurchaseData'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
</div>
<div class="row"> <div class="row">
<div class="col-md-5"> <div class="col-md-12">
<div class="thumbnail"> <div class="panel panel-default panel-box-buy">
{% if buying_course %} <div class="panel-body">
<a class="ajax" data-title="{{ course.title }}" <div class="buy-info">
href="{{ _p.web_ajax ~ 'course_home.ajax.php?' ~ {'a': 'show_course_information', 'code': course.code}|url_encode() }}"> {% if buying_course %}
<img alt="{{ course.title }}" class="img-responsive" style="width: 100%;" <div class="row">
src="{{ course.course_img ? course.course_img : 'session_default.png'|icon() }}"> <div class="col-md-3">
</a> <a class="ajax" data-title="{{ course.title }}"
<div class="caption"> href="{{ _p.web_ajax ~ 'course_home.ajax.php?' ~ {'a': 'show_course_information', 'code': course.code}|url_encode() }}">
<h3> <img alt="{{ course.title }}" class="img-rounded img-responsive"
<a class="ajax" data-title="{{ course.title }}" src="{{ course.course_img ? course.course_img : 'session_default.png'|icon() }}">
href="{{ _p.web_ajax ~ 'course_home.ajax.php?' ~ {'a': 'show_course_information', 'code': course.code}|url_encode() }}">{{ course.title }}</a> </a>
</h3> <div class="price">
<ul class="fa-ul"> {{ 'Total'|get_plugin_lang('BuyCoursesPlugin')}} :
{% for teacher in course.teachers %} {{ course.currency == 'BRL' ? 'R$' : course.currency }} {{ course.price }}
<li><em class="fa-li fa fa-user" aria-hidden="true"></em>{{ teacher }}</li> </div>
{% endfor %} </div>
</ul> <div class="col-md-9">
<p id="n-price" class="lead text-right" style="color: white;"> <div class="buy-item">
<span class="label label-primary">{{ course.currency == 'BRL' ? 'R$' : course.currency }} {{ course.price }}</span> <h3 class="title">
</p> <a class="ajax" data-title="{{ course.title }}"
<p id="s-price" class="lead text-right"></p> href="{{ _p.web_ajax ~ 'course_home.ajax.php?' ~ {'a': 'show_course_information', 'code': course.code}|url_encode() }}">
</div> {{ course.title }}
{% elseif buying_session %} </a>
<img alt="{{ session.name }}" class="img-ressponsive" style="width: 100%;" </h3>
src="{{ session.image ? session.image : 'session_default.png'|icon() }}"> {% if course.description %}
<div class="caption"> <div class="description">
<h3>{{ session.name }}</h3> {{ course.description }}
<ul class="fa-ul"> </div>
<li> {% endif %}
<em class="fa-li fa fa-calendar" aria-hidden="true"></em>{{ session.dates.display }} <div class="coaches">
</li> <p>
</ul> {{ 'Teachers'|get_plugin_lang('BuyCoursesPlugin')}} :
<ul class="fa-ul"> {% for teacher in course.teachers %}
{% for course in session.courses %} <em class="fa fa-user" aria-hidden="true"></em>
<li> <a href="{{ _p.web }}main/social/profile.php?u={{ teacher.id }}" class="teacher-item"> {{ teacher.name }}</a>,
<em class="fa-li fa fa-book" aria-hidden="true"></em>
{{ course.title }}
{% if course.coaches|length %}
<ul class="fa-ul">
{% for coach in course.coaches %}
<li><em class="fa-li fa fa-user" aria-hidden="true"></em>{{ coach }}</li>
{% endfor %} {% endfor %}
</ul> </p>
</div>
</div>
</div>
</div>
{% elseif buying_session %}
<div class="row">
<div class="col-md-3">
<img alt="{{ session.name }}" class="img-rounded img-responsive""
src="{{ session.image ? session.image : 'session_default.png'|icon() }}">
<div class="price">
{{ 'Total'|get_plugin_lang('BuyCoursesPlugin')}} :
{{ session.currency == 'BRL' ? 'R$' : session.currency }} {{ session.price }}
</div>
</div>
<div class="col-md-9">
<div class="buy-item">
<h3 class="title">{{ session.name }}</h3>
{% if session.description %}
<div class="description">
{{ session.description }}
</div>
{% endif %} {% endif %}
</li> <div class="date">
{% endfor %} <em class="fa fa-calendar" aria-hidden="true"></em> {{ session.dates.display }}
</ul> </div>
<p id="n-price" class="lead text-right" style="color: white;"> <div class="coaches">
<span class="label label-primary">{{ session.currency == 'BRL' ? 'R$' : session.currency }} {{ session.price }}</span> {% for course in session.courses %}
</p> <p class="course"><em class="fa fa-book" aria-hidden="true"></em> {{ course.title }}</p>
<p id="s-price" class="lead text-right"></p> <p>
{{ 'Teachers'|get_plugin_lang('BuyCoursesPlugin')}} :
{% if course.coaches|length %}
{% for coach in course.coaches %}
<em class="fa fa-user" aria-hidden="true"></em>
<a href="{{ _p.web }}main/social/profile.php?u={{ coach.id }}" class="teacher-item"> {{ coach.name }}</a>,
{% endfor %}
{% endif %}
</p>
{% endfor %}
</div>
</div>
</div>
</div>
{% elseif buying_service %}
{% endif %}
</div>
<div class="buy-summary">
<h3>{{ 'PaymentMethods'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
{{ form }}
</div> </div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="thumbnail">
{% if buying_course %}
{% elseif buying_session %}
{% elseif buying_service %} {% elseif buying_service %}
<a href='{{ _p.web }}service/{{ service.id }}'> <a href='{{ _p.web }}service/{{ service.id }}'>
<img alt="{{ service.name }}" class="img-responsive" <img alt="{{ service.name }}" class="img-responsive"
@ -96,16 +155,7 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
<div class="col-md-6 col-md-offset-1">
<div class="panel panel-default buycourse-panel-default">
<div class="panel-heading">
<h3 class="panel-title">{{ 'PaymentMethods'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
</div>
<div class="panel-body">
{{ form }}
</div>
</div>
</div>
</div> </div>
<script> <script>
$(document).ready(function () { $(document).ready(function () {

Loading…
Cancel
Save