Conjunto 5e53f1d en sipes
- Fecha y hora:
- 09/03/2017 15:44:29 (hace 7 años)
- Branches:
- version-3.0
- Children:
- 0c18e68
- Parents:
- 23a1098
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
0.3-modules/proyectos_reformulacion/proyectos_reformulacion.module
reaca1bf r5e53f1d 23 23 * @date 2013-04-11 // (año-mes-dia) 24 24 * @version 0.1 // (0.1) 25 * Modificado por: PHD. Juan Vizcarrondo @date 2017-02-15. 25 26 * 26 27 */ … … 48 49 $datos_proyectos_reformulacion_status = array(); 49 50 //si existe al menos una reformulacion en estado aprobado la reformulacion se puede considerar terminado 50 $reformula r= FALSE;51 $year = variable_get('proyectos_ operativos_anho_creacion', 0);52 $estado_naprobado = variable_get('proyectos_ operativos_state_naprobado', NULL);;51 $reformulacion = FALSE; 52 $year = variable_get('proyectos_reformulacion_anho', 0); 53 $estado_naprobado = variable_get('proyectos_reformulacion_state_naprobado', NULL);; 53 54 $result = db_query('SELECT COUNT(re.id_ref) AS cantidad FROM {proyectos_reformular} AS re INNER JOIN {users} AS u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS po ON po.nid = re.nid WHERE re.nid = %d AND estado <> %d AND po.year = %d', $ente_planificador, $estado_naprobado, $year); 54 $reformular = db_fetch_object($result); 55 $reformular = $reformular->cantidad; 56 $datos_proyectos_reformulacion_status['proyectos_operativos_reformular']['value'] = ($reformular) ? 1 : 0; 55 $reformulacion = db_fetch_object($result); 56 $datos_proyectos_reformulacion_status['proyectos_operativos_reformular']['value'] = ($reformulacion->cantidad) ? 1 : 0; 57 57 $datos_proyectos_reformulacion_status['proyectos_operativos_reformular']['title'] = t('Reformulaciones para el año @year', array('@year' => $year)); 58 58 $datos_proyectos_reformulacion_status['proyectos_operativos_reformular']['link'] = 'proyectos_operativos'; … … 272 272 ); 273 273 $output = ''; 274 275 274 //financiamiento 276 275 $arreglo_financiamiento = array(); 277 $accion_especifica_number_fields = variable_get(' accion_especifica_number_fields', 4);276 $accion_especifica_number_fields = variable_get('proyectos_reformulacion_ae_number_fields', 4); 278 277 for($i = 0; $i < $accion_especifica_number_fields; $i++) { 279 $arreglo_financiamiento['financiamiento_' . $i] = variable_get(' accion_especifica_financiamiento_label_' . $i, '') ? variable_get('accion_especifica_financiamiento_label_' . $i, '') : '';280 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get(' accion_especifica_financiamiento_options_' . $i, array());278 $arreglo_financiamiento['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') ? variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') : ''; 279 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_options_' . $i, array()); 281 280 } 282 /*283 284 $arreglo = array();285 $titles = array(286 'ordinarios' => t('Recursos Ordinarios'),287 'propios' => t('Recursos Propios'),288 'transferencias' => t('Donaciones'),289 'otros' => t('Otros'),290 );291 $titles_field = array(292 'field_accion_esp_transferencias' => t('Recursos Ordinarios'),293 'field_accion_esp_creditosa' => t('Recursos Propios'),294 'transferencias' => t('Donaciones'),295 'otros' => t('Otros'),296 );297 $arreglo['ordinarios'] = array(298 'field_accion_esp_transferencias' => 'field_accion_esp_transferencias',299 'field_accion_esp_creditosa' => 'field_accion_esp_creditosa',300 'field_accion_esp_mcti' => 'field_accion_esp_mcti',301 );302 $arreglo['propios'] = array(303 'field_accion_esp_venta_act' => 'field_accion_esp_venta_act',304 'field_accion_esp_activos' => 'field_accion_esp_activos',305 'field_accion_esp_flujocaja' => 'field_accion_esp_flujocaja',306 'field_accion_esp_ventapro' => 'field_accion_esp_ventapro',307 );308 $arreglo['transferencias'] = array(309 'field_accion_esp_donaciones' => 'field_accion_esp_donaciones',310 );311 $arreglo['otros'] = array(312 'field_accion_esp_gobernacion' => 'field_accion_esp_gobernacion',313 'field_accion_esp_misionc' => 'field_accion_esp_misionc',314 'field_accion_esp_bid_fona' => 'field_accion_esp_bid_fona',315 'field_accion_esp_fonacit' => 'field_accion_esp_fonacit',316 'field_accion_esp_fonden' => 'field_accion_esp_fonden',317 'field_accion_esp_locti' => 'field_accion_esp_locti',318 'field_accion_esp_fondoidi' => 'field_accion_esp_fondoidi',319 'field_accion_esp_capitalrie' => 'field_accion_esp_capitalrie',320 'field_accion_esp_infocentro' => 'field_accion_esp_infocentro',321 'field_accion_esp_fidetel' => 'field_accion_esp_fidetel',322 );323 */324 281 $rows = array(); 325 282 $row = array(); … … 378 335 $node->proyecto_asignado = $proyecto; 379 336 $node->variaciones = $proyecto->variaciones; 380 381 382 337 } 383 338 elseif ($node->type == 'proyectos_operativos'){ … … 389 344 } 390 345 } 391 392 346 393 347 /* … … 434 388 } 435 389 } 436 $states = array(); 437 if ($form_id == 'proyectos_operativos_admin_settings') { 438 if (module_exists('workflow')) { 439 $wid = workflow_get_workflow_for_type('proyectos_operativos'); 440 if ($wid){ 441 $states = workflow_get_states($wid); 442 $rids = user_roles(); 443 $rids['-1'] = t('author'); 444 if (count($states)) { 445 foreach ($states as $sid => $state) { 446 $form['workflow']['proyectos_operativos_state_r_' . $sid] = array( 447 '#type' => 'checkboxes', 448 '#options' => $rids, 449 '#default_value' => variable_get('proyectos_operativos_state_r_' . $sid, array()), 450 '#title' => t('Roles que pueden editar las reformulaciones de los Proyectos Operativos'), 451 '#multiple' => TRUE, 452 '#prefix' => '<table width="100%" style="border: 0;"><tbody style="border: 0;"><tr><th colspan="3">' . t('State: @state', array('@state' => $state)) . '</th></tr><tr><td>', 453 '#suffix' => "</td></tr></tbody></table>", 454 ); 455 } 456 } 457 } 458 } 459 } 460 if (count($states)) { 461 $form['workflow']['proyectos_operativos_state_reformulacion'] = array( 462 '#title' => t('Seleccione el estado de inicio cuando se añada una reformulación'), 463 '#type' => 'select', 464 '#default_value' => variable_get('proyectos_operativos_state_reformulacion', 0), 465 '#options' => $states, 466 '#weight' => -6, 467 ); 468 } 469 } 470 390 } 471 391 472 392 /** … … 479 399 480 400 /** 401 * Menu access control callback. Determine access to reformula tab. 402 */ 403 function _proyectos_reformulacion_ver_reformula_node_tab_access($node = NULL, $reformulacion = 0) { 404 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 405 return ($reformulacion['id_ref'] && $node->type == 'proyectos_operativos' && $node->_workflow == $estado_aprobado); 406 } 407 408 /** 481 409 * Menu access control callback. Determine access to reformulacion tab. 482 410 */ 483 411 function _proyectos_reformulacion_reformula_node_add_tab_access($node = NULL) { 484 412 global $user; 485 $year = variable_get('proyectos_ operativos_anho_creacion', 0);413 $year = variable_get('proyectos_reformulacion_anho', 0); 486 414 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 487 415 if ($node->type != 'proyectos_operativos' || $node->anhoproyectos_operativos != $year) { … … 494 422 $current_time = time(); 495 423 $tipo_plan = 'proyectos_operativos_reformular'; 496 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador ->tipo);424 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador); 497 425 $fecha = FALSE; 498 426 $ente = usuario_tiene_ente($user->uid); … … 511 439 return FALSE; 512 440 } 513 $roles_allow = variable_get('proyectos_operativos_state_r_1', array()); 514 $estado_naprobado = variable_get('proyectos_operativos_state_naprobado', NULL); 515 $result = db_query("SELECT count(ar.id_ref) AS cantidad FROM {proyectos_operativos} AS ac INNER JOIN {proyectos_reformular} AS ar ON ar.nid = ac.nid WHERE (ar.estado <> %d AND ar.estado <> %d) AND ac.ente = %d AND ac.year = %d and ac.nid = %d", $estado_aprobado, $estado_naprobado, $node->field_proyecto_ente[0]['nid'], $year, $node->nid); 516 $proyecto = db_fetch_array($result); 517 $roles = array_keys($user->roles); 518 if (count($roles)) { 519 foreach($roles as $rol) { 520 if($roles_allow[$rol]) { 521 return TRUE && !$proyecto['cantidad']; 522 } 523 } 524 } 525 return ($proyecto && !$proyecto['cantidad'] && $user->uid == 1); 441 if (module_exists('workflow')) { 442 $first = variable_get('proyectos_reformulacion_state_reformulacion', 0); 443 $roles_allow = variable_get('proyectos_reformulacion_state_r_' . $first, array()); 444 // print_r($roles_allow); 445 $estado_naprobado = variable_get('proyectos_reformulacion_state_naprobado', NULL); 446 $estado_aprobador = variable_get('proyectos_reformulacion_state_aprobado', NULL); 447 $result = db_query("SELECT count(ar.id_ref) AS cantidad FROM {proyectos_operativos} AS ac INNER JOIN {proyectos_reformular} AS ar ON ar.nid = ac.nid WHERE (ar.estado <> %d AND ar.estado <> %d) AND ac.ente = %d AND ac.year = %d and ac.nid = %d", $estado_aprobador, $estado_naprobado, $node->field_proyecto_ente[0]['nid'], $year, $node->nid); 448 $proyecto = db_fetch_array($result); 449 $roles = array_keys($user->roles); 450 if (count($roles)) { 451 foreach($roles as $rol) { 452 if($roles_allow[$rol]) { 453 return TRUE && !$proyecto['cantidad']; 454 } 455 } 456 } 457 } 458 return ($proyecto && !$proyecto['cantidad'] && user_access('admin planificador')); 526 459 } 527 460 … … 531 464 function _proyectos_reformulacion_reformula_node_edit_tab_access($node = NULL, $reformulacion) { 532 465 global $user; 533 $year = variable_get('proyectos_ operativos_anho_creacion', 0);466 $year = variable_get('proyectos_reformulacion_anho', 0); 534 467 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 535 468 if ($node->type != 'proyectos_operativos' || $node->anhoproyectos_operativos != $year) { … … 539 472 return FALSE; 540 473 } 541 if ($estado_aprobado && $reformulacion->estado == $estado_aprobado) { 474 $estado_aprobador = variable_get('proyectos_reformulacion_state_aprobado', NULL); 475 if ($estado_aprobado && $reformulacion['estado'] == $estado_aprobador) { 542 476 return FALSE; 543 477 } 544 $ente_planificador = node_load($node->field_proyecto_ente[0]['nid']); 478 $ente_planificador = ente_planificador_leer_ente_planificadores($node->field_proyecto_ente[0]['nid']); 479 if (!$ente_planificador || !$ente_planificador->nid) { 480 return FALSE; 481 } 545 482 $current_time = time(); 546 483 $tipo_plan = 'proyectos_operativos_reformular'; 547 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador ->tipo);484 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador); 548 485 $fecha = FALSE; 549 486 $ente = usuario_tiene_ente($user->uid); … … 555 492 $fecha = TRUE; 556 493 } 494 elseif (module_exists('ente_planificador_hierarchical')) { 495 $fathers = module_exists('ente_planificador_hierarchical') ? _ente_planificador_hierarchical_get_descbyid($ente_planificador->nid, 1) : array(); 496 if (isset($fathers[$ente->nid])) { 497 $fecha = TRUE; 498 } 499 } 557 500 elseif (!user_access('admin planificador')) { 558 501 return FALSE; … … 562 505 return FALSE; 563 506 } 564 $roles_allow = variable_get('proyectos_ operativos_state_r_' . $reformulacion->estado, array());565 if ($user->uid == 1 || ($user->uid == $reformulacion ->uid&& $roles_allow[-1])) {507 $roles_allow = variable_get('proyectos_reformulacion_state_r_' . $reformulacion['estado'], array()); 508 if ($user->uid == 1 || ($user->uid == $reformulacion['uid'] && $roles_allow[-1])) { 566 509 return TRUE; 567 510 } … … 577 520 } 578 521 579 580 522 /** 581 * Implementation of proyectos _reformulacion_menu_reformulacion_load().523 * Implementation of proyectosop_reformulacion_load(). 582 524 * Menu loader callback. Load a mes. 583 525 */ 584 function proyectosop_menu_reformulacion_load($id_ref = 0, $node = 0) { 585 $reformula = FALSE; 586 $nodo = $node ? $node->nid : arg(1); 587 if ($id_ref && is_numeric($nodo)) { 588 $result = db_query("SELECT * FROM {proyectos_reformular} WHERE nid = %d AND id_ref = %d", $nodo, $id_ref); 589 $reformula = db_fetch_object($result); 590 } 591 return $reformula; 592 } 593 594 /** 595 * Implementation of accionesp_menu_r_load(). 596 * Devuelve la accion especifica. 597 */ 598 function accionesp_menu_r_load($nid) { 599 $ae = FALSE; 600 if ($nid && arg(1) && is_numeric(arg(1))) { 601 $ae = node_load($nid); 602 if ($ae->type != 'accion_especifica' || $ae->field_accion_esp_proyecto[0]['nid'] != arg(1)) { 603 return FALSE; 604 } 605 } 606 return $ae; 607 } 608 609 /* 610 * Implementation of proyectos_reformulacion_wk_menu_load() 611 */ 612 function proyectos_reformulacion_wk_menu_load($state = 0) { 613 $states = _proyectos_operativos_reformulacion_obtiene_estados(); 614 if (isset($states['states'][$state])) { 615 return $state; 616 } 617 return FALSE; 526 function proyectosop_reformulacion_load($id_ref = 0) { 527 $result = db_query("SELECT * FROM {proyectos_reformular} WHERE id_ref = %d", $id_ref); 528 $reformulacion = db_fetch_array($result); 529 $reformulacion['total'] = $reformulacion['variacion']; 530 if ($reformulacion) { 531 $sql = "SELECT * FROM {proyectos_reformula} WHERE nid = %d"; 532 $sql1 = "SELECT * FROM {proyectos_reformula_fuente} WHERE nid = %d"; 533 $inputs[] = $reformulacion['nid']; 534 $sql .= ' AND id_ref = %d'; 535 $sql1 .= ' AND id_ref = %d'; 536 $inputs[] = $reformulacion['id_ref']; 537 $result = db_query($sql, $inputs); 538 while($partida = db_fetch_array($result)) { 539 $reformulacion[$partida['field_name']][$partida['partida']] = $partida; 540 } 541 $result = db_query($sql1, $inputs); 542 while($partida = db_fetch_array($result)) { 543 $reformulacion[$partida['field_name']][0] = $partida; 544 } 545 } 546 return $reformulacion; 618 547 } 619 548 … … 621 550 * Menu access control callback. Determine access to wk tab. 622 551 */ 623 function _proyectos_reformulacion_reformula_wk_node_tab_access($node = NULL, $reformulacion , $state= 0) {552 function _proyectos_reformulacion_reformula_wk_node_tab_access($node = NULL, $reformulacion = 0) { 624 553 global $user; 625 $id_ref = $reformulacion_load ? $reformulacion_load->id_ref : 0; 626 $reformula = _proyectos_reformulacion_load($node, $id_ref); 627 $suma_r_ae = total_reformulado_ae($node, $reformula); 628 if ($suma_r_ae != $reformulacion_load->variacion) { 554 $suma_r_ae = total_reformulado_ae($node, $reformulacion); 555 if ($suma_r_ae != $reformulacion['variacion']) { 629 556 return FALSE; 630 557 } 631 $year = variable_get('proyectos_ operativos_anho_creacion', 0);558 $year = variable_get('proyectos_reformulacion_anho', 0); 632 559 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 633 560 if ($node->type != 'proyectos_operativos' || $node->anhoproyectos_operativos != $year) { … … 639 566 $ente = usuario_tiene_ente($user->uid); 640 567 $ente_planificador = node_load($node->field_proyecto_ente[0]['nid']); 641 if ($ente->nid != $ente_planificador->nid && !user_access('admin planificador')) { 568 $fathers = module_exists('ente_planificador_hierarchical') ? _ente_planificador_hierarchical_get_descbyid($ente_planificador->nid, 1) : array(); 569 if ($ente->nid != $ente_planificador->nid && !isset($fathers[$ente->nid]) && !user_access('admin planificador')) { 642 570 return FALSE; 643 571 } 644 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 645 $estado_naprobado = variable_get('proyectos_operativos_state_naprobado', NULL); 646 if ($reformulacion->estado == $estado_naprobado || $reformulacion->estado == $estado_aprobado) { 647 return FALSE; 648 } 572 return $reformulacion['id_ref'] && ($reformulacion['estado'] != variable_get('proyectos_reformulacion_state_naprobado', NULL)); 573 } 574 575 /* 576 * Implementation of proyectos_reformulacion_reformula_wk_tab_page { 577 */ 578 function proyectos_reformulacion_reformula_wk_tab_page($node, $reformulacion = 0) { 579 global $user; 580 //add breadcrumb 581 $breadcrumb = array(); 582 $breadcrumb[] = l(t('Home'), '<front>'); 583 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 584 if ($node->nid) { 585 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 586 $breadcrumb[] = l(t('Reformulaciones'), 'proyectosop/' . $node->nid . '/reformular'); 587 if ($reformulacion['id_ref']){ 588 $breadcrumb[] = l(check_plain('Reform-' . $reformulacion['id_ref']), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/view'); 589 $breadcrumb[] = t('Workflow'); 590 } 591 } 592 drupal_set_breadcrumb($breadcrumb); 593 $ente_planificador = node_load($node->field_proyecto_ente[0]['nid']); 594 $format_number = array( 595 'decimals' => variable_get('proyectos_operativos_number_decimals', 0), 596 'dec_point' => variable_get('proyectos_operativos_number_dec_point', ','), 597 'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'), 598 ); 599 $id_ref = $reformulacion['id_ref']; 600 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 601 $varia = isset($variaciones['total']) ? $variaciones['total'] : 0; 602 $min = $node->field_proyecto_monto_anual[0]['value'] + $varia; 603 $valor = isset($reformulacion['total'])? $reformulacion['total'] : 0; 604 $total_accion = $min; 605 $output = ''; 606 $output .= '<fieldset><legend>' . t('Resumen del Proyecto') . '</legend>'; 607 $output .= '<div class="field"><div class="field-label">' . t('Código Ãnico del Proyecto') . ':</div>' . $node->field_proyecto_codigo[0]['value'] . '</div>'; 608 $output .= '<div class="field"><div class="field-label">' . t('Nombre del Proyecto') . ':</div>' . $node->titulo_asignado . '</div>'; 609 $output .= '<div class="field"><div class="field-label">' . t('Organismo') . ':</div>' . $ente_planificador->title . '</div>'; 610 $output .= '</fieldset>'; 611 $output .= '<fieldset><legend>' . t('Monto Total del Proyecto') . '</legend>'; 612 $rows = array(); 613 $row = array(); 614 $row[] = array('data' => '<b>' . t('Monto Total del Proyecto para el año en curso: %monto', array('%monto' => number_format($total_accion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</b>', 'colspan' => 2, 'align' => center); 615 $rows[] = $row; 616 $row = array(); 617 $signo = ''; 618 if ($reformulacion['variacion'] > 0) { 619 $signo = '+'; 620 } 621 $row[] = array('data' => t('Variación Presupuestaria: %variacion', array('%variacion' => $signo . number_format($reformulacion['variacion'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 622 $row[] = array('data' => t('Monto Total Reformulación: %totalreformulacion', array('%totalreformulacion' => number_format($reformulacion['variacion'] + $total_accion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 623 $rows[] = $row; 624 $row = array(); 625 $colspan = 2; 626 if (variable_get('proyectos_reformulacion_onapre', 0)) { 627 $colspan--; 628 $row[] = array('data' => t('<b>Fecha de Aprobación:</b> %fecha_onapre', array('%fecha_onapre' => date( 'd/m/Y', $reformulacion['fecha_onapre']))), 'align' => 'left'); 629 } 630 $row[] = array('data' => t('<b>Justificación:</b> %justificacion', array('%justificacion' => $reformulacion['justificacion'])), 'align' => 'left', 'colspan' => $colspan); 631 $rows[] = $row; 632 $output .= theme('table', array(), $rows) . '</fieldset>'; 633 $output .= '<fieldset><legend>' . t('Datos de la Reformulación') . '</legend>'; 634 $states = array(); 635 if (module_exists('workflow')) { 636 $states = _proyectos_operativos_reformulacion_obtiene_estados(); 637 $header = array(); 638 $header[] = array('data' => t('Fecha'),); 639 $header[] = array('data' => t('Estado'),); 640 $header[] = array('data' => t('Estado anterior'),); 641 $header[] = array('data' => t('Comentario'),); 642 $header[] = array('data' => t('Usuario'),); 643 $rows = array(); 644 $result = db_query('SELECT re.*, u.name, u.uid FROM {proyectos_reformular_state} re INNER JOIN {users} u ON u.uid = re.uid WHERE nid = %d AND id_ref = %d ORDER BY date DESC', $node->nid, $id_ref); 645 while($history = db_fetch_object($result)) { 646 $row = array(); 647 $row[] = array('data' => format_date($history->date),); 648 $row[] = array('data' => $states['states'][$history->estado],); 649 $row[] = array('data' => $states['states'][$history->estado_ant],); 650 $row[] = array('data' => $history->comentario,); 651 $row[] = array('data' => l($history->name, 'user/' . $history->uid),); 652 $rows[] = $row; 653 } 654 if (count($rows)) { 655 $output .= '<div class="field"><div class="field-label">' . t('Historial') . ':</div>' . theme('table', $header, $rows) . '</div>'; 656 } 657 else { 658 $output .= '<div class="field"><div class="field-label">' . t('Historial') . ':</div>' . t('No existe historial para esta reformulación') . '</div>'; 659 } 660 } 661 $output .= '</fieldset>'; 649 662 $states = _proyectos_operativos_reformulacion_obtiene_estados(); 650 663 $first_state = 0; 651 if ($states['wid']) { 652 $first_state = _workflow_creation_state($states['wid']); 653 } 664 $transitions = array(); 654 665 $roles = array_keys($user->roles); 655 666 if ($user->uid == 1) { … … 659 670 else { 660 671 $roles_transition = $roles; 661 if ($user->uid == $reformulacion ->uid && $reformulacion->uid> 0) {672 if ($user->uid == $reformulacion['uid'] && $reformulacion['uid'] > 0) { 662 673 $roles_transition += array('author' => 'author'); 663 674 } 664 675 } 665 $transitions = array();666 676 if ($states['wid']) { 667 $transitions = workflow_allowable_transitions($reformulacion->estado, 'to', $roles_transition); 668 } 669 if ($first_state && $reformulacion->estado == $first_state) { 670 unset($transitions[$reformulacion->estado]); 671 } 672 if (isset($transitions[$state])) { 673 return TRUE; 674 } 675 return FALSE; 676 } 677 677 $first_state = _workflow_creation_state($states['wid']); 678 $transitions = workflow_allowable_transitions($reformulacion['estado'], 'to', $roles_transition); 678 679 /* 679 * Implementation of proyectos_reformulacion_reformula_wk_tab_page_form() 680 */ 681 function proyectos_reformulacion_reformula_wk_tab_page_form($form_state, $node, $reformulacion_load = 0, $state = 0) { 682 $estados = _proyectos_operativos_reformulacion_obtiene_estados(); 680 if ($first_state && $reformulacion['estado'] == $first_state) { 681 unset($transitions[$reformulacion['estado']]); 682 } 683 */ 684 unset($transitions[$reformulacion['estado']]); 685 } 686 //excluir los estados de mayor nivel al ente planificador que posee el usuario 687 $hierarchical = variable_get('ente_planificador_hierarchical_count', 2); 688 for ($i = 1; $i < $hierarchical + 1; $i++) { 689 if ($ente_planificador->tipo != $i) { 690 $estado = variable_get('proyectos_reformulacion_state_form_' . $i, 0); 691 if (isset($transitions[$estado])) { 692 unset($transitions[$estado]); 693 } 694 } 695 } 696 //aplicar prefijos segun la configuración del modulo 697 if (sizeof($transitions)) { 698 $current = $consultaseguimientoactual['segmes']['estado']; 699 foreach ($transitions as $sid => $state) { 700 if (variable_get('proyectos_reformulacion_state_d_' . $reformulacion['estado'] . '_' . $sid, FALSE)) { 701 $transitions[$sid] = t(variable_get('proyectos_reformulacion_state_tdevueltos', 'Devuelto a @state'), array('@state' => $transitions[$sid])); 702 } 703 else { 704 $transitions[$sid] = t(variable_get('proyectos_reformulacion_state_tndevueltos', 'Enviado a @state'), array('@state' => $transitions[$sid])); 705 } 706 } 707 708 $output .= drupal_get_form('proyectos_reformulacion_reformula_wk_tab_page_form', $node, $reformulacion, $transitions); 709 } 710 return $output; 711 } 712 713 /* 714 * Implementation of proyectos_reformulacion_reformula_wk_tab_page_form 715 */ 716 function proyectos_reformulacion_reformula_wk_tab_page_form($form_state, $node, $reformulacion = 0, $states = 0) { 683 717 $form = array(); 684 718 $form['#node'] = $node; 685 $form['#nuevo_estado'] = $state; 686 $form['#estados'] = $estados['states']; 687 $form['#reformulacion'] = $reformulacion_load; 719 $form['#state'] = $states; 720 $form['#estado_actual'] = $reformulacion['estado']; 721 $form['#nombre_estado'] = _proyectos_operativos_reformulacion_obtiene_estados(); 722 $form['#reformulacion'] = $reformulacion; 723 if (sizeof($states) == 1) { 724 $form['prox_estado'] = array( 725 '#type' => 'hidden', 726 '#value' => key($states), 727 '#required' => TRUE, 728 ); 729 } 730 else { 731 $form['prox_estado'] = array( 732 '#type' => 'radios', 733 '#title' => 'Cambiar al Estado', 734 '#options' => $states, 735 '#default_value' => $form['#estado_actual'], 736 '#required' => TRUE, 737 ); 738 } 688 739 $form['comentario'] = array( 689 740 '#title' => t('Comentario'), … … 691 742 '#default_value' => '', 692 743 ); 693 $message = t('Esta seguro de cambiar la reformulación al estado %nombre_estado?', array('%nombre_estado' => $estados['states'][$state]));744 $message = t('Esta seguro de cambiar la reformulación del estado "%nombre_estado"?', array('%nombre_estado' => $form['#nombre_estado']['states'][$form['#estado_actual']])); 694 745 $caption = '<p>'. t('This action cannot be undone.') .'</p>'; 695 $return_path = 'proyectosop/' . $node->nid . '/reformular/' . $ reformulacion_load->id_ref. '/view';746 $return_path = 'proyectosop/' . $node->nid . '/reformular/' . $form['#reformulacion']['id_ref'] . '/view'; 696 747 return confirm_form($form, $message, $return_path, $caption, t('Cambiar')); 697 748 return $form; 698 749 } 750 751 752 /** 753 * Implementation of proyectos_reformulacion_reformula_wk_tab_page_form_validate. 754 * valida si el estado se devuelve se debe ingresar un comentario.$form['#estado_actual'] 755 variable_get('proyectos_reformulacion_state_d_' . $form['#estado_actual'] . '_' . $new_state, FALSE) 756 */ 757 function proyectos_reformulacion_reformula_wk_tab_page_form_validate($form, &$form_state) { 758 $new_state = $form_state['values']['prox_estado']; 759 if (variable_get('proyectos_reformulacion_state_d_' . $form['#estado_actual'] . '_' . $new_state, FALSE) && trim($form_state['values']['comentario'] == '')) { 760 form_set_error('comentario', t('Debe ingresar el motivo por el que se regresa el proyecto')); 761 } 762 } 763 764 699 765 700 766 /** … … 704 770 function proyectos_reformulacion_reformula_wk_tab_page_form_submit($form, &$form_state) { 705 771 global $user; 706 $nuevo_estado = $form['#datos_institucionales_funcion']; 707 db_query('UPDATE {proyectos_reformular} SET estado = %d, estado_ant = %d WHERE nid = %d AND id_ref = %d', $form['#nuevo_estado'], $form['#reformulacion']->estado, $form['#node']->nid, $form['#reformulacion']->id_ref); 708 db_query("INSERT INTO {proyectos_reformular_state} (nid, estado, estado_ant, comentario, date, id_ref, uid) VALUES (%d, %d, %d, '%s', %d, %d, %d)", $form['#node']->nid, $form['#nuevo_estado'], $form['#reformulacion']->estado, check_plain($form_state['values']['comentario']), time(), $form['#reformulacion']->id_ref, $user->uid); 709 drupal_set_message(t('La reformulación fue cambiada al estado @nombre_estado', array('@nombre_estado' => $form['#estados'][$form['#nuevo_estado']]))); 710 $form_state['redirect'] = 'proyectosop/' . $form['#node']->nid . '/reformular/' . $form['#reformulacion']->id_ref . '/view'; 772 $time = time(); 773 if (variable_get('proyectos_reformulacion_onapre', 0) && ($form_state['values']['prox_estado'] == variable_get('proyectos_reformulacion_state_aprobado', NULL))) { 774 db_query('UPDATE {proyectos_reformular} SET estado = %d, estado_ant = %d, fecha_onapre = %d WHERE nid = %d AND id_ref = %d', $form_state['values']['prox_estado'], $form['#reformulacion']['estado'], $time, $form['#node']->nid, $form['#reformulacion']['id_ref']); 775 } 776 else { 777 db_query('UPDATE {proyectos_reformular} SET estado = %d, estado_ant = %d WHERE nid = %d AND id_ref = %d', $form_state['values']['prox_estado'], $form['#reformulacion']['estado'], $form['#node']->nid, $form['#reformulacion']['id_ref']); 778 } 779 db_query("INSERT INTO {proyectos_reformular_state} (nid, estado, estado_ant, comentario, date, id_ref, uid) VALUES (%d, %d, %d, '%s', %d, %d, %d)", $form['#node']->nid, $form_state['values']['prox_estado'], $form['#reformulacion']['estado'], check_plain($form_state['values']['comentario']), $time, $form['#reformulacion']['id_ref'], $user->uid); 780 drupal_set_message(t('La reformulación fue cambiada del estado @prev_estado al estado @nombre_estado', array('@nombre_estado' => $form['#nombre_estado']['states'][$form_state['values']['prox_estado']], '' => $form['#nombre_estado']['states'][$form['#reformulacion']['estado']]))); 781 $form_state['redirect'] = 'proyectosop/' . $form['#node']->nid . '/reformular/' . $form['#reformulacion']['id_ref'] . '/view'; 711 782 } 712 783 … … 739 810 'weight' => 2, 740 811 ); 741 $items['proyectosop/%proyectosop/reformular/%proyectosop_ menu_reformulacion/view'] = array(812 $items['proyectosop/%proyectosop/reformular/%proyectosop_reformulacion/view'] = array( 742 813 'title' => 'Ver reformulación', 743 814 'type' => MENU_LOCAL_TASK, 744 'access callback' => '_proyectos_reformulacion_ reformula_node_tab_access',745 'access arguments' => array(1 ),815 'access callback' => '_proyectos_reformulacion_ver_reformula_node_tab_access', 816 'access arguments' => array(1, 3), 746 817 'page callback' => '_proyectos_reformulacion_reformula_tab_page_ver', 747 818 'page arguments' => array(1, 3), 748 819 'weight' => 2, 749 820 ); 750 $items['proyectosop/%proyectosop/reformular/%proyectosop_ menu_reformulacion/edit'] = array(821 $items['proyectosop/%proyectosop/reformular/%proyectosop_reformulacion/edit'] = array( 751 822 'title' => 'Editar', 752 823 'type' => MENU_LOCAL_TASK, … … 757 828 'weight' => 3, 758 829 ); 759 $items['proyectosop/%proyectosop/reformular/%proyectosop_ menu_reformulacion/ae/%accionesp_menu_r'] = array(830 $items['proyectosop/%proyectosop/reformular/%proyectosop_reformulacion/ae/%accion_especifical'] = array( 760 831 'title' => 'Acciones Especificas', 761 832 'type' => MENU_LOCAL_TASK, … … 766 837 'weight' => 2, 767 838 ); 768 $items['proyectosop/%proyectosop/reformular/%proyectosop_ menu_reformulacion/ae/%accionesp_menu_r/edit'] = array(839 $items['proyectosop/%proyectosop/reformular/%proyectosop_reformulacion/ae/%accion_especifical/edit'] = array( 769 840 'title' => 'Editar AEs', 770 841 'type' => MENU_LOCAL_TASK, … … 775 846 'weight' => 3, 776 847 ); 777 $items['proyectosop/% node/reformular/%proyectosop_menu_reformulacion/workflow/%proyectos_reformulacion_wk_menu'] = array(778 'title' => ' Workflow',848 $items['proyectosop/%proyectosop/reformular/%proyectosop_reformulacion/workflow'] = array( 849 'title' => 'Enviar Reformulación', 779 850 'type' => MENU_LOCAL_TASK, 780 851 'access callback' => '_proyectos_reformulacion_reformula_wk_node_tab_access', 781 'access arguments' => array(1, 3, 5), 852 'access arguments' => array(1, 3), 853 'page callback' => 'proyectos_reformulacion_reformula_wk_tab_page', 854 'page arguments' => array(1, 3), 855 'weight' => 3, 856 ); 857 $items['admin/settings/ente_planificador/proyectos_operativos/reformular'] = array( 858 'title' => t('Reformulaciones'), 782 859 'page callback' => 'drupal_get_form', 783 'page arguments' => array('proyectos_reformulacion_reformula_wk_tab_page_form', 1, 3, 5), 784 'weight' => 3, 860 'page arguments' => array('proyectos_reformulacion_admin_settings'), 861 'access arguments' => array('admin planificador'), 862 'weight' => -5, 863 'type' => MENU_LOCAL_TASK, 864 'file' => 'proyectos_reformulacion.admin.inc', 785 865 ); 786 866 return $items; … … 804 884 * Implementation of proyectos_reformulacion_reformula_tab_page_form() 805 885 */ 806 function proyectos_reformulacion_reformula_tab_page_form($form_state, $node, $reformulacion _load= 0) {807 $title = $reformulacion _load? t('Modificar Reformulación') : t('Agregar Reformulación al Proyecto');886 function proyectos_reformulacion_reformula_tab_page_form($form_state, $node, $reformulacion = 0) { 887 $title = $reformulacion ? t('Modificar Reformulación') : t('Agregar Reformulación al Proyecto'); 808 888 drupal_set_title($title); 809 $id_ref = $reformulacion_load ? $reformulacion_load->id_ref : 0; 810 $reformula = _proyectos_reformulacion_load($node, $id_ref); 811 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 889 //add breadcrumb 890 $breadcrumb = array(); 891 $breadcrumb[] = l(t('Home'), '<front>'); 892 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 893 if ($node->nid) { 894 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 895 $breadcrumb[] = l(t('Reformulaciones'), 'proyectosop/' . $node->nid . '/reformular'); 896 if ($reformulacion['id_ref']){ 897 $breadcrumb[] = l(check_plain('Reform-' . $reformulacion['id_ref']), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/view'); 898 } 899 $breadcrumb[] = $title; 900 } 901 drupal_set_breadcrumb($breadcrumb); 902 $variaciones = _proyectos_reformula_all_partidas_load($node, $reformulacion['id_ref']); 812 903 $field = content_fields('field_proyecto_unidadm', 'proyectos_operativos'); 813 904 $unidad_ant = $node->field_proyecto_unidadm[0]['value']; … … 839 930 '#attributes' => array('class' => 'campo-bloqueado '), 840 931 ); 841 $valor_medida = $reformula ['unidad'] ? $reformula['unidad'] : $node->field_proyecto_unidadm[0]['value'];932 $valor_medida = $reformulacion['unidad'] ? $reformulacion['unidad'] : $node->field_proyecto_unidadm[0]['value']; 842 933 $form['field_proyecto_unidadm'] = array( 843 934 '#title' => t('Unidad de Medida Nueva'), … … 846 937 '#default_value' => $valor_medida, 847 938 ); 939 $personas = variable_get('proyectos_operativos_allow_unidpersona', array()); 940 $form['#personas'] = $personas; 941 if (count($personas)) { 942 $array_genero = array('m', 'f'); 943 $genero_min = array(); 944 $total_g = 0; 945 $totales_g = 0; 946 foreach($array_genero as $campo) { 947 $gcampo = 'unidad_' . $campo; 948 $unidad_valor = $reformulacion[$gcampo] ? $reformulacion[$gcampo] : 0; 949 $varia = isset($variaciones[$gcampo]) ? $variaciones[$gcampo] : 0; 950 $genero_min[$campo] = $node->{'field_proyecto_meta_' . $campo}[0]['value'] + $varia; 951 $field = content_fields('field_proyecto_meta_' . $campo, 'proyectos_operativos'); 952 $form['unidad_' . $campo] = array( 953 '#title' => $field['widget']['label'], 954 '#type' => 'textfield', 955 '#default_value' => $unidad_valor, 956 '#size' => 15, 957 '#attributes' => array('class' => ' unidad-genero subtotal-unidad-' . $campo . ' number', 'onchange' => "prvalminimo('unidad-" . $campo . "', '" . $genero_min[$campo] . "');prsumaref('" . 'unidad-genero' . "');prsumaref2('" . 'subtotal-unidad-' . $campo . "', 'genero', '" . $campo . "'); prsumaref('subtotales-unidad')"), 958 ); 959 $total_f = $unidad_f + $genero_min['f']; 960 $form['unidad_' . $campo . 'total'] = array( 961 '#type' => 'textfield', 962 '#default_value' => $unidad_valor + $genero_min[$campo], 963 '#size' => 15, 964 '#attributes' => array('class' => 'campo-bloqueado subtotal-unidad-' . $campo . '-total subtotales-unidad number1'), 965 ); 966 $total_g += $unidad_valor; 967 $totales_g += $unidad_valor + $genero_min[$campo]; 968 } 969 $form['unidad_gtotal'] = array( 970 '#type' => 'textfield', 971 '#default_value' => $total_g, 972 '#size' => 15, 973 '#attributes' => array('class' => 'campo-bloqueado unidad-genero-total number1'), 974 ); 975 $form['unidad_total'] = array( 976 '#type' => 'textfield', 977 '#default_value' => $totales_g, 978 '#size' => 15, 979 '#attributes' => array('class' => 'campo-bloqueado subtotales-unidad-total number1'), 980 ); 981 } 848 982 $ftypes = array( 849 983 'value' => t('January'), … … 870 1004 $min = $node->field_proyecto_monto_anual[0]['value'] + $varia; 871 1005 $form['#monto_reformulado'] = $min; 872 $valor = isset($reformulacion _load->variacion)? $reformulacion_load->variacion: 0;1006 $valor = isset($reformulacion['variacion'])? $reformulacion['variacion'] : 0; 873 1007 $suma_variacion['primero'] = $min; 874 1008 $total_accion = $min; … … 876 1010 $id_field = 'primero'; 877 1011 $fecha = array(); 878 $fecha['dia'] = $reformula['fecha_onapre'] ? date('j', $reformula['fecha_onapre']) : date('j'); 879 $fecha['mes'] = $reformula['fecha_onapre'] ? date('n', $reformula['fecha_onapre']) : date('m'); 880 $fecha['year'] = $reformula['fecha_onapre'] ? date('Y', $reformula['fecha_onapre']) : date('Y'); 881 $form['fecha_onapre'] = array( 882 '#type' => 'date', 883 '#title' => t('Fecha de Aprobación'), 884 '#default_value' => array('day' => $fecha['dia'], 'month' => $fecha['mes'], 'year' => $fecha['year']), 885 '#required' => TRUE, 886 ); 887 $valor_justificacion = isset($reformula['justificacion'])? $reformula['justificacion'] : ''; 1012 if (variable_get('proyectos_reformulacion_onapre', 0)) { 1013 $fecha['dia'] = $reformulacion['fecha_onapre'] ? date('j', $reformulacion['fecha_onapre']) : date('j'); 1014 $fecha['mes'] = $reformulacion['fecha_onapre'] ? date('n', $reformulacion['fecha_onapre']) : date('m'); 1015 $fecha['year'] = $reformulacion['fecha_onapre'] ? date('Y', $reformulacion['fecha_onapre']) : date('Y'); 1016 $form['fecha_onapre'] = array( 1017 '#type' => 'date', 1018 '#title' => t('Fecha de Aprobación'), 1019 '#default_value' => array('day' => $fecha['dia'], 'month' => $fecha['mes'], 'year' => $fecha['year']), 1020 '#required' => TRUE, 1021 '#disabled' => TRUE, 1022 ); 1023 } 1024 $valor_justificacion = isset($reformulacion['justificacion'])? $reformulacion['justificacion'] : ''; 888 1025 $form['justificacion'] = array( 889 1026 '#title' => t('Justificación'), … … 911 1048 if (module_exists('workflow')) { 912 1049 $estados = _proyectos_operativos_reformulacion_obtiene_estados(); 913 $estado_inicial = variable_get('proyectos_ operativos_state_reformulacion', 0);1050 $estado_inicial = variable_get('proyectos_reformulacion_state_reformulacion', 0); 914 1051 if ($estados['wid']) { 915 1052 if ($estado_inicial && $estados['states'][$estado_inicial]) { … … 926 1063 $form['#unidadesm'] = $unidadesm; 927 1064 $form['#variaciones'] = $variaciones; 928 $form['#reformula '] = $reformula;929 $form['#id_ref'] = $ id_ref;1065 $form['#reformulacion'] = $reformulacion; 1066 $form['#id_ref'] = $reformulacion['id_ref']; 930 1067 $form['#total_accion'] = $total_accion; 931 1068 $mes_inicio = 0; … … 951 1088 $form['#format_number'] = array('format_number' => $format_number); 952 1089 drupal_add_js($form['#format_number'], 'setting'); 1090 drupal_add_js(array('unidadmpers' => $form['#personas']), 'setting'); 953 1091 $i = 1; 954 1092 $sumafisica = 0; … … 970 1108 $min = $node->field_proyecto_meta_fisica[0][$id_field] + $varia; 971 1109 $total_accion += $min; 972 $valor = isset($reformula ['field_proyecto_meta_fisica'][0][$id_field])? $reformula['field_proyecto_meta_fisica'][0][$id_field] : 0;1110 $valor = isset($reformulacion['field_proyecto_meta_fisica'][0][$id_field])? $reformulacion['field_proyecto_meta_fisica'][0][$id_field] : 0; 973 1111 $sumafisica += $valor; 974 1112 $sumaT += $min + $valor; … … 1011 1149 $i = 1; 1012 1150 $sumaP = 0; 1013 $valor_unidad = $reformula ['field_accion_esp_metaf_' . $nid][0]['unidad'] ? $reformula['field_accion_esp_metaf_' . $nid][0]['unidad'] : $ae->field_accion_esp_unidadm[0]['value'];1151 $valor_unidad = $reformulacion['field_accion_esp_metaf_' . $nid][0]['unidad'] ? $reformulacion['field_accion_esp_metaf_' . $nid][0]['unidad'] : $ae->field_accion_esp_unidadm[0]['value']; 1014 1152 $form[$nid . '_field_accion_esp_metaf_unidadm'] = array( 1015 1153 '#title' => t('Unidad de Medida Nueva'), … … 1033 1171 $min = $ae->field_accion_esp_metaf[0][$id_field] + $varia; 1034 1172 $total_accion += $min; 1035 $valor = isset($reformula ['field_accion_esp_metaf_' . $nid][0][$id_field])? $reformula['field_accion_esp_metaf_' . $nid][0][$id_field] : 0;1173 $valor = isset($reformulacion['field_accion_esp_metaf_' . $nid][0][$id_field])? $reformulacion['field_accion_esp_metaf_' . $nid][0][$id_field] : 0; 1036 1174 $sumaacciones += $min + $valor; 1037 1175 $sumaP += $valor; … … 1076 1214 'sumaaccion' => $sumaaccionm, 1077 1215 'variacion' => $suma_variacion, 1216 'genero' => $genero_min, 1078 1217 ); 1079 1218 $form['#jse'] = $jse; … … 1108 1247 $proyectos_reformulacion_path = drupal_get_path('module', 'proyectos_reformulacion'); 1109 1248 drupal_add_js($proyectos_reformulacion_path . '/js/proyectos_reformulacion.js'); 1110 drupal_add_js($form['#format_number'], 'setting'); 1111 drupal_add_js(array('proyectos_reformulacion' => array('mfisicas' => $form['#jse'])), 'setting'); 1249 $format_number = $form['#format_number']['format_number']; 1112 1250 $start = $form_state['values']['variacion']; 1113 1251 $value = preg_replace('@[^-0-9]@', '', $start); … … 1116 1254 } 1117 1255 $ftypes = $form['#ftypes']; 1256 $total_unidad = 0; 1118 1257 foreach($ftypes as $id_field => $texto) { 1119 1258 $start = $form_state['values']['field_proyecto_meta_fisica_' . $id_field]; … … 1122 1261 form_set_error('field_proyecto_meta_fisica_' . $id_field, t('Solo números enteros son permitidos en la meta fÃsica.')); 1123 1262 } 1263 $total_unidad += $form_state['values']['field_proyecto_meta_fisica_' . $id_field] + $form['#jse']['sumaplan'][$id_field]; 1124 1264 1125 1265 if ($form_state['values']['field_proyecto_meta_fisica_' . $id_field] + $form['#jse']['sumaplan'][$id_field] < 0) { 1126 form_set_error('field_proyecto_meta_fisica_' . $id_field, t('El valor para reformular de la meta fÃsica no puede ser menor que cero')); 1266 form_set_error('field_proyecto_meta_fisica_' . $id_field, t('El valor de la variación de la meta fÃsica no puede ser menor que cero')); 1267 } 1268 } 1269 if (count($form['#personas']) && isset($form['#personas'][$form_state['values']['field_proyecto_unidadm']])) { 1270 $array_genero = array('m', 'f'); 1271 $total_unidad_genero = 0; 1272 foreach($array_genero as $campo) { 1273 $start = $form_state['values']['unidad_' . $campo]; 1274 $value = preg_replace('@[^-0-9]@', '', $start); 1275 if ($start != $value) { 1276 form_set_error('unidad_' . $campo, t('Solo números enteros son permitidos en la variación de la meta fÃsica por genero.')); 1277 } 1278 $total_unidad_genero += $form_state['values']['unidad_' . $campo] + $form['#jse']['genero'][$campo]; 1279 } 1280 if ($total_unidad_genero != $total_unidad) { 1281 form_set_error('unidad_gtotal', t('La variación de la meta fÃsica por género (@monto_genero) debe ser igual a la de la meta fÃsica (@monto_meta).', array('@monto_genero' => number_format($total_unidad_genero, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), '@monto_meta' => number_format($total_unidad, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep'])))); 1127 1282 } 1128 1283 } … … 1154 1309 return; 1155 1310 } 1156 $fecha_onapre = mktime(0, 0, 0, $form_state['values']['fecha_onapre']['month'], $form_state['values']['fecha_onapre']['day'], $form_state['values']['fecha_onapre']['year']); 1311 1312 $fecha_onapre = isset($form_state['values']['fecha_onapre']) ? mktime(0, 0, 0, $form_state['values']['fecha_onapre']['month'], $form_state['values']['fecha_onapre']['day'], $form_state['values']['fecha_onapre']['year']) : 0; 1157 1313 $ftypes = $form['#ftypes']; 1158 1314 $id_ref = $form['#id_ref']; … … 1189 1345 db_query("INSERT INTO {proyectos_reformula} (id_ref, field_name, partida, nid, value, value_1, value_2, value_3, value_4, value_5, value_6, value_7, value_8, value_9, value_10, value_11, ae, unidad) VALUES (%d, '%s', %d, %d, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, 0, %d)", $field); 1190 1346 } 1347 $unidad_f = 0; 1348 $unidad_m = 0; 1349 if (count($form['#personas']) && isset($form['#personas'][$form_state['values']['field_proyecto_unidadm']])) { 1350 $unidad_f = $form_state['values']['unidad_f']; 1351 $unidad_m = $form_state['values']['unidad_m']; 1352 } 1353 db_query("UPDATE {proyectos_reformular} SET variacion = %d, unidad = %d, fecha_onapre = %d, justificacion = '%s', unidad_f = %d, unidad_m = %d WHERE nid = %d AND id_ref = %d", $form_state['values']['variacion'], $form_state['values']['field_proyecto_unidadm'], $fecha_onapre, $justificacion, $unidad_f, $unidad_m, $form['#node']->nid, $id_ref); 1354 $form_state['redirect'] = 'proyectosop/' . $form['#node']->nid . '/reformular/' . $id_ref . '/view'; 1191 1355 drupal_set_message(t('La reformulación fue modificada')); 1192 db_query("UPDATE {proyectos_reformular} SET variacion = %d, unidad = %d, fecha_onapre = %d, justificacion = '%s' WHERE nid = %d AND id_ref = %d", $form_state['values']['variacion'], $form_state['values']['field_proyecto_unidadm'], $fecha_onapre, $justificacion, $form['#node']->nid, $id_ref);1193 $form_state['redirect'] = 'proyectosop/' . $form['#node']->nid . '/reformular/' . $id_ref . '/view';1194 }1195 1196 /*1197 * Implementation of _proyectos_reformulacion_load()1198 */1199 function _proyectos_reformulacion_load($node, $id_ref = 0) {1200 $reformula_load = proyectosop_menu_reformulacion_load($id_ref, $node);1201 $reformula = array();1202 $inputs = array();1203 $sql = "SELECT * FROM {proyectos_reformula} WHERE nid = %d";1204 $sql1 = "SELECT * FROM {proyectos_reformula_fuente} WHERE nid = %d";1205 $inputs[] = $node->nid;1206 if ($reformula_load) {1207 $reformula['total'] = $reformula_load->variacion;1208 $reformula['unidad'] = $reformula_load->unidad;1209 $reformula['fecha_onapre'] = $reformula_load->fecha_onapre;1210 $reformula['justificacion'] = $reformula_load->justificacion;1211 $reformula['estado'] = $reformula_load->estado;1212 $sql .= ' AND id_ref = %d';1213 $sql1 .= ' AND id_ref = %d';1214 $inputs[] = $id_ref;1215 $result = db_query($sql, $inputs);1216 while($partida = db_fetch_array($result)) {1217 $reformula[$partida['field_name']][$partida['partida']] = $partida;1218 }1219 $result = db_query($sql1, $inputs);1220 while($partida = db_fetch_array($result)) {1221 $reformula[$partida['field_name']][0] = $partida;1222 }1223 }1224 return $reformula;1225 1356 } 1226 1357 … … 1230 1361 function _proyectos_reformula_all_load($node, $id_ref = 0) { 1231 1362 $reformulaciones = array(); 1232 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 1233 $result = db_query("SELECT * FROM {proyectos_reformular} WHERE nid = %d AND estado = %d ORDER BY id_ref DESC", $node->nid, $estado_aprobado); 1363 $estado_aprobado = variable_get('proyectos_reformulacion_state_aprobado', NULL); 1364 $inputs = array(); 1365 $where = array(); 1366 $inputs[] = $node->nid; 1367 $where[] = 'nid = %d'; 1368 $inputs[] = $estado_aprobado; 1369 $where[] = 'estado = %d'; 1370 if ($id_ref) { 1371 $inputs[] = $id_ref; 1372 $where[] = 'id_ref < %d'; 1373 } 1374 $result = db_query("SELECT * FROM {proyectos_reformular} WHERE " . implode(' AND ', $where) . " ORDER BY id_ref DESC", $inputs); 1234 1375 while($reformula = db_fetch_array($result)) { 1235 1376 $reformulaciones[$reformula['id_ref']] = $reformula; … … 1258 1399 'unidad' => t('Unidad'), 1259 1400 ); 1260 $load_reformulaciones = array(); 1261 $reformulaciones = _proyectos_reformula_all_load($node, $id_ref); 1262 if ($id_ref) { 1263 foreach($reformulaciones as $id => $value) { 1264 if ($id < $id_ref) { 1265 $load_reformulaciones[$id] = $values; 1266 } 1267 } 1268 } 1269 else { 1270 $load_reformulaciones = $reformulaciones; 1271 } 1401 $load_reformulaciones = _proyectos_reformula_all_load($node, $id_ref); 1272 1402 $current_id = 0; 1273 $estado_aprobado = variable_get('proyectos_ operativos_state_aprobado', NULL);1403 $estado_aprobado = variable_get('proyectos_reformulacion_state_aprobado', NULL); 1274 1404 if(count($load_reformulaciones)) { 1275 1405 foreach($load_reformulaciones as $id => $value) { 1276 $nueva_variacion = _proyectos_reformulacion_load($node,$id);1406 $nueva_variacion = proyectosop_reformulacion_load($id); 1277 1407 if ($estado_aprobado == $nueva_variacion['estado'] && !$current_id) { 1278 1408 $current_id = $id; … … 1283 1413 if(count($nueva_variacion)) { 1284 1414 foreach($nueva_variacion as $id_campo => $campo) { 1285 if ($id_campo != 'total' && $id_campo != 'unidad' ) {1415 if ($id_campo != 'total' && $id_campo != 'unidad' && $id_campo != 'unidad_f' && $id_campo != 'unidad_m') { 1286 1416 if(is_array($campo) && count($campo)) { 1287 1417 foreach($campo as $id_partida => $partida) { … … 1306 1436 } 1307 1437 else { 1308 if ($id_campo == 'total' ) {1309 if (!isset($variaciones[ 'total'])) {1310 $variaciones[ 'total'] = 0;1438 if ($id_campo == 'total' || $id_campo != 'unidad_f' || $id_campo != 'unidad_m') { 1439 if (!isset($variaciones[$id_campo])) { 1440 $variaciones[$id_campo] = 0; 1311 1441 } 1312 $variaciones[ 'total'] += $campo;1442 $variaciones[$id_campo] += $campo; 1313 1443 } 1314 1444 else { 1315 $variaciones[ 'unidad'] = $campo;1445 $variaciones[$id_campo] = $campo; 1316 1446 } 1317 1447 } … … 1329 1459 $node = $form['#node']; 1330 1460 $variaciones = $form['#variaciones']; 1331 $reformula = $form['#reformula '];1461 $reformula = $form['#reformulacion']; 1332 1462 $planificado = t('planificado'); 1333 1463 $total_AE_text = t('Total AE'); 1464 $format_number = $form['#format_number']['format_number']; 1334 1465 $variacion = t('variación'); 1335 $reformula = _proyectos_reformulacion_load($node, $id_ref);1336 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref);1337 1466 $output = ''; 1338 1467 $output .= '<fieldset><legend>' . t('Monto Total del Proyecto') . '</legend>'; 1339 1468 $rows = array(); 1340 $row = array();1341 $row[] = array('data' => drupal_render($form['fecha_onapre']));1342 $row[] = array('data' => drupal_render($form['justificacion']));1343 $rows[] = $row;1344 1469 $row = array(); 1345 1470 $row[] = array('data' => '<b>' . t('Monto Total del Proyecto para el año en curso: %monto', array('%monto' => number_format($form['#monto_reformulado'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</b>', 'colspan' => 2, 'align' => center); … … 1349 1474 $row[] = array('data' => drupal_render($form['variaciont']), ); 1350 1475 $rows[] = $row; 1476 $row = array(); 1477 $colspan = 2; 1478 if (isset($form['fecha_onapre'])) { 1479 $row[] = array('data' => drupal_render($form['fecha_onapre'])); 1480 $colspan--; 1481 } 1482 $row[] = array('data' => drupal_render($form['justificacion']), 'colspan' => $colspan); 1483 $rows[] = $row; 1351 1484 $output .= theme('table', array(), $rows) . '</fieldset>'; 1352 1485 $output .= '<fieldset><legend>' . t('Distribución de la Meta FÃsica') . '</legend>'; … … 1354 1487 $output .= drupal_render($form['field_proyecto_unidadm_ant']); 1355 1488 $output .= drupal_render($form['field_proyecto_unidadm']); 1489 if (isset($form['unidad_f']) && $form['unidad_m']) { 1490 $output .= '<div id="meta-unidm-pers"><table id="unidm-persona" style="width:700px">'; 1491 $output .= '<tr><th style="text-align: center">' . t('Meta FÃsica por Género') . '</th><th style="text-align: center">' . $form['unidad_m']['#title'] . '</th><th style="text-align: center">' . $form['unidad_f']['#title'] . '</th><th style="text-align: center">' . t('Total') . '</th></tr>'; 1492 $varia = isset($variaciones['unidad_f']) ? $variaciones['unidad_f'] : 0; 1493 $varia = isset($variaciones['unidad_m']) ? $variaciones['unidad_m'] : 0; 1494 $output .= '<tr><td>' . t('Planificado') . '</td><td>' . number_format($form['#jse']['genero']['m'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']) . '</td><td>' . number_format($form['#jse']['genero']['f'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']) . '</td><td>' . number_format($form['#jse']['genero']['m'] + $form['#jse']['genero']['f'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']) . '</td></tr>'; 1495 $form['unidad_m'][0]['value']['#title'] = ''; 1496 $form['unidad_f'][0]['value']['#title'] = ''; 1497 $totalm = $form['field_proyecto_meta_m'][0]['#value']['value'] + $form['field_proyecto_meta_f'][0]['#value']['value']; 1498 $total = $form['unidad_f']['#value'] + $form['unidad_m']['#value']; 1499 $form['unidad_f']['#title'] = ''; 1500 $form['unidad_m']['#title'] = ''; 1501 $output .= '<tr><td>' . t('Variación') . '</td><td>' . drupal_render($form['unidad_m']) . '</td>'; 1502 $output .= '<td>' . drupal_render($form['unidad_f']) . '</td>'; 1503 $output .= '<td>' . drupal_render($form['unidad_gtotal']) . '</td></tr>'; 1504 $output .= '<tr><td><b>' . t('TOTAL') . '</b></td><td>' . drupal_render($form['unidad_mtotal']) . '</td>'; 1505 $output .= '<td>' . drupal_render($form['unidad_ftotal']) . '</td>'; 1506 $output .= '<td>' . drupal_render($form['unidad_total']) . '</td></tr>'; 1507 $output .= '</table></div>'; 1508 $output .= '<div class="texto-proyecto-metafisica">' . t('Estimado Usuario: El monto a ingresar debe comenzar con el signo mas "+" o con el signo menos "-".') . '</div>'; 1509 } 1356 1510 $header = array(); 1357 1511 $header[] = array('data' => t('Meta FÃsica del Proyecto')); … … 1461 1615 /** 1462 1616 * Implementation of _proyectos_operativos_reformula_obtiene_estados(). 1463 * Obtiene los estados del tipo de contenido proyecto.1617 * Obtiene los estados del flujo de trabajo para las reformulaciones. 1464 1618 */ 1465 1619 function _proyectos_operativos_reformulacion_obtiene_estados() { … … 1467 1621 $wid = 0; 1468 1622 if (module_exists('workflow')) { 1469 $wid = workflow_get_workflow_for_type('proyectos_operativos');1623 $wid = variable_get('proyectos_reformulacion_workflow', 0); 1470 1624 if ($wid){ 1471 1625 $estados = workflow_get_states($wid); … … 1483 1637 function _proyectos_reformulacion_reformula_list_page($node) { 1484 1638 drupal_set_title(t('Reformulaciones del Proyecto')); 1639 //add breadcrumb 1640 $breadcrumb = array(); 1641 $breadcrumb[] = l(t('Home'), '<front>'); 1642 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 1643 if ($node->nid) { 1644 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 1645 $breadcrumb[] = t('Reformulaciones'); 1646 } 1647 drupal_set_breadcrumb($breadcrumb); 1485 1648 $output = ''; 1486 1649 $output .= _proyectos_reformulacion_reformula_obtiene_list_page($node, TRUE); … … 1502 1665 $add_reformular = _proyectos_reformulacion_reformula_node_add_tab_access($node); 1503 1666 $tipo_plan = 'proyectos_operativos_reformular'; 1504 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador ->tipo);1667 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador); 1505 1668 $fecha = FALSE; 1506 1669 $ente = usuario_tiene_ente($user->uid); … … 1510 1673 if (!$fecha) { 1511 1674 if ($muestra) { 1512 muestra_mensaje($tipo_plan, $ente_planificador ->tipo);1675 muestra_mensaje($tipo_plan, $ente_planificador); 1513 1676 } 1514 1677 } … … 1517 1680 $fecha = TRUE; 1518 1681 if ($muestra) { 1519 muestra_mensaje($tipo_plan, $ente_planificador ->tipo, 0);1682 muestra_mensaje($tipo_plan, $ente_planificador, 0); 1520 1683 } 1521 1684 } … … 1523 1686 $fecha = FALSE; 1524 1687 } 1525 }1526 $enlaces_estados = TRUE;1527 if ($ente->nid != $ente_planificador->nid && !user_access('admin planificador')) {1528 $enlaces_estados = FALSE;1529 1688 } 1530 1689 $states = _proyectos_operativos_reformulacion_obtiene_estados(); … … 1533 1692 $first_state = _workflow_creation_state($states['wid']); 1534 1693 } 1535 $estado_naprobado = variable_get('proyectos_ operativos_state_naprobado', NULL);1536 $result = db_query('SELECT re. *, u.name, u.uid FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid WHERE nid = %d AND estado <> %d ORDER BY id_ref DESC', $node->nid, $estado_naprobado);1694 $estado_naprobado = variable_get('proyectos_reformulacion_state_naprobado', NULL); 1695 $result = db_query('SELECT re.id_ref, u.name, u.uid FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid WHERE nid = %d AND estado <> %d ORDER BY id_ref DESC', $node->nid, $estado_naprobado); 1537 1696 $header = array(); 1538 1697 $header[] = array('data' => t('Fecha')); … … 1549 1708 $roles = array_keys($user->roles); 1550 1709 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 1551 $editar = ($node->_workflow == $estado_aprobado); 1552 while($reformular = db_fetch_object($result)) { 1710 $estado_aprobador = variable_get('proyectos_reformulacion_state_aprobado', NULL); 1711 while($reformular = db_fetch_array($result)) { 1712 $reformulacion = proyectosop_reformulacion_load($reformular['id_ref']); 1553 1713 if ($user->uid == 1) { 1554 1714 // Superuser is special. … … 1557 1717 else { 1558 1718 $roles_transition = $roles; 1559 if ($user->uid == $reformular ->uid && $reformular->uid> 0) {1719 if ($user->uid == $reformular['uid'] && $reformulacion['uid'] > 0) { 1560 1720 $roles_transition += array('author' => 'author'); 1561 1721 } … … 1563 1723 $transitions = array(); 1564 1724 if ($states['wid']) { 1565 $transitions = workflow_allowable_transitions($reformula r->estado, 'to', $roles_transition);1566 } 1567 unset($transitions[$reformula r->estado]);1725 $transitions = workflow_allowable_transitions($reformulacion['estado'], 'to', $roles_transition); 1726 } 1727 unset($transitions[$reformulacion['estado']]); 1568 1728 $acciones = array(); 1569 1729 $row = array(); 1570 $row[] = array('data' => format_date($reformular ->date),);1571 $estado = isset($states['states'][$reformula r->estado]) ? $states['states'][$reformular->estado] : 'N/A';1730 $row[] = array('data' => format_date($reformular['date']),); 1731 $estado = isset($states['states'][$reformulacion['estado']]) ? $states['states'][$reformulacion['estado']] : 'N/A'; 1572 1732 $row[] = array('data' => $estado,); 1573 $estado = isset($states['states'][$reformula r->estado_ant]) ? $states['states'][$reformular->estado_ant] : 'N/A';1733 $estado = isset($states['states'][$reformulacion['estado_ant']]) ? $states['states'][$reformulacion['estado_ant']] : 'N/A'; 1574 1734 $row[] = array('data' => $estado,); 1575 $row[] = array('data' => date( 'd/m/Y', $reformular->fecha_onapre),); 1576 $row[] = array('data' => number_format($reformular->monto, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); 1577 $row[] = array('data' => number_format($reformular->variacion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); 1578 $total = $reformular->monto + $reformular->variacion; 1735 $texto = $reformulacion['fecha_onapre']? date( 'd/m/Y', $reformulacion['fecha_onapre']) : 'N/A'; 1736 $row[] = array('data' => $texto,); 1737 $row[] = array('data' => number_format($reformulacion['monto'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); 1738 $row[] = array('data' => number_format($reformulacion['variacion'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); 1739 $total = $reformulacion['monto'] + $reformulacion['variacion']; 1579 1740 $row[] = array('data' => number_format($total, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); 1580 $row[] = array('data' => l($reformular ->name, 'user/' . $reformular->uid),);1741 $row[] = array('data' => l($reformular['name'], 'user/' . $reformulacion['uid']),); 1581 1742 //display options 1582 if ($ editar) {1583 $acciones[] = l(t('Ver'), 'proyectosop/' . $node->nid . '/reformular/' . $reformula r->id_ref. '/view');1743 if ($reformulacion['id_ref']) { 1744 $acciones[] = l(t('Ver'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/view'); 1584 1745 } 1585 1746 if ($add_reformular) { 1586 1747 $acciones[] = l(t('Agregar nueva reformulación'), 'proyectosop/' . $node->nid . '/reformular/add'); 1587 1748 } 1588 if ($editar && $fecha && $reformular->estado != $estado_naprobado && $reformular->estado != $estado_aprobado && $reformular->id_ref) { 1589 $acciones[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit');1590 }1591 if ($enlaces_estados && count($transitions) && $reformular->estado != $estado_aprobado) {1592 foreach($transitions as $id => $transition) {1593 $acciones[] = l(t('Enviar a @state', array('@state' => $transition)), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/workflow/' . $id);1594 }1749 1750 if (_proyectos_reformulacion_reformula_node_edit_tab_access($node, $reformulacion)) { 1751 //if ($editar && $fecha && $reformular->estado != $estado_naprobado && $reformular->estado != $estado_aprobador && $reformular->id_ref && count($transitions)) { 1752 $acciones[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/edit'); 1753 } 1754 if (_proyectos_reformulacion_reformula_wk_node_tab_access($node, $reformulacion)) { 1755 $acciones[] = l(t('Cambiar estado'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/workflow/'); 1595 1756 } 1596 1757 $row[] = array('data' => theme('item_list', $acciones),); … … 1603 1764 } 1604 1765 $output = ''; 1605 if ($ node->field_acciones_ente[0]['nid']) {1766 if ($ente_planificador) { 1606 1767 $output = '<fieldset><legend>' . t('Datos de la Acción Centralizada') . '</legend>'; 1607 $ente_planificador = node_load($node->field_proyecto_ente[0]['nid']);1608 1768 $output .= '<div class="field"><div class="field-label">' . t('Ente') . ':</div>' . l($ente_planificador->title, 'proyectosop/' . $ente_planificador->nid) . '</div>'; 1609 1769 $output .= '<div class="field"><div class="field-label">' . t('Año') . ':</div>' . $node->anhoproyectos_operativos . '</div>'; … … 1628 1788 * Obtiene el monto total de las partidas de las acciones especificas 1629 1789 */ 1630 function total_reformulado_ae($node, $reformula , $exclude = array()) {1790 function total_reformulado_ae($node, $reformulacion, $exclude = array()) { 1631 1791 $ae_l = array(); 1632 1792 $suma_r_ae = 0; … … 1650 1810 if (!isset($exclude[$ae['nid']])) { 1651 1811 1652 if (array_key_exists('field_accion_esp_programacion_' . $ae['nid'], $reformula )) {1653 foreach($reformula ['field_accion_esp_programacion_' . $ae['nid']] as $montos_accion) {1812 if (array_key_exists('field_accion_esp_programacion_' . $ae['nid'], $reformulacion)) { 1813 foreach($reformulacion['field_accion_esp_programacion_' . $ae['nid']] as $montos_accion) { 1654 1814 foreach ($ftypes as $clave => $valor) { 1655 1815 $suma_r_ae += $montos_accion[$clave]; … … 1666 1826 * Implementation of _proyectos_reformulacion_reformula_tab_page_ver() 1667 1827 */ 1668 function _proyectos_reformulacion_reformula_tab_page_ver($node, $reformulacion_load = 0, $show_variacion = TRUE, $muestra = TRUE) { 1828 function _proyectos_reformulacion_reformula_tab_page_ver($node, $reformulacion = 0, $show_variacion = TRUE, $muestra = TRUE) { 1829 global $user; 1669 1830 drupal_set_title(t('Consultar Reformulación')); 1670 global $user; 1831 //add breadcrumb 1832 $breadcrumb = array(); 1833 $breadcrumb[] = l(t('Home'), '<front>'); 1834 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 1835 if ($node->nid) { 1836 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 1837 $breadcrumb[] = l(t('Reformulaciones'), 'proyectosop/' . $node->nid . '/reformular'); 1838 $breadcrumb[] = t('Consultar Reformulación'); 1839 } 1840 drupal_set_breadcrumb($breadcrumb); 1671 1841 $format_number = array( 1672 1842 'decimals' => variable_get('proyectos_operativos_number_decimals', 0), … … 1674 1844 'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'), 1675 1845 ); 1846 $id_ref = $reformulacion['id_ref']; 1676 1847 $ftypes = array( 1677 1848 'value' => t('January'), … … 1692 1863 $add_reformular = _proyectos_reformulacion_reformula_node_add_tab_access($node); 1693 1864 $tipo_plan = 'proyectos_operativos_reformular'; 1694 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador ->tipo);1865 $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador); 1695 1866 $fecha = FALSE; 1696 1867 $ente = usuario_tiene_ente($user->uid); … … 1700 1871 if (!$fecha) { 1701 1872 if ($muestra) { 1702 muestra_mensaje($tipo_plan, $ente_planificador ->tipo);1873 muestra_mensaje($tipo_plan, $ente_planificador); 1703 1874 } 1704 1875 } … … 1707 1878 $fecha = TRUE; 1708 1879 if ($muestra) { 1709 muestra_mensaje($tipo_plan, $ente_planificador ->tipo, 0);1880 muestra_mensaje($tipo_plan, $ente_planificador, 0); 1710 1881 } 1711 1882 } … … 1719 1890 } 1720 1891 $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); 1892 $estado_aprobador = variable_get('proyectos_reformulacion_state_aprobado', NULL); 1721 1893 $editar = ($node->_workflow == $estado_aprobado); 1722 $id_ref = $reformulacion_load ? $reformulacion_load->id_ref : 0;1723 $reformula = _proyectos_reformulacion_load($node, $id_ref);1724 1894 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 1725 1895 //obtiene el total de las variaciones de las acciones especificas 1726 1896 $ae_l = array(); 1727 $suma_r_ae = total_reformulado_ae($node, $reformula );1897 $suma_r_ae = total_reformulado_ae($node, $reformulacion); 1728 1898 $field = content_fields('field_proyecto_unidadm', 'proyectos_operativos'); 1729 1899 $unidad_ant = $node->field_proyecto_unidadm[0]['value']; … … 1759 1929 $varia = isset($variaciones['total']) ? $variaciones['total'] : 0; 1760 1930 $min = $node->field_proyecto_monto_anual[0]['value'] + $varia; 1761 $valor = isset($reformula ['total'])? $reformula['total'] : 0;1931 $valor = isset($reformulacion['total'])? $reformulacion['total'] : 0; 1762 1932 $total_accion = $min; 1763 1933 if (module_exists('workflow')) { … … 1769 1939 $subtotal = t('Total AE'); 1770 1940 $output = ''; 1771 if ($suma_r_ae != $reformula ['total']) {1772 $output .= '<div id="mensaje_alerta"><label style ="color:red">' . t('El monto de la variación del proyecto (%monto_total_proyecto) es diferente al total de las variaciones de las Acciones EspecÃficas (%monto_total_ae)', array('%monto_total_proyecto' => number_format($reformula ['total'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), '%monto_total_ae' => number_format($suma_r_ae, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</label></div>';1941 if ($suma_r_ae != $reformulacion['total']) { 1942 $output .= '<div id="mensaje_alerta"><label style ="color:red">' . t('El monto de la variación del proyecto (%monto_total_proyecto) es diferente al total de las variaciones de las Acciones EspecÃficas (%monto_total_ae)', array('%monto_total_proyecto' => number_format($reformulacion['total'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), '%monto_total_ae' => number_format($suma_r_ae, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</label></div>'; 1773 1943 } 1774 1944 $output .= '<fieldset><legend>' . t('Resumen del Proyecto') . '</legend>'; … … 1809 1979 $rows = array(); 1810 1980 $row = array(); 1811 $row[] = array('data' => t('<b>Fecha de Aprobación:</b> %fecha_onapre', array('%fecha_onapre' => date( 'd/m/Y', $reformula['fecha_onapre']))), 'align' => 'left');1812 $row[] = array('data' => t('<b>Justificación:</b> %justificacion', array('%justificacion' => $reformula['justificacion'])), 'align' => 'left');1813 $rows[] = $row;1814 $row = array();1815 1981 $row[] = array('data' => '<b>' . t('Monto Total del Proyecto para el año en curso: %monto', array('%monto' => number_format($total_accion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</b>', 'colspan' => 2, 'align' => center); 1816 1982 $rows[] = $row; 1817 1983 $row = array(); 1818 1984 $signo = ''; 1819 if ($reformulacion _load->variacion> 0) {1985 if ($reformulacion['variacion'] > 0) { 1820 1986 $signo = '+'; 1821 1987 } 1822 $row[] = array('data' => t('Variación Presupuestaria: %variacion', array('%variacion' => $signo . number_format($reformulacion_load->variacion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 1823 $row[] = array('data' => t('Monto Total Reformulación: %totalreformulacion', array('%totalreformulacion' => number_format($reformulacion_load->variacion + $total_accion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 1988 $row[] = array('data' => t('Variación Presupuestaria: %variacion', array('%variacion' => $signo . number_format($reformulacion['variacion'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 1989 $row[] = array('data' => t('Monto Total Reformulación: %totalreformulacion', array('%totalreformulacion' => number_format($reformulacion['variacion'] + $total_accion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))), ); 1990 $rows[] = $row; 1991 $row = array(); 1992 $colspan = 2; 1993 if (variable_get('proyectos_reformulacion_onapre', 0)) { 1994 $colspan--; 1995 $row[] = array('data' => t('<b>Fecha de Aprobación:</b> %fecha_onapre', array('%fecha_onapre' => date( 'd/m/Y', $reformulacion['fecha_onapre']))), 'align' => 'left'); 1996 } 1997 $row[] = array('data' => t('<b>Justificación:</b> %justificacion', array('%justificacion' => $reformulacion['justificacion'])), 'align' => 'left', 'colspan' => $colspan); 1824 1998 $rows[] = $row; 1825 1999 $output .= theme('table', array(), $rows) . '</fieldset>'; … … 1827 2001 $output .= '<fieldset><legend>' . t('Meta FÃsica del Proyecto') . '</legend>'; 1828 2002 $output .= '<div class="field"><div class="field-label">' . t('Unidad de Medida Anterior') . ':</div>' . $unidadesm[$node->field_proyecto_unidadm[0]['value']] . '</div>'; 1829 $output .= '<div class="field"><div class="field-label">' . t('Unidad de Medida Nueva') . ':</div>' . $unidadesm[$reformulacion_load->unidad] . '</div>'; 2003 $output .= '<div class="field"><div class="field-label">' . t('Unidad de Medida Nueva') . ':</div>' . $unidadesm[$reformulacion['unidad']] . '</div>'; 2004 $personas = variable_get('proyectos_operativos_allow_unidpersona', array()); 2005 if (isset($personas[$reformulacion['unidad']])) { 2006 $output .= '<br><div id="meta-unidm-pers">'; 2007 $array_genero = array('m', 'f'); 2008 $genero_min = array(); 2009 $total_g = 0; 2010 $totales_g = 0; 2011 $header = array(); 2012 $header[] = array('data' => t('Meta FÃsica por Género')); 2013 $rows = array(); 2014 $row = array(); 2015 $row1 = array(); 2016 $row2 = array(); 2017 $row[] = array('data' => $planificado, ); 2018 $row1[] = array('data' => $variacion, ); 2019 $row2[] = array('data' => '<b>' . t('TOTAL') . '</b>', ); 2020 foreach($array_genero as $campo) { 2021 $field = content_fields('field_proyecto_meta_' . $campo, 'proyectos_operativos'); 2022 $header[] = array('data' => $field['widget']['label']); 2023 $varia = isset($variaciones[$gcampo]) ? $variaciones[$gcampo] : 0; 2024 $genero_min[$campo] = $node->{'field_proyecto_meta_' . $campo}[0]['value'] + $varia; 2025 $total_g += $genero_min[$campo]; 2026 $row[] = array('data' => number_format($genero_min[$campo], 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2027 $valor = $reformulacion['unidad_' . $campo]; 2028 $signo = ''; 2029 if ($valor > 0) { 2030 $signo = '+'; 2031 } 2032 $totales_g += $valor; 2033 $row1[] = array('data' => $signo . number_format($valor, 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2034 $row2[] = array('data' => number_format($valor + $genero_min[$campo], 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2035 } 2036 $header[] = array('data' => t('Total')); 2037 $row[] = array('data' => number_format($total_g, 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2038 $row1[] = array('data' => number_format($totales_g, 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2039 $row2[] = array('data' => number_format($total_g + $totales_g, 0, $format_number['dec_point'], $format_number['thousands_sep']), ); 2040 $rows[] = $row; 2041 $rows[] = $row1; 2042 $rows[] = $row2; 2043 $output .= theme('table', $header, $rows); 2044 $output .= '</div><br>'; 2045 } 1830 2046 $header = array(); 1831 2047 $header[] = array('data' => t('Meta FÃsica del Proyecto')); … … 1843 2059 $varia = isset($variaciones['field_proyecto_meta_fisica'][0][$id_field]) ? $variaciones['field_proyecto_meta_fisica'][0][$id_field] : 0; 1844 2060 $min = $node->field_proyecto_meta_fisica[0][$id_field] + $varia; 1845 $valor = isset($reformula ['field_proyecto_meta_fisica'][0][$id_field])? $reformula['field_proyecto_meta_fisica'][0][$id_field] : 0;2061 $valor = isset($reformulacion['field_proyecto_meta_fisica'][0][$id_field])? $reformulacion['field_proyecto_meta_fisica'][0][$id_field] : 0; 1846 2062 $signo = ''; 1847 2063 if ($valor > 0) { … … 1892 2108 $rowF[] = array('data' => $grupo->titulo_asignado); 1893 2109 $links = array(); 1894 $links[] = l(t('Ver reformulación'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion _load->id_ref. '/ae/' . $grupo->nid);1895 if (_proyectos_reformulacion_reformula_node_edit_tab_access($node, $reformulacion _load)) {1896 $links[] = l(t('Reformular'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion _load->id_ref. '/ae/' . $grupo->nid . '/edit');2110 $links[] = l(t('Ver reformulación'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/ae/' . $grupo->nid); 2111 if (_proyectos_reformulacion_reformula_node_edit_tab_access($node, $reformulacion)) { 2112 $links[] = l(t('Reformular'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/ae/' . $grupo->nid . '/edit'); 1897 2113 } 1898 2114 $rowF[] = array('data' => theme('item_list', $links),); 1899 2115 $rowsF[] = $rowF; 1900 2116 $row[] = array('data' => t('AE %numero', array('%numero' => $i)), 'rowspan' => 3); 1901 $row[] = array('data' => t('<b>Unidad de Medida Anterior:</b> %umedida', array('%umedida' => $unidadesm[$grupo->field_accion_esp_unidadm[0]['value']])) . '<br/>'. t('<b>Unidad de Medida Nueva:</b> %umedida', array('%umedida' => $unidadesm[$reformula ['field_accion_esp_metaf_' . $nid][0]['unidad']])), 'rowspan' => 3);2117 $row[] = array('data' => t('<b>Unidad de Medida Anterior:</b> %umedida', array('%umedida' => $unidadesm[$grupo->field_accion_esp_unidadm[0]['value']])) . '<br/>'. t('<b>Unidad de Medida Nueva:</b> %umedida', array('%umedida' => $unidadesm[$reformulacion['field_accion_esp_metaf_' . $nid][0]['unidad']])), 'rowspan' => 3); 1902 2118 $row[] = array('data' => $grupo->field_accion_esp_ponderacion[0]['value'], 'rowspan' => 3); 1903 2119 $row[] = array('data' => $planificado, ); … … 1909 2125 $varia = isset($variaciones['field_accion_esp_metaf_' . $nid][0][$id_field]) ? $variaciones['field_accion_esp_metaf_' . $nid][0][$id_field] : 0; 1910 2126 $min = $grupo->field_accion_esp_metaf[0][$id_field] + $varia; 1911 $valor = isset($reformula ['field_accion_esp_metaf_' . $nid][0][$id_field])? $reformula['field_accion_esp_metaf_' . $nid][0][$id_field] : 0;2127 $valor = isset($reformulacion['field_accion_esp_metaf_' . $nid][0][$id_field])? $reformulacion['field_accion_esp_metaf_' . $nid][0][$id_field] : 0; 1912 2128 $signo = ''; 1913 2129 if ($valor > 0) { … … 1954 2170 } 1955 2171 if (isset($states['wid'])) { 1956 $estado_naprobado = variable_get('proyectos_ operativos_state_naprobado', NULL);1957 if (_proyectos_reformulacion_reformula_node_edit_tab_access($node, $reformulacion _load) && $editar && $fecha && $reformulacion_load->estado != $estado_naprobado && $reformulacion_load->estado != $estado_aprobado && $reformulacion_load->id_ref) {1958 $links[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion _load->id_ref. '/edit');2172 $estado_naprobado = variable_get('proyectos_reformulacion_state_naprobado', NULL); 2173 if (_proyectos_reformulacion_reformula_node_edit_tab_access($node, $reformulacion)) { 2174 $links[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/edit'); 1959 2175 } 1960 2176 $first_state = 0; … … 1969 2185 $roles = array_keys($user->roles); 1970 2186 $roles_transition = $roles; 1971 if ($user->uid == $reformulacion _load->uid && $reformulacion_load->uid> 0) {2187 if ($user->uid == $reformulacion['uid'] && $reformulacion['uid'] > 0) { 1972 2188 $roles += array('author' => 'author'); 1973 2189 } … … 1975 2191 $transitions = array(); 1976 2192 if ($states['wid']) { 1977 $transitions = workflow_allowable_transitions($reformulacion_load->estado, 'to', $roles); 1978 } 1979 unset($transitions[$reformulacion_load->estado]); 1980 if ($suma_r_ae == $reformula['total'] && $enlaces_estados && count($transitions) && $estado_aprobado != $reformulacion_load->estado) { 1981 foreach($transitions as $id => $transition) { 1982 $links[] = l(t('Enviar a @state', array('@state' => $transition)), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion_load->id_ref . '/workflow/' . $id); 1983 } 2193 $transitions = workflow_allowable_transitions($reformulacion['estado'], 'to', $roles); 2194 } 2195 unset($transitions[$reformulacion['estado']]); 2196 if ($suma_r_ae == $reformulacion['total'] && $enlaces_estados && count($transitions) && $estado_aprobado != $reformulacion['estado']) { 2197 $links[] = l(t('Cambiar estado'), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/workflow/'); 1984 2198 } 1985 2199 } … … 1993 2207 * Formulario para reformular las acciones especificas 1994 2208 */ 1995 function proyectos_reformulacion_reformula_tab_page_ae_form($form_state, $node, $reformulacion _load= 0, $ae = 0) {2209 function proyectos_reformulacion_reformula_tab_page_ae_form($form_state, $node, $reformulacion = 0, $ae = 0) { 1996 2210 drupal_set_title(t('Reformular A.E.')); 2211 //add breadcrumb 2212 $breadcrumb = array(); 2213 $breadcrumb[] = l(t('Home'), '<front>'); 2214 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 2215 if ($node->nid) { 2216 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 2217 $breadcrumb[] = l(t('Reformulaciones'), 'proyectosop/' . $node->nid . '/reformular'); 2218 if ($reformulacion['id_ref']){ 2219 $breadcrumb[] = l(check_plain('Reform-' . $reformulacion['id_ref']), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/view'); 2220 if ($ae->nid) { 2221 $breadcrumb[] = l(check_plain('AE-' . $ae->nid), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/ae/' . $ae->nid . '/view'); 2222 } 2223 $breadcrumb[] = t('Reformular A.E.'); 2224 } 2225 } 2226 drupal_set_breadcrumb($breadcrumb); 1997 2227 $form = array(); 1998 2228 $proyectos_operativos_path = drupal_get_path('module', 'proyectos_operativos'); … … 2020 2250 } 2021 2251 } 2022 $id_ref = $reformulacion_load ? $reformulacion_load->id_ref : 0; 2023 $reformula = _proyectos_reformulacion_load($node, $id_ref); 2024 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 2025 $reformula = _proyectos_reformulacion_load($node, $id_ref); 2026 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 2252 $variaciones = _proyectos_reformula_all_partidas_load($node, $reformulacion['id_ref']); 2027 2253 $field = content_fields('field_accion_esp_programacion', 'accion_especifica'); 2028 2254 $tree = taxonomy_get_tree($field['vid']); … … 2036 2262 } 2037 2263 } 2038 //$form['#mes'] = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0);2039 2264 $form['#mes'] = variable_get('accion_especifica_de_proyecto_seguimiento_anho_seguimiento', 0) == $node->anhoproyectos_operativos ? variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0) - 1 : 0; 2040 2265 $format_number = array( … … 2057 2282 $varia = isset($variaciones['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field]) ? $variaciones['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0; 2058 2283 $min = $partidas_nodo[$tid][$id_field] + $varia; 2059 $valor = isset($reformula ['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field])? $reformula['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0;2284 $valor = isset($reformulacion['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field])? $reformulacion['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0; 2060 2285 $total1 += $valor; 2061 2286 $totalT += $min + $valor; … … 2110 2335 //financiamiento 2111 2336 $arreglo_financiamiento = array(); 2112 $accion_especifica_number_fields = variable_get(' accion_especifica_number_fields', 4);2337 $accion_especifica_number_fields = variable_get('proyectos_reformulacion_ae_number_fields', 4); 2113 2338 for($i = 0; $i < $accion_especifica_number_fields; $i++) { 2114 $arreglo_financiamiento['financiamiento_' . $i] = variable_get(' accion_especifica_financiamiento_label_' . $i, '') ? variable_get('accion_especifica_financiamiento_label_' . $i, '') : '';2115 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get(' accion_especifica_financiamiento_options_' . $i, array());2339 $arreglo_financiamiento['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') ? variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') : ''; 2340 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_options_' . $i, array()); 2116 2341 } 2117 2342 … … 2123 2348 $form['#node'] = $node; 2124 2349 $form['#variaciones'] = $variaciones; 2125 $form['#reformula '] = $reformula;2126 $form['#id_ref'] = $ id_ref;2350 $form['#reformulacion'] = $reformulacion; 2351 $form['#id_ref'] = $reformulacion['id_ref']; 2127 2352 $form['#ae'] = $ae; 2128 $form['#reformula_load'] = $reformulacion_load; 2129 $suma_r_ae = total_reformulado_ae($node, $reformula, array($ae->nid => 1)); 2130 $monto_asignar = $form['#reformula_load']->variacion - $suma_r_ae; 2353 $suma_r_ae = total_reformulado_ae($node, $reformulacion, array($ae->nid => 1)); 2354 $monto_asignar = $form['#reformulacion']['variacion'] - $suma_r_ae; 2131 2355 $form['#monto_asignar'] = $monto_asignar; 2132 2356 $total = 0; … … 2147 2371 $sumafinm[$id_items1] = 0; 2148 2372 } 2149 $valor = isset($reformula [$id1 . '_' . $ae->nid][0]['value'])? $reformula[$id1 . '_' . $ae->nid][0]['value'] : 0;2373 $valor = isset($reformulacion[$id1 . '_' . $ae->nid][0]['value'])? $reformulacion[$id1 . '_' . $ae->nid][0]['value'] : 0; 2150 2374 $sumafinm[$id_items1] += $min; 2151 2375 $sumatotalf += $min; … … 2163 2387 } 2164 2388 } 2165 2166 2389 $form['totalf_' . $id_items] = array( 2167 2390 '#type' => 'textfield', … … 2251 2474 } 2252 2475 if ($mf != $finan) { 2253 form_set_error($form['#ae']->nid . '_field_accion_esp_programacion_' . $tid . '_' . $id_field, t('La suma de la Programación Financiera (#valor) debe ser igual a las Fuentes de Financiamiento (#valor1)', array('#valor' => $mf, '#valor1' => $finan)));2476 form_set_error($form['#ae']->nid . '_field_accion_esp_programacion_' . $tid . '_' . $id_field, t('La suma de la Programación Financiera (#valor) debe ser igual a las Fuentes de Financiamiento (#valor1)', array('#valor' => number_format($mf, $form['#format_number']['format_number']['decimals'], $form['#format_number']['format_number']['dec_point'], $form['#format_number']['format_number']['thousands_sep']), '#valor1' => number_format($finan, $form['#format_number']['format_number']['decimals'], $form['#format_number']['format_number']['dec_point'], $form['#format_number']['format_number']['thousands_sep'])))); 2254 2477 } 2255 2478 } … … 2369 2592 $rows = array(); 2370 2593 $row = array(); 2371 $row1 = array(); 2594 $row1 = array(); 2595 $cantidad_campos = count($form['#arreglo']); 2372 2596 foreach($form['#arreglo'] as $id => $arreglo1) { 2373 2597 $row[] = array('data' => drupal_render($form[$id]), ); … … 2377 2601 $rows[] = $row1; 2378 2602 $row = array(); 2379 $row[] = array('data' => '<b>' . t('TOTAL') . ':</b>', 'colspan' => 3, 'align' => 'right'); 2380 $row[] = array('data' => drupal_render($form['total_financiamiento']), ); 2603 $row[] = array('data' => '<b>' . t('TOTAL:') . '</b>' . drupal_render($form['total_financiamiento']), 'colspan' => $cantidad_campos, 'align' => 'center'); 2381 2604 $rows[] = $row; 2382 2605 $output .= '<fieldset><legend>' . t('Distribución por fuentes de Financiamiento (Bs.)') . '</legend>' . theme('table', array(), $rows) . '</fieldset>'; … … 2388 2611 * Implementation of _proyectos_reformulacion_reformula_tab_page_ver_ae() 2389 2612 */ 2390 function _proyectos_reformulacion_reformula_tab_page_ver_ae($node, $reformulacion _load= 0, $ae = 0) {2613 function _proyectos_reformulacion_reformula_tab_page_ver_ae($node, $reformulacion = 0, $ae = 0) { 2391 2614 drupal_set_title(t('Consultar Reformulación de A.E.')); 2615 //add breadcrumb 2616 $breadcrumb = array(); 2617 $breadcrumb[] = l(t('Home'), '<front>'); 2618 $breadcrumb[] = l(t('Proyectos Operativos'), 'proyectos_operativos'); 2619 if ($node->nid) { 2620 $breadcrumb[] = l(check_plain($node->title), 'proyectosop/' . $node->nid); 2621 $breadcrumb[] = l(t('Reformulaciones'), 'proyectosop/' . $node->nid . '/reformular'); 2622 if ($reformulacion['id_ref']){ 2623 $breadcrumb[] = l(check_plain('Reform-' . $reformulacion['id_ref']), 'proyectosop/' . $node->nid . '/reformular/' . $reformulacion['id_ref'] . '/view'); 2624 } 2625 $breadcrumb[] = t('Consultar Reformulación de A.E.'); 2626 } 2627 drupal_set_breadcrumb($breadcrumb); 2392 2628 $planificado = t('planificado'); 2393 2629 $format_number = array( … … 2418 2654 } 2419 2655 } 2420 $id_ref = $reformulacion_load ? $reformulacion_load->id_ref : 0; 2421 $reformula = _proyectos_reformulacion_load($node, $id_ref); 2422 $variaciones = _proyectos_reformula_all_partidas_load($node, $id_ref); 2656 $variaciones = _proyectos_reformula_all_partidas_load($node, $reformulacion['id_ref']); 2423 2657 $field = content_fields('field_accion_esp_programacion', 'accion_especifica'); 2424 2658 $tree = taxonomy_get_tree($field['vid']); 2425 2659 $vtid = $field['vtid']; 2426 2660 $partidas = array(); 2427 $suma_r_ae = total_reformulado_ae($node, $reformula );2661 $suma_r_ae = total_reformulado_ae($node, $reformulacion); 2428 2662 if ($tree) { 2429 2663 foreach ($tree as $term) { … … 2435 2669 //financiamiento 2436 2670 $arreglo_financiamiento = array(); 2437 $accion_especifica_number_fields = variable_get(' accion_especifica_number_fields', 4);2671 $accion_especifica_number_fields = variable_get('proyectos_reformulacion_ae_number_fields', 4); 2438 2672 for($i = 0; $i < $accion_especifica_number_fields; $i++) { 2439 $arreglo_financiamiento['financiamiento_' . $i] = variable_get('accion_especifica_financiamiento_label_' . $i, '') ? variable_get('accion_especifica_financiamiento_label_' . $i, '') : ''; 2440 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get('accion_especifica_financiamiento_options_' . $i, array()); 2441 } 2442 2443 /* 2444 $arreglo = array(); 2445 $titles = array( 2446 'ordinarios' => t('Recursos Ordinarios'), 2447 'propios' => t('Recursos Propios'), 2448 'transferencias' => t('Donaciones'), 2449 'otros' => t('Otros'), 2450 ); 2451 $titles_field = array( 2452 'field_accion_esp_transferencias' => t('Recursos Ordinarios'), 2453 'field_accion_esp_creditosa' => t('Recursos Propios'), 2454 'transferencias' => t('Donaciones'), 2455 'otros' => t('Otros'), 2456 ); 2457 $arreglo['ordinarios'] = array( 2458 'field_accion_esp_transferencias' => 'field_accion_esp_transferencias', 2459 'field_accion_esp_creditosa' => 'field_accion_esp_creditosa', 2460 'field_accion_esp_mcti' => 'field_accion_esp_mcti', 2461 ); 2462 $arreglo['propios'] = array( 2463 'field_accion_esp_venta_act' => 'field_accion_esp_venta_act', 2464 'field_accion_esp_activos' => 'field_accion_esp_activos', 2465 'field_accion_esp_flujocaja' => 'field_accion_esp_flujocaja', 2466 'field_accion_esp_ventapro' => 'field_accion_esp_ventapro', 2467 ); 2468 $arreglo['transferencias'] = array( 2469 'field_accion_esp_donaciones' => 'field_accion_esp_donaciones', 2470 ); 2471 $arreglo['otros'] = array( 2472 'field_accion_esp_gobernacion' => 'field_accion_esp_gobernacion', 2473 'field_accion_esp_misionc' => 'field_accion_esp_misionc', 2474 'field_accion_esp_bid_fona' => 'field_accion_esp_bid_fona', 2475 'field_accion_esp_fonacit' => 'field_accion_esp_fonacit', 2476 'field_accion_esp_fonden' => 'field_accion_esp_fonden', 2477 'field_accion_esp_locti' => 'field_accion_esp_locti', 2478 'field_accion_esp_fondoidi' => 'field_accion_esp_fondoidi', 2479 'field_accion_esp_capitalrie' => 'field_accion_esp_capitalrie', 2480 'field_accion_esp_infocentro' => 'field_accion_esp_infocentro', 2481 'field_accion_esp_fidetel' => 'field_accion_esp_fidetel', 2482 ); 2483 */ 2673 $arreglo_financiamiento['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') ? variable_get('proyectos_reformulacion_ae_financiamiento_label_' . $i, '') : ''; 2674 $arreglo_financiamiento_fields['financiamiento_' . $i] = variable_get('proyectos_reformulacion_ae_financiamiento_options_' . $i, array()); 2675 } 2484 2676 $output = ''; 2485 2677 $ente_planificador = node_load($node->field_proyecto_ente[0]['nid']); 2486 if ($suma_r_ae != $reformula ['total']) {2487 $output .= '<div id="mensaje_alerta"><label style ="color:red">' . t('El monto de la variación del proyecto (%monto_total_proyecto) es diferente al total de las variaciones de las Acciones EspecÃficas (%monto_total_ae)', array('%monto_total_proyecto' => number_format($reformula ['total'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), '%monto_total_ae' => number_format($suma_r_ae, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</label></div>';2678 if ($suma_r_ae != $reformulacion['total']) { 2679 $output .= '<div id="mensaje_alerta"><label style ="color:red">' . t('El monto de la variación del proyecto (%monto_total_proyecto) es diferente al total de las variaciones de las Acciones EspecÃficas (%monto_total_ae)', array('%monto_total_proyecto' => number_format($reformulacion['total'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), '%monto_total_ae' => number_format($suma_r_ae, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']))) . '</label></div>'; 2488 2680 } 2489 2681 $output .= '<fieldset><legend>' . t('Resumen del Proyecto') . '</legend>'; … … 2492 2684 $output .= '<div class="field"><div class="field-label">' . t('Organismo') . ':</div>' . $ente_planificador->title . '</div>'; 2493 2685 $output .= '</fieldset>'; 2494 $output .= '<fieldset><legend>' . t('Resumen Financiero de las Acciones ') . '</legend>';2686 $output .= '<fieldset><legend>' . t('Resumen Financiero de las Acciones (Bs)') . '</legend>'; 2495 2687 $header = array(); 2496 2688 $header[] = array('data' => t('Partidas'), 'colspan' => 2); … … 2521 2713 $varia = isset($variaciones['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field]) ? $variaciones['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0; 2522 2714 $min = $partidas_nodo[$tid][$id_field] + $varia; 2523 $valor = isset($reformula ['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field])? $reformula['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0;2715 $valor = isset($reformulacion['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field])? $reformulacion['field_accion_esp_programacion_' . $ae->nid][$tid][$id_field] : 0; 2524 2716 $signo = ''; 2525 2717 if ($valor > 0) { … … 2566 2758 $row = array(); 2567 2759 $row1 = array(); 2568 $sumalT = 0; 2760 $sumalT = 0; 2761 $cuenta_financia = count($arreglo_financiamiento); 2569 2762 foreach($arreglo_financiamiento as $id_items => $titulo) { 2570 2763 $sumal = 0; … … 2581 2774 $sumatotalf += $min; 2582 2775 $field = content_fields($id1, 'accion_especifica'); 2583 $valor = isset($reformula [$id1 . '_' . $ae->nid][0]['value'])? $reformula[$id1 . '_' . $ae->nid][0]['value'] : 0;2776 $valor = isset($reformulacion[$id1 . '_' . $ae->nid][0]['value'])? $reformulacion[$id1 . '_' . $ae->nid][0]['value'] : 0; 2584 2777 $total1 += $valor; 2585 2778 $total += $valor; … … 2600 2793 $rows[] = $row1; 2601 2794 $row = array(); 2602 $row[] = array('data' => '<b>' . t('TOTAL') . ':</b>', 'colspan' => 3, 'align' => 'right'); 2603 $row[] = array('data' => number_format($sumalT, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), ); 2795 $row[] = array('data' => '<b>' . t('TOTAL') . ':</b> ' . number_format($sumalT, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), 'colspan' => $cuenta_financia, 'align' => 'center'); 2604 2796 $rows[] = $row; 2605 2797 $output .= '<fieldset><legend>' . t('Distribución por fuentes de Financiamiento (Bs.)') . '</legend>' . theme('table', array(), $rows) . '</fieldset>';
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.