Fix Buy process via transfer - refs #7768

1.10.x
Angel Fernando Quiroz Campos 10 years ago
parent 9d925b1e76
commit 821d22090b
  1. 94
      plugin/buycourses/src/process_confirm.php
  2. 33
      plugin/buycourses/view/message_transfer.tpl
  3. 162
      plugin/buycourses/view/process_confirm.tpl

@ -64,5 +64,99 @@ switch ($sale['payment_type']) {
RedirectToPayPal($expressCheckout["TOKEN"]);
break;
case BuyCoursesPlugin::PAYMENT_TYPE_TRANSFER:
$buyingCourse = false;
$buyingSession = false;
switch ($sale['product_type']) {
case BuyCoursesPlugin::PRODUCT_TYPE_COURSE:
$buyingCourse = true;
$course = $plugin->getCourseInfo($sale['product_id']);
break;
case BuyCoursesPlugin::PRODUCT_TYPE_SESSION:
$buyingSession = true;
$session = $plugin->getSessionInfo($sale['product_id']);
break;
}
$transferAccounts = $plugin->getTransferAccounts();
$userInfo = api_get_user_info($sale['user_id']);
$form = new FormValidator('success', 'POST', api_get_self(), null, null, FormValidator::LAYOUT_INLINE);
if ($form->validate()) {
$formValues = $form->getSubmitValues();
if (isset($formValues['cancel'])) {
$plugin->cancelSale($sale['id']);
unset($_SESSION['bc_sale_id']);
header('Location: ' . api_get_path(WEB_PLUGIN_PATH) . 'buycourses/index.php');
exit;
}
$messageTemplate = new Template();
$messageTemplate->assign('user', $userInfo);
$messageTemplate->assign(
'sale',
[
'date' => api_format_date($sale['date'], DATE_FORMAT_LONG_NO_DAY),
'product' => $sale['product_name'],
'currency' => $currency['iso_code'],
'price' => $sale['price'],
]
);
$messageTemplate->assign('sale_product', $sale['product_name']);
$messageTemplate->assign('sale_currency', $currency['iso_code']);
$messageTemplate->assign('sale_price', $sale['price']);
$messageTemplate->assign('transfer_accounts', $transferAccounts);
api_mail_html(
$userInfo['complete_name'],
$userInfo['email'],
$plugin->get_lang('bc_subject'),
$messageTemplate->fetch('buycourses/view/message_transfer.tpl')
);
Display::addFlash(
Display::return_message(
sprintf(
$plugin->get_lang('PurchaseStatusX'),
$plugin->get_lang('PendingReasonByTransfer')
),
'success'
)
);
unset($_SESSION['bc_sale_id']);
header('Location: ' . api_get_path(WEB_PLUGIN_PATH) . 'buycourses/src/list.php');
exit;
}
$form->addButton('confirm', $plugin->get_lang('ConfirmOrder'), 'check', 'success');
$form->addButtonCancel($plugin->get_lang('CancelOrder'), 'cancel');
$template = new Template();
if ($buyingCourse) {
$template->assign('course', $course);
} elseif ($buyingSession) {
$template->assign('session', $session);
}
$template->assign('buying_course', $buyingCourse);
$template->assign('buying_session', $buyingSession);
$template->assign('title', $sale['product_name']);
$template->assign('price', $sale['price']);
$template->assign('currency', $sale['currency_id']);
$template->assign('user', $userInfo);
$template->assign('transfer_accounts', $transferAccounts);
$template->assign('form', $form->returnForm());
$content = $template->fetch('buycourses/view/process_confirm.tpl');
$template->assign('content', $content);
$template->display_one_col_template();
break;
}

@ -0,0 +1,33 @@
<div>
<p>{{ 'DearUser'|get_lang }}</p>
<p>{{ 'PurchaseDetailsIntro'|get_plugin_lang('BuyCoursesPlugin') }}</p>
<dl>
<dt>Fecha</dt>
<dd>{{ sale.date }}</dd>
<dt>Usuario</dt>
<dd>{{ user.complete_name }}</dd>
<dt>Curso</dt>
<dd>{{ sale.product }}</dd>
<dt>Precio</dt>
<dd>{{ sale.currency ~ ' ' ~ sale.price }}</dd>
</dl>
<p>{{ 'BankAccountIntro'|get_plugin_lang('BuyCoursesPlugin')|format(sale.product) }}</p>
<table>
<thead>
<tr>
<th>{{ 'Name'|get_lang }}</th>
<th>{{ 'BankAccount'|get_plugin_lang('BuyCoursesPlugin') }}</th>
<th>{{ 'SWIFT'|get_lang }}</th>
</tr>
</thead>
<tbody>
{% for account in transfer_accounts %}
<tr>
<td>{{ account.name }}</td>
<td>{{ account.account }}</td>
<td>{{ account.swift }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>

@ -1,104 +1,86 @@
<script type='text/javascript' src="../js/buycourses.js"></script>
<link rel="stylesheet" type="text/css" href="../resources/plugin.css"/>
<div class="row">
<div class="col-md-3">
<div id="course_category_well" class="well">
<h4>{{ 'UserInformation'|get_plugin_lang('BuyCoursesPlugin') }}</h4>
<dl>
<dt>{{ 'Name'|get_lang }}</dt>
<dd>{{ name|e }}</dd>
<dt>{{ 'User'|get_lang }}</dt>
<dd>{{ user | e }}</dd>
<dt>{{ 'Email'|get_lang }}</dt>
<dd>{{ email | e}}</dd>
</dl>
</div>
<div class="col-sm-6 col-md-5">
<h3 class="page-header">{{ 'UserInformation'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
<dl class="dl-horizontal">
<dt>{{ 'Name'|get_lang }}<dt>
<dd>{{ user.complete_name }}</dd>
<dt>{{ 'Username'|get_lang }}<dt>
<dd>{{ user.username }}</dd>
<dt>{{ 'EmailAddress'|get_lang }}<dt>
<dd>{{ user.email }}</dd>
</dl>
</div>
<div class="col-md-9">
<div class="well">
<div class="col-sm-6 col-md-7">
{% if buying_course %}
<div class="row">
<div class="span">
<div class="thumbnail">
<a class="ajax" rel="gb_page_center[778]" title=""
href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">
<img src="{{ server }}{{ course.course_img }}">
</a>
</div>
<div class="col-sm-6 col-md-5">
<p>
<img alt="{{ course.title }}" class="img-responsive" src="{{ course.course_img ? course.course_img : 'session_default.png'|icon() }}">
</p>
<p class="lead text-right">{{ course.currency }} {{ course.price }}</p>
</div>
<div class="span4">
<div class="categories-course-description">
<h3>{{ course.title }}</h3>
<h5>{{ 'Teacher'|get_lang }}: {{ course.teacher }}</h5>
</div>
</div>
<div class="span right">
<div class="sprice right">{{ course.price }} {{ currency }}</div>
<div class="cleared"></div>
<div class="btn-toolbar right">
<a class="ajax btn btn-primary" title=""
href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">{{'Description'|get_lang }}
<div class="col-sm-6 col-md-7">
<h3 class="page-header">{{ course.title }}</h3>
<ul class="items-teacher list-unstyled">
{% for teacher in course.teachers %}
<li><i class="fa fa-user"></i> {{ teacher }}</li>
{% endfor %}
</ul>
<p>
<a class="ajax btn btn-primary btn-sm" data-title="{{ course.title }}" href="{{ _p.web_ajax ~ 'course_home.ajax.php?' ~ {'a': 'show_course_information', 'code': course.code}|url_encode() }}">
{{'Description'|get_lang }}
</a>
</div>
</p>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="row">
<div class="col-md-5 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">{{ 'BankAccountInformation'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
</div>
<div class="panel-body">
{% for account in accounts %}
<p class="lead text-center">{{ account.name | e }}</p>
<dl class="dl-horizontal">
{% if account.swift != '' %}
<dt>SWIFT</dt>
<dd>{{ account.swift | e }}</dd>
{% endif %}
<dt>{{ 'BankAccount'|get_plugin_lang('BuyCoursesPlugin') }}</dt>
<dd>{{ account.account }}</dd>
{% elseif buying_session %}
<h3 class="page-header">{{ session.name }}</h3>
<div class="row">
<div class="col-sm-12 col-md-5">
<p>
<img alt="{{ session.name }}" class="img-responsive" src="{{ session.image ? session.image : 'session_default.png'|icon() }}">
</p>
<p class="lead text-right">{{ session.currency }} {{ session.price }}</p>
</div>
<div class="col-sm-12 col-md-7">
<p>{{ session.dates.display }}</p>
<dl>
{% for course in session.courses %}
<dt>{{ course.title }}</dt>
{% for coach in course.coaches %}
<dd><i class="fa fa-user fa-fw"></i> {{ coach }}</dd>
{% endfor %}
{% endfor %}
</dl>
{% if lopp.index > 1 %}
<hr>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="alert alert-info">
<i class="fa fa-info-circle"></i>
{{ 'OnceItIsConfirmed,YouWillReceiveAnEmailWithTheBankInformationAndAnOrderReference'|get_plugin_lang('BuyCoursesPlugin') }}
</div>
{% endif %}
</div>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-4">
<hr>
<form method="post" name="frmConfirm" action="../src/process_confirm.php">
<input type="hidden" name="payment_type" value="Transfer"/>
<input type="hidden" name="name" value="{{ name | e }}"/>
<input type="hidden" name="price" value="{{ course.price }}"/>
<input type="hidden" name="title" value="{{ course.title | e }}"/>
<p class="text-center">
<input class="btn btn-success" type="submit" name="Confirm" value="{{ 'ConfirmOrder'|get_plugin_lang('BuyCoursesPlugin') }}"/>
<input class="btn btn-danger" type="button" name="Cancel" value="{{ 'CancelOrder'|get_plugin_lang('BuyCoursesPlugin') }}" id="CancelOrder"/>
</p>
</form>
<div class="col-xs-12">
<h3 class="page-header">{{ 'BankAccountInformation'|get_plugin_lang('BuyCoursesPlugin') }}</h3>
<div class="table-responsive">
<table class="table table-striped table-hover">
<thead>
<tr>
<th>{{ 'Name'|get_lang }}</th>
<th class="text-center">{{ 'BankAccount'|get_plugin_lang('BuyCoursesPlugin') }}</th>
<th class="text-center">{{ 'SWIFT'|get_lang }}</th>
</tr>
</thead>
<tbody>
{% for account in transfer_accounts %}
<tr>
<td>{{ account.name }}</td>
<td class="text-center">{{ account.account }}</td>
<td class="text-center">{{ account.swift }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{{ form }}

Loading…
Cancel
Save