t('Mes'),'style' => 'text-align:center; width: 200px;',); $header[] = array('data' => t('Estado'), 'colspan' => 2, 'style' => 'text-align:center; width: 120px;',); $header[] = array('data' => t('Opciones Disponibles'),'style' => 'text-align:center',); $rows = array(); $row = array(); $row[] = array('data' => $meses[$mes],); //calcular el estado $transiciones_dispo = _obtener_transiciones_disponibles_proyecto($node, $mes); $agregado = FALSE; $colorSemaforo = _calcular_color_semaforo_estado_actual($transiciones_dispo['nombre_estado_actual']); if(count($transiciones_dispo['transic'])){ $row[] = array('data' => '•', 'style' => 'font-weight: bold;font-size: 35px;text-align:center; color:' . $colorSemaforo); $row[] = array('data' => $transiciones_dispo['nombre_estado_actual'],'text-align:center; width: 200px'); $agregado = TRUE; } else{ if ($transiciones_dispo['estado_actual'] < 0) { $name = 'N/D'; } else { $name = $transiciones_dispo['nombre_estado_actual']; } if(isset($transiciones_dispo['estado_actual'])&& $transiciones_dispo['estado_actual'] < 0) { $row[] = array('data' => '-','style' => 'text-align:center; width: 113px'); $row[] = array('data' => $name,'style' => 'text-align:center; width: 190px'); } else{ $row[] = array('data' => '•', 'style' => 'width: 95px; font-weight: bold;font-size: 35px; text-align:center; color:' . $colorSemaforo); $row[] = array('data' => $name,'style' => 'text-align:center; width: 190px'); } } $links = array(); //echo print_r($row).'
'; if(_periodo_de_seguimiento_proyecto_y_aes_esta_activo($node)){ if(_mes_habilitado_para_seguimiento($mes)){ if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $mes)) { $texto = $agregado ? t('Modificar') : t('Agregar'); $links[] = '' . l($texto, 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . $mes . '/edit', array('query' => array('destination' => $_GET['q']))) . ''; } } else { $nota_piepagina = t('Mes no habilitado para seguimiento.'); } } else { $nota_piepagina = t('Período para seguimiento no activo.'); } if ($transiciones_dispo['estado_actual']) { $links[] = '' . l(t('Consultar'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto') . ''; if (_proyecto_seguimiento_mes_mover_estado_access($node, $mes, $message)) { $links[] = '' . l(t('Cambiar estado'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . $mes . '/workflow', array('query' => array('destination' => $_GET['q']))) . ''; } } if (_proyectooperativo_esta_aprobado($node)) { $links[] = '' . l(t('Ver Historial'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . $mes . '/workflow/historial') . ''; } $row[] = array('data' => theme('item_list', $links),); $rows[] = $row; $tablas[]= theme('table', $header, $rows); $output = ''; if (count($tablas)) { $output .= implode('', $tablas); if(isset($nota_piepagina)){ $output .= '' . t('Nota complementaria') . ': ' . $nota_piepagina . '
'; } $output .= '
'; } return $output; } function _tabla_seg_aeproyecto_estadomes_page($proyecto, $ae, $mes = 0) { $meses = json_decode(MESES); $tablas = array(); $header = array(); $header[] = array('data' => t('Mes'),'style' => 'text-align:center; width: 200px;',); $header[] = array('data' => t('Estado'), 'colspan' => 2, 'style' => 'text-align:center; width: 200px',); $header[] = array('data' => t('Opciones Disponibles'),'style' => 'text-align:center',); $rows = array(); $row = array(); $links = array(); $row[] = array('data' => $meses[$mes],); if (_accion_especifica_de_proyecto_seguimiento_consultar_mes_access($ae, $mes)) { //si es accion especifica y si el mes pertenece a la duracion //calcular el estado $consultaseguimientoactual = _seguimiento_mesactual_proyecto_load($proyecto, $mes); $transiciones_dispo = _obtener_transiciones_disponibles($ae, $mes + 1); $agregado = FALSE; if(isset($transiciones_dispo['nombre_estado_actual'])) { $colorSemaforo = variable_get('proyectos_operativos_state_segu_sema_' . $transiciones_dispo['estado_actual'], '#000000'); $row[] = array('data' => '•', 'style' => 'width: 100px; font-weight: bold;font-size: 35px;text-align:center; color:' . $colorSemaforo); $row[] = array('data' => $transiciones_dispo['nombre_estado_actual'], 'style' => 'text-align:center; width: 200px'); $agregado = TRUE; }else{ $row[] = array('data' => '-', 'style' => 'text-align:center; width: 120px'); $row[] = array('data' => t('N/A'),'style' => 'text-align:center;width: 200px'); } $mes1 = $mes +1 ; if(_periodo_de_seguimiento_proyecto_y_aes_esta_activo($proyecto)) { if (_mes_habilitado_para_seguimiento($mes +1)) { if (!variable_get('accion_especifica_de_proyecto_seguimiento_aesep', 0)) { if (_ae_seguimiento_modificar_mes_access($proyecto, $ae, $mes + 1)) { $texto = $agregado? t('Modificar') : t('Agregar'); $links[] = '' . l($texto, 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . $mes1 . '/edit', array('query' => array('destination' => $_GET['q']))) . ''; } else { $links[] = '' . t('No disponible') . ''; } } else { if (_ae_seguimiento_modificar_mes_access($proyecto, $ae, $mes) && count($transiciones_dispo['transic'])) { $texto = $agregado? t('Modificar') : t('Agregar'); $links[] = '' . l($texto, 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . $mes . '/edit', array('query' => array('destination' => $_GET['q']))) . ''; } } } else { $nota_piepagina = t('Mes no habilitado para seguimiento.'); } if (variable_get('accion_especifica_de_proyecto_seguimiento_aesep', 0) && $transiciones_dispo['transic']) { $links[] = '' . l(t('Cambiar el estado'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/partidas/' . $mes . '/workflow', array('query' => array('destination' => $_GET['q']))) . ''; $links[] = '' . l(t('Ver Historial'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/partidas/' . $mes . '/workflow/historial') . ''; } $row[] = array('data' => theme('item_list', $links),); } if (!_periodo_de_seguimiento_proyecto_y_aes_esta_activo($proyecto)) { $nota_piepagina = t('Período para seguimiento no activo.'); } $rows[] = $row; $tablas[]= theme('table', $header, $rows); } $output = ''; if (count($tablas)) { $output .= implode('', $tablas); if(isset($nota_piepagina)){ $output .= '' . t('Nota complementaria') . ': ' . check_plain($nota_piepagina) . '
'; } $output .= '
'; } return $output; } /** * Pagina que muestra los seguimientos de todos los meses de una ae (cuadro resumen de seguimientos) * 15 de marzo por Diego Uzcátegui */ function fase_de_seguimiento_proyecto_y_aes_page($node, $mes=null) { $full = false; $meses = json_decode(MESES); drupal_set_title(t('Fase de Seguimiento de Proyecto Operativo y sus Acciones Específicas (mes de %mes_asignado)', array('%mes_asignado' => $meses[$mes]))); if ($mes==null) { $mes = 0; $full = true; drupal_set_title(t('Fase de Seguimiento de Proyecto Operativo y sus Acciones Específicas')); } module_load_include('inc', 'seguimiento_accion_especifica_deproyecto.pages' , 'includes/ae_proyecto'); drupal_set_message(t('Para consultar el seguimiento de este Proyecto puede ir a') . ' ' . l(t('Seguimiento del Proyecto'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto/')); $output .= '
'; if(_periodo_de_seguimiento_proyecto_y_aes_esta_activo($node)) { if(_mes_habilitado_para_seguimiento($mes)) { if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $mes)) { $output .= t('Estimado(a) Usuario(a), para ingresar el Seguimiento del Proyecto Operativo debe ingresar primero los Seguimiento de las Acciones Específicas del mismo, los cuales se muestran a continuación.
'); $output .= '
'; } } } $output .= '

' . t('Seguimiento y Control de las Acciones Específicas del Proyecto') . '

'; $output .= '
' . t('Seguimiento y Control de las Acciones Específicas del Proyecto') . ''; $disponible = FALSE; $mes_final = variable_get('seguimiento_proyectos_cantidad_meses_seguimiento', 0); foreach($node->field_proyecto_accion_esp as $key => $accion) {//recorrido por todas las acciones especificas $accion_esp_load = node_load($accion['nid']); if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada $output .= "
$key-) " . t('Acción Específica') . ': ' . $accion_esp_load->titulo_asignado . '

'; for ($i=$mes; $i<=$mes_final; $i++) { if (_tabla_seg_aeproyecto_estadomes_page($node, $accion_esp_load, $i)) { $output .= _tabla_seg_aeproyecto_estadomes_page($node, $accion_esp_load, $i); $disponible = TRUE; if (empty($full)) { break; } } } $output .= t('Para consultar el seguimiento de todos los meses de duración de esta Acción Específica ir a') . ' ' . l(t('Seguimiento de la Acción Específica'), 'proyectosop/' . $node->nid . '/seguimiento/ae/' . $accion_esp_load->nid . '/view') . '.'; $output .= '
'; $output .= '
'; } } if (!$disponible) { $output = '
' . t("No se tienen acciones especificas para el mes de @mes que se encuentren disponibles", array("@mes" => $meses[$mes])) . '
'; } $output .= '
'; return $output; } /** * Obtener mes de seguimiento actual si esta dentro del period o de duración, o retornar primer mes del proyecto * 18 de marzo por Diego Uzcátegui */ //function primermes_proyecto_page($node) { function _obtener_mes_fase_seguimiento_proyecto($node) { $mes_seguimiento_proyecto_y_aes = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0); $mes_seguimiento_proyecto_y_aes = $mes_seguimiento_proyecto_y_aes -1; if(_mes_dentro_de_duracion_proyecto($node, $mes_seguimiento_proyecto_y_aes)){ return $mes_seguimiento_proyecto_y_aes; }else{ //Proyecto if ($node->type == 'proyectos_operativos'){ //consultar mes de inicio del proyecto $fechayhora_inicio = $node->field_proyecto_fecha_i[0]['value']; list($fecha_inicio, $hora_inicio) = split('[ ]', $fechayhora_inicio); list($anno_inicio, $mes_inicio, $dia_inicio) = split('[/.-]', $fecha_inicio); $m_inicio = intval($mes_inicio); } $primermes = $m_inicio-1; return $primermes; } return 0; }