UPD: improved email templates.

This commit is contained in:
2018-11-22 11:47:30 +01:00
parent 401ca9641a
commit 43af31232e
9 changed files with 61 additions and 33 deletions

View File

@@ -291,7 +291,7 @@ class Event(models.Model):
creating = True
else:
original = Event.objects.get(id=self.id)
original_text = original.render_as_text()
original_text = original.render_as_text(show_internal_fields=True)
if not self.editor or not self.editor.is_authenticated:
self.editor = self.owner
@@ -302,15 +302,15 @@ class Event(models.Model):
logger.info('Event created: %s', self)
self.confirm_status('draft', self.editor)
else:
modified_text = self.render_as_text()
modified_text = self.render_as_text(show_internal_fields=True)
o_lines = original_text.split('\n')
m_lines = modified_text.split('\n')
diff_lines = list(difflib.unified_diff(o_lines, m_lines, n=len(m_lines), lineterm=''))
diff_text = '\n'.join(diff_lines[3:])
signals.event_updated.send(sender=self.__class__, event=self, diff=diff_text, user=self.editor)
signals.event_updated.send(sender=self.__class__, event=self, diff=diff_lines, user=self.editor)
logger.info('Event updated: %s', self)
def _internal_update(self):
"""Safe changes on model instance without sending event_updated signal."""
if not self.id:
logger.critical('Event._internal_update() was called before Event was saved properly.')
raise Exception('Code is on fire!')
@@ -603,7 +603,7 @@ class Event(models.Model):
r.update(context)
return r
def render_as_text(self, format=None):
def render_as_text(self, format=None, show_internal_fields=False):
if format == 'ka-alpin':
template_name = 'ka-alpin.txt'
else:
@@ -611,7 +611,7 @@ class Event(models.Model):
template_path = os.path.join('dav_events', 'event', template_name)
template = get_template(template_path)
return template.render(self.get_template_context())
return template.render(self.get_template_context({'show_internal_fields': show_internal_fields}))
def render_as_html(self):
template_name = os.path.join('dav_events', 'event', 'default.html')