Fix, tested WS session list by category from BT#9167 - refs BT#9092

1.10.x
Daniel Barreto 11 years ago
parent 169d82dfd3
commit 6a0902d39a
  1. 30
      main/inc/lib/sessionmanager.lib.php
  2. 10
      plugin/advancedsubscription/src/HookAdvancedSubscription.class.php

@ -5463,33 +5463,35 @@ class SessionManager
)
);
$sessionFieldValueList = Database::select(
'sfv.session_id AS id, sfv.field_value AS description,',
'CONCAT(sfv.session_id, sf.field_variable) AS id, sfv.field_value AS field_value',
$joinTable,
array(
'where' => array(
'sf.field_variable IN ( ? ) OR' => 'as_description, modalidad, duracion, cupos, horario, publico_objetivo',
'sf.field_variable IN ( ?, ?, ?, ?, ?, ? )' => array(
'as_description', 'modalidad', 'duracion', 'cupos', 'brochure', 'publico_objetivo',
)
)
)
);
}
foreach ($sessionList as $id => &$session) {
if ($publicoObjetivo == $session['publico_objetivo']) {
$session['modalidad'] = isset($sessionFieldValueList[$id]) ?
$sessionFieldValueList[$id]['modalidad'] :
if ($publicoObjetivo == $sessionFieldValueList[$id . 'publico_objetivo']['field_value']) {
$session['modalidad'] = isset($sessionFieldValueList[$id . 'modalidad']) ?
$sessionFieldValueList[$id . 'modalidad']['field_value'] :
'';
$session['descripcion'] = isset($sessionFieldValueList[$id]) ?
$sessionFieldValueList[$id]['as_description'] :
$session['descripcion'] = isset($sessionFieldValueList[$id . 'modalidad']) ?
$sessionFieldValueList[$id . 'modalidad']['field_value'] :
'';
$session['duracion'] = isset($sessionFieldValueList[$id]) ?
$sessionFieldValueList[$id]['duracion'] :
$session['duracion'] = isset($sessionFieldValueList[$id . 'duracion']) ?
$sessionFieldValueList[$id . 'duracion']['field_value'] :
'';
$session['cupos'] = isset($sessionFieldValueList[$id]) ?
$sessionFieldValueList[$id]['cupos'] :
$session['cupos'] = isset($sessionFieldValueList[$id . 'cupos']) ?
$sessionFieldValueList[$id . 'cupos']['field_value'] :
'';
$session['horario'] = isset($sessionFieldValueList[$id]) ?
$sessionFieldValueList[$id]['horario'] :
$session['horario'] = isset($sessionFieldValueList[$id . 'horario']) ?
$sessionFieldValueList[$id . 'horario']['field_value'] :
'';
}
}

@ -139,7 +139,8 @@ class HookAdvancedSubscription extends HookObserver implements
* @param $params
* @return null|soap_fault
*/
public static function WSSessionListInCategory($params) {
public static function WSSessionListInCategory($params)
{
global $debug;
if ($debug) error_log('WSUserSubscribedInCourse');
@ -165,10 +166,12 @@ class HookAdvancedSubscription extends HookObserver implements
// Get the session brief List by category
$sessionList = SessionManager::getSessionBriefListByCategory($sessionCategoryId, $params['publico_objetivo']);
$sessionList = SessionManager::getSessionBriefListByCategory($sessionCategoryId, $params['target']);
/*
$extraFieldSession = new ExtraFieldValue('session');
$hasExtraField = $extraFieldSession->get_values_by_handler_and_field_variable(1, 'publico_objetivo');
$hasExtraField = $extraFieldSession->get_values_by_handler_and_field_variable(key($sessionList), 'publico_objetivo');
var_dump($hasExtraField);
if ($hasExtraField != false) {
// Has session extra fields, Nothing to do
} else {
@ -176,6 +179,7 @@ class HookAdvancedSubscription extends HookObserver implements
return return_error(WS_ERROR_NOT_FOUND_RESULT);
}
*/
return $sessionList;
}

Loading…
Cancel
Save