Conjunto 2205389 en seguimiento_proyectos
- Fecha y hora:
- 31/05/2017 12:32:58 (hace 7 años)
- 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. - Ubicación:
- sepai
- Ficheros:
-
- 1 borrado
- 6 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
sepai/static/start/modals.js
r19d9683 rb1c4c62 1 1 function perfil_modals(){ 2 2 ruta_user = ruta; 3 4 3 $.ajax({ 5 4 url: ruta_user, -
sepai/templates/base.html
r19d9683 rb1c4c62 23 23 <!-- Inicio De los js --> 24 24 <!-- Constantes --> 25 <script src="{% static 'js/constantes_SEPAI.js' %}"></script> 25 <script src="{% static 'js/constantes_SEPAI.js' %}"> 26 </script> 26 27 {% block js %} 27 28 <script src="{% static 'jquery/jquery-3.1.0.min.js' %}"></script> -
sepai/templates/users/modal_userPerfil.html
r19d9683 rb1c4c62 8 8 <script type="text/javascript" src="{% static 'users/user_register.js' %}"></script> 9 9 {% 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"> 28 52 <label> 29 {{ form.is_staff}}53 Grupos de Usuario 30 54 </label> 31 {{ form.is_staff.label}} 32 </div> 55 {{ forms.user.groups }} 33 56 </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> 42 64 </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> 55 89 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 56 90 </div> 91 </div> 57 92 -
sepai/templates/users/register.html
r19d9683 rb1c4c62 134 134 <br> 135 135 <button id="submit" type="submit" class="btn btn-primary btn-block btn-flat">Registrar</button> 136 </form> 136 137 </div> 137 138 <!-- Fin Tab panel --> -
sepai/users/forms.py
r7607b2f rb1c4c62 195 195 196 196 197 198 199 200 197 class PasswordResetForm(PasswordResetForm): 201 198 -
sepai/users/views.py
r7607b2f rb1c4c62 33 33 34 34 from django.shortcuts import ( 35 render, redirect 35 render, redirect, get_object_or_404 36 36 ) 37 37 from django.views.generic import TemplateView … … 336 336 337 337 338 class ModalsPerfil(LoginRequeridoPerAuth, UpdateView):338 class ModalsPerfil(LoginRequeridoPerAuth, MultiModelFormView): 339 339 """! 340 340 Construye el modals para la actualizacion del usuario … … 345 345 @version 1.0.0 346 346 """ 347 model = User 348 form_class = FormularioUpdate 347 model = UserProfile 348 form_classes = { 349 'user': FormularioUpdate, 350 'user_perfil': FormularioAdminRegPerfil, 351 } 349 352 template_name = 'users/modal_userPerfil.html' 350 success_url = reverse_lazy('users: home')353 success_url = reverse_lazy('users:lista_users') 351 354 success_message = 'Usuario Actualizado con exito' 352 355 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) 363 404 364 405
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.