from django.dispatch import receiver
from django.template.loader import render_to_string
from django.urls import reverse
+from django.utils.html import mark_safe
from django.utils.timezone import utc
from django.utils.translation import ugettext_lazy as _, override
import getpaid
notified_end = models.DateTimeField(_('End notifications sent'), blank=True, null=True)
def cover_img_tag(self):
- return u'<img src="%s" />' % self.cover.url
+ return mark_safe('<img src="%s" />' % self.cover.url)
cover_img_tag.short_description = _('Cover preview')
- cover_img_tag.allow_tags = True
class Meta:
verbose_name = _('offer')
ordering = ['-end']
def __str__(self):
- return u"%s - %s" % (self.author, self.title)
+ return "%s - %s" % (self.author, self.title)
def get_absolute_url(self):
return reverse('funding_offer', args=[self.slug])
offer_sum = self.sum()
return {
'offer': self,
- 'sum': offset_sum,
+ 'sum': offer_sum,
'is_current': self.is_current(),
'is_win': offer_sum >= self.target,
'missing': self.target - offer_sum,
ordering = ['-price']
def __str__(self):
- return "%s (%s%s)" % (self.name, self.price, u" for %s" % self.offer if self.offer else "")
+ return "%s (%s%s)" % (self.name, self.price, " for %s" % self.offer if self.offer else "")
class Funding(models.Model):
offer = models.ForeignKey(Offer, models.PROTECT, verbose_name=_('offer'))
name = models.CharField(_('name'), max_length=127, blank=True)
email = models.EmailField(_('email'), blank=True, db_index=True)
+ user = models.ForeignKey(settings.AUTH_USER_MODEL, models.SET_NULL, blank=True, null=True)
amount = models.DecimalField(_('amount'), decimal_places=2, max_digits=10)
payed_at = models.DateTimeField(_('payed at'), null=True, blank=True, db_index=True)
perks = models.ManyToManyField(Perk, verbose_name=_('perks'), blank=True)
'key': self.notify_key,
}))
+ def wl_optout_url(self):
+ return 'https://wolnelektury.pl' + self.get_disable_notifications_url()
+
def save(self, *args, **kwargs):
if self.email and not self.notify_key:
self.notify_key = get_random_hash(self.email)
ordering = ['-timestamp']
def __str__(self):
- return u"Spent: %s" % str(self.book)
+ return "Spent: %s" % str(self.book)
@receiver(getpaid.signals.new_payment_query)