Add data to advanced subscription mails - refs BT#9092

1.10.x
Daniel Barreto 11 years ago
parent c778dedc18
commit 452837194f
  1. 27
      plugin/advancedsubscription/ajax/advsub.ajax.php
  2. 31
      plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php
  3. 27
      plugin/advancedsubscription/src/HookAdvancedSubscription.class.php
  4. 2
      plugin/advancedsubscription/views/advsub_request_received.tpl
  5. 2
      plugin/advancedsubscription/views/advsub_request_received_reminder.tpl

@ -60,6 +60,33 @@ if (!empty($a) && !empty($u)) {
case 'second': // Subscription
$res = AdvancedSubscriptionPlugin::create()->startSubscription($u, $s, $params);
if ($res === true) {
// send mail to superior
$sessionArray = api_get_session_info($s);
$extraSession = new ExtraFieldValue('session');
$var = $extraSession->get_values_by_handler_and_field_variable($s, 'as_description');
$sessionArray['description'] = $var['field_valiue'];
$var = $extraSession->get_values_by_handler_and_field_variable($s, 'publico_objetivo');
$sessionArray['publico_objetivo'] = $var['field_valiue'];
$var = $extraSession->get_values_by_handler_and_field_variable($s, 'modalidad');
$sessionArray['modalidad'] = $var['field_valiue'];
$var = $extraSession->get_values_by_handler_and_field_variable($s, 'fin_publicacion');
$sessionArray['publico_objetivo'] = $var['field_value'];
$var = $extraSession->get_values_by_handler_and_field_variable($s, 'numero_recomendado_participantes');
$sessionArray['recommended_subscription_limit'] = $var['field_valiue'];
$studentArray = api_get_user_info($u);
$superiorArray = api_get_user_info($u);
$adminArray = api_get_user_info($u);
$studentArray = api_get_user_info($u);
$data = array(
'student' => $studentArray,
'superior' => $superiorArray,
'admin' => $adminArray,
'session' => $sessionArray,
'signature' => 'AQUI DEBE IR UNA FIRMA',
);
$plugin->sendMail($data, ADV_SUB_ACTION_STUDENT_REQUEST);
$result['error'] = false;
$result['errorMessage'] = 'No error';
$result['pass'] = true;

@ -250,13 +250,14 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
/**
* Send message for the student subscription approval to a specific session
* @param $studentId
* @param $subject
* @param $content
* @param $sessionId
* @param int $studentId
* @param string $subject
* @param string $content
* @param int $sessionId
* @param bool $save
* @return bool|int
*/
public function sendMailMessage($studentId, $subject, $content, $sessionId)
public function sendMailMessage($studentId, $subject, $content, $sessionId, $save = false)
{
global $_configuration; // @TODO: Add $_configuration['no_reply_user_id'] to configuration file
@ -273,7 +274,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$_configuration['no_reply_user_id']
);
if (!empty($mailId)) {
if ($save && !empty($mailId)) {
// Save as sent message
$mailId = $this->saveLastMessage($mailId, $studentId, $sessionId);
}
@ -376,7 +377,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['superior']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_request_superior.tpl'),
$data['session_id']
$data['session_id'],
true
);
break;
case ADV_SUB_ACTION_SUPERIOR_APPROVE:
@ -399,7 +401,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['admin']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_request_approved_info_admin.tpl'),
$data['session_id']
$data['session_id'],
true
);
break;
case ADV_SUB_ACTION_SUPERIOR_DISAPPROVE:
@ -408,7 +411,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['student']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_request_superior_disapproved.tpl'),
$data['session_id']
$data['session_id'],
true
);
// Mail to superior
$mailIds[] = $this->sendMailMessage(
@ -431,7 +435,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['superior']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_request_superior.tpl'),
$data['session_id']
$data['session_id'],
true
);
break;
case ADV_SUB_ACTION_ADMIN_APPROVE:
@ -454,7 +459,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['admin']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_approval_admin_accepted_notice_admin.tpl'),
$data['session_id']
$data['session_id'],
true
);
break;
case ADV_SUB_ACTION_ADMIN_DISAPPROVE:
@ -463,7 +469,8 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['student']['id'],
$this->get_lang('MailStudentRequest'),
$tpl->fetch('/advancedsubscription/views/advsub_approval_admin_rejected_notice_student.tpl'),
$data['session_id']
$data['session_id'],
true
);
// Mail to superior
$mailIds[] = $this->sendMailMessage(

@ -402,7 +402,7 @@ class HookAdvancedSubscription extends HookObserver implements
}
/**
* @param $data
* @param array $data
* @return null|soap_fault|string
*/
public static function WSAdvsubEncrypt($data)
@ -411,17 +411,22 @@ class HookAdvancedSubscription extends HookObserver implements
if ($debug) error_log('WSUserSubscribedInCourse');
if ($debug) error_log('Params '. print_r($data, 1));
if (!WSHelperVerifyKey($data)) {
//return return_error(WS_ERROR_SECRET_KEY);
}
// Check if data is a string
if (is_string($data)) {
$enc = AdvancedSubscriptionPlugin::create()->encrypt($data);
if (is_string($enc) && strlen($enc) > 16) {
$result = $enc;
} else {
$result = return_error(WS_ERROR_INVALID_INPUT);
// Check if data is an array
if (is_array($data)) {
if (!WSHelperVerifyKey($data)) {
//return return_error(WS_ERROR_SECRET_KEY);
}
$result = AdvancedSubscriptionPlugin::create()->encrypt($data);
} elseif (is_string($data)) {
$data = unserialize($data);
if (!WSHelperVerifyKey($data)) {
//return return_error(WS_ERROR_SECRET_KEY);
}
if (is_array($data)) {
$result = AdvancedSubscriptionPlugin::create()->encrypt($data);
}
} else {
// Return soap fault Not valid input params

@ -59,7 +59,7 @@
<tr>
<td height="356">&nbsp;</td>
<td valign="top"><p>Estimado:</p>
<h2>{{ user.name }}</h2>
<h2>{{ student.name }}</h2>
<p>Hemos recibido y registrado su solicitud de inscripción al curso <strong>{{ sesion.title }}</strong> para iniciarse el <strong>{{ session.start_date }}</strong>.</p>
<p>Su inscripción es pendiente primero de la aprobación de su superior, y luego de la disponibilidad de cupos. Un correo ha sido enviado a su superior para revisión y aprobación de su solicitud.</p>
<p>Gracias.</p>

@ -59,7 +59,7 @@
<tr>
<td height="356">&nbsp;</td>
<td valign="top"><p>Estimado:</p>
<h2>{{ user.name }}</h2>
<h2>{{ student.name }}</h2>
<p>Este correo es para confirmar que hemos recibido y registrado su solicitud de inscripción al curso <strong>{{ session.title }}</strong>, por iniciarse el <strong>{{ session.start_date }}</strong>. </p>
<p>Su inscripción todavía no ha sido aprobada por su superior, por lo que hemos vuelto a enviarle un correo electrónico de recordatorio.</p>
<p>Gracias por su paciencia.</p>

Loading…
Cancel
Save