Conjunto 66ac3fc en consulta_publica


Ignorar:
Fecha y hora:
07/09/2017 15:33:47 (hace 7 años)
Autor:
rudmanmrrod <rudman22@…>
Branches:
estudiantes, general, plan_patria
Children:
aafe6a6
Parents:
4ba8671
Mensaje:

Agregado paginador, listado de participacion en la consulta, añadida generación del certificado de participación, agregado botón para compartir por twitter

Ficheros:
5 añadidos
6 editados

Leyenda

No modificado
Añadido
Eliminado
  • base/constant.py

    rbe17cf0 r66ac3fc  
    7676)
    7777
     78OBJETIVOS_DICT = {
     79    1:"La Paz como necesidad, derecho y anhelo de la Nación",
     80    2:"El perfeccionamiento del sistema económico nacional hacia la Venezuela Potencia",
     81    3:"Constitucionalizar las Misiones y Grandes Misiones Socialistas",
     82    4:"La ampliación de las competencias del sistema de Justicia, para erradicar la impunidad de los delitos",
     83    5:"Constitucionalización de las nuevas formas de Democracia Participativa y Protagónica",
     84    6:"La defensa de la soberanía y la integridad de la Nación y protección contra el intervencionismo extranjero",
     85    7:"Reivindicación del carácter pluricultural de la Patria",
     86    8:"La garantía del futuro",
     87    9:"La preservación de la vida en el planeta",
     88}
     89
    7890## Definición de los objetivos
    7991OBJETIVOS_DEFINICION = (
  • base/templates/base.nav.bar.html

    r8edb1df r66ac3fc  
    1919                <ul class="dropdown-menu">
    2020                    <li><a href="{% url 'update' request.user.id %}">Perfil</a></li>
     21                    <li><a href="{% url 'mi_participacion' %}">Mi Participación</a></li>
    2122                    <li><a href="{% url 'logout' %}">Logout</a></li>
    2223                </ul>
  • static/css/style.css

    r250830e r66ac3fc  
    292292    color: gray;
    293293}
     294
     295.twitter-button{
     296    background-color: #1b95e0;
     297    color: white;
     298    border-radius: 5px;
     299}
     300
     301.twitter-button:hover{
     302    background-color: #197bb7;
     303    color: white;
     304}
  • users/admin.py

    rcdd72e5 r66ac3fc  
    11from django.contrib import admin
     2from models import Perfil
    23
    34# Register your models here.
     5admin.site.register(Perfil)
  • users/urls.py

    r5d13782 r66ac3fc  
    2222    url(r'^logout$', LogoutView.as_view(), name = "logout"),
    2323    url(r'^register$', RegisterView.as_view(), name = "register"),
     24    url(r'^mi-participacion$', MiParticipacion.as_view(), name = "mi_participacion"),
     25    url(r'^certificado/(?P<pk>\d+)$', Certificado.as_view(), name = "certificado"),
    2426    url(r'^update/(?P<pk>\d+)$', PerfilUpdate.as_view(), name = "update"),
    2527    url(r'^password/reset/$', password_reset,
  • users/views.py

    re26ee47 r66ac3fc  
    1414# @version 1.0
    1515from django.shortcuts import render, redirect
    16 from django.views.generic import FormView, RedirectView, CreateView, UpdateView
     16from django.views.generic import FormView, RedirectView, CreateView, UpdateView, ListView
     17from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
    1718from django.contrib.auth.mixins import LoginRequiredMixin
    1819from django.contrib.messages.views import SuccessMessageMixin
     
    2425from .models import Perfil
    2526from base.models import Parroquia
     27from base.constant import OBJETIVOS_DICT, SECTORES, SECTOR_ESTUDIANTE, SECTOR_TRABAJADOR
     28from participacion.models import RespuestaAbierta
     29from easy_pdf.views import PDFTemplateView
    2630
    2731class LoginView(FormView):
     
    261265       
    262266        return super(PerfilUpdate, self).form_valid(form)
     267   
     268class MiParticipacion(LoginRequiredMixin,ListView):
     269    """!
     270    Clase que gestiona la el listado de las participaciones en los aportes
     271    de la consulta
     272
     273    @author Rodrigo Boet (rboet at cenditel.gob.ve)
     274    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     275    @date 07-09-2017
     276    @version 1.0.0
     277    """
     278    model = RespuestaAbierta
     279    template_name = "mi_participacion.html"
     280    paginate_by = 5
     281   
     282    def get_context_data(self, **kwargs):
     283        """!
     284        Metodo para cargar/obtener valores en el contexto de la vista
     285   
     286        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     287        @copyright GNU/GPLv2
     288        @date 28-03-2017
     289        @param self <b>{object}</b> Objeto que instancia la clase
     290        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
     291        @return Retorna los datos de contexto
     292        """
     293        context = super(MiParticipacion, self).get_context_data(**kwargs)
     294        context['object_list'] = RespuestaAbierta.objects.filter(user_id=self.request.user.id).all()
     295        context['objetivos'] = OBJETIVOS_DICT
     296        ## Implementación del paginador
     297        paginator = Paginator(context['object_list'], self.paginate_by)
     298        page = self.request.GET.get('page')
     299        try:
     300            kwargs['page_obj'] = paginator.page(page)
     301        except PageNotAnInteger:
     302            kwargs['page_obj'] = paginator.page(1)
     303        except EmptyPage:
     304            kwargs['page_obj'] = paginator.page(paginator.num_pages)
     305        return context
     306   
     307class Certificado(PDFTemplateView):
     308    """!
     309    Clase que gestiona la generación en pdf de los certificados de participacion
     310
     311    @author Rodrigo Boet (rboet at cenditel.gob.ve)
     312    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     313    @date 07-09-2017
     314    @version 1.0.0
     315    """
     316    template_name = "certificado.template.html"
     317   
     318    def get_context_data(self, **kwargs):
     319        """!
     320        Metodo que permite cargar de nuevo valores en los datos de contexto de la vista
     321   
     322        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     323        @copyright GNU/GPLv2
     324        @date 07-09-2017
     325        @param self <b>{object}</b> Objeto que instancia la clase
     326        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
     327        @return Retorna los datos de contexto
     328        """
     329        participacionid = int(self.kwargs['pk'])
     330        participacion = RespuestaAbierta.objects.filter(pk=participacionid)
     331        if(participacion):
     332            participacion = participacion.get()
     333            kwargs['user'] = participacion.user.first_name + " " + participacion.user.last_name
     334            kwargs['nro_obj'] = participacion.objetivo
     335            kwargs['objetivo'] = OBJETIVOS_DICT[participacion.objetivo]
     336            perfil = Perfil.objects.get(user_id = participacion.user_id)
     337            SECTOR = dict(SECTORES)
     338            kwargs['sector'] = SECTOR[perfil.sector]
     339            if(perfil.sector_trabajador!=''):
     340                ST = dict(SECTOR_TRABAJADOR)
     341                kwargs['subsector'] = ST[perfil.sector_trabajador]
     342            elif (perfil.sector_estudiante!=''):
     343                SE = dict(SECTOR_ESTUDIANTE)
     344                kwargs['subsector'] = SE[perfil.sector_estudiante]
     345            kwargs['aporte_num'] = str(participacionid).zfill(10)
     346        return super(Certificado, self).get_context_data(**kwargs)
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.