Conjunto 6e81fb4 en sipes
- Fecha y hora:
- 26/09/2018 10:51:39 (hace 6 años)
- Branches:
- stable
- Children:
- a609c96
- Parents:
- f8d6cf8
- Ubicación:
- 0.3-modules/continuarproyectosopplurianual
- Ficheros:
-
- 2 añadidos
- 2 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
0.3-modules/continuarproyectosopplurianual/continuarproyectosopplurianual.install
r66ea143 r6e81fb4 289 289 290 290 $content['fields'][] = array ( 291 'label' => 'Proyecto operativo Plurianual Base',291 'label' => 'Proyecto operativo Plurianual', 292 292 'type_name' => 'accion_especifica', 293 293 'field_name' => 'field_ae_proyectobase', -
0.3-modules/continuarproyectosopplurianual/continuarproyectosopplurianual.module
r0f96486 r6e81fb4 97 97 $form['continuarproyectosopplurianual']['continuarproyectosopplurianual_mcti'] = array( 98 98 '#type' => 'checkbox', 99 '#title' => t(' PolÃticas Direccionales'),99 '#title' => t('Restringir fecha de las AES'), 100 100 '#description' => t('Permitir editar el campo de PolÃticas Pireccionales'), 101 101 '#default_value' => variable_get('continuarproyectosopplurianual_mcti', 1), … … 107 107 $plurianual = $form['#node']->nid && ($proyecto->field_proyecto_plurianual[0]['value'] == variable_get('proyectos_operativos_plurianual', 0) && $form['#node']->{$campo}[0]['nid'] && is_numeric($form['#node']->{$campo}[0]['nid']) && !$form['#node']->{$campo}[0]['nid'] != $form['#node']->nid); 108 108 $campos_disable = array(); 109 if ($plurianual) { 109 if (!$plurianual) { 110 return; 111 } 110 112 $campos = _continuar_proyecto_get_fieldsbyformstep(); 111 113 $campos_form = $campos[$form['#node']->type][$form_id]; 112 114 //se agregar el campo de fecha de finalización para que pueda ser modificado 113 115 if ($form_id == 'proyectos_operativos_proyecto_basico_form') { 114 $campos_form['field_proyecto_fecha_i'] = 'field_proyecto_fecha_i';115 116 $campos_form['field_proyecto_fecha_f'] = 'field_proyecto_fecha_f'; 117 //$campos_form['field_proyecto_pndes'] = 'field_proyecto_pndes'; 116 118 } 117 119 elseif($form_id == 'proyectos_operativos_accion_especifica_crear_form') { 118 $campos_form['field_accion_esp_fechai'] = 'field_accion_esp_fechai';119 120 $campos_form['field_accion_esp_fechaf'] = 'field_accion_esp_fechaf'; 120 121 } 121 if (count($campos_form)) { 122 $proyectos_operativos_fields = array(); 123 $campos_esenciales = _continuar_proyecto_campos_esenciales(); 124 $form['#campos_esenciales'] = array(); 125 $display_ids = array(); 126 foreach($form['#proyectos_operativos_fields'] as $id) { 127 if (isset($form[$id]) && !isset($campos_form[$id]) && !isset($display_ids[$id])) { 128 if (isset($campos_esenciales[$form_id][$id])) { 129 $form['#campos_esenciales'][$id] = $id; 130 } 131 $display_ids[$id] = $id; 132 $titulo = $form['#field_info'][$id]['widget']['label']; 133 unset($form[$id]); 134 $vid = isset($form['#field_info'][$id]['vid']) && is_numeric($form['#field_info'][$id]['vid'])? $form['#field_info'][$id]['vid'] : 0; 135 $items = array(); 136 $inputs = array(); 137 $sql_implode = array(); 138 $options = array(); 139 if ($form['#field_info'][$id]['widget']['type'] == 'optionwidgets_select') { 140 $list = explode("\n", $form['#field_info'][$id]['allowed_values']); 141 $list = array_map('trim', $list); 142 $list = array_filter($list, 'strlen'); 143 foreach ($list as $opt) { 144 // Sanitize the user input with a permissive filter. 145 $opt = content_filter_xss($opt); 146 if (strpos($opt, '|') !== FALSE) { 147 list($key, $value) = explode('|', $opt); 148 $options[$key] = (isset($value) && $value !=='') ? $value : $key; 149 } 150 else { 151 $options[$cid][$opt] = $opt; 152 } 153 } 154 } 155 foreach($form['#node']->{$id} as $valores) { 156 if (isset($form['#field_info'][$id]['columns']['nid'])){ 157 foreach($valores as $id1 => $valor){ 158 $inputs[] = $valor; 159 $sql_implode[] = '%d'; 160 } 122 123 if (count($campos_form)) { 124 $proyectos_operativos_fields = array(); 125 $campos_esenciales = _continuar_proyecto_campos_esenciales(); 126 $form['#campos_esenciales'] = array(); 127 128 129 130 $display_ids = array(); 131 foreach($form['#proyectos_operativos_fields'] as $id) { 132 if (isset($form[$id]) && !isset($campos_form[$id]) && !isset($display_ids[$id])) { 133 if (isset($campos_esenciales[$form_id][$id])) { 134 $form['#campos_esenciales'][$id] = $id; 135 } 136 $display_ids[$id] = $id; 137 $titulo = $form['#field_info'][$id]['widget']['label']; 138 unset($form[$id]); 139 $vid = isset($form['#field_info'][$id]['vid']) && is_numeric($form['#field_info'][$id]['vid'])? $form['#field_info'][$id]['vid'] : 0; 140 $items = array(); 141 $inputs = array(); 142 $sql_implode = array(); 143 $options = array(); 144 if ($form['#field_info'][$id]['widget']['type'] == 'optionwidgets_select') { 145 146 $list = explode("\n", $form['#field_info'][$id]['allowed_values']); 147 $list = array_map('trim', $list); 148 $list = array_filter($list, 'strlen'); 149 foreach ($list as $opt) { 150 // Sanitize the user input with a permissive filter. 151 $opt = content_filter_xss($opt); 152 if (strpos($opt, '|') !== FALSE) { 153 list($key, $value) = explode('|', $opt); 154 $options[$key] = (isset($value) && $value !=='') ? $value : $key; 161 155 } 162 156 else { 163 foreach($valores as $id1 => $valor){ 164 if ($vid) { 165 $padres = $valor && is_numeric($valor)? taxonomy_get_parents_all($valor) : array(); 166 $lista = array(); 167 foreach($padres as $term){ 168 $lista[] = $term->name; 169 } 170 $items[] = implode(' > ', $lista); 157 $options[$cid][$opt] = $opt; 158 } 159 } 160 } 161 foreach($form['#node']->{$id} as $valores) { 162 if (isset($form['#field_info'][$id]['columns']['nid'])){ 163 foreach($valores as $id1 => $valor){ 164 $inputs[] = $valor; 165 $sql_implode[] = '%d'; 166 } 167 } 168 else { 169 foreach($valores as $id1 => $valor){ 170 if ($vid) { 171 $padres = $valor && is_numeric($valor)? taxonomy_get_parents_all($valor) : array(); 172 $lista = array(); 173 foreach($padres as $term){ 174 $lista[] = $term->name; 171 175 } 172 else{ 173 $display_ids[$id] = $id; 174 $mostrar = isset($options[$valor])? $options[$valor] : $valor; 175 $items[] = $mostrar; 176 } 177 } 176 $items[] = implode(' > ', $lista); 177 } 178 else{ 179 $display_ids[$id] = $id; 180 $mostrar = isset($options[$valor])? $options[$valor] : $valor; 181 $items[] = $mostrar; 182 } 178 183 } 179 if (count($inputs)) { 180 $sql = 'SELECT nid, title FROM {node} WHERE nid in(' . implode(', ', $sql_implode) . ')'; 181 $result = db_query($sql, $inpunts); 182 while($nodo = db_fetch_object($result)) { 183 $items[] = $nodo->title; 184 } 185 } 186 } 187 $display = count($items) > 1? theme('item_list', $items) : implode(' ',$items); 188 $form[$id] = array( 189 '#value' => '<div id="edit-field-proyecto-' . $id . '-0-value-wrapper" class="form-item"><label for="edit-field-proyecto-' . $id . '-0-value">' . $titulo . '</label>' . $display . '</div>', 184 } 185 if (count($inputs)) { 186 $sql = 'SELECT nid, title FROM {node} WHERE nid in(' . implode(', ', $sql_implode) . ')'; 187 $result = db_query($sql, $inpunts); 188 while($nodo = db_fetch_object($result)) { 189 $items[] = $nodo->title; 190 } 191 } 192 } 193 $display = count($items) > 1? theme('item_list', $items) : implode(' ',$items); 194 $form[$id] = array( 195 '#value' => '<div id="edit-field-proyecto-' . $id . '-0-value-wrapper" class="form-item"><label for="edit-field-proyecto-' . $id . '-0-value">' . $titulo . '</label>' . $display . '</div>', 190 196 '#access' => TRUE, 191 ); 192 } 193 elseif (!isset($display_ids[$id])) { 194 $proyectos_operativos_fields[$id] = $id; 195 } 197 ); 196 198 } 197 if (count($form['#campos_esenciales'])) {198 $ form['#validate'][] = 'continuarproyectosopplurianual_disable_form_validate';199 elseif (!isset($display_ids[$id])) { 200 $proyectos_operativos_fields[$id] = $id; 199 201 } 202 } 200 203 $form['#proyectos_operativos_fields'] = $proyectos_operativos_fields; 201 } 202 } 204 if (count($form['#campos_esenciales'])) { 205 $form['#validate'][] = 'continuarproyectosopplurianual_disable_form_validate'; 206 } 207 208 209 $continuarproyectosopplurianual_path = drupal_get_path('module', 'continuarproyectosopplurianual'); 210 drupal_add_js($continuarproyectosopplurianual_path . '/js/continuarproyectosopplurianual.js'); 211 drupal_add_js(array('continuarproyectosopplurianual' => array('plurianual' => $campos_disable)), 'setting'); 212 } 213 $form['#proyectos_operativos_fields'] = $proyectos_operativos_fields; 214 $form['#continuarproyectosopplurianual'] = $campos_disable; 203 215 } 204 216 } … … 217 229 } 218 230 } 219 220 231 /* 221 232 * Implementation of hook_menu() … … 250 261 } 251 262 } 252 $year_p = variable_get('proyectos_operativos_anho_creacion', 0);253 263 //se verifica que no exista un proyecto plurianual ya creado para este periodo 254 $sql = 'SELECT p.nid, n.title FROM {content_type_proyectos_operativos} AS p INNER JOIN {node} AS n ON n.nid = p.nid AND n.vid = p.vid AND n.status > 0 INNER JOIN {proyectos_operativos} AS po ON po.nid = p.nid INNER JOIN {workflow_node} AS w ON w.nid = p.nid AND w.sid != %d WHERE (p.field_proyecto_plurianualb_nid = %d OR p.nid = %d) AND po.year = %d';264 $sql = 'SELECT * FROM {content_type_proyectos_operativos} AS p INNER JOIN {node} AS n ON n.nid = p.nid AND n.vid = p.vid INNER JOIN {proyectos_operativos} AS po ON po.nid = p.nid WHERE (field_proyecto_plurianualb_nid = %d OR nid = %d) AND po.year = %d'; 255 265 $inpunts = array(); 256 $inpunts[] = variable_get('proyectos_operativos_state_naprobado', NULL);257 266 $inpunts[] = $node->nid; 258 267 $inpunts[] = $node->nid; 268 $year_p = variable_get('proyectos_operativos_anho_creacion', 0); 259 269 $inpunts[] = $year_p; 260 270 $result = db_query($sql, $inpunts); … … 309 319 $form['#node'] = $proyecto; 310 320 //Se obtienen las AE disponibles para el nuevo proyecto plurianual 311 $sql = "SELECT aet.field_accion_titulo_value AS titulo, aet.nid , aet.field_accion_esp_fechai_value AS fechai, aet.field_accion_esp_fechaf_value AS fechafFROM {content_type_proyectos_operativos} AS po INNER JOIN {content_field_proyecto_accion_esp} AS ae ON ae.nid = po.nid AND ae.vid = po.vid INNER JOIN {node} AS n ON n.nid = ae.field_proyecto_accion_esp_nid INNER JOIN {content_type_accion_especifica} AS aet ON aet.nid = n.nid AND aet.vid = n.vid WHERE po.field_proyecto_plurianualb_nid = %d OR (po.nid = %d AND po.vid = %d)";321 $sql = "SELECT aet.field_accion_titulo_value AS titulo, aet.nid FROM {content_type_proyectos_operativos} AS po INNER JOIN {content_field_proyecto_accion_esp} AS ae ON ae.nid = po.nid AND ae.vid = po.vid INNER JOIN {node} AS n ON n.nid = ae.field_proyecto_accion_esp_nid INNER JOIN {content_type_accion_especifica} AS aet ON aet.nid = n.nid AND aet.vid = n.vid WHERE po.field_proyecto_plurianualb_nid = %d OR (po.nid = %d AND po.vid = %d)"; 312 322 $inpunts = array(); 313 323 $inpunts[] = $proyecto->nid; … … 316 326 if (variable_get('continuarproyectosopplurianual_aes', 0)) { 317 327 $year = variable_get('proyectos_operativos_anho_creacion', 0); 318 $sql .= " ANDaet.field_accion_esp_fechai_value <= '%s' AND aet.field_accion_esp_fechaf_value >= '%s'";328 $sql .= " aet.field_accion_esp_fechai_value <= '%s' AND aet.field_accion_esp_fechaf_value >= '%s'"; 319 329 $inpunts[] = ($year + 1) . '-01-01 00:00:00'; 320 330 $inpunts[] = ($year - 1) . '-12-31 00:00:00'; … … 329 339 '#collapsed' => FALSE, 330 340 ); 331 while($ae = db_fetch_object($result)) { 332 $fechai = explode(' ', $ae->fechai); 333 $fechai = explode('-', $fechai[0]); 334 $fechaf = explode(' ', $ae->fechaf); 335 $fechaf = explode('-', $fechaf[0]); 336 $fechas = array(); 337 //solo deje agregar ae que tienen bien establecidas sus fechas 338 if (count($fechai) == 3 && count($fechaf) == 3) { 339 $fechas[0] = $fechai[2] . '/' . $fechai[1] . '/' . $fechai[0]; 340 $fechas[1] = $fechaf[2] . '/' . $fechaf[1] . '/' . $fechaf[0]; 341 $titulo = t('AE: @AE (Fechas de ejecución: @fechai al @fechaf)', array('@AE' => $ae->titulo, '@fechai' => $fechas[0], '@fechaf' => $fechas[1])); 342 $form['ae']['ae_' . $ae->nid] = array( 343 '#type' => 'checkbox', 344 '#title' => check_plain($titulo), 345 '#default_value' => FALSE, 346 ); 347 $aes[$ae->nid] = $ae->titulo; 348 } 341 while($ae = db_fetch_object($result)) { 342 $form['ae']['ae_' . $ae->nid] = array( 343 '#type' => 'checkbox', 344 '#title' => check_plain($ae->titulo), 345 '#default_value' => FALSE, 346 ); 347 $aes[$ae->nid] = $ae->titulo; 349 348 } 350 349 $form['#ae'] = $aes; 351 350 $form['buttons']['registrar'] = array( 352 351 '#type' => 'submit', 353 '#default_value' => t(' Continuar Proyecto Plurianual'),352 '#default_value' => t('Agregar Proyecto Plurianual'), 354 353 '#weight' => 100, 355 354 ); … … 362 361 $form['#submit'] = array('continuarproyectosopplurianual_agregar_proyectos_operativo_form_submit'); 363 362 return $form; 363 } 364 365 /* 366 * Implementation of proyectos_operativos_proyecto_basico_form_validate() 367 * Validar formulario de datos basicos (proyectos operativos). 368 */ 369 function continuarproyectosopplurianual_agregar_proyectos_operativo_form_validate($form, &$form_state) { 370 $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : ''; 371 if ($op == t('Cancelar')) { 372 return; 373 } 364 374 } 365 375 … … 387 397 $new_aes_title = array(); 388 398 foreach($form['#ae'] as $nid => $title) { 389 if ($form_state['values']['ae_' . $ nid]) {399 if ($form_state['values']['ae_' . $ae->nid]) { 390 400 $nueva_ae = _continuar_clonar_proyecto_aes($nid, $nuevo_proyecto->nid); 391 401 if ($nueva_ae && $nueva_ae->nid) { … … 469 479 } 470 480 elseif($node->type == 'proyectos_operativos') { 471 $node_load->field_proyecto_accion_esp = array();472 481 $node_load->anhoproyectos_operativos = variable_get('proyectos_operativos_anho_creacion', 0); 473 482 } … … 486 495 'proyectos_operativos' => array( 487 496 'proyectos_operativos_proyecto_basico_form' => array( 488 // 'field_proyecto_fecha_i' => 'field_proyecto_fecha_i', 489 // 'field_proyecto_fecha_f' => 'field_proyecto_fecha_f', 497 'field_proyecto_pndes' => 'field_proyecto_pndes', 498 'field_proyecto_causas' => 'field_proyecto_causas', 499 'field_proyecto_problemas' => 'field_proyecto_problemas', 500 'field_proyecto_justificacion' => 'field_proyecto_justificacion', 501 //update 6000 502 'field_proyecto_alcance' => 'field_proyecto_alcance', 503 'field_lineas_estrategicas' => 'field_lineas_estrategicas', 504 'field_poli_ministeriales' => 'field_poli_ministeriales', 505 'field_proyectos_programas' => 'field_proyectos_programas', 506 'field_montos_otras_moneds' => 'field_montos_otras_moneds', 507 'field_proyecto_fecha_i' => 'field_proyecto_fecha_i', 508 'field_proyecto_fecha_f' => 'field_proyecto_fecha_f', 490 509 'field_proyecto_monto_ant' => 'field_proyecto_monto_ant', 491 510 'field_proyecto_monto_anual' => 'field_proyecto_monto_anual', … … 510 529 'field_proyecto_tel_r_adm' => 'field_proyecto_tel_r_adm', 511 530 'field_proyecto_und_r_adm' => 'field_proyecto_und_r_adm', 531 'field_proyecto_ubicaci_inter' => 'field_proyecto_ubicaci_inter', 532 'field_proyecto_codigo_comu' => 'field_proyecto_codigo_comu', 533 'field_proyecto_nombres_cum' => 'field_proyecto_nombres_cum', 534 'field_proyecto_ubicaci_comu' => 'field_proyecto_ubicaci_comu', 535 'field_proyecto_poan' => 'field_proyecto_poan', 512 536 ), 513 537 'proyectos_operativos_proyecto_generales_form' => array( … … 524 548 ), 525 549 'proyectos_operativos_proyecto_indicadores_form' => array( 550 //'field_proyecto_pndes' => 'field_proyecto_pndes', 551 //'field_proyecto_causas' => 'field_proyecto_causas', 552 //'field_proyecto_problemas' => 'field_proyecto_problemas', 553 //'field_proyecto_justificacion' => 'field_proyecto_justificacion', 554 //'field_proyecto_alcance' => 'field_proyecto_alcance', 526 555 'field_proyecto_descripcion_bien' => 'field_proyecto_descripcion_bien', 527 556 'field_proyecto_unidadm' => 'field_proyecto_unidadm', … … 556 585 'field_factor_importancia' => 'field_factor_importancia', 557 586 'field_factor_medids_impact' => 'field_factor_medids_impact', 587 588 558 589 'field_proyecto_sa_descripcion' => 'field_proyecto_sa_descripcion', 559 590 'field_proyecto_sa_formulai' => 'field_proyecto_sa_formulai', … … 562 593 'field_proyecto_so_descripcion' => 'field_proyecto_so_descripcion', 563 594 'field_proyecto_tiempoi' => 'field_proyecto_tiempoi', 595 564 596 ), 565 597 'otros' => array( … … 570 602 'accion_especifica' => array( 571 603 'proyectos_operativos_accion_especifica_crear_form' => array( 572 //'field_accion_esp_fechai' => 'field_accion_esp_fechai',573 //'field_accion_esp_fechaf' => 'field_accion_esp_fechaf',604 'field_accion_esp_fechai' => 'field_accion_esp_fechai', 605 'field_accion_esp_fechaf' => 'field_accion_esp_fechaf', 574 606 'field_accion_esp_ejecutor' => 'field_accion_esp_ejecutor', 575 607 'field_accion_esp_bien' => 'field_accion_esp_bien', … … 584 616 'field_accion_esp_programacion' => 'field_accion_esp_programacion', 585 617 'field_accion_esp_unidadm' => 'field_accion_esp_unidadm', 618 'field_ae_finamonedas' => 'field_ae_finamonedas', 586 619 ), 587 620 'otros' => array( … … 605 638 } 606 639 } 640 607 641 return $arreglo; 608 642 }
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.