Ignorar:
Fecha y hora:
09/06/2016 11:30:27 (hace 8 años)
Autor:
eramirez <eramirez@…>
Branches:
stable, version-3.0
Children:
a20fcb5
Parents:
2db5c18
Mensaje:

e modifico el modulo

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • 0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module

    r303fae2 r1d97659  
    7474}
    7575
     76/**
     77 * Implementation of hook_nodeapi()
     78 */
     79function proyectos_operativos_mcti_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
     80  switch ($op) {
     81    case 'presave':
     82      if ($node->type == 'proyectos_operativos') {
     83        $zerofill = 5;
     84        $num = db_result(db_query("SELECT id FROM {proyectos_operativos} WHERE nid = %d", $node->nid));
     85        $codigo = str_pad($num, $zerofill, '0', STR_PAD_LEFT);
     86        $node->field_proyecto_codigo = array(array('value' => $codigo));
     87        $node->title = $codigo;
     88      }
     89    break;
     90  }
     91}
     92
    7693/*
    7794 * Impletations of hook_form_alter()
    7895 */
    7996function proyectos_operativos_mcti_form_alter(&$form, $form_state, $form_id) {
     97  if ($form_id=='views_exposed_form' &&  $form['#id'] == 'views-exposed-form-ente-planificador-hierarchical-default') {//exclude to filters
     98    global $user;
     99    $ente = usuario_tiene_ente($user->uid);
     100    $ente_planificador = 0;
     101    if ($ente && $ente->nid) {
     102      $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid);
     103    }
     104    if ($ente_planificador->tipo > 1) {
     105      $form['ambito']['#access'] = false;
     106      $form['#info']['filter-ambito']['label'] = 0;
     107      //sector
     108      $form['sector']['#access'] = false;
     109      $form['#info']['filter-sector']['label'] = 0;
     110    }
     111  }
    80112  if (($form_id == 'views_exposed_form') && ($form['#id'] == 'views-exposed-form-ente-planificador-hierarchical-default')) {
    81113    global $user;
    82     $ente_planificador = node_load($user->entes);
     114    $ente = usuario_tiene_ente($user->uid);
     115    $ente_planificador = 0;
     116    if ($ente && $ente->nid) {
     117      $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid);
     118    }
     119/*    if ($ente_planificador->tipo > 1) {
     120      $form['ambito']['#access'] = false;
     121      $form['#info']['filter-ambito']['label'] = 0;
     122      //sector
     123      $form['sector']['#access'] = false;
     124      $form['#info']['filter-sector']['label'] = 0;
     125    }
     126*/
    83127    if ($form['organismo'] && ($ente_planificador->tipo == 2)) {
    84128      $roles2 = variable_get('roles_exclude_organismo', 0);
     
    243287      '#weight' => 0,
    244288      '#default_value' => variable_get('proyectos_operativos_muestra_causas_abordadas', TRUE),
    245           );
    246           $form['basicos']['proyectos_operativos_muestra_problemas_abordados'] = array(
     289    );
     290    $form['basicos']['proyectos_operativos_muestra_problemas_abordados'] = array(
    247291      '#type' => 'checkbox',
    248292      '#title' => t('Recolectar los problemas abordados.'),
     
    516560              '#size' => $fields[$field_id]['size'],
    517561              '#maxlength' => $fields[$field_id]['max_length'],
    518                                                         '#required' => $fields[$field_id]['required'],
    519                                                         '#options' => $years,
    520                                                         '#prefix' => $prefix,
     562              '#required' => $fields[$field_id]['required'],
     563              '#options' => $years,
     564              '#prefix' => $prefix,
    521565              '#suffix' => '</td>',
    522566            );
    523567          }
    524                 elseif ($field == 'field_progrmcn_anual_cap') {
     568          elseif ($field == 'field_progrmcn_anual_cap') {
    525569            $valor = isset($proyecto_leido->{$field_id}[$i]) ? $proyecto_leido->{$field_id}[$i]['value'] : '';
    526570            $form['programacion'][$field . '_' . $i] = array(
     
    592636       $tamano_array[] = count($proyecto_leido->{$field_id});
    593637     }
    594      $cantidad = max($tamano_array); 
     638     $cantidad = max($tamano_array);
    595639     $prefix = '';
    596640     $aux = '';
     
    604648       }
    605649       foreach ($arrreglo['servicios'] as $field_id => $field) {
    606              if ($field == 'field_balanc_anho') {
     650               if ($field == 'field_balanc_anho') {
    607651           $valor = isset($proyecto_leido->{$field_id}[$i]) ? $proyecto_leido->{$field_id}[$i]['value'] : '';
    608652           $form['balance'][$field . '_' . $i] = array(
     
    733777      $proyecto_leido = $proyecto;
    734778    }
     779
     780    $form['field_proyecto_codigo']['#access'] = false;
     781
    735782    //responsables de los proyectos
    736         $responsables_proye = variable_get('proyectos_operativos_muestra_responsables', TRUE);
    737     if ($responsables_proye) {
     783    if (variable_get('proyectos_operativos_muestra_responsables', TRUE)) {
     784
    738785      $arreglo = array();
    739       $field_form = array();
    740       $fields_form = array();
    741786      $fields_extra_form1 = array();
    742       global $user;
    743787      $form['responsables'] = array(
    744788        '#title' => t(''),
     
    747791        '#suffix' => '</div>',
    748792      );
    749       /*creando en campo field_proyecto_ente dentro de responsables
    750       unset($form['field_proyecto_ente']);
    751       $query_ins = db_query("SELECT nid, title FROM {node} WHERE type='ente_planificador' AND status=1 ORDER BY title");
    752       while ($row = db_fetch_object($query_ins)) {
    753               $instituciones[$row->nid] = $row->title;
    754       }
    755       $ente[$user->entes] = $instituciones[$user->entes]; //se establece la institucion por defecto
    756       $form['responsables']['field_proyecto_ente'] = array(
    757         '#title' => t('Insitución'),
    758         '#type' => 'select',
    759         //'#options' => $instituciones,
    760         '#options' => $ente,
    761         /*'#ahah' => array(
    762           'path' => 'proyectos_operativos_mcti_proyecto_basico_form_responsables/responsables',
    763           'wrapper' => 'wrapper-proyectos-resposab',
    764           'method' => 'replace',
    765           'progress' => array('type' => 'throbber', 'message' => t('Please wait...')),
    766         ),*
    767         '#default_value' => $ente,
    768         '#prefix' => '<div id="field_proyecto_ente_datos_basicos">',
    769         '#suffix' => '</div>',
    770       );
    771       if (!user_access('admin planificador')) {
    772         $form['responsables']['field_proyecto_ente']['#pre_render'][] = 'proyectos_operativos_proyecto_ente_field_pre_render';
    773       }*/
    774793      $ente_agregar = $form['#parameters'][3];
    775       $ente_planificador = 0;
     794      $ente_planificador = node_load(1298);
    776795      if ($proyecto && $proyecto->nid && $proyecto->field_proyecto_ente[0]['nid']) {
    777796        $ente_planificador = ente_planificador_leer_ente_planificadores($proyecto->field_proyecto_ente[0]['nid']);
     
    790809        '#title' => t('Insitución'),
    791810        '#type' => 'select',
    792         //'#options' => $instituciones,
    793811        '#options' => $options,
    794812        '#default_value' => $options,
     
    828846        3 => 'field_proyecto_tel_r_adm',
    829847        4 => 'field_proyecto_und_r_adm',
    830       );   
     848      );
    831849      $fields_form_administrativo = array();
    832      
    833       $query["gerente"] = db_query("SELECT DISTINCT(pp.field_proyecto_cedul_gere_value) as field_proyecto_cedul_gere, pp.vid, pp.field_proyecto_nombre_gere_value as field_proyecto_nombre_gere  FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC", $user->entes); 
    834       $query["tecnico"] = db_query("SELECT pp.vid, pp.field_proyecto_nom_r_tec_value as field_proyecto_nom_r_tec, pp.field_proyecto_ced_r_tec_value as field_proyecto_ced_r_tec FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC", $user->entes);
    835       $query["registrador"] = db_query("SELECT pp.vid, pp.field_proyecto_nom_r_reg_value as field_proyecto_nom_r_reg, pp.field_proyecto_ced_r_reg_value as field_proyecto_ced_r_reg FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC", $user->entes);
    836       $query["administrativo"] = db_query("SELECT pp.vid, pp.field_proyecto_nom_r_adm_value as field_proyecto_nom_r_adm, field_proyecto_ced_r_adm_value as field_proyecto_ced_r_adm FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC", $user->entes);
     850
     851      $query["gerente"] = db_query("SELECT DISTINCT(pp.field_proyecto_cedul_gere_value) as field_cedula, pp.field_proyecto_nombre_gere_value as field_nombre, pp.field_proyecto_corre_gere_email as field_email, pp.field_proyecto_telef_gere_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_cedul_gere_value DESC", $ente_planificador->nid);
     852
     853      $query["tecnico"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_tec_value) as field_cedula, pp.field_proyecto_nom_r_tec_value as field_nombre, pp.field_proyecto_cor_r_tec_email as field_email, pp.field_proyecto_tel_r_tec_value as field_tele, pp.field_proyecto_und_r_tec_value as field_unidad  FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_tec_value DESC", $ente_planificador->nid);
     854
     855      $query["registrador"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_reg_value) as field_cedula, pp.field_proyecto_nom_r_reg_value as field_nombre, pp.field_proyecto_cor_r_reg_email as field_email, pp.field_proyecto_tel_r_reg_value as field_tele FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_nom_r_reg_value DESC", $ente_planificador->nid);
     856
     857      $query["administrativo"] = db_query("SELECT DISTINCT(pp.field_proyecto_ced_r_adm_value) as field_cedula, field_proyecto_nom_r_adm_value as field_nombre, pp.field_proyecto_cor_r_adm_email as field_email, pp.field_proyecto_tel_r_adm_value as field_tele, pp.field_proyecto_und_r_adm_value as field_unidad FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND p.ente=%d AND n.status=1 AND pp.vid=n.vid ORDER BY pp.field_proyecto_ced_r_adm_value DESC", $ente_planificador->nid);
    837858     
    838859      $field_form = array();
     
    840861      $fields_extra_form1 = array();
    841862      $fields_extra_form1[] = 'field_proyecto_ente';
    842      
     863
    843864      foreach ($tipos as $tips => $tip) {
    844               $tam = '';
     865        $tam = '';
    845866        $prefixC = '';
    846                     $count = 0;
     867        $count = 0;
     868        $rows = array();
    847869        $options = array();
    848870        $options[0] = t('Seleccione');
    849871        while ($row = db_fetch_object($query[$tip])) {
    850           if ($row->$arreglo[$tip][0] != '' && $row->$arreglo[$tip][1] != '') {
    851             $options[$row->vid] = $row->$arreglo[$tip][0] .'('. $row->$arreglo[$tip][1] .')';
    852           }
    853         }
    854         $tamano = array_keys($options);
    855         $tamano = $tamano[1]+1;
    856         $options[$tamano] = t('Nuevo');
     872            $options[$row->field_cedula] = $row->field_nombre .'('. $row->field_cedula .')';
     873            $rows[$row->field_cedula] = array(
     874              'name' => $row->field_nombre,
     875              'cedula' => $row->field_cedula,
     876              'email' => $row->field_email,
     877              'phone' => $row->field_tele,
     878              'unidad' => $row->field_unidad,
     879            );
     880        }
     881        $resposables['responsables'][$tip] = $rows;
     882        drupal_add_js($resposables, 'setting');
     883
     884        $options[] = t('Nuevo');
    857885        $form['responsables']['default_'.$tip] = array(
    858886          '#type' => 'select',
    859887          '#title' => t('Cargar datos del '.$tip),
    860           '#default_value' => $form['#node']->vid,
     888          '#default_value' => isset($form['#node']->field_proyecto_ced_r_adm['und'][0]['value']) ? $form['#node']->field_proyecto_ced_r_adm['und'][0]['value'] : 0,
    861889          '#options' => $options,
    862890          '#prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '</legend>',
    863891        );
    864         $tam['tamano']['default_'.$tip] = $tamano;
    865         drupal_add_js($tam, 'setting');
    866 
    867892        if (count($fields)) {
    868                 foreach ($arreglo[$tip] as $field_id => $field) {
    869             $fields_extra_form1[] = $field;
     893          foreach ($arreglo[$tip] as $field_id => $field) {
    870894            $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>';
    871895          }
    872           $fields_extra_form[$tip] = $fields_extra_form1;
    873896          foreach ($arreglo[$tip] as $field_id => $field) {
    874                                   if ($proyecto_leido->{$field}) {
    875                                         foreach($proyecto_leido->{$field} as $id => $campo) {
    876                                         if ($proyecto_leido->{$field}[$id]['value']) {
    877                                                         $default = $proyecto_leido->{$field}[$id]['value'];     
    878                                         }
    879                                         elseif ($proyecto_leido->{$field}[$id]['email']) {
    880                                         $default = $proyecto_leido->{$field}[$id]['email'];
    881                                   }
    882                                   else {
    883                                             $default = $form_state['values'][$field];
    884                                         }
    885                           }
    886                                   }
    887                   $consulta['valores'][$tip][$id] = $default;
    888                   drupal_add_js($consulta, 'setting');
    889                
    890                         $prefix = '';
    891                         if ($count == 0) {
    892               $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';
     897            foreach ($form['#node']->{$field} as $id => $campo) {
     898                if ($form['#node']->{$field}[$id]['value']) {
     899                  $default = $form['#node']->{$field}[$id]['value'];   
     900                }
     901                elseif ($form['#node']->{$field}[$id]['email']) {
     902                  $default = $form['#node']->{$field}[$id]['email'];
     903                }
     904                else {
     905                  $default = $form_state['values'][$field];
     906                }
     907              }
     908              $prefix = '';
     909              if ($count == 0) {
     910                $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';
     911              }
     912              else {
     913                $prefix .= '<td>';
     914              }
     915              $form['responsables'][$field] = array(
     916                '#type' => 'textfield',
     917                '#required' => $fields[$field]['required'],
     918                '#maxlength' => $fields[$field]['max_length'],
     919                '#size' => $fields[$field]['size'],
     920                '#weight' => $fields[$field]['weight'],
     921                '#description' => $fields[$field]['description'],
     922                '#default_value' => $default,
     923                '#prefix' => $prefix,
     924                '#suffix' => '</td>',
     925                '#attributes' => array('class' => $tip),
     926              );
     927              if($field == 'field_proyecto_cedul_gere' || $field == 'field_proyecto_ced_r_tec' || $field == 'field_proyecto_ced_r_reg' || $field == 'field_proyecto_ced_r_adm') {
     928                $form['responsables'][$field]['#attributes'][] = array(
     929                  'placeholder' => t( 'VXXXXXXXX' ),
     930                );
     931              }
     932              if($field == 'field_proyecto_telef_gere' || $field == 'field_proyecto_tel_r_tec' || $field == 'field_proyecto_tel_r_reg' || $field == 'field_proyecto_tel_r_adm') {
     933                $form['responsables'][$field]['#attributes'][] = array(
     934                  'placeholder' => t( 'xxxx-xxxx-xxx' ),
     935                );
     936              }
     937              $aux = $field;
     938              $count++;
    893939            }
    894             else {
    895               $prefix .= '<td>';
    896             }
    897             $form['responsables'][$field] = array(
    898               '#type' => 'textfield',
    899               '#required' => $fields[$field]['required'],
    900               '#maxlength' => $fields[$field]['max_length'],
    901               '#size' => $fields[$field]['size'],
    902               '#weight' => $fields[$field]['weight'],
    903               '#description' => $fields[$field]['description'],
    904               '#default_value' => $default,
    905               '#prefix' => $prefix,
    906               '#suffix' => '</td>',
    907             );
    908             if($field == 'field_proyecto_cedul_gere' || $field == 'field_proyecto_ced_r_tec' || $field == 'field_proyecto_ced_r_reg' || $field == 'field_proyecto_ced_r_adm') {
    909               $form['responsables'][$field]['#attributes'] = array(
    910                 'placeholder' => t( 'VXXXXXXXX' ),
    911               );
    912                                   }
    913             if($field == 'field_proyecto_telef_gere' || $field == 'field_proyecto_tel_r_tec' || $field == 'field_proyecto_tel_r_reg' || $field == 'field_proyecto_tel_r_adm') {
    914               $form['responsables'][$field]['#attributes'] = array(
    915                 'placeholder' => t( 'xxxx-xxxx-xxx' ),
    916               );
    917                         }
    918             $aux = $field;
    919                         $count++;
    920           }
    921940          $form['responsables'][$aux]['#suffix'] .= '</tr>';
    922941          $form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>';
     
    925944     
    926945      $form['responsables'][$aux]['#suffix'] .= '</div>';
     946
    927947      foreach ($tipos as $tips => $tip) {
    928948        if (is_array($fields) && count($fields)) {
    929                                   foreach ($fields as $field_id => $field) {
     949          foreach ($fields as $field_id => $field) {
    930950            foreach ($arreglo[$tip] as $clave => $campo) {
    931                                 if ($campo == $field_id) {
    932                 $field_form[] = $field_id;
    933                 $fields_form[] = $field_id;
    934                                   }
     951             if ($campo == $field_id) {
     952                $form['#proyectos_operativos_fields'][] = $field_id;
     953              }
    935954              elseif (variable_get('proyectos_operativos_muestra_gerente_' . $field_id, FALSE)) {
    936                 $fields_form_tipos_gerentes[$field_id] = $field_id;
    937                 $field_form[] = $field_id;
    938                 $fields_form[] = $field_id;
     955                $form['#proyectos_operativos_fields'][] = $field_id;
    939956              }
    940                           }
    941           }
    942         }
    943       }
    944       $field_form = array();
    945             $form['#fields_form_tipos'] = $fields_form_tipos_gerentes;
    946    
    947       //tipos resposanbles del proyecto
    948       $resposables = array(
    949         0 => 'gerente',
    950         1 => 'tecnico',
    951         2 => 'registrador',
    952         3 => 'administrativo',
    953       );
    954       $resposables['responsables'] = drupal_to_js($resposables);
    955       drupal_add_js($resposables, 'setting');
    956    
    957       //pasando los datos a javascript en formato JSON
    958       $proyectos = array();
    959       $query = db_query("SELECT DISTINCT(pp.vid), n.title, p.ente, pp.field_proyecto_nombre_gere_value, pp.field_proyecto_cedul_gere_value, pp.field_proyecto_corre_gere_email, pp.field_proyecto_telef_gere_value FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC");
    960       while($row = db_fetch_object($query)) {
    961         //estructura del gerente => nid del proyecto, ente o institucion, nombre, cedula, correo, telefono
    962         $proyectg[] = array($row->vid, $row->ente, $row->field_proyecto_nombre_gere_value, $row->field_proyecto_cedul_gere_value, $row->field_proyecto_corre_gere_email, $row->field_proyecto_telef_gere_value);
    963       }
    964       $proyectos['gerente'] = drupal_to_js($proyectg);
    965       drupal_add_js($proyectos, 'setting');
    966    
    967       $proyectos = array();
    968       $query = db_query("SELECT DISTINCT(pp.vid), n.title, p.ente, pp.field_proyecto_nom_r_tec_value, pp.field_proyecto_ced_r_tec_value, pp.field_proyecto_cor_r_tec_email, pp.field_proyecto_tel_r_tec_value, pp.field_proyecto_und_r_tec_value FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC");
    969       while($row = db_fetch_object($query)) {
    970          //estructura del gerente => nid del proyecto, ente o institucion, nombre, cedula, correo, telefono
    971         $proyectt[] = array($row->vid, $row->ente, $row->field_proyecto_nom_r_tec_value, $row->field_proyecto_ced_r_tec_value, $row->field_proyecto_cor_r_tec_email, $row->field_proyecto_tel_r_tec_value, $row->field_proyecto_und_r_tec_value);
    972       }
    973       $proyectos['tecnico'] = drupal_to_js($proyectt);
    974       drupal_add_js($proyectos, 'setting');
    975    
    976       $proyectos = array();
    977       $query = db_query("SELECT DISTINCT(pp.vid), n.title, p.ente, pp.field_proyecto_nom_r_reg_value, pp.field_proyecto_ced_r_reg_value, pp.field_proyecto_cor_r_reg_email, pp.field_proyecto_tel_r_reg_value FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC");
    978       while($row = db_fetch_object($query)) {
    979         //estructura del gerente => nid del proyecto, ente o institucion, nombre, cedula, correo, telefono
    980         $proyectr[] = array($row->vid, $row->ente, $row->field_proyecto_nom_r_reg_value, $row->field_proyecto_ced_r_reg_value, $row->field_proyecto_cor_r_reg_email     , $row->field_proyecto_tel_r_reg_value);
    981       }
    982       $proyectos['registrador'] = drupal_to_js($proyectr);
    983       drupal_add_js($proyectos, 'setting');
    984    
    985       $proyectos = array();
    986       $query = db_query("SELECT DISTINCT(pp.vid), n.title, p.ente, pp.field_proyecto_nom_r_adm_value, pp.field_proyecto_ced_r_adm_value, pp.field_proyecto_cor_r_adm_email, pp.field_proyecto_tel_r_adm_value, pp.field_proyecto_und_r_adm_value FROM {node} as n INNER JOIN {proyectos_operativos} as p ON n.nid=p.nid INNER JOIN {content_type_proyectos_operativos} as pp ON pp.nid = p.nid WHERE n.type='proyectos_operativos' AND n.vid=pp.vid AND n.status=1 ORDER BY pp.vid DESC");
    987       while($row = db_fetch_object($query)) {
    988         //estructura del gerente => nid del proyecto, ente o institucion, nombre, cedula, correo, telefono
    989         $proyecta[] = array($row->vid, $row->ente, $row->field_proyecto_nom_r_adm_value, $row->field_proyecto_ced_r_adm_value, $row->field_proyecto_cor_r_adm_email, $row->field_proyecto_tel_r_adm_value, $row->field_proyecto_und_r_adm_value);
    990       }
    991       $proyectos['administrativo'] = drupal_to_js($proyecta);
    992       drupal_add_js($proyectos, 'setting');
    993    
    994       $form['#proyectos_operativos_fields'] = array_merge($form['#proyectos_operativos_fields'], $fields_form);
    995       if (is_array($field_form) && count($field_form)) {
    996         module_load_include('inc', 'content', 'includes/content.node_form');
    997         foreach ($field_form as $field_id) {
    998           $field = content_fields($field_id, 'proyectos_operativos');
    999           $form['#field_info'][$field_id] = $field;
    1000           $form += (array) content_field_form($form, $form_state, $field);
    1001         }
    1002       }
    1003       //agregando los niveles a los campos ubicacion y comuna
    1004                   /*$form['field_proyecto_ubicaci_comu']['tids']['#config']['level_labels'][ 'status'] = 1;
    1005       $form['field_proyecto_ubicaci_comu']['tids']['#config']['level_labels'][ 'labels'][1] = t('Municipio');
    1006       $form['field_proyecto_ubicaci_comu']['tids']['#config']['level_labels'][ 'labels'][2] = t('Parroquia');
    1007                   $form['field_proyecto_ubicaci_inter']['tids']['#config']['level_labels'][ 'status'] = 1;
    1008       $form['field_proyecto_ubicaci_inter']['tids']['#config']['level_labels'][ 'labels'][1] = t('País');
    1009       $form['field_proyecto_ubicaci_inter']['tids']['#config']['level_labels'][ 'labels'][2] = t('Estado');
    1010       $form['field_proyecto_ubicaci_inter']['tids']['#config']['level_labels'][ 'labels'][3] = t('Municipio');
    1011       $form['field_proyecto_ubicaci_inter']['tids']['#config']['level_labels'][ 'labels'][4] = t('Parroquia');*/
     957            }
     958          }
     959        }
     960      }
     961
     962
    1012963      $form['#validate'][] = 'proyectos_operativos_mcti_proyecto_basico_form_responsables_validate';
     964      foreach ($form['#submit'] as $id => $name) {
     965        if ($name == 'proyectos_operativos_proyecto_basico_form_submit') {
     966           $submits[] = 'proyectos_operativos_mcti_proyecto_basico_form_responsables_submit';
     967        }
     968        $submits[] = $name;
     969      }
     970      $form['#submit'] = $submits;
    1013971    }//end responsables
    1014972
     
    10571015    $localizacion = variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE);
    10581016    if ($localizacion) {
    1059           $fields_extra_form1[] = 'field_proyecto_ubicaci_inter';
    1060           $fields_extra_form['ubicacion'] = $fields_extra_form1;
     1017      $fields_extra_form1[] = 'field_proyecto_ubicaci_inter';
     1018      $fields_extra_form['ubicacion'] = $fields_extra_form1;
    10611019      $arreglo['field_proyecto_ubicaci_inter'] = 'field_proyecto_ubicaci_inter';
    10621020      $fields_form_geo = array();
     
    11211079    }
    11221080    //Monto Total del Proyecto para el año en curso.
    1123         $form['field_proyecto_monto_anual']['#pre_render'] = array('proyectos_operativos_mcti_field_proyecto_monto_anual_field_pre_render');
    1124           $form['field_proyecto_monto_anual'][0]['#required'] = 0;
    1125 
    1126           foreach ($form['#validate'] as $id => $name) {
    1127             if ($name == 'proyectos_operativos_proyecto_basico_form_validate') {
    1128                     $form['#validate'][$id] = 'proyectos_operativos_mcti_proyecto_basico_form_validate';
    1129             }
    1130           }
    1131     $form['#submit'][] = 'proyectos_operativos_mcti_proyecto_basico_form_responsables_submit';
     1081    $form['field_proyecto_monto_anual']['#pre_render'] = array('proyectos_operativos_mcti_field_proyecto_monto_anual_field_pre_render');
     1082    $form['field_proyecto_monto_anual'][0]['#required'] = 0;
     1083
     1084    foreach ($form['#validate'] as $id => $name) {
     1085      if ($name == 'proyectos_operativos_proyecto_basico_form_validate') {
     1086        $form['#validate'][$id] = 'proyectos_operativos_mcti_proyecto_basico_form_validate';
     1087      }
     1088    }
    11321089  }//fin del datos basicos
    11331090  if ($form_id == 'views_bulk_operations_form_asignar_proyectos_organismo_page_1') { //modificando el campo usuario a un campo del tipo select
     
    11541111    $title = 0;
    11551112    $op_tt = '!=';
    1156           $var[0] = $rol;
    1157           $var[1] = $title;
     1113    $var[0] = $rol;
     1114    $var[1] = $title;
    11581115    //agregando el campo usuarios
    11591116    if (isset($_GET['title']) && $_GET['title'] != 0) {
     
    11971154    //Empleos Generados
    11981155    drupal_add_js(drupal_get_path('module', 'proyectos_operativos_mcti') . '/js/proyectos_operativos_mcti_generales.js');
    1199     $form['field_proyecto_efdirecto']['#title'] = t('Empleos Directos Nuevos Femeninos');
    12001156    $form['field_proyecto_efindirecto']['#title'] = t('Empleos Directos Sostenidos Femeninos');
    1201     $form['field_proyecto_emindirecto']['#title'] = t('Empleos Directos Nuevos Masculinos');
    1202     $form['field_proyecto_emdirecto']['#title'] = t('Empleos Directos Sostenidos Masculinos');
     1157    $form['field_proyecto_emdirecto']['#title'] = t('Empleos Directos Nuevos Femeninos');
     1158    $form['field_proyecto_efdirecto']['#title'] = t('Empleos Directos Nuevos Masculinos');
     1159    $form['field_proyecto_emindirecto']['#title'] = t('Empleos Directos Sostenidos Masculinos');
     1160
    12031161    //total empleos indirectos
    12041162    $arregloI = array(
     
    12191177     //total empleos directos femeninos
    12201178     $arregloDf = array(
    1221        'field_proyecto_efindirecto' => 'field_proyecto_efindirecto',
     1179       'field_proyecto_efindirecto' => 'field_proyecto_emindirecto',
    12221180       'field_proyecto_efdirecto' => 'field_proyecto_efdirecto',
    12231181     );
     
    12271185     //total empleos directos masculinos
    12281186     $arregloDf = array(
     1187       'field_proyecto_emindirecto' => 'field_proyecto_efindirecto',
    12291188       'field_proyecto_emdirecto' => 'field_proyecto_emdirecto',
    1230        'field_proyecto_emindirecto' => 'field_proyecto_emindirecto',
    12311189     );
    12321190     foreach ($arregloDf as $id) {
     
    15681526 */
    15691527function proyectos_operativos_mcti_proyecto_basico_form_responsables_submit($form, &$form_state) {
    1570   //agregando los responsables del proyecto
    15711528  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
    15721529  if ($op != t('Cancelar')) {
    15731530    $tipos = array('gerente', 'tecnico', 'registrador', 'administrativo', 'ubicacion', 'otros_datos');
    1574     $field_form = $form['#proyectos_operativos_fields'];
    1575     module_load_include('inc', 'node', 'node.pages');
    1576     $node_load = $form['#node'];
    1577     $form_values = $form_state['values'];
    1578     foreach ($form['#proyectos_operativos_fields_extra'] as $id => $arreglo) {
    1579       foreach ($tipos as $keys => $tipo) {
    1580         foreach ($arreglo[$tipo] as $campo) {
    1581           if (is_array($field_form) && count($field_form)) {
    1582                                   if (isset($form_values[$campo])) {
    1583               if ($campo == 'field_proyecto_cor_r_adm' || $campo == 'field_proyecto_cor_r_tec' || $campo == 'field_proyecto_cor_r_reg' || $campo == 'field_proyecto_corre_gere') {
    1584                         $node_load->{$campo}[0]['email'] = $form_values[$campo];
    1585              }
    1586              elseif ($campo == 'field_descripcin_proyect' || $campo == 'field_proyecto_ubicaci_comu' || $campo == 'field_proyecto_nombres_cum' || $campo == 'field_proyecto_codigo_comu' || $campo == 'field_proyecto_ubicaci_inter' || $campo == 'field_proyect_probl_abord' || $campo == 'field_proyect_cau_abord') {
    1587                 foreach ($form_values[$campo] as $id => $value) {
    1588                   if (is_numeric($id) && isset($form_values[$campo][$id]['_error_element'])) {
    1589                     unset($form_values[$campo][$id]['_error_element']);
    1590                   }
    1591                 }
    1592                 $node_load->{$campo} = $form_values[$campo];
    1593               }
    1594                           /*elseif ($campo == 'field_proyecto_ente') {
    1595                                   $node_load->{$campo}[0]['nid'] = $form_values[$campo];
    1596                                 }*/
    1597                           else {
    1598                             $node_load->{$campo}[0]['value'] = $form_values[$campo];
    1599                           }
    1600                   }
    1601                 }
    1602         } 
    1603             }
    1604     }
    1605     $node_load->revision = 1;
    1606     node_save($node_load);
    1607   }
    1608 }
    1609 
     1531    $arreglo['gerente'] = array(
     1532      0 => 'field_proyecto_nombre_gere',
     1533      1 => 'field_proyecto_cedul_gere',
     1534      2 => 'field_proyecto_corre_gere',
     1535      3 => 'field_proyecto_telef_gere',
     1536    );
     1537    $arreglo['tecnico'] = array(
     1538      0 => 'field_proyecto_nom_r_tec',
     1539      1 => 'field_proyecto_ced_r_tec',
     1540      2 => 'field_proyecto_cor_r_tec',
     1541      3 => 'field_proyecto_tel_r_tec',
     1542      4 => 'field_proyecto_und_r_tec',
     1543    );
     1544    $arreglo['registrador'] = array(
     1545      0 => 'field_proyecto_nom_r_reg',
     1546      1 => 'field_proyecto_ced_r_reg',
     1547      2 => 'field_proyecto_cor_r_reg',
     1548      3 => 'field_proyecto_tel_r_reg',
     1549    );
     1550    $arreglo['administrativo'] = array(
     1551      0 => 'field_proyecto_nom_r_adm',
     1552      1 => 'field_proyecto_ced_r_adm',
     1553      2 => 'field_proyecto_cor_r_adm',
     1554      3 => 'field_proyecto_tel_r_adm',
     1555      4 => 'field_proyecto_und_r_adm',
     1556    );
     1557    foreach ($tipos as $keys => $tipo) {
     1558      foreach ($arreglo[$tipo] as $campo) {
     1559        if (isset($form_state['values'][$campo])) {
     1560          if ($campo == 'field_proyecto_cor_r_adm' || $campo == 'field_proyecto_cor_r_tec' || $campo == 'field_proyecto_cor_r_reg' || $campo == 'field_proyecto_corre_gere') {
     1561            $form_state['values'][$campo] = array(array('email' => $form_state['values'][$campo]));
     1562          }
     1563          else {
     1564            $form_state['values'][$campo] = array(array('value' => $form_state['values'][$campo]));
     1565          }
     1566        }
     1567      }
     1568    }
     1569  }
     1570}
    16101571
    16111572/**
     
    16751636  $element['value']['NO']['#ahah'] = array(
    16761637    'event' => 'change',
    1677           'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/no',
     1638    'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/no',
    16781639    'wrapper' => 'field-proyecto-total-wrraper',
    16791640    'method' => 'replace',
    16801641    'progress' => array('type' => 'bar', 'message' => t('Please wait...')),
    1681         );
    1682         $element['value']['SI']['#ahah'] = array(
     1642  );
     1643  $element['value']['SI']['#ahah'] = array(
    16831644    'event' => 'change',
    1684           'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/si',
     1645    'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/si',
    16851646    'wrapper' => 'field-proyecto-total-wrraper',
    16861647    'method' => 'replace',
     
    18251786function theme_proyectos_operativos_mcti_proyecto_generales_form($form) {
    18261787  $output = '';
    1827   if ($form['#count_ae'] && $form['#montos_asignados']!= $form['#node']->field_proyecto_monto_anual[0]['value']) {
     1788  if ($form['#count_ae'] && $form['#montos_asignados'] != $form['#node']->field_proyecto_monto_anual[0]['value']) {
    18281789    $link_acciones = l(t('Modificar Acciones específicas'), 'proyectosopedit/' . $form['#node']->nid . '/ae');
    18291790    $link_proyecto = l(t('Modificar Monto del Proyecto'), 'proyectosopedit/' . $form['#node']->nid);
     
    18691830  $output1 = '<tr>';
    18701831  $arreglo = array(
     1832    'field_proyecto_emindirecto' => 'field_proyecto_emindirecto',
    18711833    'field_proyecto_efindirecto' => 'field_proyecto_efindirecto',
    1872     'field_proyecto_emindirecto' => 'field_proyecto_emindirecto',
    18731834  );
    18741835  foreach($arreglo as $empleo) {
     
    18961857
    18971858  $output1 .= '<tr>';
    1898   $output1 .= '<th>' . t('Total empleos directos Femeninos') . '</th>';
     1859  $output1 .= '<th>' . t('Total de Empleos Masculinos') . '</th>';
    18991860  $output1 .= '<td><div class="empleos_estimadosDf_totalesDf"></div></td>';
    1900   $output1 .= '<th>' . t('Total Empleos directos Masculinos') . '</th>';
     1861  $output1 .= '<th>' . t('Total de Empleos Femeninos') . '</th>';
    19011862  $output1 .= '<td><div class="empleos_estimadosDm_totalesDm"></div></td>';
    1902   $output1 .= '<th>' . t('Total empleos directos') . '</th>';
     1863  $output1 .= '<th>' . t('Total de Empleos Directos') . '</th>';
    19031864  $output1 .= '<td><div class="empleos_generados_total"></div></td>';
    1904   $output1 .= '</tr>';
    1905   
     1865  $output1 .= '</tr>'; 
     1866 
    19061867  $output .= $output1 .'</table></fieldset>';
    19071868  if (variable_get('proyectos_operativos_muestra_beneficiario', TRUE)) {
     
    20722033 */
    20732034function theme_proyectos_operativos_mcti_proyecto_indicadores_form($form) {
    2074 
    20752035  $output = '';
    20762036  if ($form['#count_ae'] && $form['#montos_asignados']!= $form['#node']->field_proyecto_monto_anual[0]['value']) {
     
    21252085  $output .= '<fieldset><legend>' . t('Indicador del resultado del Proyecto') . '</legend>' ;
    21262086  $output .= drupal_render($form['field_proyecto_descripcion_bien']);
     2087  $output .= drupal_render($form['field_proyecto_so_cuantificacion']);
    21272088  $output .= drupal_render($form['field_proyecto_unidadm']);
    21282089  if (isset($form['field_proyecto_meta_m']) && $form['field_proyecto_meta_f']) {
     
    25182479      if ($field_id == 'field_progrmcn_anual_cap' && $tipo == 'programacion') {
    25192480        $new_form[$field_id . '_' . $i] = array(
    2520           '#type' => 'textfield',
    2521           '#size' => $fields[$field_id]['size'],
    2522           '#maxlength' => $fields[$field_id]['max_length'],   
    2523           '#prefix' => $prefix,
    2524           '#suffix' => '</td>',
    2525          );
    2526        }
    2527            elseif (($field_id == 'field_balanc_anho' || $field_id == 'field_progrmcn_anual_anho') && ($tipo == 'balance' || $tipo == 'programacion')) {
    2528                    $new_form[$field_id . '_' . $i] = array(
     2481         '#type' => 'textfield',
     2482         '#size' => $fields[$field_id]['size'],
     2483         '#maxlength' => $fields[$field_id]['max_length'],   
     2484         '#prefix' => $prefix,
     2485         '#suffix' => '</td>',
     2486       );
     2487     }
     2488     elseif (($field_id == 'field_balanc_anho' || $field_id == 'field_progrmcn_anual_anho') && ($tipo == 'balance' || $tipo == 'programacion')) {
     2489       $new_form[$field_id . '_' . $i] = array(
    25292490         '#type' => 'select',
    25302491         '#maxlength' => $fields[$field_id]['max_length'],
    2531                          '#required' => $fields[$field_id]['required'],
     2492         '#required' => $fields[$field_id]['required'],
    25322493         '#options' => $years,
    2533                          '#prefix' => $prefix,
     2494         '#prefix' => $prefix,
    25342495         '#suffix' => '</td>',
    2535              );
    2536            }
     2496       );
     2497     }
    25372498     else {
    25382499         $options = optionwidgets_options($fields[$field_id], FALSE);
     
    25872548  $query_ins = db_query("SELECT nid, title FROM {node} WHERE type='ente_planificador' AND status=1");
    25882549  while ($row = db_fetch_object($query_ins)) {
    2589           $instituciones[$row->nid] = $row->title;
     2550    $instituciones[$row->nid] = $row->title;
    25902551  }
    25912552 
     
    26482609
    26492610  foreach ($tipos as $tip) {
    2650                 $options = array();
     2611    $options = array();
    26512612    $options[0] = t('Seleccione');
    2652                 $count = 0;
    2653                 $prefixC = '';
    2654                 while ($row = db_fetch_object($query[$tip]) ) {
    2655                   if ($row->$arreglo[$tip][0] != null || $row->$arreglo[$tip][1] != null) {
     2613    $count = 0;
     2614    $prefixC = '';
     2615    while ($row = db_fetch_object($query[$tip]) ) {
     2616      if ($row->$arreglo[$tip][0] != null || $row->$arreglo[$tip][1] != null) {
    26562617        $options[$row->vid] = $row->$arreglo[$tip][0] . '('. $row->$arreglo[$tip][1] .')';
    2657                   }
     2618      }
    26582619    }
    26592620    $options[$row->vid + 1] = t('Nuevo');
     
    26672628    $new_form['responsables']['default_'.$tip]['#suffix'] .= '</div>';
    26682629    if (count($fields)) {
    2669           foreach ($arreglo[$tip] as $field_id => $field) {
     2630      foreach ($arreglo[$tip] as $field_id => $field) {
    26702631        $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>';
    2671           }
    2672           foreach ($arreglo[$tip] as $field_id => $field) {
     2632      }
     2633      foreach ($arreglo[$tip] as $field_id => $field) {
    26732634        $prefix = '';
    2674             if ($count == 0) {
     2635        if ($count == 0) {
    26752636          $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';
    26762637        }
     
    27232684  $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, 2);
    27242685  $fecha = FALSE;
     2686  $ente_planificador = 0;
    27252687  $ente = usuario_tiene_ente($user->uid);
     2688  if ($ente && $ente->nid) {
     2689    $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid);
     2690  }
    27262691  if ($mi_fecha[1]  + 86399 > $current_time && $mi_fecha[0] < $current_time) {
    27272692    $fecha = TRUE;
    27282693  }
    27292694  if (!$fecha) {
    2730     muestra_mensaje($tipo_plan, 2);
     2695    muestra_mensaje($tipo_plan, $ente_planificador);
    27312696  }
    27322697  if ($fecha && $ente->nid) {
    2733     muestra_mensaje($tipo_plan, 2, 0);
     2698    muestra_mensaje($tipo_plan, $ente_planificador, 0);
     2699  }
     2700  if ($fecha && (is_numeric($ente_planificador) && user_access('admin all planificador'))) { //usuarios administradores
     2701    muestra_mensaje($tipo_plan, $ente_planificador, 0);
     2702  }
     2703  $rol_macro = variable_get('ActorPlanificadorMacro', 0);
     2704  if ($fecha && in_array($rol_macro, array_keys($user->roles))) { //es usuario control
     2705    muestra_mensaje($tipo_plan, $ente_planificador, 0);
    27342706  }
    27352707  $states = array();
     
    28442816  $output .= theme('table', $header, $rows);
    28452817  if ($fecha) {
    2846     $output .= '<p>' . l(t('Agregar proyectos operativos'), 'agregarproyectosop') . '</p>';
     2818    $links = array();
     2819    drupal_alter('proyecto_obtiene_agregar_links', $links);
     2820    $output .= '<div id="ente-planificador-agregar-proyecto">' . theme('item_list', $links) . '</div>';
    28472821  }
    28482822  $form['#submit'][] = 'proyectos_operativos_mcti_search_ac_form_submit';
     
    29312905    $form['proyectos_operativos_search_ac_sectores'] = array(
    29322906      '#title' => t('Sector social del Proyecto'),
    2933                         '#type' => 'hierarchical_select',
    2934         '#config' => array(
    2935         'module' => 'hs_content_taxonomy',
    2936         'params' => array(
    2937                 'vid' => variable_get('proyectos_operativos_extra_sector', 0),
    2938                 'tid' => 0,
    2939                 'depth' => 2,
    2940         ),
     2907      '#type' => 'hierarchical_select',
     2908      '#config' => array(
     2909        'module' => 'hs_content_taxonomy',
     2910        'params' => array(
     2911          'vid' => variable_get('proyectos_operativos_extra_sector', 0),
     2912          'tid' => 0,
     2913          'depth' => 2,
     2914        ),
    29412915        'level_labels' => array(
    2942                 'status' => 1,
    2943                 'labels' => array(
    2944                 1 => t('Sub-Sector'),
    2945                 ),
    2946         ),
    2947         ),
    2948                         '#default_value' => $proyectos_operativos_search_ac_sectores,
     2916          'status' => 1,
     2917          'labels' => array(
     2918            1 => t('Sub-Sector'),
     2919          ),
     2920        ),
     2921      ),
     2922      '#default_value' => $proyectos_operativos_search_ac_sectores,
    29492923    );
    29502924  }
     
    30353009 */
    30363010function proyectos_operativos_mcti_menu_alter(&$items) {
    3037   $items['proyectos_operativos']['page callback'] = 'proyectos_operativos_mcti_search_ac_display';
     3011  //$items['proyectos_operativos']['page callback'] = 'proyectos_operativos_mcti_search_ac_display';
    30383012  $items['proyectosopedit/%proyectosop/ficha']['page callback'] = '_proyectos_operativos_mcti_proyecto_ficha_proyecto';
    30393013  $items['proyectosop/%proyectosop/ficha']['page callback'] = '_proyectos_operativos_mcti_proyecto_ficha_proyecto';
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.