Merge pull request #703 from AngelFQC/BT9413

Fix advanced suscription and SSO Drupal - refs BT9413
1.10.x
Yannick Warnier 11 years ago
commit 38babdb58e
  1. 10
      main/auth/sso/sso.Drupal.class.php
  2. 21
      plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php
  3. 20
      plugin/advanced_subscription/views/admin_view.tpl
  4. 5
      plugin/advanced_subscription/views/css/style.css
  5. 4
      plugin/advanced_subscription/views/student_notice_superior.tpl

@ -103,7 +103,7 @@ class ssoDrupal
//lookup the user in the main database //lookup the user in the main database
$user_table = Database::get_main_table(TABLE_MAIN_USER); $user_table = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT user_id, username, password, auth_source, active, expiration_date, status $sql = "SELECT id, username, password, auth_source, active, expiration_date, status
FROM $user_table FROM $user_table
WHERE username = '".trim(Database::escape_string($sso['username']))."'"; WHERE username = '".trim(Database::escape_string($sso['username']))."'";
$result = Database::query($sql); $result = Database::query($sql);
@ -127,19 +127,19 @@ class ssoDrupal
$current_access_url_id = api_get_current_access_url_id(); $current_access_url_id = api_get_current_access_url_id();
// my user is subscribed in these // my user is subscribed in these
//sites: $my_url_list //sites: $my_url_list
$my_url_list = api_get_access_url_from_user($uData['user_id']); $my_url_list = api_get_access_url_from_user($uData['id']);
} else { } else {
$current_access_url_id = 1; $current_access_url_id = 1;
$my_url_list = array(1); $my_url_list = array(1);
} }
$my_user_is_admin = UserManager::is_admin($uData['user_id']); $my_user_is_admin = UserManager::is_admin($uData['id']);
if ($my_user_is_admin === false) { if ($my_user_is_admin === false) {
if (is_array($my_url_list) && count($my_url_list) > 0) { if (is_array($my_url_list) && count($my_url_list) > 0) {
if (in_array($current_access_url_id, $my_url_list)) { if (in_array($current_access_url_id, $my_url_list)) {
// the user has permission to enter at this site // the user has permission to enter at this site
$_user['user_id'] = $uData['user_id']; $_user['user_id'] = $uData['id'];
$_user = api_get_user_info($_user['user_id']); $_user = api_get_user_info($_user['user_id']);
Session::write('_user', $_user); Session::write('_user', $_user);
Event::event_login($_user['user_id']); Event::event_login($_user['user_id']);
@ -168,7 +168,7 @@ class ssoDrupal
if (in_array(1, $my_url_list)) { if (in_array(1, $my_url_list)) {
//Check if this admin is admin on the //Check if this admin is admin on the
// principal portal // principal portal
$_user['user_id'] = $uData['user_id']; $_user['user_id'] = $uData['id'];
$_user = api_get_user_info($_user['user_id']); $_user = api_get_user_info($_user['user_id']);
$is_platformAdmin = $uData['status'] == COURSEMANAGER; $is_platformAdmin = $uData['status'] == COURSEMANAGER;
Session::write('is_platformAdmin', $is_platformAdmin); Session::write('is_platformAdmin', $is_platformAdmin);

@ -78,17 +78,12 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
*/ */
private function addAreaField() private function addAreaField()
{ {
$result = Database::select( $extraField = new ExtraField('user');
'variable', $extraFieldHandler = $extraField->get_handler_field_info_by_field_variable('area');
'user_field',
array( $areaExists = $extraFieldHandler !== false;
'where'=> array(
'variable = ? ' => array('area')
)
)
);
if (empty($result)) { if (!$areaExists) {
$extraField = new ExtraField('user'); $extraField = new ExtraField('user');
$extraField->save(array( $extraField->save(array(
'field_type' => 1, 'field_type' => 1,
@ -1102,10 +1097,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$userJoinTable = $queueTable . ' q INNER JOIN ' . $userTable . ' u ON q.user_id = u.user_id'; $userJoinTable = $queueTable . ' q INNER JOIN ' . $userTable . ' u ON q.user_id = u.user_id';
$where = array( $where = array(
'where' => array( 'where' => array(
'q.session_id = ? AND q.status <> ? AND q.status <> ?' => array( 'q.session_id = ?' => array(
$sessionId, $sessionId
ADVANCED_SUBSCRIPTION_QUEUE_STATUS_ADMIN_APPROVED,
ADVANCED_SUBSCRIPTION_QUEUE_STATUS_ADMIN_DISAPPROVED,
) )
), ),
'order' => 'q.status DESC, u.lastname ASC' 'order' => 'q.status DESC, u.lastname ASC'

@ -34,7 +34,7 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="student-list-table"> <div class="student-list-table">
<table id="student_table" class="table table-striped"> <table id="student_table" class="table table-striped">
<tbody> <thead>
<tr> <tr>
<th>{{ "Postulant" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th> <th>{{ "Postulant" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th>
<th>{{ "InscriptionDate" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th> <th>{{ "InscriptionDate" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th>
@ -42,6 +42,8 @@
<th>{{ "BossValidation" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th> <th>{{ "BossValidation" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th>
<th class="advanced-subscription-decision-column">{{ "Decision" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th> <th class="advanced-subscription-decision-column">{{ "Decision" | get_plugin_lang('AdvancedSubscriptionPlugin') }}</th>
</tr> </tr>
</thead>
<tbody>
{% set row_class = "row_odd" %} {% set row_class = "row_odd" %}
{% for student in students %} {% for student in students %}
<tr class="{{ row_class }}"> <tr class="{{ row_class }}">
@ -62,7 +64,7 @@
{% endif %} {% endif %}
</td> </td>
<td> <td>
{% if student.status != approveAdmin and student.status != disapproveAdmin %}
<a <a
class="btn btn-success btn-advanced-subscription btn-accept" class="btn btn-success btn-advanced-subscription btn-accept"
href="{{ student.acceptUrl }}" href="{{ student.acceptUrl }}"
@ -75,7 +77,7 @@
> >
{{ 'RejectInfinitive' | get_plugin_lang('AdvancedSubscriptionPlugin') }} {{ 'RejectInfinitive' | get_plugin_lang('AdvancedSubscriptionPlugin') }}
</a> </a>
{% endif %}
</td> </td>
</tr> </tr>
{% if row_class == "row_even" %} {% if row_class == "row_even" %}
@ -93,7 +95,7 @@
<input name="f" value="social" type="hidden"> <input name="f" value="social" type="hidden">
</form> </form>
<div class="modal fade" id="modalMail" tabindex="-1" role="dialog" aria-labelledby="modalMailLabel" aria-hidden="true"> <div class="modal fade" id="modalMail" tabindex="-1" role="dialog" aria-labelledby="modalMailLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
@ -133,16 +135,16 @@
var confirmed = confirm(msg.replace(msgRe, studentName)); var confirmed = confirm(msg.replace(msgRe, studentName));
} }
if (confirmed) { if (confirmed) {
var thisBlock = $(this).closest("tr"); var tdParent = $(this).closest("td");
var advancedSubscriptionUrl = $(this).attr("href") var advancedSubscriptionUrl = $(this).attr("href");
$("#iframeAdvsub").attr("src", advancedSubscriptionUrl) $("#iframeAdvsub").attr("src", advancedSubscriptionUrl);
$("#modalMail").modal("show"); $("#modalMail").modal("show");
$.ajax({ $.ajax({
dataType: "json", dataType: "json",
url: advancedSubscriptionUrl url: advancedSubscriptionUrl
}).done(function(result){ }).done(function(result){
if (result.error == true) { if (result.error === true) {
thisBlock.slideUp(); tdParent.html('');
} else { } else {
console.log(result); console.log(result);
} }

@ -46,11 +46,6 @@
vertical-align: middle; vertical-align: middle;
text-align: center; text-align: center;
} }
#modalMail{
width: 770px;
margin-top: -180px !important;
margin-left: -385px !important;
}
#modalMail .modal-body { #modalMail .modal-body {
height: 360px; height: 360px;

@ -55,8 +55,8 @@
<tr> <tr>
<td width="58" valign="middle"><img src="{{ student.picture.file }}" width="50" height="50" alt=""></td> <td width="58" valign="middle"><img src="{{ student.picture.file }}" width="50" height="50" alt=""></td>
<td width="211" valign="middle"><h4>{{ student.complete_name }}</h4></td> <td width="211" valign="middle"><h4>{{ student.complete_name }}</h4></td>
<td width="90" valign="middle"><a href="{{ student.acceptUrl }}"><img src="{{ _p.web_plugin }}advanced_subscription/views/img/aprobar.png" width="90" height="25" alt=""></a></td> <td width="90" valign="middle"><a href="{{ student.acceptUrl }}&modal_size=lg" class="ajax"><img src="{{ _p.web_plugin }}advanced_subscription/views/img/aprobar.png" width="90" height="25" alt=""></a></td>
<td width="243" valign="middle"><a href="{{ student.rejectUrl }}"><img src="{{ _p.web_plugin }}advanced_subscription/views/img/desaprobar.png" width="90" height="25" alt=""></a></td> <td width="243" valign="middle"><a href="{{ student.rejectUrl }}&modal_size=lg" class="ajax"><img src="{{ _p.web_plugin }}advanced_subscription/views/img/desaprobar.png" width="90" height="25" alt=""></a></td>
</tr> </tr>
</table> </table>
<p>{{ "MailThankYou" | get_plugin_lang("AdvancedSubscriptionPlugin") }}</p> <p>{{ "MailThankYou" | get_plugin_lang("AdvancedSubscriptionPlugin") }}</p>

Loading…
Cancel
Save