Fix extra field value method use - refs BT#9092

1.10.x
Daniel Barreto 11 years ago
parent 2a404a6a57
commit 89ee9656e3
  1. 57
      plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php
  2. 2
      plugin/advancedsubscription/src/HookAdvancedSubscription.class.php

@ -134,12 +134,14 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
// @TODO: Get UIT completed by user this year by WS // @TODO: Get UIT completed by user this year by WS
$uitUser = 0; $uitUser = 0;
$extra = new ExtraFieldValue('session'); $extra = new ExtraFieldValue('session');
$uitUser += $extra->get_values_by_handler_and_field_variable($params['session_id'], 'costo'); $var = $extra->get_values_by_handler_and_field_variable($params['session_id'], 'costo');
$uitUser += $var['field_value'];
if ($uitMax >= $uitUser) { if ($uitMax >= $uitUser) {
$expendedTimeMax = $advSubPlugin->get('yearly_hours_limit'); $expendedTimeMax = $advSubPlugin->get('yearly_hours_limit');
// @TODO: Get Expended time from user data // @TODO: Get Expended time from user data
$expendedTime = 0; $expendedTime = 0;
$expendedTime += $extra->get_values_by_handler_and_field_variable($params['session_id'], 'duracion'); $var = $extra->get_values_by_handler_and_field_variable($params['session_id'], 'duracion');
$expendedTime += $var['field_value'];
if ($expendedTimeMax >= $expendedTime) { if ($expendedTimeMax >= $expendedTime) {
$expendedNumMax = $advSubPlugin->get('courses_count_limit'); $expendedNumMax = $advSubPlugin->get('courses_count_limit');
// @TODO: Get Expended num from user // @TODO: Get Expended num from user
@ -508,7 +510,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
} }
$where['where'] = $where; $where['where'] = $where;
$count = Database::select('COUNT(*)', $advsubQueueTable, $where); $count = Database::select('COUNT(*)', $advsubQueueTable, $where);
$count = $count[0]; $count = $count[0]['COUNT(*)'];
} }
return $count; return $count;
} }
@ -617,7 +619,9 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
{ {
if (!empty($sessionId)) { if (!empty($sessionId)) {
$extra = new ExtraFieldValue('session'); $extra = new ExtraFieldValue('session');
$vacancy = $extra->get_values_by_handler_and_field_variable($sessionId, 'vacantes'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'vacantes');
$vacancy = intval($var['field_value']);
if (!empty($vacancy)) {
$vacancy -= $this->countQueueByParams(array('sessions' => $sessionId, 'status' => ADV_SUB_QUEUE_STATUS_ADMIN_APPROVED)); $vacancy -= $this->countQueueByParams(array('sessions' => $sessionId, 'status' => ADV_SUB_QUEUE_STATUS_ADMIN_APPROVED));
if ($vacancy >= 0) { if ($vacancy >= 0) {
@ -625,6 +629,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
return $vacancy; return $vacancy;
} }
} }
}
return false; return false;
} }
@ -638,19 +643,26 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
{ {
if (!empty($sessionId)) { if (!empty($sessionId)) {
$extra = new ExtraFieldValue('session'); $extra = new ExtraFieldValue('session');
$data['id'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'id'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'id');
$data['cost'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'costo'); $data['id'] = $var['field_value'];
$data['place'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'lugar'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'costo');
$data['allow_visitors'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'permitir_visitantes'); $data['cost'] = $var['field_value'];
$data['class_hours'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'horas_lectivas'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'lugar');
$data['place'] = $var['field_value'];
$var = $extra->get_values_by_handler_and_field_variable($sessionId, 'permitir_visitantes');
$data['allow_visitors'] = $var['field_value'];
$var = $extra->get_values_by_handler_and_field_variable($sessionId, 'horas_lectivas');
$data['class_hours'] = $var['field_value'];
// Get brochure URL // Get brochure URL
$data['brochure'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'brochure'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'brochure');
$data['brochure'] = api_get_path(WEB_CODE_PATH) . $data['brochure']['field_value']; $data['brochure'] = api_get_path(WEB_CODE_PATH) . $var['field_value'];
// Get banner URL // Get banner URL
$data['banner'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'banner'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'banner');
$data['banner'] = api_get_path(WEB_CODE_PATH) . $data['banner']['field_value']; $data['banner'] = api_get_path(WEB_CODE_PATH) . $var['field_value'];
$data['description'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'descripcion'); $var = $extra->get_values_by_handler_and_field_variable($sessionId, 'descripcion');
$data['class_hours'] = $extra->get_values_by_handler_and_field_variable($sessionId, 'horas_lectivas'); $data['description'] = $var['field_value'];
$var = $extra->get_values_by_handler_and_field_variable($sessionId, 'horas_lectivas');
$data['class_hours'] = $var['field_value'];
return $data; return $data;
} }
@ -740,11 +752,16 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$return = array(); $return = array();
$extraSession = new ExtraFieldValue('session'); $extraSession = new ExtraFieldValue('session');
$session = api_get_session_info($sessionId); $session = api_get_session_info($sessionId);
$session['publico_objetivo'] = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'publico_objetivo'); $var = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'publico_objetivo');
$session['fin_publicacion'] = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'fin_publicacion'); $session['publico_objetivo'] = $var['field_value'];
$session['modalidad'] = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'modalidad'); $var = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'fin_publicacion');
$session['participantes_recomendados'] = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'numero_recomendado_participantes'); $session['fin_publicacion'] = $var['field_value'];
$session['vacantes'] = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'vacantes'); $var = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'modalidad');
$session['modalidad'] = $var['field_value'];
$var = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'numero_recomendado_participantes');
$session['participantes_recomendados'] = $var['field_value'];
$var = $extraSession->get_values_by_handler_and_field_variable($sessionId, 'vacantes');
$session['vacantes'] = $var['field_value'];
$queueTable = Database::get_main_table(TABLE_ADV_SUB_QUEUE); $queueTable = Database::get_main_table(TABLE_ADV_SUB_QUEUE);
$userTable = Database::get_main_table(TABLE_MAIN_USER); $userTable = Database::get_main_table(TABLE_MAIN_USER);
$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';

@ -133,7 +133,7 @@ class HookAdvancedSubscription extends HookObserver implements
'', '',
array( array(
'id' => array('name' => 'id', 'type' => 'xsd:string'), 'id' => array('name' => 'id', 'type' => 'xsd:string'),
'cost' => array('name' => 'cost', 'type' => 'xsd:string'), 'cost' => array('name' => 'cost', 'type' => 'xsd:float'),
'place' => array('name' => 'place', 'type' => 'xsd:string'), 'place' => array('name' => 'place', 'type' => 'xsd:string'),
'visitors' => array('name' => 'visitors', 'type' => 'xsd:string'), 'visitors' => array('name' => 'visitors', 'type' => 'xsd:string'),
'duration' => array('name' => 'duration', 'type' => 'xsd:int'), 'duration' => array('name' => 'duration', 'type' => 'xsd:int'),

Loading…
Cancel
Save