Skip to content
Snippets Groups Projects
Commit 386caac1 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Add the messaging adaptor for the django messages

parent 18f6da33
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,14 @@ class AdapterBase:
raise NotImplementedError()
class MessageAdapter(AdapterBase):
messages = {
enum: enum.value
for enum in MESSAGES.__members__.values()
}
def send_message(self, message, **kwargs):
messages.add_message(kwargs['request'], messages.INFO, message)
class ActivityAdapter(AdapterBase):
......@@ -75,10 +83,13 @@ class ActivityAdapter(AdapterBase):
class MessengerBackend:
adapters = [ActivityAdapter()]
adapters = [
ActivityAdapter(),
MessageAdapter(),
]
def __call__(self, message_type, user, submission, **kwargs):
return self.send(message_type, user=user, submission=submission, **kwargs)
def __call__(self, message_type, request, user, submission, **kwargs):
return self.send(message_type, request=request, user=user, submission=submission, **kwargs)
def send(self, message_type, **kwargs):
for adapter in self.adapters:
......
......@@ -100,6 +100,7 @@ class UpdateLeadView(DelegatedViewMixin, UpdateView):
response = super().form_valid(form)
messenger(
MESSAGES.UPDATE_LEAD,
request=self.request,
user=self.request.user,
submission=form.instance,
old=old,
......
.messages {
&__text {
padding: 10px;
&-info {
background: $color--pastel-green;
border: solid 1px darken($color--pastel-green, 20%);
}
}
}
......@@ -44,6 +44,7 @@
@import 'components/traffic-light';
@import 'components/wrapper';
@import 'components/revisions';
@import 'components/messages';
// Layout
@import 'layout/header';
......@@ -33,6 +33,14 @@
<body class="{% block body_class %}light-grey-bg template-{{ page.get_verbose_name|slugify }}{% endblock %}">
{% hijack_notification %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li class="messages__text{% if message.tags %} messages__text-{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% if GOOGLE_TAG_MANAGER_ID %}
{# To enable GTM code you need to specify GOOGLE_TAG_MANAGER_ID in production.py or in local.py #}
<!-- Google Tag Manager (noscript) -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment