Improved group/role thing. Improved email sending (prepare for
OneClickAction).
This commit is contained in:
@@ -3,6 +3,7 @@ import datetime
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import uuid
|
||||
from babel.dates import format_date
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
@@ -16,6 +17,7 @@ from django_countries.fields import CountryField
|
||||
from . import choices
|
||||
from . import config
|
||||
from . import emails
|
||||
from .utils import get_users_by_role
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -178,9 +180,15 @@ class Event(models.Model):
|
||||
email=self.trainer_email,
|
||||
)
|
||||
owner.save()
|
||||
|
||||
self.owner = owner
|
||||
emails_to_send.append(emails.NewEventMail(event=self))
|
||||
emails_to_send.append(emails.EventToAcceptMail(event=self))
|
||||
|
||||
managers = get_users_by_role('manage_all')
|
||||
managers += get_users_by_role('manage_{}'.format(self.sport.lower()))
|
||||
for user in managers:
|
||||
emails_to_send.append(emails.EventToAcceptMail(recipient=user, event=self))
|
||||
|
||||
emails_to_send.append(emails.NewEventMail(recipient=owner, event=self))
|
||||
|
||||
super(Event, self).save(**kwargs)
|
||||
for email in emails_to_send:
|
||||
@@ -195,12 +203,15 @@ class Event(models.Model):
|
||||
if user:
|
||||
self.accepted_by = user
|
||||
self.save()
|
||||
emails_to_send = [
|
||||
emails.EventAcceptedMail(event=self),
|
||||
emails.EventToPublishMail(event=self)
|
||||
]
|
||||
for email in emails_to_send:
|
||||
|
||||
publishers = get_users_by_role('publish_incremental')
|
||||
for user in publishers:
|
||||
email = emails.EventToPublishMail(recipient=user, event=self)
|
||||
email.send()
|
||||
|
||||
email = emails.EventAcceptedMail(recipient=self.owner, event=self)
|
||||
email.send()
|
||||
|
||||
return self.number
|
||||
else:
|
||||
return None
|
||||
@@ -330,3 +341,10 @@ class Event(models.Model):
|
||||
template_name = os.path.join('dav_events', 'event.html')
|
||||
template = get_template(template_name)
|
||||
return template.render(self.get_template_context())
|
||||
|
||||
|
||||
# class OneClickAction(models.Model):
|
||||
# id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
# caller = models.ForeignKey(settings.AUTH_USER_MODEL,
|
||||
# null=True,
|
||||
# related_name='+')
|
||||
|
||||
Reference in New Issue
Block a user