Conjunto 6e81fb4 en sipes


Ignorar:
Fecha y hora:
26/09/2018 10:51:39 (hace 6 años)
Autor:
José Gregorio Puentes <jpuentes@…>
Branches:
stable
Children:
a609c96
Parents:
f8d6cf8
Mensaje:

se agregaron los cambios referentes al plan de la patria y otros campos

Ubicación:
0.3-modules/continuarproyectosopplurianual
Ficheros:
2 añadidos
2 editados

Leyenda

No modificado
Añadido
Eliminado
  • 0.3-modules/continuarproyectosopplurianual/continuarproyectosopplurianual.install

    r66ea143 r6e81fb4  
    289289
    290290  $content['fields'][] = array (
    291     'label' => 'Proyecto operativo Plurianual Base',
     291    'label' => 'Proyecto operativo Plurianual',
    292292    'type_name' => 'accion_especifica',
    293293    'field_name' => 'field_ae_proyectobase',
  • 0.3-modules/continuarproyectosopplurianual/continuarproyectosopplurianual.module

    r0f96486 r6e81fb4  
    9797    $form['continuarproyectosopplurianual']['continuarproyectosopplurianual_mcti'] = array(
    9898      '#type' => 'checkbox',
    99       '#title' => t('Políticas Direccionales'),
     99      '#title' => t('Restringir fecha de las AES'),
    100100      '#description' => t('Permitir editar el campo de Políticas Pireccionales'),
    101101      '#default_value' => variable_get('continuarproyectosopplurianual_mcti', 1),
     
    107107    $plurianual = $form['#node']->nid && ($proyecto->field_proyecto_plurianual[0]['value'] == variable_get('proyectos_operativos_plurianual', 0) && $form['#node']->{$campo}[0]['nid'] && is_numeric($form['#node']->{$campo}[0]['nid']) && !$form['#node']->{$campo}[0]['nid'] != $form['#node']->nid);
    108108    $campos_disable = array();
    109     if ($plurianual) {
     109    if (!$plurianual) {
     110      return;
     111    }
    110112      $campos = _continuar_proyecto_get_fieldsbyformstep();
    111113      $campos_form = $campos[$form['#node']->type][$form_id];
    112114      //se agregar el campo de fecha de finalización para que pueda ser modificado
    113115      if ($form_id == 'proyectos_operativos_proyecto_basico_form') {
    114         $campos_form['field_proyecto_fecha_i'] = 'field_proyecto_fecha_i';
    115116        $campos_form['field_proyecto_fecha_f'] = 'field_proyecto_fecha_f';
     117        //$campos_form['field_proyecto_pndes'] = 'field_proyecto_pndes';
    116118      }
    117119      elseif($form_id == 'proyectos_operativos_accion_especifica_crear_form') {
    118         $campos_form['field_accion_esp_fechai'] = 'field_accion_esp_fechai';
    119120        $campos_form['field_accion_esp_fechaf'] = 'field_accion_esp_fechaf';
    120121      }
    121       if (count($campos_form)) {
    122         $proyectos_operativos_fields = array();
    123         $campos_esenciales = _continuar_proyecto_campos_esenciales();
    124         $form['#campos_esenciales'] = array();
    125         $display_ids = array();
    126         foreach($form['#proyectos_operativos_fields'] as $id) {
    127           if (isset($form[$id]) && !isset($campos_form[$id]) && !isset($display_ids[$id])) {
    128             if (isset($campos_esenciales[$form_id][$id])) {
    129               $form['#campos_esenciales'][$id] = $id;
    130             }
    131             $display_ids[$id] = $id;
    132             $titulo = $form['#field_info'][$id]['widget']['label'];
    133             unset($form[$id]);
    134             $vid = isset($form['#field_info'][$id]['vid']) && is_numeric($form['#field_info'][$id]['vid'])? $form['#field_info'][$id]['vid'] : 0;
    135             $items = array();
    136             $inputs = array();
    137             $sql_implode = array();
    138             $options = array();
    139             if ($form['#field_info'][$id]['widget']['type'] == 'optionwidgets_select') {
    140               $list = explode("\n", $form['#field_info'][$id]['allowed_values']);
    141               $list = array_map('trim', $list);
    142               $list = array_filter($list, 'strlen');
    143               foreach ($list as $opt) {
    144                 // Sanitize the user input with a permissive filter.
    145                 $opt = content_filter_xss($opt);
    146                 if (strpos($opt, '|') !== FALSE) {
    147                   list($key, $value) = explode('|', $opt);
    148                   $options[$key] = (isset($value) && $value !=='') ? $value : $key;
    149                 }
    150                 else {
    151                   $options[$cid][$opt] = $opt;
    152                 }
    153               }
    154             }
    155             foreach($form['#node']->{$id} as $valores) {
    156               if (isset($form['#field_info'][$id]['columns']['nid'])){
    157                 foreach($valores as $id1 => $valor){
    158                   $inputs[] = $valor;
    159                   $sql_implode[] = '%d';
    160                 }
     122
     123    if (count($campos_form)) {
     124      $proyectos_operativos_fields = array();
     125      $campos_esenciales = _continuar_proyecto_campos_esenciales();
     126      $form['#campos_esenciales'] = array();
     127
     128
     129
     130      $display_ids = array();
     131      foreach($form['#proyectos_operativos_fields'] as $id) {
     132        if (isset($form[$id]) && !isset($campos_form[$id]) && !isset($display_ids[$id])) {
     133          if (isset($campos_esenciales[$form_id][$id])) {
     134            $form['#campos_esenciales'][$id] = $id;
     135          }
     136          $display_ids[$id] = $id;
     137          $titulo = $form['#field_info'][$id]['widget']['label'];
     138          unset($form[$id]);
     139          $vid = isset($form['#field_info'][$id]['vid']) && is_numeric($form['#field_info'][$id]['vid'])? $form['#field_info'][$id]['vid'] : 0;
     140          $items = array();
     141          $inputs = array();
     142          $sql_implode = array();
     143          $options = array();
     144          if ($form['#field_info'][$id]['widget']['type'] == 'optionwidgets_select') {
     145
     146            $list = explode("\n", $form['#field_info'][$id]['allowed_values']);
     147            $list = array_map('trim', $list);
     148            $list = array_filter($list, 'strlen');
     149            foreach ($list as $opt) {
     150              // Sanitize the user input with a permissive filter.
     151              $opt = content_filter_xss($opt);
     152              if (strpos($opt, '|') !== FALSE) {
     153                list($key, $value) = explode('|', $opt);
     154                $options[$key] = (isset($value) && $value !=='') ? $value : $key;
    161155              }
    162156              else {
    163                 foreach($valores as $id1 => $valor){
    164                   if ($vid) {
    165                     $padres = $valor && is_numeric($valor)? taxonomy_get_parents_all($valor) : array();
    166                     $lista = array();
    167                     foreach($padres as $term){
    168                       $lista[] = $term->name;
    169                     }
    170                     $items[] = implode(' > ', $lista);
     157                $options[$cid][$opt] = $opt;
     158              }
     159            }
     160          }
     161          foreach($form['#node']->{$id} as $valores) {
     162            if (isset($form['#field_info'][$id]['columns']['nid'])){
     163              foreach($valores as $id1 => $valor){
     164                $inputs[] = $valor;
     165                $sql_implode[] = '%d';
     166              }
     167            }
     168            else {
     169              foreach($valores as $id1 => $valor){
     170                if ($vid) {
     171                  $padres = $valor && is_numeric($valor)? taxonomy_get_parents_all($valor) : array();
     172                  $lista = array();
     173                  foreach($padres as $term){
     174                    $lista[] = $term->name;
    171175                  }
    172                   else{
    173                     $display_ids[$id] = $id;
    174                     $mostrar = isset($options[$valor])? $options[$valor] : $valor;
    175                     $items[] = $mostrar;
    176                   }
    177                }
     176                  $items[] = implode(' > ', $lista);
     177                }
     178                else{
     179                  $display_ids[$id] = $id;
     180                  $mostrar = isset($options[$valor])? $options[$valor] : $valor;
     181                  $items[] = $mostrar;
     182                }
    178183             }
    179              if (count($inputs)) {
    180                $sql = 'SELECT nid, title FROM {node} WHERE nid in(' . implode(', ', $sql_implode) . ')';
    181                $result = db_query($sql, $inpunts);
    182                while($nodo = db_fetch_object($result)) {
    183                  $items[] = $nodo->title;
    184                }
    185              }
    186            }
    187            $display = count($items) > 1? theme('item_list', $items) : implode(' ',$items);
    188            $form[$id] = array(
    189              '#value' => '<div id="edit-field-proyecto-' . $id . '-0-value-wrapper" class="form-item"><label for="edit-field-proyecto-' . $id . '-0-value">' . $titulo . '</label>' . $display . '</div>',
     184            }
     185            if (count($inputs)) {
     186              $sql = 'SELECT nid, title FROM {node} WHERE nid in(' . implode(', ', $sql_implode) . ')';
     187              $result = db_query($sql, $inpunts);
     188              while($nodo = db_fetch_object($result)) {
     189                $items[] = $nodo->title;
     190              }
     191            }
     192          }
     193          $display = count($items) > 1? theme('item_list', $items) : implode(' ',$items);
     194          $form[$id] = array(
     195            '#value' => '<div id="edit-field-proyecto-' . $id . '-0-value-wrapper" class="form-item"><label for="edit-field-proyecto-' . $id . '-0-value">' . $titulo . '</label>' . $display . '</div>',
    190196            '#access' => TRUE,
    191            );
    192            }
    193           elseif (!isset($display_ids[$id])) {
    194             $proyectos_operativos_fields[$id] = $id;
    195           }
     197          );
    196198        }
    197         if (count($form['#campos_esenciales'])) {
    198           $form['#validate'][] = 'continuarproyectosopplurianual_disable_form_validate';
     199        elseif (!isset($display_ids[$id])) {
     200          $proyectos_operativos_fields[$id] = $id;
    199201        }
     202      }
    200203      $form['#proyectos_operativos_fields'] = $proyectos_operativos_fields;
    201       }
    202     }
     204      if (count($form['#campos_esenciales'])) {
     205        $form['#validate'][] = 'continuarproyectosopplurianual_disable_form_validate';
     206      }
     207
     208
     209      $continuarproyectosopplurianual_path = drupal_get_path('module', 'continuarproyectosopplurianual');
     210      drupal_add_js($continuarproyectosopplurianual_path . '/js/continuarproyectosopplurianual.js');
     211      drupal_add_js(array('continuarproyectosopplurianual' => array('plurianual' => $campos_disable)), 'setting');
     212    }
     213    $form['#proyectos_operativos_fields'] = $proyectos_operativos_fields;
     214    $form['#continuarproyectosopplurianual'] = $campos_disable;
    203215  }
    204216}
     
    217229  }
    218230}
    219 
    220231/*
    221232 * Implementation of hook_menu()
     
    250261    }
    251262  }
    252   $year_p = variable_get('proyectos_operativos_anho_creacion', 0);
    253263  //se verifica que no exista un proyecto plurianual ya creado para este periodo
    254   $sql = 'SELECT p.nid, n.title FROM {content_type_proyectos_operativos} AS p INNER JOIN {node} AS n ON n.nid = p.nid AND n.vid = p.vid AND n.status > 0 INNER JOIN {proyectos_operativos} AS po ON po.nid = p.nid INNER JOIN {workflow_node} AS w ON w.nid = p.nid AND w.sid != %d  WHERE (p.field_proyecto_plurianualb_nid = %d OR p.nid = %d) AND po.year = %d';
     264  $sql = 'SELECT * FROM {content_type_proyectos_operativos} AS p INNER JOIN {node} AS n ON n.nid = p.nid AND n.vid = p.vid INNER JOIN {proyectos_operativos} AS po ON po.nid = p.nid WHERE (field_proyecto_plurianualb_nid = %d OR nid = %d) AND po.year = %d';
    255265  $inpunts = array();
    256   $inpunts[] = variable_get('proyectos_operativos_state_naprobado', NULL);
    257266  $inpunts[] = $node->nid;
    258267  $inpunts[] = $node->nid;
     268  $year_p = variable_get('proyectos_operativos_anho_creacion', 0);
    259269  $inpunts[] = $year_p;
    260270  $result = db_query($sql, $inpunts);
     
    309319  $form['#node'] = $proyecto;
    310320  //Se obtienen las AE disponibles para el nuevo proyecto plurianual
    311   $sql = "SELECT aet.field_accion_titulo_value AS titulo, aet.nid, aet.field_accion_esp_fechai_value AS fechai, aet.field_accion_esp_fechaf_value AS fechaf FROM {content_type_proyectos_operativos} AS po INNER JOIN {content_field_proyecto_accion_esp} AS ae ON ae.nid = po.nid AND ae.vid = po.vid INNER JOIN {node} AS n ON n.nid = ae.field_proyecto_accion_esp_nid INNER JOIN {content_type_accion_especifica} AS aet ON aet.nid = n.nid AND aet.vid = n.vid WHERE po.field_proyecto_plurianualb_nid = %d OR (po.nid = %d AND po.vid = %d)";
     321  $sql = "SELECT aet.field_accion_titulo_value AS titulo, aet.nid FROM {content_type_proyectos_operativos} AS po INNER JOIN {content_field_proyecto_accion_esp} AS ae ON ae.nid = po.nid AND ae.vid = po.vid INNER JOIN {node} AS n ON n.nid = ae.field_proyecto_accion_esp_nid INNER JOIN {content_type_accion_especifica} AS aet ON aet.nid = n.nid AND aet.vid = n.vid WHERE po.field_proyecto_plurianualb_nid = %d OR (po.nid = %d AND po.vid = %d)";
    312322  $inpunts = array();
    313323  $inpunts[] = $proyecto->nid;
     
    316326  if (variable_get('continuarproyectosopplurianual_aes', 0)) {
    317327    $year = variable_get('proyectos_operativos_anho_creacion', 0);
    318     $sql .= " AND aet.field_accion_esp_fechai_value <= '%s' AND  aet.field_accion_esp_fechaf_value >= '%s'";
     328    $sql .= " aet.field_accion_esp_fechai_value <= '%s' AND  aet.field_accion_esp_fechaf_value >= '%s'";
    319329    $inpunts[] = ($year + 1) . '-01-01 00:00:00';
    320330    $inpunts[] = ($year - 1) . '-12-31 00:00:00';
     
    329339    '#collapsed' => FALSE,
    330340  );
    331   while($ae = db_fetch_object($result)) {
    332     $fechai = explode(' ', $ae->fechai);
    333     $fechai = explode('-', $fechai[0]);
    334     $fechaf = explode(' ', $ae->fechaf);
    335     $fechaf = explode('-', $fechaf[0]);
    336     $fechas = array();
    337     //solo deje agregar ae que tienen bien establecidas sus fechas
    338     if (count($fechai) == 3 && count($fechaf) == 3) {
    339       $fechas[0] = $fechai[2] . '/' . $fechai[1] . '/' . $fechai[0];
    340       $fechas[1] = $fechaf[2] . '/' . $fechaf[1] . '/' . $fechaf[0];
    341       $titulo = t('AE: @AE (Fechas de ejecución: @fechai al @fechaf)', array('@AE' => $ae->titulo, '@fechai' => $fechas[0], '@fechaf' => $fechas[1]));
    342       $form['ae']['ae_' . $ae->nid] = array(
    343         '#type' => 'checkbox',
    344         '#title' => check_plain($titulo),
    345         '#default_value' => FALSE,
    346       );
    347       $aes[$ae->nid] = $ae->titulo;
    348     }
     341  while($ae = db_fetch_object($result)) {
     342    $form['ae']['ae_' . $ae->nid] = array(
     343      '#type' => 'checkbox',
     344      '#title' => check_plain($ae->titulo),
     345      '#default_value' => FALSE,
     346    );
     347    $aes[$ae->nid] = $ae->titulo;
    349348  }
    350349  $form['#ae'] = $aes;
    351350  $form['buttons']['registrar'] = array(
    352351    '#type' => 'submit',
    353     '#default_value' => t('Continuar Proyecto Plurianual'),
     352    '#default_value' => t('Agregar Proyecto Plurianual'),
    354353    '#weight' => 100,
    355354  );
     
    362361  $form['#submit'] = array('continuarproyectosopplurianual_agregar_proyectos_operativo_form_submit');
    363362  return $form;
     363}
     364
     365/*
     366 * Implementation of proyectos_operativos_proyecto_basico_form_validate()
     367 * Validar formulario de datos basicos (proyectos operativos).
     368 */
     369function continuarproyectosopplurianual_agregar_proyectos_operativo_form_validate($form, &$form_state) {
     370  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
     371  if ($op == t('Cancelar')) {
     372    return;
     373  }
    364374}
    365375
     
    387397    $new_aes_title = array();
    388398    foreach($form['#ae'] as $nid => $title) {
    389       if ($form_state['values']['ae_' . $nid]) {
     399      if ($form_state['values']['ae_' . $ae->nid]) {
    390400        $nueva_ae = _continuar_clonar_proyecto_aes($nid, $nuevo_proyecto->nid);
    391401        if ($nueva_ae && $nueva_ae->nid) {
     
    469479      }
    470480      elseif($node->type == 'proyectos_operativos') {
    471         $node_load->field_proyecto_accion_esp = array();
    472481        $node_load->anhoproyectos_operativos = variable_get('proyectos_operativos_anho_creacion', 0);
    473482      }
     
    486495    'proyectos_operativos' => array(
    487496      'proyectos_operativos_proyecto_basico_form' => array(
    488        // 'field_proyecto_fecha_i' => 'field_proyecto_fecha_i',
    489        // 'field_proyecto_fecha_f' => 'field_proyecto_fecha_f',
     497        'field_proyecto_pndes' => 'field_proyecto_pndes',
     498        'field_proyecto_causas' => 'field_proyecto_causas',
     499        'field_proyecto_problemas' => 'field_proyecto_problemas',
     500        'field_proyecto_justificacion' => 'field_proyecto_justificacion',
     501        //update 6000
     502        'field_proyecto_alcance' => 'field_proyecto_alcance',
     503        'field_lineas_estrategicas' => 'field_lineas_estrategicas',
     504        'field_poli_ministeriales' => 'field_poli_ministeriales',
     505        'field_proyectos_programas' => 'field_proyectos_programas',
     506        'field_montos_otras_moneds' => 'field_montos_otras_moneds',
     507        'field_proyecto_fecha_i' => 'field_proyecto_fecha_i',
     508        'field_proyecto_fecha_f' => 'field_proyecto_fecha_f',
    490509        'field_proyecto_monto_ant' => 'field_proyecto_monto_ant',
    491510        'field_proyecto_monto_anual' => 'field_proyecto_monto_anual',
     
    510529        'field_proyecto_tel_r_adm' => 'field_proyecto_tel_r_adm',
    511530        'field_proyecto_und_r_adm' => 'field_proyecto_und_r_adm',
     531        'field_proyecto_ubicaci_inter' => 'field_proyecto_ubicaci_inter',
     532        'field_proyecto_codigo_comu' => 'field_proyecto_codigo_comu',
     533        'field_proyecto_nombres_cum' => 'field_proyecto_nombres_cum',
     534        'field_proyecto_ubicaci_comu' => 'field_proyecto_ubicaci_comu',
     535        'field_proyecto_poan' => 'field_proyecto_poan',
    512536      ),
    513537      'proyectos_operativos_proyecto_generales_form' => array(
     
    524548      ),
    525549      'proyectos_operativos_proyecto_indicadores_form' => array(
     550        //'field_proyecto_pndes' => 'field_proyecto_pndes',
     551        //'field_proyecto_causas' => 'field_proyecto_causas',
     552        //'field_proyecto_problemas' => 'field_proyecto_problemas',
     553        //'field_proyecto_justificacion' => 'field_proyecto_justificacion',
     554        //'field_proyecto_alcance' => 'field_proyecto_alcance',
    526555        'field_proyecto_descripcion_bien' => 'field_proyecto_descripcion_bien',
    527556        'field_proyecto_unidadm' => 'field_proyecto_unidadm',
     
    556585        'field_factor_importancia' => 'field_factor_importancia',
    557586        'field_factor_medids_impact' => 'field_factor_medids_impact',
     587
     588
    558589        'field_proyecto_sa_descripcion' => 'field_proyecto_sa_descripcion',
    559590        'field_proyecto_sa_formulai' => 'field_proyecto_sa_formulai',
     
    562593        'field_proyecto_so_descripcion' => 'field_proyecto_so_descripcion',
    563594        'field_proyecto_tiempoi' => 'field_proyecto_tiempoi',
     595
    564596      ),
    565597      'otros' => array( 
     
    570602    'accion_especifica' => array(
    571603      'proyectos_operativos_accion_especifica_crear_form' => array(
    572        // 'field_accion_esp_fechai' => 'field_accion_esp_fechai',
    573        // 'field_accion_esp_fechaf' => 'field_accion_esp_fechaf',
     604        'field_accion_esp_fechai' => 'field_accion_esp_fechai',
     605        'field_accion_esp_fechaf' => 'field_accion_esp_fechaf',
    574606        'field_accion_esp_ejecutor' => 'field_accion_esp_ejecutor',
    575607        'field_accion_esp_bien' => 'field_accion_esp_bien',
     
    584616        'field_accion_esp_programacion' => 'field_accion_esp_programacion',
    585617        'field_accion_esp_unidadm' => 'field_accion_esp_unidadm',
     618        'field_ae_finamonedas' => 'field_ae_finamonedas',
    586619      ),
    587620      'otros' => array( 
     
    605638    }
    606639  }
     640
    607641  return $arreglo;
    608642}
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.