|
@ -1,10 +1,10 @@ |
|
|
# -*- coding: utf-8 -*- |
|
|
# -*- coding: utf-8 -*- |
|
|
from datetime import datetime |
|
|
from datetime import datetime |
|
|
from django.db import models |
|
|
from django.db import models |
|
|
from django.utils.translation import ugettext_lazy as _ |
|
|
|
|
|
from sigi.apps.utils import SearchField |
|
|
from sigi.apps.utils import SearchField |
|
|
from eav.models import BaseChoice, BaseEntity, BaseSchema, BaseAttribute |
|
|
from eav.models import BaseChoice, BaseEntity, BaseSchema, BaseAttribute |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Diagnostico(BaseEntity): |
|
|
class Diagnostico(BaseEntity): |
|
|
""" Modelo para representar unm diagnostico realizado |
|
|
""" Modelo para representar unm diagnostico realizado |
|
|
em uma Casa Legislativa |
|
|
em uma Casa Legislativa |
|
@ -39,6 +39,7 @@ class Diagnostico(BaseEntity): |
|
|
blank=True, |
|
|
blank=True, |
|
|
help_text='Equipamentos recebidos.' |
|
|
help_text='Equipamentos recebidos.' |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
verbose_name, verbose_name_plural = u'diagnóstico', u'diagnósticos' |
|
|
verbose_name, verbose_name_plural = u'diagnóstico', u'diagnósticos' |
|
|
|
|
|
|
|
@ -49,13 +50,17 @@ class Diagnostico(BaseEntity): |
|
|
def __unicode__(self): |
|
|
def __unicode__(self): |
|
|
return str(self.casa_legislativa) |
|
|
return str(self.casa_legislativa) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Categoria(models.Model): |
|
|
class Categoria(models.Model): |
|
|
""" Modelo para representar a categoria de uma pergunta |
|
|
""" Modelo para representar a categoria de uma pergunta |
|
|
e sua ordem na hora de exibir no formulário |
|
|
e sua ordem na hora de exibir no formulário |
|
|
""" |
|
|
""" |
|
|
nome= models.CharField(max_length=255) |
|
|
|
|
|
|
|
|
nome = models.CharField(max_length=255) |
|
|
|
|
|
|
|
|
def __unicode__(self): |
|
|
def __unicode__(self): |
|
|
return self.nome |
|
|
return self.nome |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Pergunta(BaseSchema): |
|
|
class Pergunta(BaseSchema): |
|
|
""" Modelo que representa uma pergunta no questionário |
|
|
""" Modelo que representa uma pergunta no questionário |
|
@ -64,28 +69,34 @@ class Pergunta(BaseSchema): |
|
|
Uma pergunta tem o nome e o tipo da resposta |
|
|
Uma pergunta tem o nome e o tipo da resposta |
|
|
""" |
|
|
""" |
|
|
categoria = models.ForeignKey(Categoria) |
|
|
categoria = models.ForeignKey(Categoria) |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
ordering = ('title',) |
|
|
ordering = ('title',) |
|
|
verbose_name, verbose_name_plural = 'pergunta', 'perguntas' |
|
|
verbose_name, verbose_name_plural = 'pergunta', 'perguntas' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Escolha(BaseChoice): |
|
|
class Escolha(BaseChoice): |
|
|
""" Perguntas de multiplas escolhas tem as opções |
|
|
""" Perguntas de multiplas escolhas tem as opções |
|
|
cadastradas neste modelo |
|
|
cadastradas neste modelo |
|
|
""" |
|
|
""" |
|
|
schema = models.ForeignKey(Pergunta, related_name='choices', verbose_name='pergunta') |
|
|
schema = models.ForeignKey(Pergunta, related_name='choices', verbose_name='pergunta') |
|
|
schema_to_open = models.ForeignKey(Pergunta, related_name='', verbose_name='pergunta para abrir', blank=True, null=True) |
|
|
schema_to_open = models.ForeignKey(Pergunta, related_name='', verbose_name='pergunta para abrir', blank=True, null=True) |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
verbose_name, verbose_name_plural = 'escolha', 'escolhas' |
|
|
verbose_name, verbose_name_plural = 'escolha', 'escolhas' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Resposta(BaseAttribute): |
|
|
class Resposta(BaseAttribute): |
|
|
""" Modelo para guardar as respostas das perguntas |
|
|
""" Modelo para guardar as respostas das perguntas |
|
|
de um diagnosico |
|
|
de um diagnosico |
|
|
""" |
|
|
""" |
|
|
schema = models.ForeignKey(Pergunta, related_name='attrs', verbose_name='pergunta') |
|
|
schema = models.ForeignKey(Pergunta, related_name='attrs', verbose_name='pergunta') |
|
|
choice = models.ForeignKey(Escolha, verbose_name='escolha', blank=True, null=True) |
|
|
choice = models.ForeignKey(Escolha, verbose_name='escolha', blank=True, null=True) |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
verbose_name, verbose_name_plural = 'resposta', 'respostas' |
|
|
verbose_name, verbose_name_plural = 'resposta', 'respostas' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Equipe(models.Model): |
|
|
class Equipe(models.Model): |
|
|
""" Modelo que representa a equipe de um diagnóstico |
|
|
""" Modelo que representa a equipe de um diagnóstico |
|
|
""" |
|
|
""" |
|
@ -97,6 +108,7 @@ class Equipe(models.Model): |
|
|
def __unicode__(self): |
|
|
def __unicode__(self): |
|
|
return str(self.id) |
|
|
return str(self.id) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Anexo(models.Model): |
|
|
class Anexo(models.Model): |
|
|
""" Modelo para representar os documentos levantados |
|
|
""" Modelo para representar os documentos levantados |
|
|
no processo de diagnóstico. Podem ser fotos, contratos, etc. |
|
|
no processo de diagnóstico. Podem ser fotos, contratos, etc. |
|
@ -114,4 +126,3 @@ class Anexo(models.Model): |
|
|
|
|
|
|
|
|
def __unicode__(self): |
|
|
def __unicode__(self): |
|
|
return unicode(self.arquivo.name) |
|
|
return unicode(self.arquivo.name) |
|
|
|
|
|
|
|
|