models.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # -*- coding: utf-8 -*-
  2. from __future__ import absolute_import
  3. from __future__ import division
  4. from __future__ import print_function
  5. from __future__ import unicode_literals
  6. from django.contrib.contenttypes.models import ContentType
  7. from django.db import models
  8. from django.contrib.auth.models import User
  9. class Application(models.Model):
  10. name = models.CharField(max_length=60, unique=True, verbose_name="nome")
  11. python_name = models.CharField(max_length=255, unique=True, verbose_name="Nome no Python")
  12. managers = models.ManyToManyField(User, verbose_name='gestores', related_name='managed_applications')
  13. enabled = models.BooleanField(default=True, verbose_name="ativa")
  14. def __unicode__(self):
  15. return self.name
  16. url_name = 'aplicacao'
  17. class Meta(object):
  18. verbose_name = 'aplicação'
  19. verbose_name_plural = 'aplicações'
  20. class Profile(models.Model):
  21. id = models.AutoField(primary_key=True)
  22. application = models.ForeignKey(Application, verbose_name='aplicação')
  23. name = models.CharField(max_length=60, verbose_name='nome')
  24. description = models.TextField(verbose_name='descrição')
  25. users = models.ManyToManyField(User, verbose_name='usuários', blank=True)
  26. def __unicode__(self):
  27. return self.name
  28. class Meta(object):
  29. verbose_name = 'perfil'
  30. verbose_name_plural = 'perfis'
  31. unique_together = (('application', 'name'),)
  32. class DocumentTemplate(models.Model):
  33. name = models.CharField(max_length=60, verbose_name='nome')
  34. model = models.ForeignKey(ContentType)
  35. template = models.FileField(upload_to='rapid/document_templates')
  36. def __unicode__(self):
  37. return self.name
  38. class Meta(object):
  39. verbose_name = 'template de documento'
  40. verbose_name_plural = 'templates de documento'