# -*- coding: utf-8 -*- """! Modelo que construye los modelos de datos del usuario @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 18-01-2017 @version 1.0.0 """ from django.db import models from django.contrib.auth.models import ( Group, User ) from utils.models import ( TipoDocumento, ) from organizaciones.models import ( Vocero, ) """ Se agrega un campo de descripcion al modelo group para describir el grupo de usuarios """ Group.add_to_class('descripcion', models.TextField(blank=True)) class UserProfile(models.Model): """! Clase que construye el modelo de datos para el perfil de usuario @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 18-01-2017 @version 1.0.0 """ fk_user = models.OneToOneField(User) fk_tipo_documento = models.ForeignKey(TipoDocumento) id_perfil = models.CharField(unique=True, max_length=12, verbose_name='Documento de identidad') class Meta: """! Clase que construye los meta datos del modelo @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 18-01-2017 @version 1.0.0 """ ordering = ('fk_user',) verbose_name = 'Perfil de usuario' verbose_name_plural = 'Perfiles de usuarios' db_table = 'users_perfil' def __str__(self): """! Funcion que muestra el dato del perfil de usuario @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 18-01-2017 @param self {object} Objeto que instancia la clase @return Devuelve el objeto del perfil de usuario """ return self.fk_user.username class UserProfileVocero(models.Model): """! Clase que construye el modelo de datos para el perfil de usuario vocero @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 03-08-2017 @version 1.0.0 """ fk_user = models.OneToOneField(User) fk_vocero = models.OneToOneField(Vocero) class Meta: """! Clase que construye los meta datos del modelo @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 03-08-2017 @version 1.0.0 """ ordering = ('fk_user',) verbose_name = 'Perfil de usuario vocero' verbose_name_plural = 'Perfiles de usuarios voceros' db_table = 'users_perfil_vocero' def __str__(self): """! Funcion que muestra el dato del perfil de usuario @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 03-08-2017 @param self {object} Objeto que instancia la clase @return Devuelve el objeto del perfil de usuario """ return self.fk_user.username