Conjunto def38c0 en sapic
- Fecha y hora:
- 10/08/2017 08:20:12 (hace 7 años)
- Branches:
- master, erwin, explicacion_situacional, gestion_usuarios, taller_django
- Children:
- fa1fdaf, 60cdc46, 8114206
- Parents:
- 79326b0
- Ficheros:
-
- 5 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
organizaciones/models.py
r3b38b3f rdef38c0 60 60 @return Devuelve los datos de la organizacion social 61 61 """ 62 return self.codigo 62 return self.codigo + " | " + self.nombre 63 63 64 64 -
users/templates/users.other.options.html
rae9886b rdef38c0 19 19 <br> 20 20 <div class="row"> 21 <a href="{% url 'users:data_detail' request.user.pk %}"> 21 {% if 'Administradores' in request.session.grupos %} 22 <a href="{% url 'users:data_detail_admin' request.user.pk %}"> 23 {% else %} 24 <a href="{% url 'users:data_detail' request.user.pk %}"> 25 {% endif %} 22 26 <img width="80" height="70" src="{% static 'media/iconos/mis_datos_basicos.png' %}"><spam> Consultar Mis datos Basicos</spam> 23 27 </a> … … 25 29 <br> 26 30 <div class="row"> 27 <a href="{% url 'users:update_perfil' request.user.pk %}"> 31 {% if 'Administradores' in request.session.grupos %} 32 <a href="{% url 'users:update_perfil_admin' request.user.pk %}"> 33 {% else %} 34 <a href="{% url 'users:update_perfil' request.user.pk %}"> 35 {% endif %} 28 36 <img width="80" height="70" src="{% static 'media/iconos/modificar_datos_basicos.png' %}"><spam> Modificar Mis datos Basicos</spam> 29 37 </a> -
users/urls.py
r3b38b3f rdef38c0 38 38 name="modal_perfil"), 39 39 url(r'^registrar/$', RegisterView.as_view(), name="registrar"), 40 url(r'^modificar-mis-datos-admin/(?P<pk>\d+)/$', UpdatePerfilAdmin.as_view(), name="update_perfil_admin"), 41 url(r'^mis-datos-admin/(?P<pk>\d+)/$', DataDetailAdminView.as_view(), 42 name="data_detail_admin"), 40 43 url(r'^registrar-voceros/$', RegisterVocerosView.as_view(), name="registrar_voceros"), 44 41 45 42 46 # Ajax list Users, for Administradores -
users/views.py
r3b38b3f rdef38c0 246 246 """ 247 247 template_name = 'users.data.detail.html' 248 model = UserProfile 249 group_required = [u" Administradores", u"Voceros", u"Integrantes"]248 model = UserProfileVocero 249 group_required = [u"Voceros"] 250 250 251 251 def dispatch(self, request, *args, **kwargs): … … 268 268 return context 269 269 270 271 class UpdatePerfilAdmin(LoginRequeridoPerAuth, MultiModelFormView): 272 """! 273 Actualizar el perfil del usuario 274 275 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 276 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 277 @date 31-01-2017 278 @version 1.0.0 279 """ 280 model = UserProfile 281 form_classes = { 282 'user': FormularioUpdate, 283 'user_perfil': FormularioAdminRegPerfil, 284 } 285 template_name = 'users.update.perfil.html' 286 success_url = reverse_lazy('users:options') 287 group_required = [u"Administradores"] 288 record_id = None 289 290 def dispatch(self, request, *args, **kwargs): 291 if int(request.user.pk) != int(self.kwargs.get('pk', None)): 292 return redirect('utils:403error') 293 return super(UpdatePerfilAdmin, self).dispatch(request, *args, **kwargs) 294 295 def get_context_data(self, **kwargs): 296 """ 297 Carga el formulario en la vista,para registrar usuarios 298 @return: El contexto con los objectos para la vista 299 """ 300 context = super(UpdatePerfilAdmin, self).get_context_data(**kwargs) 301 self.record_id = self.kwargs.get('pk', None) 302 try: 303 record = self.model.objects.select_related().get(fk_user=self.record_id) 304 except User.DoesNotExist: 305 record = None 306 context['upUser'] = record 307 return context 308 309 def get_objects(self, **kwargs): 310 """ 311 Carga el formulario en la vista,para actualizar el perfil del usuario 312 @return: El contexto con los objectos para la vista 313 """ 314 self.record_id = self.kwargs.get('pk', None) 315 try: 316 record = self.model.objects.select_related().get(fk_user=self.record_id) 317 except User.DoesNotExist: 318 record = None 319 return { 320 'user_perfil': record, 321 'user': record.fk_user if record else None} 322 323 324 class DataDetailAdminView(LoginRequeridoPerAuth, ListView): 325 """! 326 Consultar los datos basicos del usuario 327 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 328 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 329 @date 21-07-2017 330 @version 1.0.0 331 """ 332 template_name = 'users.data.detail.html' 333 model = UserProfile 334 group_required = [u"Administradores"] 335 336 def dispatch(self, request, *args, **kwargs): 337 if int(request.user.pk) != int(self.kwargs.get('pk', None)): 338 return redirect('utils:403error') 339 return super(DataDetailAdminView, self).dispatch(request, *args, **kwargs) 340 341 def get_context_data(self, **kwargs): 342 """ 343 Carga el formulario en la vista,para registrar usuarios 344 @return: El contexto con los objectos para la vista 345 """ 346 context = super(DataDetailAdminView, self).get_context_data(**kwargs) 347 self.record_id = self.kwargs.get('pk', None) 348 try: 349 record = self.model.objects.select_related().get(fk_user=self.record_id) 350 except User.DoesNotExist: 351 record = None 352 context['upUser'] = record 353 return context 354 355 def forms_valid(self, forms, **kwargs): 356 """ 357 Valida el formulario de registro del perfil de usuario 358 @return: Dirige con un mensaje de exito a el home 359 """ 360 self.record_id = self.kwargs.get('pk', None) 361 objeto = get_object_or_404(User, pk=self.record_id) 362 if self.record_id is not None: 363 messages.success(self.request, "Usuario %s Actualizado con exito\ 364 " % (str(objeto.username))) 365 return super(UpdatePerfilAdmin, self).forms_valid(forms) 270 366 271 367 … … 396 492 @version 1.0.0 397 493 """ 398 model = UserProfile 494 model = UserProfileVocero 399 495 form_classes = { 400 496 'user': FormularioUpdate, … … 403 499 template_name = 'users.update.perfil.html' 404 500 success_url = reverse_lazy('users:options') 405 group_required = [u" Administradores", u"Voceros", u"Integrantes"]501 group_required = [u"Voceros"] 406 502 record_id = None 407 503 … … 454 550 class RegisterVocerosView(LoginRequeridoPerAuth, MultiModelFormView): 455 551 """! 456 Muestra el formulario de registro de usuarios 552 Muestra el formulario de registro de usuarios voceros 457 553 458 554 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) … … 488 584 def forms_valid(self, forms, **kwargs): 489 585 """ 490 Valida el formulario del p royecto586 Valida el formulario del perfil de vocero y usuario 491 587 @return: Dirige con un mensaje de exito al registro de proyecto 492 588 """ 493 # Campos para guardar los datos de un Nuevo User589 # Campos para instanciar el vocero y actualizar sus campos 494 590 documento_identidad = forms['user_vocero'].cleaned_data['documento'] 495 591 tipo_documento = forms['user_vocero'].cleaned_data['fk_tipo_documento'] 496 592 organizacion_social = forms['user_vocero'].cleaned_data['organizacion'] 497 comite = forms['user_vocero'].cleaned_data['comite_unidad_ejecutiva'] 593 comite = forms['user_vocero'].cleaned_data['comite_unidad_ejecutiva'] 594 595 # Verifica si el vocero tiene registro sobre la organizacion social 498 596 try: 499 597 vocero = Vocero.objects.get(fk_org_social=organizacion_social, 500 fk_tipo_documento=tipo_documento, 501 documento_identidad=documento_identidad) 598 fk_tipo_documento=tipo_documento, 599 documento_identidad=documento_identidad) 600 actualizar_vocero = self.form_classes['user_vocero']( 601 self.request.POST, 602 instance=vocero) 603 actualizar_vocero.save(commit=False) 604 605 # Crea el nuevo usuario a partir del formulario 606 nuevo_usuario = forms['user'].save() 607 # Agrega al grupo de voceros al nuevo usuario 608 nuevo_usuario.groups.add(Group.objects.get(pk=2)) 609 # Actualiza los datos del vocero a parit de la instancia del formulario 610 vocero_actualizado = actualizar_vocero.save() 611 # Asocia el vocero con la nueva cuenta de usuario 612 asociar_voceros = self.model(fk_user=nuevo_usuario, 613 fk_vocero=vocero_actualizado) 614 # Si el usuario pertenece a un comite lo asocia 615 if comite is not None: 616 try: 617 # Asocia el vocero con un comite de la unidad Ejecutiva 618 comite_unidad = VoceroComite(fk_vocero=vocero_actualizado, 619 fk_comite=comite) 620 comite_unidad.save() 621 except: 622 messages.warning(self.request, "Existe un problema al \ 623 relacionar el comite a \ 624 este vocero") 625 try: 626 # Crea la cuenta de usuario vocero 627 asociar_voceros.save() 628 nombre_vocero = str(vocero_actualizado.nombres) + " \ 629 " + str(vocero_actualizado.apellidos) 630 messages.success(self.request, "Se creo el usuario %s, para el \ 631 vocero %s" % ( 632 nuevo_usuario.username, 633 nombre_vocero)) 634 except: 635 messages.error(self.request, "El voceros al que quieres asociar \ 636 a la cuenta ya existe o ya se \ 637 encuentra asociado") 638 return redirect(self.success_url) 639 502 640 except: 503 pass 504 actualizar_vocero = self.form_classes['user_vocero'](self.request.POST, instance=vocero) 505 actualizar_vocero.save(commit=False) 506 507 nuevo_usuario = forms['user'].save() 508 vocero_actualizado = actualizar_vocero.save() 509 nuevo_usuario.groups.add(Group.objects.get(pk=2)) 510 asociar_voceros = self.model(fk_user=nuevo_usuario, 511 fk_vocero=vocero_actualizado) 512 if comite is not None: 513 try: 514 comite_unidad = VoceroComite(fk_vocero=vocero_actualizado, 515 fk_comite=fk_comite) 516 comite_unidad.save() 517 except: 518 messages.warning(self.request, "Existe un problema al relacionar el comite a este vocero") 519 520 try: 521 asociar_voceros.save() 522 nombre_vocero = str(vocero_actualizado.nombres) + " " + str(vocero_actualizado.apellidos) 523 messages.success(self.request, "Se creo el usuario %s, para el vocero %s" % (nuevo_usuario.username, nombre_vocero)) 524 except: 525 messages.error(self.request, "El voceros al que quieres asociar a la cuenta ya existe o ya se encuentra asociado" ) 641 messages.error(self.request, "Este Vocero %s, no se encuentra \ 642 asociado a esta organizacion: %s" % ( 643 documento_identidad, 644 organizacion_social.nombre)) 645 return redirect(self.success_url) 526 646 527 647 return redirect(self.success_url) -
utils/templates/base.inicio.html
r79326b0 rdef38c0 66 66 <div class="row"> 67 67 <div class="col-md-3"> 68 {% if 'Administradores' in request.session.grupos %} 69 <a href="{% url 'users:data_detail_admin' request.user.pk %}"> 70 {% else %} 68 71 <a href="{% url 'users:data_detail' request.user.pk %}"> 72 {% endif %} 69 73 <img class="center-block" src="{% static 'media/iconos/mi_usuario.png' %}" width="114px" height="82px"/> 70 74 </a>
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.