/apps/servicios/models.py

https://github.com/cdocarmo/saltoguia · Python · 111 lines · 39 code · 16 blank · 56 comment · 0 complexity · 71f1951c4c7660bed5c2c6a3e8253363 MD5 · raw file

  1. # coding=UTF-8
  2. from django.db import models
  3. from django.utils.translation import ugettext as _
  4. from django.template.defaultfilters import slugify
  5. from utilita.util import unique_slugify
  6. import datetime
  7. from django.contrib.auth.models import User
  8. from utilita.thumbs import ImageWithThumbsField
  9. #class Empresa(models.Model):
  10. #
  11. #
  12. # PENDIENTE = 1
  13. # ACTIVA = 2
  14. # NEGADA = 3
  15. #
  16. # _STATUS = (
  17. # (PENDIENTE, _('PENDIENTE')),
  18. # (ACTIVA, _('ACTIVA')),
  19. # (NEGADA, _('NEGADA')),
  20. # )
  21. #
  22. # EMPRESA = 1
  23. # PERSONA = 2
  24. #
  25. # TIPO_EMPRESA = (
  26. # (EMPRESA, _('EMPRESA')),
  27. # (PERSONA, _('PERSONA')),
  28. # )
  29. #
  30. # nombre = models.CharField(max_length=255)
  31. # telefono = models.CharField(max_length=30, blank=True, null=True, verbose_name=u'tel\xe9fono')
  32. # celular = models.CharField(max_length=30, blank=True, null=True)
  33. # tipo = models.IntegerField(choices=TIPO_EMPRESA, default=1)
  34. # documento = models.CharField(max_length=255, blank=True, null=True)
  35. # mail = models.EmailField(blank=False, unique=True)
  36. # domicilio = models.CharField(max_length=255)
  37. # slug = models.SlugField(editable=False)
  38. # descripcion = models.TextField(blank=True, null=True, verbose_name=u'descripci\xf3n')
  39. # status = models.IntegerField(choices=_STATUS, default=1)
  40. # fecha_creacion = models.DateTimeField(auto_now_add=True, verbose_name=u'fecha de creaci\xf3n')
  41. # fecha = models.DateTimeField(blank=True, null=True)
  42. # user = models.ForeignKey(User)
  43. # logo = ImageWithThumbsField(upload_to='images/logos',
  44. # sizes=((80,80),(50,50),(125,125),(200,200)),
  45. # blank=True, null=True)
  46. # web = models.URLField(_('Web URL'), verify_exists=True, blank=True, null=True)
  47. #
  48. # def __unicode__(self):
  49. # return self.nombre
  50. #
  51. # @models.permalink
  52. # def get_absolute_url(self):
  53. # return ("empresa", [self.slug])
  54. #
  55. # def save(self, *args, **kwargs):
  56. #
  57. # queryset = self.__class__.objects.all()
  58. # if self.id:
  59. # queryset = queryset.exclude(id=self.id)
  60. # self.slug = unique_slugify(self.nombre, queryset, 'slug')
  61. # super(self.__class__, self).save(*args, **kwargs)
  62. #
  63. class Servicio(models.Model):
  64. PENDIENTE = 1
  65. ACTIVA = 2
  66. NEGADA = 3
  67. _STATUS = (
  68. (PENDIENTE, _('PENDIENTE')),
  69. (ACTIVA, _('ACTIVA')),
  70. (NEGADA, _('NEGADA')),
  71. )
  72. TIPO_PATROCINADO = 0
  73. TIPO_NORMAL = 1
  74. TIPO = (
  75. (TIPO_PATROCINADO, _('PATROCINADO')),
  76. (TIPO_NORMAL, _('NORMAL')),
  77. )
  78. nombre = models.CharField(max_length=255)
  79. #empresa = models.ForeignKey(Empresa)
  80. descripcion = models.TextField()
  81. status = models.IntegerField(choices=_STATUS, default=1)
  82. fecha_creacion = models.DateTimeField(auto_now_add=True)
  83. slug = models.SlugField(editable=False)
  84. tags = models.TextField()
  85. tipo = models.IntegerField(choices=TIPO, default=1)
  86. user = models.ForeignKey(User)
  87. def __unicode__(self):
  88. return self.nombre
  89. @models.permalink
  90. def get_absolute_url(self):
  91. return ("empresa-servicio-detalle", [self.empresa.slug,
  92. self.slug])
  93. def save(self, *args, **kwargs):
  94. self.slug = slugify(self.nombre)
  95. super(EmpresaServicio, self).save(*args, **kwargs)