Conjunto 2205389 en seguimiento_proyectos


Ignorar:
Fecha y hora:
31/05/2017 12:32:58 (hace 7 años)
Autor:
lhernandez <lhernandez@…>
Branches:
master, desarrollo
Children:
1bf2704
Parents:
ba6dcc3 (diferencia), b1c4c62 (diferencia)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Mensaje:

Merge branch 'desarrollo' of https://planificacion.cenditel.gob.ve/scm/git/seguimiento_proyectos

Ubicación:
sepai
Ficheros:
1 borrado
6 editados

Leyenda

No modificado
Añadido
Eliminado
  • sepai/static/start/modals.js

    r19d9683 rb1c4c62  
    11function perfil_modals(){
    22  ruta_user = ruta;
    3  
    43    $.ajax({
    54    url: ruta_user,
  • sepai/templates/base.html

    r19d9683 rb1c4c62  
    2323        <!-- Inicio De los js -->
    2424        <!-- Constantes -->
    25         <script src="{% static 'js/constantes_SEPAI.js' %}"></script>
     25        <script src="{% static 'js/constantes_SEPAI.js' %}">
     26        </script>
    2627        {% block js %}
    2728        <script src="{% static 'jquery/jquery-3.1.0.min.js' %}"></script>
  • sepai/templates/users/modal_userPerfil.html

    r19d9683 rb1c4c62  
    88<script type="text/javascript" src="{% static 'users/user_register.js' %}"></script>
    99{% endblock extrajs %}
    10 <form id="form_perfil" method="post">
    11     {% csrf_token %}
    12   <div class="form-group has-feedback">
    13     {{ form.first_name }}
    14     <span class="glyphicon glyphicon-user form-control-feedback"></span>
    15   </div>
    16   <div class="form-group has-feedback">
    17     {{ form.last_name }}
    18     <span class="glyphicon glyphicon-user form-control-feedback"></span>
    19   </div>
    20   <div class="form-group has-feedback">
    21     {{ form.email }}
    22     <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
    23   </div>
    24   {% if 'Administradores' in request.session.grupos %}
    25   <div class="row">
    26         <div class="col-xs-8">
    27         <div class="checkbox icheck">
     10<!-- Inicio Nav tabs -->
     11  <ul class="nav nav-tabs" role="tablist">
     12    <li role="presentation" class="active" id="cuentas">
     13      <a href="#cuenta" aria-controls="cuenta" role="tab" data-toggle="tab">Cuenta de Usuario</a>
     14    </li>
     15    <li role="presentation" id="perfiles">
     16      <a href="#perfil" aria-controls="perfil" role="tab" data-toggle="tab">Perfil de Usuario</a>
     17    </li>
     18  </ul>
     19  <!-- Fin Nav tabs -->
     20  <!-- Inicio Tab panes -->
     21  <form id="form_perfil" action="{% url 'users:modal_perfil' upUser.fk_user.pk %}" method="post">
     22  <div class="tab-content">
     23  <div role="tabpanel" class="tab-pane active" id="cuenta">
     24      <h3>Actualizar la cuenta de usuario </h3>
     25      {% csrf_token %}
     26    <div class="form-group has-feedback">
     27      {{ forms.user.email }}
     28      <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
     29    </div>
     30    {% if 'Administradores' in request.session.grupos %}
     31    <div class="row">
     32          <div class="col-xs-8">
     33          <div class="checkbox icheck">
     34            <label>
     35              {{ forms.user.is_staff}}
     36            </label>
     37              {{ forms.user.is_staff.label}}
     38            </div>
     39          </div>
     40          <!-- /.col -->
     41          <div class="col-xs-4">
     42            <div class="checkbox icheck">
     43            <label>
     44              {{ forms.user.is_active}}
     45            </label>
     46              {{ forms.user.is_active.label}}
     47            </div>
     48          </div>
     49          <!-- /.col -->
     50        </div>
     51        <div class="form-group has-feedback">
    2852          <label>
    29             {{ form.is_staff}}
     53                Grupos de Usuario
    3054          </label>
    31             {{ form.is_staff.label}}
    32           </div>
     55          {{ forms.user.groups }}
    3356        </div>
    34         <!-- /.col -->
    35         <div class="col-xs-4">
    36           <div class="checkbox icheck">
    37           <label>
    38             {{ form.is_active}}
    39           </label>
    40             {{ form.is_active.label}}
    41           </div>
     57    {% endif %}
     58    </div>
     59    <div role="tabpanel" class="tab-pane" id="perfil">
     60      <h3>Actualizar el Perfil del Usuario</h3>
     61        <div class="form-group has-feedback">
     62          {{ forms.user.first_name }}
     63          <span class="glyphicon glyphicon-user form-control-feedback"></span>
    4264        </div>
    43         <!-- /.col -->
    44       </div>
    45       <div class="form-group has-feedback">
    46         <label>
    47               Grupos de Usuario
    48         </label>
    49         {{ form.groups }}
    50       </div>
    51   {% endif %}
    52 <div class="modal-footer">
    53 <input type="submit" value="Actualizar Perfil" class="btn btn-primary"/>
    54 </form>
     65        <div class="form-group has-feedback">
     66          {{ forms.user.last_name }}
     67          <span class="glyphicon glyphicon-user form-control-feedback"></span>
     68        </div>
     69        <div class="form-group has-feedback">
     70          {{ forms.user_perfil.fk_tipo_documento }}
     71          <span class="glyphicon glyphicon-list form-control-feedback"></span>
     72        </div>
     73        <div class="form-group has-feedback">
     74          {{ forms.user_perfil.id_perfil }}
     75          <span class="glyphicon glyphicon-list form-control-feedback"></span>
     76        </div>
     77        <div class="form-group has-feedback">
     78          {{ forms.user_perfil.fk_institucion }}
     79          <span class="glyphicon glyphicon-list form-control-feedback"></span>
     80        </div>
     81        <div class="form-group has-feedback">
     82          {{ forms.user_perfil.fk_cargo }}
     83          <span class="glyphicon glyphicon-list form-control-feedback"></span>
     84        </div>
     85    </div>
     86  <div class="modal-footer">
     87  <input type="submit" value="Actualizar Perfil" class="btn btn-primary"/>
     88  </form>
    5589<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    5690</div>
     91</div>
    5792
  • sepai/templates/users/register.html

    r19d9683 rb1c4c62  
    134134      <br>
    135135      <button id="submit" type="submit" class="btn btn-primary btn-block btn-flat">Registrar</button>
     136      </form>
    136137  </div>
    137138  <!-- Fin Tab panel -->
  • sepai/users/forms.py

    r7607b2f rb1c4c62  
    195195
    196196
    197 
    198 
    199 
    200197class PasswordResetForm(PasswordResetForm):
    201198
  • sepai/users/views.py

    r7607b2f rb1c4c62  
    3333
    3434from django.shortcuts import (
    35     render, redirect
     35    render, redirect, get_object_or_404
    3636)
    3737from django.views.generic import TemplateView
     
    336336
    337337
    338 class ModalsPerfil(LoginRequeridoPerAuth, UpdateView):
     338class ModalsPerfil(LoginRequeridoPerAuth, MultiModelFormView):
    339339    """!
    340340    Construye el modals para la actualizacion del usuario
     
    345345    @version 1.0.0
    346346    """
    347     model = User
    348     form_class = FormularioUpdate
     347    model = UserProfile
     348    form_classes = {
     349      'user': FormularioUpdate,
     350      'user_perfil': FormularioAdminRegPerfil,
     351    }
    349352    template_name = 'users/modal_userPerfil.html'
    350     success_url = reverse_lazy('users:home')
     353    success_url = reverse_lazy('users:lista_users')
    351354    success_message = 'Usuario Actualizado con exito'
    352355    group_required = [u"Administradores"]
    353 
    354     def dispatch(self, request, *args, **kwargs):
    355         """
    356         Envia una alerta al usuario que intenta acceder sin estar logeado
    357         @return: Direcciona al login en caso de no poseer permisos, en caso contrario usa la clase
    358         """
    359         if not request.user.is_authenticated:
    360             messages.warning(self.request, "Debes iniciar Sessón")
    361             return self.handle_no_permission()
    362         return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)
     356    record_id = None
     357
     358
     359    def get_context_data(self, **kwargs):
     360        """
     361        Carga el formulario en la vista,para registrar usuarios
     362        @return: El contexto con los objectos para la vista
     363        """
     364        context = super(ModalsPerfil, self).get_context_data(**kwargs)
     365        self.record_id = self.kwargs.get('pk', None)
     366        try:
     367            record = self.model.objects.select_related().get(fk_user=self.record_id)
     368        except User.DoesNotExist:
     369            record = None
     370        context['upUser'] = record
     371        return context
     372
     373    def get_objects(self, **kwargs):
     374        """
     375        Carga el formulario en la vista,para actualizar el perfil del  usuario
     376        @return: El contexto con los objectos para la vista
     377        """
     378        self.record_id = self.kwargs.get('pk', None)
     379        try:
     380            record = self.model.objects.select_related().get(fk_user=self.record_id)
     381        except User.DoesNotExist:
     382            record = None
     383        return {
     384          'user_perfil': record,
     385          'user': record.fk_user if record else None}
     386
     387    def get_success_url(self):
     388        return reverse('users:lista_users')
     389
     390    def forms_valid(self, forms, **kwargs):
     391        """
     392        Valida el formulario de registro del perfil de usuario
     393        @return: Dirige con un mensaje de exito a el home
     394        """
     395        self.record_id = self.kwargs.get('pk', None)
     396        if self.record_id is not None:
     397            objeto = get_object_or_404(User, pk=self.record_id)
     398            update_usuario = FormularioUpdate(self.request.POST, instance=objeto)
     399            update_perfil = FormularioAdminRegPerfil(self.request.POST, instance=objeto)
     400
     401            messages.success(self.request, "Usuario %s Actualizado con exito\
     402                                           " % (str(objeto.username)))
     403        return super(ModalsPerfil, self).forms_valid(forms)
    363404
    364405
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.