Index: 0.3-modules/proyectos_operativos_seguimiento/includes/proyecto/seguimiento_proyecto.pages.inc
===================================================================
--- 0.3-modules/proyectos_operativos_seguimiento/includes/proyecto/seguimiento_proyecto.pages.inc	(revision 303fae2a76df6c94a837b5a1db128c463f40e3ea)
+++ 0.3-modules/proyectos_operativos_seguimiento/includes/proyecto/seguimiento_proyecto.pages.inc	(revision 84b0fd1fcd5c6601b84bc72faf9d1411e1929d1f)
@@ -36,5 +36,7 @@
   
   drupal_set_title(t('Seguimiento y Control de Proyecto Operativo'));
-  
+  $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
+  if (_proyecto_seguimiento_mes_mover_estado_access($node, $mes_fase_seg, $message = true));
+
   $output = '';
   $output .= '<br>';
@@ -54,20 +56,52 @@
  */
 function _mostrar_datos_proyecto($node) {
+  $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
+  $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $mes_fase_seg);
+  $state_name = t("Por ingresar");
+  if (workflow_get_state_name($seguimiento_proyecto['segmes']['estado'])) {
+    $state_name = workflow_get_state_name($seguimiento_proyecto['segmes']['estado']);
+  }
+//print_r($seguimiento_proyecto);
+
+
   $output = '';
-  
-  $output .= '<fieldset><legend>Datos del Proyecto Operativo</legend>';
-  $output .= '<b>Codigo del Proyecto:</b> '.$node->field_proyecto_codigo[0]['value'].'<br>';
-  $output .= '<b>Nombre del Proyecto:</b> '.$node->titulo_asignado.'<br>';
+  $opciones = array(t('SI'), t('NO'));
+  $node_type = content_types('proyectos_operativos');
+  $fields = $node_type['fields'];
+  $output .= '<fieldset><legend>' . t('Datos del Proyecto Operativo') . '</legend>';
+  $output .= '<b>' . $fields['field_proyecto_codigo']['widget']['label'] . ':</b> '.$node->field_proyecto_codigo[0]['value'].'<br>';
+  $output .= '<b>' . t('Nombre del Proyecto') . ':</b> '.$node->titulo_asignado.'<br>';
+  $acumulativo = $opciones[$node->es_acumulativo] ? $opciones[$node->es_acumulativo] : 'N/D';
+  $output .= '<b>' . t('Es acumulativo: ') . '</b> '. $acumulativo . '<br>';
+  $output .= '<b>' . t('Estado del Seguimiento: ') . '</b>' . $state_name . '<br>';
   $id_field1 = 'field_proyecto_fecha_i';
   $fecha = explode(' ', $node->{$id_field1}[0]['value']);
-  $output .= '<b>Fecha de Inicio:</b> '.$fecha[0].'<br>';
+  $fecha = explode('-', $fecha[0]);
+  $output .= '<b>' . $fields[$id_field1]['widget']['label'] . ':</b> '.$fecha[2] . '/' . $fecha[1] . '/' . $fecha[0].'<br>';
   $id_field1 = 'field_proyecto_fecha_f';
   $fecha = explode(' ', $node->{$id_field1}[0]['value']);
-  $output .= '<b>Fecha Fin:</b> ' . $fecha[0] . '<br>';
-  $term = taxonomy_get_term($node->field_proyecto_pndes[0]['value']);
-  $output .= '<b>Estrategia MCTI:</b> '.$term->name.'<br>';
-  $output .= '<b>Objetivo PNDES:</b> '.'<br>';
-  $output .= '<b>Estrategia PNDES:</b> '.'<br>';
-  $output .= '<b>Politica PNDES:</b> '.'<br>';
+  $fecha = explode('-', $fecha[0]);
+  $output .= '<b>' . $fields[$id_field1]['widget']['label'] . ':</b> '.$fecha[2] . '/' . $fecha[1] . '/' . $fecha[0].'<br>';
+  if (variable_get('proyectos_operativos_muestra_mcti', TRUE)) {
+    $term = taxonomy_get_term($node->field_proyecto_mcti[0]['value']);
+    $output .= '<b>' . $fields['field_proyecto_mcti']['widget']['label'] . ':</b> '.$term->name.'<br>';
+  }
+  if (variable_get('proyectos_operativos_muestra_pndes', TRUE)) {
+    //$term = taxonomy_get_term($node->field_proyecto_pndes[0]['value']);
+    $PP = array_reverse(taxonomy_get_parents_all($node->field_proyecto_pndes[0]['value']));
+    //$PP = explode('.', $term->name);
+    if (isset($PP[0])) {
+      $output .= '<b>' . t('Objetivo HistÃ³rico') . ':</b> '. $PP[0]->name . ' - ' . $PP[0]->description . '<br>';
+    }
+    if (isset($PP[1])) {
+      $output .= '<b>' . t('Objetivo Nacional') . ':</b> '. $PP[1]->name . ' - ' . $PP[1]->description . '<br>';
+    }
+    if (isset($PP[2])) {
+      $output .= '<b>' . t('Objetivo EstratÃ©gico') . ':</b> '. $PP[2]->name . ' - ' . $PP[2]->description . '<br>';
+    }
+    if (isset($PP[3])) {
+      $output .= '<b>' . t('Objetivo General') . ':</b> '. $PP[3]->name . ' - ' . $PP[3]->description . '<br>';
+    }
+  }
   $output .= '</fieldset>';
   
@@ -81,18 +115,7 @@
 function _mostrar_indicadores_metafisica_seg_proyecto($node) {
   $output = '';
-  $meses = array(
-    0 => t('January'),
-    1 => t('February'), 
-    2 => t('March'), 
-    3 => t('April'),
-    4 => t('May'),
-    5 => t('June'),
-    6 => t('July'),
-    7 => t('August'),
-    8 => t('September'),
-    9 => t('Octuber'),
-    10 => t('November'),
-    11 => t('December'),
-  );
+  $years = variable_get('accion_especifica_de_proyecto_seguimiento_anho_seguimiento', 0);
+  $mess = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0) - 1;
+  $meses = json_decode(MESES);
   $format_number = array(
     'decimals' => variable_get('proyectos_operativos_number_decimals', 0),
@@ -100,24 +123,22 @@
     'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'),
   );
-  //tabla de indicadores financieros de la accion especifica
+  //tabla de indicadores financieros de la accion especific
+  $seg_metafisica_todos = _seguimiento_metafisica_todosmes_proyecto_load($node);
   $tablas = array();
   
   $header = array();
   $header[] = array('data' => t('Mes')); 
-  $header[] = array('data' => t('Planificado')); 
-  $header[] = array('data' => t('Ejecutado')); 
+  $header[] = array('data' => t('Planificado'));
+  $header[] = array('data' => t('Ejecutado'));
   $header[] = array('data' => t('% de Logro')); 
   $header[] = array('data' => t('Estatus de EjecuciÃ³n')); 
   $header[] = array('data' => t('InformaciÃ³n Complementaria')); 
   $header[] = array('data' => t('Opciones Disponibles'),); 
-  
-  $seg_metafisica_todos = _seguimiento_metafisica_todosmes_proyecto_load($node);
     
   $rows = array();
-  for($i=0; $i<12; $i++){
-    
+  $acumulativo = TRUE;
+  for($i=0; $i<12; $i++) {
     //calcular variacion por reformulacion
     $variacion_planificado_mes = _seguimiento_mesactual_metafisica_proyecto_reformulaciones_load($node, $i);
-      
     $planificadoMes = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['planificadoMes'] + $variacion_planificado_mes;
     $Ejecutado = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['ejecutadoMes'];
@@ -138,8 +159,15 @@
       $row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona);
       $row[] = array('data' => $infocomplementaria_metafisica,);
-            
-      if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($i))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){
+
+      $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $i);
+      if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)){
+
+        $title = ' ' . t('Agregar');
+        if ($seguimiento_proyecto['segmes']['estado']) {
+          $title = ' ' . t('Modificar');
+        }
+
         $links = array();
-        $links[] = '<b>'.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $i . '/edit').'</b>';
+        $links[] = '<b>'.l( $title, 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . $i . '/edit/comentario_metafisica').'</b>';
         $row[] = array('data' => theme('item_list', $links),);
       }else{
@@ -159,7 +187,15 @@
   $AcumuladoEjecutado = $seg_metafisica_todos['acum']['acumuladoEjecutado'];
   $row = array();
-  $row[] = array('data' => t('Acumulado'),);
+
+  if (is_numeric($node->es_acumulativo) && !$node->es_acumulativo) {
+    $row[] = array('data' => t('Acumulado'),);
+  }
+
   $row[] = array('data' => number_format($acumuladoPlanificado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);
-  $row[] = array('data' => number_format($AcumuladoEjecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total ejecutado
+
+  if (is_numeric($node->es_acumulativo) && !$node->es_acumulativo) {
+    $row[] = array('data' => number_format($AcumuladoEjecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total ejecutado
+  }
+
   $row[] = array('data' => '', 'colspan' => 4);
   $rows[] = $row;
@@ -188,5 +224,5 @@
   $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL);
   $seguimiento_todos_meses_financiero = _seguimiento_financiero_todosmes_proyecto_load($node);
-  
+  $years = variable_get('accion_especifica_de_proyecto_seguimiento_anho_seguimiento', 0);
   $meses = array(
     0 => t('January'),
@@ -252,6 +288,14 @@
       $row[] = array('data' => $infocomplementaria_financiera,);
       $links = array();
-      if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($mes))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){
-        $links[] = '<b>'.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $mes . '/edit').'</b>';
+      if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $mes)){
+        $title = ' ' . t('Modificar');
+        if (!_proyecto_seguimiento_mes_mover_estado_access($node, $mes)) {
+          $transiciones = _obtener_transiciones_disponibles_proyecto($node, $mes);
+          if (!count($transiciones['transic']) && $transiciones['estado_actual']<0){
+            $title = ' ' . t('Agregar');
+            $sn++;
+          }
+        }
+        $links[] = '<b>'.l(t($title), 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . ($mes) . '/edit/comentario_informacionfinanciera').'</b>';
       }
       $row[] = array('data' => theme('item_list', $links),);
@@ -322,7 +366,5 @@
   $header[] = array('data' => t('NOV'));
   $header[] = array('data' => t('DIC')); 
-  $header[] = array('data' => t('TOTAL'),); 
-  
-  
+  $header[] = array('data' => t('TOTAL'),);   
   $rows = array();
   foreach($seguimiento_todos_meses_beneficiario as $seg_benef){
@@ -343,5 +385,5 @@
           
   if (count($tablas)) {
-    $output .= '<fieldset><legend>Beneficiarios del Proyecto (Durante la EjecuciÃ³n)</legend>' . implode('', $tablas);
+    $output .= '<fieldset><legend>' . t('Beneficiarios del Proyecto (Durante la EjecuciÃ³n)') . '</legend>' . implode('', $tablas);
     $output .= '</fieldset>';
   }
@@ -356,10 +398,10 @@
 
   drupal_set_title(t('Seguimiento y Control del Proyecto y sus Acciones EspecÃ­ficas'));
-  
+ /* 
   $output = '';
   $output .= '<br>';
   
   //acciones especificas
-  $output .= '<h4>Acciones EspecÃ­ficas</h4>';
+  $output .= '<h4>' . t('Acciones EspecÃ­ficas') . '</h4>';
   $header = array();
   $header[] = array('data' => t('Nombre de la AcciÃ³n EspecÃ­fica')); 
@@ -374,5 +416,5 @@
       $links = array();
       $row[] = array('data' => $accion_esp_load->titulo_asignado,);
-      $links[] = '<b>'.l(t('Seguimiento de la AE'), 'node/' . $accion_esp_load->nid . '/seguimiento_aeproyecto').'</b>';
+      $links[] = '<b>'.l(t('Seguimiento de la AE'), 'proyectosop/' . $node->nid . '/seguimiento/ae/' . $accion_esp_load->nid . '/view') . '</b>';
       $row[] = array('data' => theme('item_list', $links),);
       $rows[] = $row;
@@ -383,5 +425,5 @@
   
   //proyecto
-  $output .= '<h4>Proyecto Operativo</h4>';
+  $output .= '<h4>' . t('Proyecto Operativo') . '</h4>';
   $header = array();
   $header[] = array('data' => t('Nombre del Proyecto')); 
@@ -393,34 +435,87 @@
   $links = array();
   $row[] = array('data' => $node->titulo_asignado,);
-  $links[] = '<b>'.l(t('Seguimiento del Proyecto'), 'node/' . $node->nid . '/seguimiento_proyecto').'</b>';
+  $links[] = '<b>'.l(t('Seguimiento del Proyecto'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto').'</b>';
   $row[] = array('data' => theme('item_list', $links),);
   $rows[] = $row;
   
   $output .= theme('table', $header, $rows);
-  
+*/
   
   //$nodo_proyecto = node_load($proyecto->nid);
-  if(_proyectooperativo_esta_aprobado($node)){
-    
-    $meses = array(
-      0 => t('January'),
-      1 => t('February'), 
-      2 => t('March'), 
-      3 => t('April'),
-      4 => t('May'),
-      5 => t('June'),
-      6 => t('July'),
-      7 => t('August'),
-      8 => t('September'),
-      9 => t('Octuber'),
-      10 => t('November'),
-      11 => t('December'),
-    );
-    
+  if (_proyectooperativo_esta_aprobado($node)) {
+
+  $output .= '<br>' . t('Estimado(a) Usuario(a), para ingresar el <b>Seguimiento del Proyecto Operativo</b> debe <i>ingresar primero</i> los <b>Seguimiento de las Acciones EspecÃ­ficas</b> del mismo, los cuales se muestran a continuaciÃ³n.<br>');
+
     $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
-    $enlace_fase_seg = '<b>'.l(t('Fase de Seguimiento ').'('.$meses[$mes_fase_seg].')', 'node/' . $node->nid."/fase_de_seguimiento_proyecto_y_aes/mes/".$mes_fase_seg).'</b>';
-    $output .= '<br><br>';
-    $output .= 'TambiÃ©n puede consultar la <i>fase de seguimiento</i> del mes actual para este proyecto operativo a travÃ©s del siguiente enlace '.$enlace_fase_seg.'.';
-    $output .= '<br>';
+    $transiciones_dispo = _obtener_transiciones_disponibles($form['#node'], $form['#mes']);
+
+    $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $mes_fase_seg);
+    $state_name = t("Por ingresar");
+    if (workflow_get_state_name($seguimiento_proyecto['segmes']['estado'])) {
+      $state_name = workflow_get_state_name($seguimiento_proyecto['segmes']['estado']);
+    }
+    $output .= '<h4>' . t('Estado del Seguimiento: ') . $state_name . '</h4><hr>';
+    $meses = json_decode(MESES);
+    $cnt = variable_get('seguimiento_proyectos_cantidad_meses_seguimiento', 0);
+    $mes_seguimiento_proyecto_y_aes = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0);
+    //proyectosop/%proyectosop/seguimiento/proyecto_aes
+    if ($mes_seguimiento_proyecto_y_aes < ($mes_fase_seg+1)) {
+      $output = t('No se puede realizar el seguimiento, Estara disponible a partir de @mes, fecha de inicio del proyecto.', array('@mes' => $meses[$mes_fase_seg]));
+      $output .= '<br>';
+      return '<br><div class="messages warning">' . $output . '</div>';
+    }
+    else {
+      $output .= '<div style="background: #eee; padding: 10px; margin: -10px;"><h4><b>' . t('Acciones Especificas:', array('@mes' => $meses[$i])) . '</b>';
+      foreach($node->field_proyecto_accion_esp as $accion) {
+        $k++;
+        $accion_nid = (object) $accion;
+        $accion = node_load($accion_nid->nid);
+        $output .= "<h3> $k-) " . $accion->field_accion_titulo[0]['value'] . "</h3>";
+        $output .= "<ul>";
+
+        for ($i=$mes_fase_seg; $i<=$cnt; $i++) {
+          if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
+            $title = ' Modificar';
+            if (!_proyecto_seguimiento_mes_mover_estado_access($accion, $i)) {
+              $transiciones = _obtener_transiciones_disponibles($accion, $i);
+              if (!count($transiciones['transic']) && $transiciones['estado_actual']<0) {
+                $title =  ' Agregar';
+                $sn++;
+              }
+            }
+            $enlace_fase_seg = '<b>' . l(t('Fase de Seguimiento del mes de @mes', array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/ae/$accion_nid->nid/$i/edit") . '</b>';
+            $output .= '<li>' . t("$title la ") . ' ' . $enlace_fase_seg . '</li>';
+          }
+
+        }
+        $output .= '</ul>';
+        if (!_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
+          $enlace_fase_seg = '<b>'.l(t('Fase de Seguimiento'), 'proyectosop/' . $node->nid. "/seguimiento/ae/$accion_nid->nid/view") . '</b>';
+          $output .= t("Consultar el resumen de la ") . ' ' . $enlace_fase_seg;
+        }
+      }
+      $output .= '<b>' . l(t('Consultar el Resumen General de las Acciones Especificas', array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/ae") . '</b></div>';
+
+      $output .= '<h4>' . t('Proyecto:') . '</h4>';
+      $output .= '<h3>' . $node->field_proyecto_titulo[0]['value'] . '</h3>';
+      $output .= t("Consultar ") . '<b>' . l(t('el resumen general del proyecto y reportar el seguimiento.'), 'proyectosop/' . $node->nid. "/seguimiento/proyecto") . '</b>';
+      if (_proyecto_seguimiento_mes_mover_estado_access($node, $mes_fase_seg, true)) {
+        $output .= '<br><b>'.l(t('Enviar el Seguimiento'), 'proyectosop/' . $node->nid. "/seguimiento/workflow") . '.</b> (' . t("Haga Click Para reportar el seguimiento del proyecto") . ')<br>';
+      }
+      $output .= '<ul>';
+      for ($i=$mes_fase_seg; $i<=$cnt; $i++) {
+        if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
+          if ($transiciones_dispo = _obtener_transiciones_disponibles_proyecto($node, $i)) {
+            $title = t(' Modificar');
+            if (!count($transiciones_dispo['transic'])  && $transiciones_dispo['estado_actual']<0) {
+               $title = t(' Agregar');
+            }
+             $output .= '<li>'. $title . '<b>' . l(t(" el Seguimiento y Control de Proyecto Operativo de @mes", array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/proyecto/$i/edit/full") . '</b></li>';
+          }
+        }
+      }
+      $output .= '</ul>';
+
+    }
   }
 
