class Store(models.Model): name = models.CharField(_('Name'), max_length=100) slug = models.SlugField(_('Slug'), max_length=100, unique=True, null=True) reference = models.CharField( _("Reference"), max_length=32, unique=True, null=True, blank=True, help_text=_("A reference number that uniquely identifies this store")) image = models.ImageField( _("Image"), upload_to="images/stores", blank=True, null=True ) description = models.CharField( _("Description"), max_length=2000, blank=True, null=True ) location = PointField( _("Location"), srid=STORES_SRID ) group = models.ForeignKey('stores.StoreGroup', related_name='stores', verbose_name=_("Group"), null=True, blank=True) is_pickup_store = models.BooleanField(_("Is pickup store"), default=True) is_active = models.BooleanField(_("Is active"), default=True) objects = StoreManager() def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.name) super(Store, self).save(*args, **kwargs) def __unicode__(self): return self.name
class Store(models.Model): name = models.CharField(_('Name'), max_length=100) slug = models.SlugField(_('Slug'), max_length=100, null=True) # Contact details manager_name = models.CharField(_('Manager name'), max_length=200, blank=True, null=True) phone = models.CharField(_('Phone'), max_length=64, blank=True, null=True) email = models.CharField(_('Email'), max_length=100, blank=True, null=True) reference = models.CharField( _("Reference"), max_length=32, unique=True, null=True, blank=True, help_text=_("A reference number that uniquely identifies this store")) image = models.ImageField(_("Image"), upload_to="uploads/store-images", blank=True, null=True) description = models.CharField(_("Description"), max_length=2000, blank=True, null=True) location = PointField( _("Location"), srid=get_geodetic_srid(), ) group = models.ForeignKey('stores.StoreGroup', related_name='stores', verbose_name=_("Group"), null=True, blank=True) is_pickup_store = models.BooleanField(_("Is pickup store"), default=True) is_active = models.BooleanField(_("Is active"), default=True) objects = StoreManager() class Meta: abstract = True ordering = ('name', ) def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.name) super(Store, self).save(*args, **kwargs) def __str__(self): return self.name def get_absolute_url(self): return reverse('stores:detail', kwargs={ 'dummyslug': self.slug, 'pk': self.pk }) @property def has_contact_details(self): return any([self.manager_name, self.phone, self.email])