Updated notifications and open grpah for forums and wiki, should now email new
topics to the mailing list.
This commit is contained in:
parent
8c99019476
commit
28e0cd8f94
|
@ -435,7 +435,9 @@ SASS_PROCESSOR_INCLUDE_DIRS = [
|
|||
SASS_PROCESSOR_ENABLED = True
|
||||
SASS_PROCESSOR_AUTO_INCLUDE = True
|
||||
|
||||
EMAIL_NOTIFY = True
|
||||
EMAIL_SUPPORT = 'support@maidstone-hackspace.org.uk'
|
||||
EMAIL_MAILING_LIST = 'maidstone-hackspace@googlegroups.com'
|
||||
|
||||
REST_FRAMEWORK = {
|
||||
'DEFAULT_FILTER_BACKENDS': (
|
||||
|
@ -466,4 +468,4 @@ CORS_ORIGIN_WHITELIST = (
|
|||
MATRIX_USER=env('MATRIX_USERNAME')
|
||||
MATRIX_PASSWORD=env('MATRIX_PASSWORD')
|
||||
MATRIX_ROOM=env('MATRIX_ROOM')
|
||||
MSG_PREFIX = '[MH]'
|
||||
MSG_PREFIX = 'MH'
|
||||
|
|
|
@ -31,6 +31,7 @@ SECRET_KEY = env('DJANGO_SECRET_KEY', default='wq)sg12k&5&adv)e%56n5e97o@))6xu90
|
|||
EMAIL_PORT = 1025
|
||||
|
||||
EMAIL_HOST = env("EMAIL_HOST", default='mailhog')
|
||||
MSG_PREFIX = 'MHT'
|
||||
|
||||
|
||||
# CACHING
|
||||
|
|
|
@ -113,6 +113,7 @@ EMAIL_HOST = 'smtp.gmail.com'
|
|||
EMAIL_HOST_PASSWORD = env('EMAIL_PASSWORD')
|
||||
EMAIL_HOST_USER = env('EMAIL_USER')
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_NOTIFY = False
|
||||
|
||||
# Anymail with Mailgun
|
||||
#INSTALLED_APPS += ("anymail", )
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
from django.contrib.sites.models import Site
|
||||
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.contrib.sites.models import Site
|
||||
from django.utils import timezone
|
||||
from stdimage.models import StdImageField
|
||||
from stdimage.utils import UploadToAutoSlugClassNameDir
|
||||
from stdimage.validators import MinSizeValidator
|
||||
|
||||
from spirit.comment.models import Comment
|
||||
from spirit.topic.models import Topic
|
||||
from wiki.models.article import ArticleRevision
|
||||
# from django.contrib.auth.models import User
|
||||
from django.core.mail import EmailMessage
|
||||
|
@ -63,7 +64,7 @@ def send_topic_update_email(sender, instance, **kwargs):
|
|||
addresses = {comment.user.email for comment in comments}
|
||||
for user_email in addresses:
|
||||
email = EmailMessage(
|
||||
'[%s] - %s' % ('MH', instance.topic.title),
|
||||
'[%s] - %s' % (settings.MSG_PREFIX, instance.topic.title),
|
||||
'A topic you have interacted with has been updated click link to see new comments %s' % instance.get_absolute_url(),
|
||||
'no-reply@maidstone-hackspace.org.uk',
|
||||
to=[user_email],
|
||||
|
@ -80,5 +81,19 @@ def wiki_article_updated(sender, instance, **kwargs):
|
|||
instance.article.get_absolute_url()))
|
||||
|
||||
|
||||
def send_new_topic_notification(sender, instance, **kwargs):
|
||||
matrix_message.delay('https://%s%s' % (
|
||||
Site.objects.get_current().domain,
|
||||
instance.get_absolute_url()))
|
||||
email = EmailMessage(
|
||||
'[%s - TOPIC] - %s' % (settings.MSG_PREFIX, instance),
|
||||
'A new topic has been created, click link to view %s' % instance.get_absolute_url(),
|
||||
settings.EMAIL_MAILING_LIST,
|
||||
to=[settings.EMAIL_MAILING_LIST],
|
||||
headers={'Reply-To': settings.EMAIL_MAILING_LIST})
|
||||
email.send()
|
||||
|
||||
|
||||
post_save.connect(wiki_article_updated, sender=ArticleRevision)
|
||||
post_save.connect(send_topic_update_email, sender=Comment)
|
||||
post_save.connect(send_new_topic_notification, sender=Topic)
|
||||
|
|
|
@ -8,6 +8,7 @@ from mhackspace.feeds.helper import import_feeds
|
|||
def update_homepage_feeds():
|
||||
return import_feeds()
|
||||
|
||||
|
||||
matrix_url = "https://matrix.org/_matrix/client/r0"
|
||||
matrix_login_url = matrix_url + "/login"
|
||||
matrix_join_room_alias_url = matrix_url + "/join/{room}?access_token={access_token}"
|
||||
|
@ -15,11 +16,27 @@ matrix_join_room_id_url = matrix_url + "rooms/%21{room}/join?access_token={acces
|
|||
matrix_send_msg_url = matrix_url + "/rooms/%21{room}/send/m.room.message?access_token={access_token}"
|
||||
|
||||
|
||||
@shared_task
|
||||
def send_email(email_to,
|
||||
message,
|
||||
email_from='no-reply@maidstone-hackspace.org.uk',
|
||||
reply_to='no-reply@maidstone-hackspace.org.uk'):
|
||||
|
||||
if settings.EMAIL_NOTIFY is False:
|
||||
return
|
||||
email = EmailMessage(
|
||||
'[%s] - %s' % (settings.MSG_PREFIX, instance.topic.title),
|
||||
'A topic you have interacted with has been updated click link to see new comments %s' % instance.get_absolute_url(),
|
||||
'no-reply@maidstone-hackspace.org.uk',
|
||||
to=[email_to],
|
||||
headers={'Reply-To': 'no-reply@maidstone-hackspace.org.uk'})
|
||||
email.send()
|
||||
|
||||
@shared_task
|
||||
def matrix_message(message):
|
||||
# we dont rely on theses, so ignore if it goes wrong
|
||||
# TODO at least log that something has gone wrong
|
||||
try:
|
||||
try:
|
||||
# login
|
||||
details = {
|
||||
"type":"m.login.password",
|
||||
|
@ -42,9 +59,8 @@ def matrix_message(message):
|
|||
url = matrix_send_msg_url.format(**url_params)
|
||||
details = {
|
||||
"msgtype": "m.text",
|
||||
"body": "%s %s" % (settings.MSG_PREFIX, message)}
|
||||
"body": "[%s] %s" % (settings.MSG_PREFIX, message)}
|
||||
r2 = requests.post(url, json=details)
|
||||
except:
|
||||
pass
|
||||
return True
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ class UserRequests(models.Model):
|
|||
|
||||
|
||||
def send_topic_update_email(sender, instance, **kwargs):
|
||||
matrix_message.delay('[MH] New Request - %s' % instance.title)
|
||||
matrix_message.delay('New Request - %s' % instance.title)
|
||||
|
||||
|
||||
post_save.connect(send_topic_update_email, sender=UserRequests)
|
||||
|
|
|
@ -31,10 +31,13 @@
|
|||
<link href="{% sass_src 'sass/project.scss' %}" rel="stylesheet">
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
|
||||
|
||||
|
||||
{% block head-open-graph %}
|
||||
<meta property="og:title" content="Maidstone Hackspace" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ request.build_absolute_uri }}" />
|
||||
<meta property="og:image" content="https://maidstone-hackspace.org.uk/static/images/android-chrome-192x192.png" />
|
||||
{% endblock head-open-graph %}
|
||||
|
||||
{% block css %}{% endblock %}
|
||||
|
||||
|
@ -125,7 +128,10 @@
|
|||
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'users:detail' request.user.username %}">{% trans "My Profile" %}</a>
|
||||
<a class="dropdown-item" href="{% url 'members' %}">Members</a>
|
||||
<a class="dropdown-item" href="{% url 'requests' %}">Equipment</a>
|
||||
<a class="dropdown-item" href="{% url 'requests' %}">Requests</a>
|
||||
{% if request.user.is_superuser %}
|
||||
<a class="dropdown-item" href="{% url 'spirit:admin:index' %}">Forum Admin</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
|
|
|
@ -3,6 +3,14 @@
|
|||
{% load crispy_forms_tags %}
|
||||
{% load recapture %}
|
||||
|
||||
|
||||
{% block head-open-graph %}
|
||||
<meta property="og:title" content="New request made" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ request.build_absolute_uri }}" />
|
||||
<meta property="og:image" content="https://maidstone-hackspace.org.uk/static/images/android-chrome-192x192.png" />
|
||||
{% endblock head-open-graph %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Requests</h2>
|
||||
|
||||
|
|
|
@ -3,6 +3,13 @@
|
|||
{% load static i18n %}
|
||||
{% block title %}Members{% endblock %}
|
||||
|
||||
{% block head-open-graph %}
|
||||
<meta property="og:title" content="{{ topic.title }}" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="{{ request.build_absolute_uri }}" />
|
||||
<meta property="og:image" content="https://maidstone-hackspace.org.uk/static/images/android-chrome-192x192.png" />
|
||||
{% endblock head-open-graph %}
|
||||
|
||||
{% block css %}
|
||||
<link rel="stylesheet" href="{% static 'spirit/stylesheets/styles.all.min.css' %}">
|
||||
<link href="{% sass_src 'sass/project.scss' %}" rel="stylesheet">
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
{% load sekizai_tags i18n wiki_tags static %}
|
||||
|
||||
{% block head-open-graph %}
|
||||
<meta property="og:title" content="{{ article.current_revision.title }}" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="{{ request.build_absolute_uri }}" />
|
||||
<meta property="og:image" content="https://maidstone-hackspace.org.uk/static/images/android-chrome-192x192.png" />
|
||||
{% endblock head-open-graph %}
|
||||
|
||||
{% block content %}
|
||||
{% block wiki_body %}
|
||||
|
|
Loading…
Reference in New Issue