Conjunto de cambios 1d97659 en sipes para 0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module
- Fecha y hora:
- 09/06/2016 11:30:27 (hace 8 años)
- Branches:
- stable, version-3.0
- Children:
- a20fcb5
- Parents:
- 2db5c18
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module
r303fae2 r1d97659 74 74 } 75 75 76 /** 77 * Implementation of hook_nodeapi() 78 */ 79 function 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 76 93 /* 77 94 * Impletations of hook_form_alter() 78 95 */ 79 96 function 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 } 80 112 if (($form_id == 'views_exposed_form') && ($form['#id'] == 'views-exposed-form-ente-planificador-hierarchical-default')) { 81 113 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 */ 83 127 if ($form['organismo'] && ($ente_planificador->tipo == 2)) { 84 128 $roles2 = variable_get('roles_exclude_organismo', 0); … … 243 287 '#weight' => 0, 244 288 '#default_value' => variable_get('proyectos_operativos_muestra_causas_abordadas', TRUE), 245 246 289 ); 290 $form['basicos']['proyectos_operativos_muestra_problemas_abordados'] = array( 247 291 '#type' => 'checkbox', 248 292 '#title' => t('Recolectar los problemas abordados.'), … … 516 560 '#size' => $fields[$field_id]['size'], 517 561 '#maxlength' => $fields[$field_id]['max_length'], 518 519 520 562 '#required' => $fields[$field_id]['required'], 563 '#options' => $years, 564 '#prefix' => $prefix, 521 565 '#suffix' => '</td>', 522 566 ); 523 567 } 524 568 elseif ($field == 'field_progrmcn_anual_cap') { 525 569 $valor = isset($proyecto_leido->{$field_id}[$i]) ? $proyecto_leido->{$field_id}[$i]['value'] : ''; 526 570 $form['programacion'][$field . '_' . $i] = array( … … 592 636 $tamano_array[] = count($proyecto_leido->{$field_id}); 593 637 } 594 $cantidad = max($tamano_array); 638 $cantidad = max($tamano_array); 595 639 $prefix = ''; 596 640 $aux = ''; … … 604 648 } 605 649 foreach ($arrreglo['servicios'] as $field_id => $field) { 606 if ($field == 'field_balanc_anho') {650 if ($field == 'field_balanc_anho') { 607 651 $valor = isset($proyecto_leido->{$field_id}[$i]) ? $proyecto_leido->{$field_id}[$i]['value'] : ''; 608 652 $form['balance'][$field . '_' . $i] = array( … … 733 777 $proyecto_leido = $proyecto; 734 778 } 779 780 $form['field_proyecto_codigo']['#access'] = false; 781 735 782 //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 738 785 $arreglo = array(); 739 $field_form = array();740 $fields_form = array();741 786 $fields_extra_form1 = array(); 742 global $user;743 787 $form['responsables'] = array( 744 788 '#title' => t(''), … … 747 791 '#suffix' => '</div>', 748 792 ); 749 /*creando en campo field_proyecto_ente dentro de responsables750 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 defecto756 $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 }*/774 793 $ente_agregar = $form['#parameters'][3]; 775 $ente_planificador = 0;794 $ente_planificador = node_load(1298); 776 795 if ($proyecto && $proyecto->nid && $proyecto->field_proyecto_ente[0]['nid']) { 777 796 $ente_planificador = ente_planificador_leer_ente_planificadores($proyecto->field_proyecto_ente[0]['nid']); … … 790 809 '#title' => t('Insitución'), 791 810 '#type' => 'select', 792 //'#options' => $instituciones,793 811 '#options' => $options, 794 812 '#default_value' => $options, … … 828 846 3 => 'field_proyecto_tel_r_adm', 829 847 4 => 'field_proyecto_und_r_adm', 830 ); 848 ); 831 849 $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); 837 858 838 859 $field_form = array(); … … 840 861 $fields_extra_form1 = array(); 841 862 $fields_extra_form1[] = 'field_proyecto_ente'; 842 863 843 864 foreach ($tipos as $tips => $tip) { 844 865 $tam = ''; 845 866 $prefixC = ''; 846 $count = 0; 867 $count = 0; 868 $rows = array(); 847 869 $options = array(); 848 870 $options[0] = t('Seleccione'); 849 871 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'); 857 885 $form['responsables']['default_'.$tip] = array( 858 886 '#type' => 'select', 859 887 '#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, 861 889 '#options' => $options, 862 890 '#prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '</legend>', 863 891 ); 864 $tam['tamano']['default_'.$tip] = $tamano;865 drupal_add_js($tam, 'setting');866 867 892 if (count($fields)) { 868 foreach ($arreglo[$tip] as $field_id => $field) { 869 $fields_extra_form1[] = $field; 893 foreach ($arreglo[$tip] as $field_id => $field) { 870 894 $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>'; 871 895 } 872 $fields_extra_form[$tip] = $fields_extra_form1;873 896 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++; 893 939 } 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 }921 940 $form['responsables'][$aux]['#suffix'] .= '</tr>'; 922 941 $form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>'; … … 925 944 926 945 $form['responsables'][$aux]['#suffix'] .= '</div>'; 946 927 947 foreach ($tipos as $tips => $tip) { 928 948 if (is_array($fields) && count($fields)) { 929 949 foreach ($fields as $field_id => $field) { 930 950 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 } 935 954 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; 939 956 } 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 1012 963 $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; 1013 971 }//end responsables 1014 972 … … 1057 1015 $localizacion = variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE); 1058 1016 if ($localizacion) { 1059 1060 1017 $fields_extra_form1[] = 'field_proyecto_ubicaci_inter'; 1018 $fields_extra_form['ubicacion'] = $fields_extra_form1; 1061 1019 $arreglo['field_proyecto_ubicaci_inter'] = 'field_proyecto_ubicaci_inter'; 1062 1020 $fields_form_geo = array(); … … 1121 1079 } 1122 1080 //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 } 1132 1089 }//fin del datos basicos 1133 1090 if ($form_id == 'views_bulk_operations_form_asignar_proyectos_organismo_page_1') { //modificando el campo usuario a un campo del tipo select … … 1154 1111 $title = 0; 1155 1112 $op_tt = '!='; 1156 1157 1113 $var[0] = $rol; 1114 $var[1] = $title; 1158 1115 //agregando el campo usuarios 1159 1116 if (isset($_GET['title']) && $_GET['title'] != 0) { … … 1197 1154 //Empleos Generados 1198 1155 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');1200 1156 $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 1203 1161 //total empleos indirectos 1204 1162 $arregloI = array( … … 1219 1177 //total empleos directos femeninos 1220 1178 $arregloDf = array( 1221 'field_proyecto_efindirecto' => 'field_proyecto_e findirecto',1179 'field_proyecto_efindirecto' => 'field_proyecto_emindirecto', 1222 1180 'field_proyecto_efdirecto' => 'field_proyecto_efdirecto', 1223 1181 ); … … 1227 1185 //total empleos directos masculinos 1228 1186 $arregloDf = array( 1187 'field_proyecto_emindirecto' => 'field_proyecto_efindirecto', 1229 1188 'field_proyecto_emdirecto' => 'field_proyecto_emdirecto', 1230 'field_proyecto_emindirecto' => 'field_proyecto_emindirecto',1231 1189 ); 1232 1190 foreach ($arregloDf as $id) { … … 1568 1526 */ 1569 1527 function proyectos_operativos_mcti_proyecto_basico_form_responsables_submit($form, &$form_state) { 1570 //agregando los responsables del proyecto1571 1528 $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : ''; 1572 1529 if ($op != t('Cancelar')) { 1573 1530 $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 } 1610 1571 1611 1572 /** … … 1675 1636 $element['value']['NO']['#ahah'] = array( 1676 1637 'event' => 'change', 1677 1638 'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/no', 1678 1639 'wrapper' => 'field-proyecto-total-wrraper', 1679 1640 'method' => 'replace', 1680 1641 'progress' => array('type' => 'bar', 'message' => t('Please wait...')), 1681 1682 1642 ); 1643 $element['value']['SI']['#ahah'] = array( 1683 1644 'event' => 'change', 1684 1645 'path' => 'proyectos_operativos_mcti_proyecto_monto_anual_js/si', 1685 1646 'wrapper' => 'field-proyecto-total-wrraper', 1686 1647 'method' => 'replace', … … 1825 1786 function theme_proyectos_operativos_mcti_proyecto_generales_form($form) { 1826 1787 $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']) { 1828 1789 $link_acciones = l(t('Modificar Acciones especÃficas'), 'proyectosopedit/' . $form['#node']->nid . '/ae'); 1829 1790 $link_proyecto = l(t('Modificar Monto del Proyecto'), 'proyectosopedit/' . $form['#node']->nid); … … 1869 1830 $output1 = '<tr>'; 1870 1831 $arreglo = array( 1832 'field_proyecto_emindirecto' => 'field_proyecto_emindirecto', 1871 1833 'field_proyecto_efindirecto' => 'field_proyecto_efindirecto', 1872 'field_proyecto_emindirecto' => 'field_proyecto_emindirecto',1873 1834 ); 1874 1835 foreach($arreglo as $empleo) { … … 1896 1857 1897 1858 $output1 .= '<tr>'; 1898 $output1 .= '<th>' . t('Total empleos directos Femeninos') . '</th>';1859 $output1 .= '<th>' . t('Total de Empleos Masculinos') . '</th>'; 1899 1860 $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>'; 1901 1862 $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>'; 1903 1864 $output1 .= '<td><div class="empleos_generados_total"></div></td>'; 1904 $output1 .= '</tr>'; 1905 1865 $output1 .= '</tr>'; 1866 1906 1867 $output .= $output1 .'</table></fieldset>'; 1907 1868 if (variable_get('proyectos_operativos_muestra_beneficiario', TRUE)) { … … 2072 2033 */ 2073 2034 function theme_proyectos_operativos_mcti_proyecto_indicadores_form($form) { 2074 2075 2035 $output = ''; 2076 2036 if ($form['#count_ae'] && $form['#montos_asignados']!= $form['#node']->field_proyecto_monto_anual[0]['value']) { … … 2125 2085 $output .= '<fieldset><legend>' . t('Indicador del resultado del Proyecto') . '</legend>' ; 2126 2086 $output .= drupal_render($form['field_proyecto_descripcion_bien']); 2087 $output .= drupal_render($form['field_proyecto_so_cuantificacion']); 2127 2088 $output .= drupal_render($form['field_proyecto_unidadm']); 2128 2089 if (isset($form['field_proyecto_meta_m']) && $form['field_proyecto_meta_f']) { … … 2518 2479 if ($field_id == 'field_progrmcn_anual_cap' && $tipo == 'programacion') { 2519 2480 $new_form[$field_id . '_' . $i] = array( 2520 2521 2522 2523 2524 2525 2526 2527 2528 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( 2529 2490 '#type' => 'select', 2530 2491 '#maxlength' => $fields[$field_id]['max_length'], 2531 2492 '#required' => $fields[$field_id]['required'], 2532 2493 '#options' => $years, 2533 2494 '#prefix' => $prefix, 2534 2495 '#suffix' => '</td>', 2535 2536 2496 ); 2497 } 2537 2498 else { 2538 2499 $options = optionwidgets_options($fields[$field_id], FALSE); … … 2587 2548 $query_ins = db_query("SELECT nid, title FROM {node} WHERE type='ente_planificador' AND status=1"); 2588 2549 while ($row = db_fetch_object($query_ins)) { 2589 2550 $instituciones[$row->nid] = $row->title; 2590 2551 } 2591 2552 … … 2648 2609 2649 2610 foreach ($tipos as $tip) { 2650 2611 $options = array(); 2651 2612 $options[0] = t('Seleccione'); 2652 2653 2654 2655 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) { 2656 2617 $options[$row->vid] = $row->$arreglo[$tip][0] . '('. $row->$arreglo[$tip][1] .')'; 2657 2618 } 2658 2619 } 2659 2620 $options[$row->vid + 1] = t('Nuevo'); … … 2667 2628 $new_form['responsables']['default_'.$tip]['#suffix'] .= '</div>'; 2668 2629 if (count($fields)) { 2669 2630 foreach ($arreglo[$tip] as $field_id => $field) { 2670 2631 $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>'; 2671 2672 2632 } 2633 foreach ($arreglo[$tip] as $field_id => $field) { 2673 2634 $prefix = ''; 2674 2635 if ($count == 0) { 2675 2636 $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>'; 2676 2637 } … … 2723 2684 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, 2); 2724 2685 $fecha = FALSE; 2686 $ente_planificador = 0; 2725 2687 $ente = usuario_tiene_ente($user->uid); 2688 if ($ente && $ente->nid) { 2689 $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid); 2690 } 2726 2691 if ($mi_fecha[1] + 86399 > $current_time && $mi_fecha[0] < $current_time) { 2727 2692 $fecha = TRUE; 2728 2693 } 2729 2694 if (!$fecha) { 2730 muestra_mensaje($tipo_plan, 2);2695 muestra_mensaje($tipo_plan, $ente_planificador); 2731 2696 } 2732 2697 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); 2734 2706 } 2735 2707 $states = array(); … … 2844 2816 $output .= theme('table', $header, $rows); 2845 2817 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>'; 2847 2821 } 2848 2822 $form['#submit'][] = 'proyectos_operativos_mcti_search_ac_form_submit'; … … 2931 2905 $form['proyectos_operativos_search_ac_sectores'] = array( 2932 2906 '#title' => t('Sector social del Proyecto'), 2933 2934 2935 2936 2937 2938 2939 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 ), 2941 2915 'level_labels' => array( 2942 2943 2944 2945 2946 2947 2948 2916 'status' => 1, 2917 'labels' => array( 2918 1 => t('Sub-Sector'), 2919 ), 2920 ), 2921 ), 2922 '#default_value' => $proyectos_operativos_search_ac_sectores, 2949 2923 ); 2950 2924 } … … 3035 3009 */ 3036 3010 function 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'; 3038 3012 $items['proyectosopedit/%proyectosop/ficha']['page callback'] = '_proyectos_operativos_mcti_proyecto_ficha_proyecto'; 3039 3013 $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.