Conjunto 4084a77 en sipp


Ignorar:
Fecha y hora:
23/10/2015 17:05:22 (hace 9 años)
Autor:
José Gregorio Puentes <jpuentes@…>
Branches:
0.3-stable
Children:
5497eef
Parents:
85c05e9
Mensaje:

Se creo la lista de modificaciones por estado

Fichero:
1 editado

Leyenda

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

    ra0b4327 r4084a77  
    717717function proyectos_reformulacion_menu() {
    718718  $items = array();
    719   $items['proyectos_operativos/proyectos/reformular'] = array(
    720     'title' => t('Consultar Modificaciones sin Aprobar'),
     719  //consultar el estado de las reformulaciones sin aprobar
     720  $items['proyectos_operativos/reformular'] = array(
     721    'title' => t('Modificaciones'),
    721722    'page callback' => 'proyectos_reformulacion_search_ac_display_not_approved',
    722723    'access arguments' => array('ver planificador'),
    723724    'type' => MENU_LOCAL_TASK,
     725  );
     726  $items['proyectos_operativos/reformular/entramite'] = array(
     727    'title' => t('Lista de Modificaciones sin Aprobar'),
     728    'page callback' => 'proyectos_reformulacion_search_ac_display_not_approved',
     729    'access arguments' => array('ver planificador'),
     730    'type' => MENU_LOCAL_TASK,
     731  );
     732  $items['proyectos_operativos/reformular/default'] = array(
     733    'title' => t('Lista de Modificaciones'),
     734    'page callback' => 'proyectos_reformulacion_search_ac_display_approved',
     735    'access arguments' => array('ver planificador'),
     736    'type' => MENU_DEFAULT_LOCAL_TASK,
    724737  );
    725738  $items['proyectosop/%proyectosop/reformular'] = array(
     
    26852698 */
    26862699function proyectos_reformulacion_search_ac_display_not_approved() {
     2700  drupal_set_title(t("Consultar Modificaciones sin Aprobar"));
    26872701  global $user;
    26882702  $format_number = array(
     
    26912705    'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'),
    26922706  );
     2707  $step = 10;
    26932708  $current_time = time();
    26942709  $add_reformular = _proyectos_reformulacion_reformula_node_add_tab_access($node);
     
    27272742  $estado_naprobado = variable_get('proyectos_operativos_state_naprobado', NULL);
    27282743  $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL);
    2729   $result = db_query('SELECT re.*, u.name, u.uid FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid WHERE estado <> %d AND estado <> %d ORDER BY id_ref DESC', $estado_naprobado, $estado_aprobado);
     2744  $sql = '';
     2745  $sql_count = '';
     2746  if (!user_access('admin planificador') && $user->entes) {
     2747    $inputs[] = $estado_naprobado;
     2748    $inputs[] = $estado_aprobado;
     2749    $inputs[] = $user->entes;
     2750    $sql .= 'SELECT re.*, u.name, u.uid FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND re.estado <> %d AND ac.ente = %d ORDER BY re.id_ref DESC';
     2751    $sql_count .= 'SELECT count(re.nid) FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND re.estado <> %d AND ac.ente = %d';
     2752  }
     2753  elseif (user_access('admin planificador')) {
     2754    $inputs[] = $estado_naprobado;
     2755    $inputs[] = $estado_aprobado;
     2756    $sql .= 'SELECT re.*, u.name, u.uid, ac.ente FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND re.estado <> %d ORDER BY re.id_ref DESC';
     2757    $sql_count .= 'SELECT count(re.nid) FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND re.estado <> %d';
     2758  }
    27302759  $header = array();
     2760  $header[] = array('data' => t('Ente'));
    27312761  $header[] = array('data' => t('Proyecto'));
    27322762  $header[] = array('data' => t('Fecha'));
     
    27412771  $i = 1;
    27422772  $roles = array_keys($user->roles);
    2743   $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL);
     2773  $result = pager_query($sql, $step, 0, $sql_count, $inputs);
    27442774  while($reformular = db_fetch_object($result)) {
    27452775    $node = node_load($reformular->nid);
     
    27632793    $acciones = array();
    27642794    $row = array();
     2795    //Ente de relacion con la reformulación
     2796    $ente = node_load($node->field_proyecto_ente[0]);
     2797
     2798    $row[] = array('data' => $ente->title, 'style' => 'background:' . $color,);
    27652799    $row[] = array('data' => $node->title, 'style' => 'background:' . $color,);
    27662800    $row[] = array('data' => format_date($reformular->date), 'style' => 'background:' . $color,);
     
    27732807    $total = $reformular->monto + $reformular->variacion;
    27742808    $row[] = array('data' => number_format($total, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), 'style' => 'background:' . $color,);
    2775     $row[] = array('data' => l($reformular->name, 'user/' . $reformular->uid), 'style' => 'background:' . $color,);
     2809    $row[] = array('data' => l($reformular->name, 'user/' . $reformular->uid, array('html' => true, 'query' => 'destination=proyectos_operativos/reformular')), 'style' => 'background:' . $color,);
    27762810    //display options
    27772811    if ($editar) {
    2778       $acciones[] = l(t('Ver'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/view');
     2812      $acciones[] = l(t('Ver'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/view', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
    27792813    }
    27802814    if ($add_reformular) {
    2781       $acciones[] = l(t('Agregar nueva modificación'), 'proyectosop/' . $node->nid . '/reformular/add');
     2815      $acciones[] = l(t('Agregar nueva modificación'), 'proyectosop/' . $node->nid . '/reformular/add', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
    27822816    }
    27832817    if ($editar && $fecha && $reformular->estado != $estado_naprobado &&  $reformular->estado != $estado_aprobado && $reformular->id_ref) {
    2784       $acciones[] = l(t('Actualizar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit');
     2818      $acciones[] = l(t('Actualizar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
    27852819    }
    27862820    if ($enlaces_estados && count($transitions) && $reformular->estado != $estado_aprobado) {
     
    27892823      }
    27902824      if (_proyectos_reformulacion_reformula_node_edit_tab_access($node) && $editar && $fecha && $reformular->estado != $estado_naprobado &&  $reformular->estado != $estado_aprobado && $reformular->id_ref) {
    2791         $links[] = l(t('Actualizar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit');
     2825        $links[] = l(t('Actualizar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
    27922826      }
    27932827    }
     
    28012835  }
    28022836  $output = '';
    2803   $output .= theme('table', $header, $rows) . '</fieldset>';
     2837  $output .= theme('table', $header, $rows);
     2838  $output .= theme('pager', NULL);
    28042839  return $output;
    28052840}
     2841
     2842/**
     2843 * Implementation of proyectos_reformulacion_search_ac_display_not_approved().
     2844 * Muestra la lista de las reformulaciones disponibles que no han sido aprobados.
     2845 */
     2846function proyectos_reformulacion_search_ac_display_approved() {
     2847  drupal_set_title(t("Consultar Lista de Reformulaciones"));
     2848  global $user;
     2849  $format_number = array(
     2850    'decimals' => variable_get('proyectos_operativos_number_decimals', 0),
     2851    'dec_point' => variable_get('proyectos_operativos_number_dec_point', ','),
     2852    'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'),
     2853  );
     2854  $step = 10;
     2855  $current_time = time();
     2856  $add_reformular = _proyectos_reformulacion_reformula_node_add_tab_access($node);
     2857  $tipo_plan = 'proyectos_operativos_reformular';
     2858  $mi_fecha = ente_planificador_user_acceso_proceso($tipo_plan, $ente_planificador->tipo);
     2859  $fecha = FALSE;
     2860  $ente = usuario_tiene_ente($user->uid);
     2861  if ($mi_fecha[1]  + 86399 > $current_time && $mi_fecha[0] < $current_time) {
     2862    $fecha = TRUE;
     2863  }
     2864  if (!$fecha) {
     2865    if ($muestra) {
     2866      muestra_mensaje($tipo_plan, $ente->tipo);
     2867    }
     2868  }
     2869  else {
     2870    if ($ente->nid) {
     2871      $fecha = TRUE;
     2872      if ($muestra) {
     2873        muestra_mensaje($tipo_plan, $ente->tipo, 0);
     2874      }
     2875    }
     2876    elseif (!user_access('admin planificador')) {
     2877      $fecha = FALSE;
     2878    }   
     2879  }
     2880  $enlaces_estados = TRUE;
     2881  if ($ente->nid && !user_access('admin planificador')) {
     2882    $enlaces_estados = FALSE;
     2883  }
     2884  $states = _proyectos_operativos_reformulacion_obtiene_estados();
     2885  $first_state = 0;
     2886  if ($states['wid']) {
     2887    $first_state = _workflow_creation_state($states['wid']);
     2888  }
     2889  $estado_naprobado = variable_get('proyectos_operativos_state_naprobado', NULL);
     2890  $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL);
     2891  $sql = '';
     2892  $sql_count = '';
     2893  if (!user_access('admin planificador') && $user->entes) {
     2894    $inputs[] = $estado_naprobado;
     2895    $inputs[] = $user->entes;
     2896    $sql .= 'SELECT re.*, u.name, u.uid FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND ac.ente = %d ORDER BY re.id_ref DESC';
     2897    $sql_count .= 'SELECT count(re.nid) FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d AND ac.ente = %d';
     2898  }
     2899  elseif (user_access('admin planificador')) {
     2900    $inputs[] = $estado_naprobado;
     2901    $sql .= 'SELECT re.*, u.name, u.uid, ac.ente FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d ORDER BY re.id_ref DESC';
     2902    $sql_count .= 'SELECT count(re.nid) FROM {proyectos_reformular} re INNER JOIN {users} u ON u.uid = re.uid INNER JOIN {proyectos_operativos} AS ac ON ac.nid = re.nid WHERE re.estado <> %d';
     2903  }
     2904  $header = array();
     2905  $header[] = array('data' => t('Ente'));
     2906  $header[] = array('data' => t('Proyecto'));
     2907  $header[] = array('data' => t('Fecha'));
     2908  $header[] = array('data' => t('Estado Actual'));
     2909  $header[] = array('data' => t('Fecha de Aprobación'));
     2910  $header[] = array('data' => t('Monto (Bs)'));
     2911  $header[] = array('data' => t('Variación (Bs)'));
     2912  $header[] = array('data' => t('Total monto (Bs)'));
     2913  $header[] = array('data' => t('Usuario'));
     2914  $header[] = array('data' => t('Acción'));
     2915  $rows = array();
     2916  $i = 1;
     2917  $roles = array_keys($user->roles);
     2918  $result = pager_query($sql, $step, 0, $sql_count, $inputs);
     2919  while($reformular = db_fetch_object($result)) {
     2920    $node = node_load($reformular->nid);
     2921    $editar = ($node->_workflow == $estado_aprobado);
     2922    if ($user->uid == 1) {
     2923      // Superuser is special.
     2924      $roles_transition = 'ALL';
     2925    }
     2926    else {
     2927      $roles_transition = $roles;
     2928      if ($user->uid == $reformular->uid && $reformular->uid > 0) {
     2929        $roles_transition += array('author' => 'author');
     2930      }
     2931    }
     2932    $transitions = array();
     2933    if ($states['wid']) {
     2934      $transitions = workflow_allowable_transitions($reformular->estado, 'to', $roles_transition);
     2935    }
     2936    $color = variable_get('proyectos_operativos_state_color_' . $reformular->estado, array());
     2937    unset($transitions[$reformular->estado]);
     2938    $acciones = array();
     2939    $row = array();
     2940    //Ente de relacion con la reformulación
     2941    $ente = node_load($node->field_proyecto_ente[0]);
     2942
     2943    $row[] = array('data' => $ente->title, 'style' => 'background:' . $color,);
     2944    $row[] = array('data' => $node->title, 'style' => 'background:' . $color,);
     2945    $row[] = array('data' => format_date($reformular->date), 'style' => 'background:' . $color,);
     2946    $estado = isset($states['states'][$reformular->estado]) ? $states['states'][$reformular->estado] : 'N/A';
     2947    $row[] = array('data' => $estado, 'style' => 'background:' . $color,);
     2948    $estado = isset($states['states'][$reformular->estado_ant]) ? $states['states'][$reformular->estado_ant] : 'N/A';
     2949    $row[] = array('data' => date( 'd/m/Y', $reformular->fecha_onapre), 'style' => 'background:' . $color,);
     2950    $row[] = array('data' => number_format($reformular->monto, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), 'style' => 'background:' . $color,);
     2951    $row[] = array('data' => number_format($reformular->variacion, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), 'style' => 'background:' . $color,);
     2952    $total = $reformular->monto + $reformular->variacion;
     2953    $row[] = array('data' => number_format($total, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']), 'style' => 'background:' . $color,);
     2954    $row[] = array('data' => l($reformular->name, 'user/' . $reformular->uid, array('html' => true, 'query' => 'destination=proyectos_operativos/reformular')), 'style' => 'background:' . $color,);
     2955    //display options
     2956    if ($editar) {
     2957      $acciones[] = l(t('Ver'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/view', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
     2958    }
     2959    if ($add_reformular) {
     2960      $acciones[] = l(t('Agregar nueva reformulación'), 'proyectosop/' . $node->nid . '/reformular/add', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
     2961    }
     2962    if ($editar && $fecha && $reformular->estado != $estado_naprobado &&  $reformular->estado != $estado_aprobado && $reformular->id_ref) {
     2963      $acciones[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
     2964    }
     2965    if ($enlaces_estados && count($transitions) && $reformular->estado != $estado_aprobado) {
     2966      foreach($transitions as $id => $transition) {
     2967        $acciones[] = l(t('Enviar a @state', array('@state' => $transition)), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/workflow/' . $id, array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
     2968      }
     2969      if (_proyectos_reformulacion_reformula_node_edit_tab_access($node) && $editar && $fecha && $reformular->estado != $estado_naprobado &&  $reformular->estado != $estado_aprobado && $reformular->id_ref) {
     2970        $links[] = l(t('Modificar'), 'proyectosop/' . $node->nid . '/reformular/' . $reformular->id_ref . '/edit', array('html' => true, 'query' => 'destination=proyectos_operativos/reformular'));
     2971      }
     2972    }
     2973    $row[] = array('data' =>  theme('item_list', $acciones), 'style' => 'background:' . $color,);
     2974    $rows[] = $row;
     2975    $i++;
     2976  }
     2977  if (!count($rows)) {
     2978    $row[] = array('data' => 'No existen reformulaciones sin Aprobar', 'colspan' => 9);
     2979    $rows[] = $row;
     2980  }
     2981  $output = '';
     2982  $output .= theme('table', $header, $rows);
     2983  $output .= theme('pager', NULL);
     2984  return $output;
     2985}
     2986
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.