email list fixes
This commit is contained in:
parent
e82d5d5f15
commit
113dd622b2
4 changed files with 20 additions and 6 deletions
|
@ -97,6 +97,9 @@ class Item(models.Model):
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('item', kwargs={'id': self.id})
|
return reverse('item', kwargs={'id': self.id})
|
||||||
|
|
||||||
|
def full_url(self):
|
||||||
|
return settings.URL + self.get_absolute_url()
|
||||||
|
|
||||||
def update_data(self):
|
def update_data(self):
|
||||||
self.data.update(self.parse_url())
|
self.data.update(self.parse_url())
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,12 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def send_week(year, month, day):
|
def send_week(year, month, day):
|
||||||
from . import views
|
from . import views
|
||||||
|
date = '%s-%02d-%02d' % (year, month, day)
|
||||||
|
date = datetime.strptime(date, '%Y-%m-%d')
|
||||||
|
monday = views.get_monday(date)
|
||||||
body = views.week(year, month, day)
|
body = views.week(year, month, day)
|
||||||
week = '%s-%02d-%02d' % (year, month, day)
|
name = 'weekly-digest-%s' % monday
|
||||||
name = 'weekly-digest-%s' % week
|
subject = 'Phantas.ma weekly update %s' % views.format_week(monday)
|
||||||
subject = 'Phantas.ma weekly update %s' % views.format_week(week)
|
|
||||||
return send_email(name, subject, body)
|
return send_email(name, subject, body)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,24 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.utils.timezone import datetime, timedelta
|
from django.utils.timezone import datetime, timedelta
|
||||||
|
from django.utils import timezone
|
||||||
|
from django.db.models.functions import ExtractWeek, ExtractYear
|
||||||
|
|
||||||
|
|
||||||
from ..item import models
|
from ..item import models
|
||||||
from ..item.views import get_weeks
|
from ..item.views import get_weeks
|
||||||
|
|
||||||
|
|
||||||
def week(year, month, day):
|
def week(year, month, day):
|
||||||
|
now = timezone.make_aware(datetime.now(), timezone.get_default_timezone())
|
||||||
context = {}
|
context = {}
|
||||||
_, archive = models.Item.public()
|
archive = models.Item.objects.filter(
|
||||||
|
published__lte=now
|
||||||
|
).annotate(
|
||||||
|
year=ExtractYear('published')
|
||||||
|
).annotate(
|
||||||
|
week=ExtractWeek('published')
|
||||||
|
)
|
||||||
date = datetime.strptime('%s-%s-%s' % (year, month, day), '%Y-%m-%d')
|
date = datetime.strptime('%s-%s-%s' % (year, month, day), '%Y-%m-%d')
|
||||||
week = int(date.strftime('%W'))
|
week = int(date.strftime('%W'))
|
||||||
year = int(year)
|
year = int(year)
|
||||||
|
|
|
@ -7,10 +7,9 @@
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h1>{{ item.title }}</h1>
|
<h1>{{ item.title }}</h1>
|
||||||
<h2>{{ item.data.title }}</h2>
|
<h2>{{ item.data.title }}</h2>
|
||||||
<div class="url">{{ item.full_url }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="image">
|
<div class="image">
|
||||||
<img src={{ item.data.thumbnail }}>
|
<img src="{{ item.data.thumbnail }}">
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue