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( $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, $joinTable,
array( array(
'where' => 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) { foreach ($sessionList as $id => &$session) {
if ($publicoObjetivo == $session['publico_objetivo']) { if ($publicoObjetivo == $sessionFieldValueList[$id . 'publico_objetivo']['field_value']) {
$session['modalidad'] = isset($sessionFieldValueList[$id]) ? $session['modalidad'] = isset($sessionFieldValueList[$id . 'modalidad']) ?
$sessionFieldValueList[$id]['modalidad'] : $sessionFieldValueList[$id . 'modalidad']['field_value'] :
''; '';
$session['descripcion'] = isset($sessionFieldValueList[$id]) ? $session['descripcion'] = isset($sessionFieldValueList[$id . 'modalidad']) ?
$sessionFieldValueList[$id]['as_description'] : $sessionFieldValueList[$id . 'modalidad']['field_value'] :
''; '';
$session['duracion'] = isset($sessionFieldValueList[$id]) ? $session['duracion'] = isset($sessionFieldValueList[$id . 'duracion']) ?
$sessionFieldValueList[$id]['duracion'] : $sessionFieldValueList[$id . 'duracion']['field_value'] :
''; '';
$session['cupos'] = isset($sessionFieldValueList[$id]) ? $session['cupos'] = isset($sessionFieldValueList[$id . 'cupos']) ?
$sessionFieldValueList[$id]['cupos'] : $sessionFieldValueList[$id . 'cupos']['field_value'] :
''; '';
$session['horario'] = isset($sessionFieldValueList[$id]) ? $session['horario'] = isset($sessionFieldValueList[$id . 'horario']) ?
$sessionFieldValueList[$id]['horario'] : $sessionFieldValueList[$id . 'horario']['field_value'] :
''; '';
} }
} }

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

Loading…
Cancel
Save