Conjunto c43ea01 en sipes
- Fecha y hora:
- 18/08/2017 11:32:26 (hace 7 años)
- Branches:
- stable
- Children:
- 71baefb
- Parents:
- 36310ea
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
0.3-modules/proyectos_operativos_mcti/proyectos_operativos_mcti.module
r4efc6f2 rc43ea01 43 43 'type' => MENU_CALLBACK, 44 44 ); 45 $items['proyectos_operativos_mcti_proyecto_basico_form_responsables'] = array(46 'title' => 'JS utilities',47 'page callback' => 'proyectos_operativos_mcti_proyecto_basico_form_responsables_js_util',48 'access arguments' => array('ver planificador'),49 'type' => MENU_CALLBACK,50 );51 45 $items['proyectos_operativos_mcti_proyecto_basico_form_cargar_responsables'] = array( 52 46 'title' => 'JS utilities', … … 128 122 '#default_value' => variable_get('proyectos_operativos_muestra_proyecto_descripcion', TRUE), 129 123 ); 124 $form['basicos']['proyectos_operativos_muestra_ubicaci_interna'] = array( 125 '#type' => 'checkbox', 126 '#title' => t('Recolectar el la ubicación del proyecto.'), 127 '#default_value' => variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE), 128 ); 130 129 $form['basicos']['comuna'] = array( 131 130 '#title' => t('Comunas'), … … 134 133 '#siffix' => '</div>', 135 134 ); 136 $form['basicos']['comuna']['proyectos_operativos_muestra_ codig_comuna'] = array(135 $form['basicos']['comuna']['proyectos_operativos_muestra_datos_comuna'] = array( 137 136 '#type' => 'checkbox', 138 '#title' => t('Recolectar el codigo de la comuna.'), 139 '#default_value' => variable_get('proyectos_operativos_muestra_codig_comuna', TRUE), 140 ); 141 $form['basicos']['comuna']['proyectos_operativos_muestra_ubicacin_comuna'] = array( 142 '#type' => 'checkbox', 143 '#title' => t('Recolectar la ubicacion de la comuna.'), 144 '#default_value' => variable_get('proyectos_operativos_muestra_ubicacin_comuna', TRUE), 145 ); 146 $form['basicos']['comuna']['proyectos_operativos_muestra_name_comuna'] = array( 147 '#type' => 'checkbox', 148 '#title' => t('Recolectar el nombre de la comuna.'), 149 '#default_value' => variable_get('proyectos_operativos_muestra_name_comuna', TRUE), 137 '#title' => t('Recolectar los datos de la comuna.'), 138 '#default_value' => variable_get('proyectos_operativos_muestra_datos_comuna', TRUE), 150 139 ); 151 140 $form['basicos']['responsables']['proyectos_operativos_muestra_responsables'] = array( … … 634 623 '#suffix' => '</div>', 635 624 ); 636 $ente_agregar = $form['#parameters'][3]; 637 $ente_planificador = node_load(1298); 638 if ($proyecto && $proyecto->nid && $proyecto->field_proyecto_ente[0]['nid']) { 639 $ente_planificador = ente_planificador_leer_ente_planificadores($proyecto->field_proyecto_ente[0]['nid']); 640 } 641 else { 642 $ente = usuario_tiene_ente($user->uid); 643 if ($ente && $ente->nid) { 644 $ente_planificador = ente_planificador_leer_ente_planificadores($ente->nid); 645 } 646 elseif($ente_agregar && user_access('admin planificador')) { 647 $ente_planificador = ente_planificador_leer_ente_planificadores($ente_agregar); 648 } 649 } 650 $options[$ente_planificador->nid] = $ente_planificador->title; 651 $form['responsables']['field_proyecto_entes'] = array( 652 '#title' => t('Insitución'), 653 '#type' => 'select', 654 '#options' => $options, 655 '#default_value' => $options, 656 '#prefix' => '<div id="field_proyecto_ente_datos_basicos">', 657 '#suffix' => '</div>', 625 $ente_planificador = $form['#ente_planificador']; 626 627 $arreglo = array( 628 'gerente' => array('field_proyecto_nombre_gere', 'field_proyecto_cedul_gere', 'field_proyecto_corre_gere', 'field_proyecto_telef_gere'), 629 'tecnico' => array('field_proyecto_nom_r_tec', 'field_proyecto_ced_r_tec', 'field_proyecto_cor_r_tec', 'field_proyecto_tel_r_tec', 'field_proyecto_und_r_tec'), 630 'registrador' => array('field_proyecto_nom_r_reg', 'field_proyecto_ced_r_reg', 'field_proyecto_cor_r_reg', 'field_proyecto_tel_r_reg'), 631 'administrativo' => array( 'field_proyecto_nom_r_adm', 'field_proyecto_ced_r_adm', 'field_proyecto_cor_r_adm', 'field_proyecto_tel_r_adm', 'field_proyecto_und_r_adm'), 658 632 ); 659 $arreglo = array(); 660 $tipos = array( 661 'gerente' => 'gerente', 662 'tecnico' => 'tecnico', 663 'registrador' => 'registrador', 664 'administrativo' => 'administrativo', 665 ); 666 $arreglo['gerente'] = array( 667 0 => 'field_proyecto_nombre_gere', 668 1 => 'field_proyecto_cedul_gere', 669 2 => 'field_proyecto_corre_gere', 670 3 => 'field_proyecto_telef_gere', 671 ); 672 $arreglo['tecnico'] = array( 673 0 => 'field_proyecto_nom_r_tec', 674 1 => 'field_proyecto_ced_r_tec', 675 2 => 'field_proyecto_cor_r_tec', 676 3 => 'field_proyecto_tel_r_tec', 677 4 => 'field_proyecto_und_r_tec', 678 ); 679 $arreglo['registrador'] = array( 680 0 => 'field_proyecto_nom_r_reg', 681 1 => 'field_proyecto_ced_r_reg', 682 2 => 'field_proyecto_cor_r_reg', 683 3 => 'field_proyecto_tel_r_reg', 684 ); 685 $arreglo['administrativo'] = array( 686 0 => 'field_proyecto_nom_r_adm', 687 1 => 'field_proyecto_ced_r_adm', 688 2 => 'field_proyecto_cor_r_adm', 689 3 => 'field_proyecto_tel_r_adm', 690 4 => 'field_proyecto_und_r_adm', 691 ); 633 692 634 $fields_form_administrativo = array(); 693 694 $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); 695 696 $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); 697 698 $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); 699 700 $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); 701 702 $field_form = array(); 703 $fields_form = array(); 704 $fields_extra_form1 = array(); 705 $fields_extra_form1[] = 'field_proyecto_ente'; 706 707 foreach ($tipos as $tips => $tip) { 708 $tam = ''; 709 $prefixC = ''; 710 $count = 0; 635 foreach ($arreglo as $tipo => $values) { 711 636 $rows = array(); 712 637 $options = array(); 713 $options[0] = t('Seleccione'); 714 while ($row = db_fetch_object($query[$tip])) { 715 $options[$row->field_cedula] = $row->field_nombre .'('. $row->field_cedula .')'; 716 $rows[$row->field_cedula] = array( 717 'name' => $row->field_nombre, 718 'cedula' => $row->field_cedula, 719 'email' => $row->field_email, 720 'phone' => $row->field_tele, 721 'unidad' => $row->field_unidad, 722 ); 723 } 724 $resposables['responsables'][$tip] = $rows; 725 drupal_add_js($resposables, 'setting'); 726 727 $options[] = t('Nuevo'); 728 $form['responsables']['default_'.$tip] = array( 638 $options[0] = t('Nuevo'); 639 $query = proyectos_operativos_mcti_search_responsable($tipo, $ente_planificador); 640 while ($row = db_fetch_object($query)) { 641 if (isset($row->field_cedula)) { 642 $options[$row->field_cedula] = $row->field_nombre .'('. $row->field_cedula .')'; 643 $rows[$row->field_cedula][] = $row->field_nombre; 644 $rows[$row->field_cedula][] = $row->field_cedula; 645 $rows[$row->field_cedula][] = $row->field_email; 646 $rows[$row->field_cedula][] = $row->field_tele; 647 $rows[$row->field_cedula][] =$row->field_unidad; 648 } 649 } 650 $resposables['responsables'] = $rows; 651 drupal_add_js($resposables, 'setting'); 652 653 $form['responsables']['entes_' . $tipo] = array( 654 '#title' => t('Responsable ' . $tipo), 655 '#type' => 'fieldset', 656 '#prefix' => '<div id="wrapper-proyectos-resposab-' . $tipo . '">', 657 '#suffix' => '</div>', 658 ); 659 $form['responsables']['entes_' . $tipo]['datos_' . $tipo] = array( 729 660 '#type' => 'select', 730 '#title' => t('Cargar datos del '.$tip), 731 '#default_value' => isset($form['#node']->field_proyecto_ced_r_adm['und'][0]['value']) ? $form['#node']->field_proyecto_ced_r_adm['und'][0]['value'] : 0, 661 '#title' => t('Cargar datos del ' . $tipo), 732 662 '#options' => $options, 733 '# prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '<span class="form-required" title="Este campo es obligatorio."> *</span></legend>',663 '#attributes' => array('class' => 'responsable responsable-field-' . $tipo), 734 664 ); 665 $count = 0; 666 $prefix = ''; 667 $prefixC = '<table><tr>'; 735 668 if (count($fields)) { 736 foreach ($arreglo[$tip] as $field_id => $field) { 737 $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>'; 738 } 739 foreach ($arreglo[$tip] as $field_id => $field) { 740 foreach ($form['#node']->{$field} as $id => $campo) { 741 if ($form['#node']->{$field}[$id]['value']) { 742 $default = $form['#node']->{$field}[$id]['value']; 743 } 744 elseif ($form['#node']->{$field}[$id]['email']) { 745 $default = $form['#node']->{$field}[$id]['email']; 746 } 747 else { 748 $default = $form_state['values'][$field]; 749 } 750 } 751 $prefix = ''; 752 if ($count == 0) { 753 $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>'; 754 } 755 else { 756 $prefix .= '<td>'; 757 } 758 $form['responsables'][$field] = array( 759 '#type' => 'textfield', 760 '#title' => $fields[$field]['widget']['label'], 761 '#required' => $fields[$field]['required'], 762 '#maxlength' => $fields[$field]['max_length'], 763 '#size' => $fields[$field]['size'], 764 '#weight' => $fields[$field]['weight'], 765 '#description' => $fields[$field]['description'], 766 '#default_value' => $default, 767 '#prefix' => $prefix, 768 '#suffix' => '</td>', 769 '#attributes' => array('class' => $tip), 770 ); 771 772 if($field == 'field_proyecto_cedul_gere' || $field == 'field_proyecto_ced_r_tec' || $field == 'field_proyecto_ced_r_reg' || $field == 'field_proyecto_ced_r_adm') { 773 $form['responsables'][$field]['#attributes']['placeholder'] = t( 'VXXXXXXXX' ); 774 } 775 if($field == 'field_proyecto_telef_gere' || $field == 'field_proyecto_tel_r_tec' || $field == 'field_proyecto_tel_r_reg' || $field == 'field_proyecto_tel_r_adm') { 776 $form['responsables'][$field]['#attributes']['placeholder'] = t( 'xxxx-xxxx-xxx' ); 777 } 778 $aux = $field; 779 $count++; 669 foreach ($values as $field_id) { 670 $prefixC .= '<th>' . $fields[$field_id]['widget']['label'] . '</th>'; 671 } 672 $prefixC .= '</tr><tr><td>'; 673 if ($count) { 674 $prefixC = ''; 675 } 676 $field_id = ''; 677 foreach ($values as $id) { 678 $field_id = $id; 679 $default = ''; 680 681 if (isset($form_state['values']['datos_' . $tipo])) { 682 $default = $rows[$form_state['values']['datos_' . $tipo]][$count]; 780 683 } 781 $form['responsables'][$aux]['#suffix'] .= '</tr>'; 782 $form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>'; 783 } 784 } //fin del foreach 785 786 $form['responsables'][$aux]['#suffix'] .= '</div>'; 787 788 foreach ($tipos as $tips => $tip) { 789 if (is_array($fields) && count($fields)) { 790 foreach ($fields as $field_id => $field) { 791 foreach ($arreglo[$tip] as $clave => $campo) { 792 if ($campo == $field_id) { 793 $form['#proyectos_operativos_fields'][] = $field_id; 794 $field_form[] = $field_id; 795 $fields_form[] = $field_id; 796 } 797 elseif (variable_get('proyectos_operativos_muestra_gerente_' . $field_id, FALSE)) { 798 $form['#proyectos_operativos_fields'][] = $field_id; 799 $field_form[] = $field_id; 800 $fields_form[] = $field_id; 801 } 802 } 803 } 804 } 805 } 684 else { 685 if ($form['#node']->{$field_id}[0]['value']) { 686 $default = $form['#node']->{$field_id}[0]['value']; 687 } 688 elseif ($form['#node']->{$field_id}[0]['email']) { 689 $default = $form['#node']->{$field_id}[0]['email']; 690 } 691 } 692 $form['responsables']['entes_' . $tipo][$field_id] = array( 693 '#type' => 'textfield', 694 '#required' => $fields[$field_id]['required'], 695 '#maxlength' => $fields[$field_id]['max_length'], 696 '#size' => $fields[$field_id]['size'], 697 '#weight' => $fields[$field_id]['weight'], 698 '#description' => $fields[$field_id]['description'], 699 '#default_value' => $default, 700 '#attributes' => array('class' => 'responsable-field default-' . $tipo), 701 ); 702 if (!$count) { 703 $form['responsables']['entes_' . $tipo][$field_id]['#prefix'] = $prefixC; 704 } 705 else { 706 $form['responsables']['entes_' . $tipo][$field_id]['#prefix'] .= '<td>'; 707 $form['responsables']['entes_' . $tipo][$field_id]['#suffix'] .= '</td>'; 708 } 709 $count++; 710 } 711 $form['responsables']['entes_' . $tipo][$field_id]['#suffix'] = '</tr></table>'; 712 } 713 //garantizar el guardar los valores 714 foreach ($values as $field_id) { 715 if (is_array($fields) && count($fields)) { 716 if ($field_id) { 717 $form['#proyectos_operativos_fields'][] = $field_id; 718 $field_form[] = $field_id; 719 $fields_form[] = $field_id; 720 } 721 elseif (variable_get('proyectos_operativos_muestra_gerente_' . $field_id, FALSE)) { 722 $form['#proyectos_operativos_fields'][] = $field_id; 723 $field_form[] = $field_id; 724 $fields_form[] = $field_id; 725 } 726 } 727 } 728 } 729 806 730 $form['#validate'][] = 'proyectos_operativos_mcti_proyecto_basico_form_responsables_validate'; 807 731 foreach ($form['#submit'] as $id => $name) { … … 819 743 $fields_extra_form1 = array(); 820 744 $arreglo = array(); 821 $codig_comuna = variable_get('proyectos_operativos_muestra_ codig_comuna', TRUE);745 $codig_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE); 822 746 if ($codig_comuna) { 823 747 $form['#proyectos_operativos_fields_extra'][] = 'field_proyecto_codigo_comu'; 824 748 $arreglo['field_proyecto_codigo_comu'] = 'field_proyecto_codigo_comu'; 825 749 } 826 $ubicacin_comuna = variable_get('proyectos_operativos_muestra_ ubicacin_comuna', TRUE);750 $ubicacin_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE); 827 751 if ($ubicacin_comuna) { 828 752 $form['#proyectos_operativos_fields_extra'][] = 'field_proyecto_ubicaci_comu'; 829 753 $arreglo['field_proyecto_ubicaci_comu'] = 'field_proyecto_ubicaci_comu'; 830 754 } 831 $nombre_comuna = variable_get('proyectos_operativos_muestra_ name_comuna', TRUE);755 $nombre_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE); 832 756 if ($nombre_comuna) { 833 757 $form['#proyectos_operativos_fields_extra'][] = $fields_extra_form1; … … 1362 1286 } 1363 1287 else { 1364 $form_state['values'][$campo] = array(array('value' => $form_state['values'][$campo]));1288 $form_state['values'][$campo] = array(array('value' => $form_state['values'][$campo])); 1365 1289 } 1366 1290 } … … 1720 1644 $output .= drupal_render($form['field_proyect_probl_abord']); 1721 1645 } 1722 if($causas) { 1646 if($causas) { 1723 1647 $output .= drupal_render($form['field_proyect_cau_abord']); 1724 1648 } 1725 1649 $output .= '</fieldset>'; 1726 } 1650 } 1727 1651 $output .= '</fieldset>'; 1728 1652 } … … 1811 1735 } 1812 1736 $output .= '</fieldset>'; 1813 1737 1814 1738 //ubicacion internacional 1815 1739 if (variable_get('proyectos_operativos_muestra_ubicaci_interna', TRUE)) { … … 1820 1744 $output .= '</fieldset>'; 1821 1745 //ubicacion comunal 1822 $codig_comuna = variable_get('proyectos_operativos_muestra_codig_comuna', TRUE); 1823 $ubicacin_comuna = variable_get('proyectos_operativos_muestra_ubicacin_comuna', TRUE); 1824 $nombre_comuna = variable_get('proyectos_operativos_muestra_name_comuna', TRUE); 1825 if($codig_comuna || $ubicacin_comuna || $nombre_comuna) { 1746 $datos_comuna = variable_get('proyectos_operativos_muestra_datos_comuna', TRUE); 1747 if($datos_comuna) { 1826 1748 $output .= '<fieldset><legend>' . t('Localización Comunal') . '</legend>'; 1827 1749 $output .= drupal_render($form['field_proyecto_codigo_comu']); … … 1859 1781 } 1860 1782 if (variable_get('proyectos_operativos_muestra_enunciado_problema', TRUE)) { 1861 $output .= '<fieldset><legend>' . t('Enunciado del Problema') . '</legend>' . drupal_render($form['field_proyecto_causas']) . drupal_render($form['field_proyecto_problemas']) . drupal_render($form['field_proyecto_consecuencias']);1862 1783 if (count($form['#fields_form_ip_in'])) { 1863 1784 foreach($form['#fields_form_ip_in'] as $id_c) { … … 2342 2263 2343 2264 /** 2344 * Carga los datos de los responsables del proyecto2345 */2346 function proyectos_operativos_mcti_proyecto_basico_form_responsables_js_util($tipo) {2347 $form_state = array(2348 'submitted' => FALSE,2349 );2350 $form_build_id = $_POST['form_build_id'];2351 // Add the new element to the stored form. Without adding the element to the2352 // form, Drupal is not aware of this new elements existence and will not2353 // process it. We retreive the cached form, add the element, and resave.2354 $form = form_get_cache($form_build_id, $form_state);2355 2356 $nid = $_POST['field_proyecto_ente'];2357 $node_type = content_types('proyectos_operativos');2358 $fields = $node_type['fields'];2359 $query_ins = db_query("SELECT nid, title FROM {node} WHERE type='ente_planificador' AND status=1");2360 while ($row = db_fetch_object($query_ins)) {2361 $instituciones[$row->nid] = $row->title;2362 }2363 2364 $new_form['responsables'] = array(2365 '#title' => t(''),2366 '#type' => 'fieldset',2367 );2368 /*$new_form['responsables']['field_proyecto_ente'] = array(2369 '#title' => t('Insitución'),2370 '#type' => 'select',2371 '#options' => $instituciones,2372 '#ahah' => array(2373 'path' => 'proyectos_operativos_mcti_proyecto_basico_form_responsables/responsables',2374 'wrapper' => 'wrapper-proyectos-resposab',2375 'method' => 'replace',2376 'progress' => array('type' => 'throbber', 'message' => t('Please wait...')),2377 ),2378 '#prefix' => '<div id="field_proyecto_ente_datos_basicos">',2379 '#suffix' => '</div>',2380 );2381 */2382 $arreglo = array();2383 $tipos = array(2384 'gerente' => 'gerente',2385 'tecnico' => 'tecnico',2386 'registrador' => 'registrador',2387 'administrativo' => 'administrativo',2388 );2389 $arreglo['gerente'] = array(2390 0 => 'field_proyecto_nombre_gere',2391 1 => 'field_proyecto_cedul_gere',2392 2 => 'field_proyecto_corre_gere',2393 3 => 'field_proyecto_telef_gere',2394 );2395 $arreglo['tecnico'] = array(2396 0 => 'field_proyecto_nom_r_tec',2397 1 => 'field_proyecto_ced_r_tec',2398 2 => 'field_proyecto_cor_r_tec',2399 3 => 'field_proyecto_tel_r_tec',2400 4 => 'field_proyecto_und_r_tec',2401 );2402 $arreglo['registrador'] = array(2403 0 => 'field_proyecto_nom_r_reg',2404 1 => 'field_proyecto_ced_r_reg',2405 2 => 'field_proyecto_cor_r_reg',2406 3 => 'field_proyecto_tel_r_reg',2407 );2408 $arreglo['administrativo'] = array(2409 0 => 'field_proyecto_nom_r_adm',2410 1 => 'field_proyecto_ced_r_adm',2411 2 => 'field_proyecto_cor_r_adm',2412 3 => 'field_proyecto_tel_r_adm',2413 4 => 'field_proyecto_und_r_adm',2414 );2415 2416 $query['gerente'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nombre_gere_value as field_proyecto_nombre_gere, pp.field_proyecto_cedul_gere_value as field_proyecto_cedul_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 asc", $nid);2417 $query['tecnico'] = db_query("SELECT DISTINCT(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 asc", $nid);2418 $query['registrador'] = db_query("SELECT DISTINCT(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 asc", $nid);2419 $query['administrativo'] = db_query("SELECT DISTINCT(pp.vid), pp.field_proyecto_nom_r_adm_value as field_proyecto_nom_r_adm, pp.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 asc", $nid);2420 2421 foreach ($tipos as $tip) {2422 $options = array();2423 $options[0] = t('Seleccione');2424 $count = 0;2425 $prefixC = '';2426 while ($row = db_fetch_object($query[$tip]) ) {2427 if ($row->$arreglo[$tip][0] != null || $row->$arreglo[$tip][1] != null) {2428 $options[$row->vid] = $row->$arreglo[$tip][0] . '('. $row->$arreglo[$tip][1] .')';2429 }2430 }2431 $options[$row->vid + 1] = t('Nuevo');2432 $new_form['responsables']['default_'.$tip] = array(2433 '#type' => 'select',2434 '#title' => t('Cargar datos del '.$tip),2435 '#options' => $options,2436 '#prefix' => '<fieldset id="wrapper-'.$tip.'-datos"><legend>' . t('Responsable '.$tip ) . '</legend>',2437 );2438 $new_form['responsables']['default_'.$tip]['#prefix'] .= '<div id="default_'.$tip.'_select">';2439 $new_form['responsables']['default_'.$tip]['#suffix'] .= '</div>';2440 if (count($fields)) {2441 foreach ($arreglo[$tip] as $field_id => $field) {2442 $prefixC .= '<th>' . $fields[$field]['widget']['label'] . '</th>';2443 }2444 foreach ($arreglo[$tip] as $field_id => $field) {2445 $prefix = '';2446 if ($count == 0) {2447 $prefix = '<div id="default_'.$tip.'"><table><tr>' . $prefixC . '</tr><tr><td>';2448 }2449 else {2450 $prefix .= '<td>';2451 }2452 $new_form['responsables'][$field] = array(2453 '#type' => 'textfield',2454 '#required' => $fields[$field]['required'],2455 '#maxlength' => $fields[$field]['max_length'],2456 '#size' => $fields[$field]['size'],2457 '#weight' => $fields[$field]['weight'],2458 '#description' => $fields[$field]['description'],2459 '#prefix' => $prefix,2460 '#suffix' => '</td>',2461 );2462 $aux = $field;2463 $count++;2464 }2465 $new_form['responsables'][$aux]['#suffix'] .= '</tr>';2466 $new_form['responsables'][$aux]['#suffix'] .= '</table></div></fieldset>';2467 }2468 }2469 2470 $form[$tipo] = $new_form;2471 form_set_cache($form_build_id, $form, $form_state);2472 $form += array(2473 '#post' => $_POST,2474 '#programmed' => FALSE,2475 );2476 // Rebuild the form.2477 2478 $form = form_builder($_POST['form_id'], $form, $form_state);2479 // Render the new output.2480 $new_form = $form[$tipo];2481 unset($new_form['#prefix'], $new_form['#suffix']); // Prevent duplicate wrappers.2482 $output = drupal_render($new_form);2483 print drupal_to_js(array('data' => $output, 'status' => true));2484 exit();2485 }2486 2487 /**2488 2265 * Implementation of proyectos_operativos_search_ac_display(). 2489 2266 * Muestra la lista de proyectos disponibles. … … 2833 2610 return theme('proyectos_operativos_mcti_ficha_proyecto', $proyecto); 2834 2611 } 2612 2613 /** 2614 * Buscar valores por defecto para los responsable. 2615 */ 2616 function proyectos_operativos_mcti_search_responsable($tipo, $ente_planificador) { 2617 if ($tipo == 'gerente') { 2618 $query = 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); 2619 } 2620 else if ($tipo == 'tecnico') { 2621 $query = 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); 2622 } 2623 else if ($tipo == 'registrador') { 2624 $query = 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); 2625 } 2626 else if ($tipo == 'administrativo') { 2627 $query = 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); 2628 } 2629 return $query; 2630 }
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.