diff --git a/rowers/admin.py b/rowers/admin.py index 47f56a78..6166b1d2 100644 --- a/rowers/admin.py +++ b/rowers/admin.py @@ -8,7 +8,7 @@ from .models import ( WorkoutComment, C2WorldClassAgePerformance, PlannedSession, GeoCourse, GeoPolygon, GeoPoint, VirtualRace, VirtualRaceResult, PaidPlan, IndoorVirtualRaceResult, ShareKey, - CourseStandard, StandardCollection, InstantPlan, + CourseStandard, StandardCollection, InstantPlan, UserMessage ) # Register your models here so you can use them in the Admin module @@ -170,6 +170,9 @@ class CourseStandardAdmin(admin.ModelAdmin): class InstantPlanAdmin(admin.ModelAdmin): list_display = ('name','duration','price') +class UserMessageAdmin(admin.ModelAdmin): + list_display = ('receiver','datetime','subject') + admin.site.unregister(User) admin.site.register(User, UserAdmin) admin.site.register(Workout, WorkoutAdmin) @@ -192,3 +195,4 @@ admin.site.register(ShareKey, ShareKeyAdmin) admin.site.register(CourseStandard, CourseStandardAdmin) admin.site.register(StandardCollection, StandardCollectionAdmin) admin.site.register(InstantPlan, InstantPlanAdmin) +admin.site.register(UserMessage, UserMessageAdmin) diff --git a/rowers/emails.py b/rowers/emails.py index bf64c90a..577baf01 100644 --- a/rowers/emails.py +++ b/rowers/emails.py @@ -1,5 +1,5 @@ from django.contrib.staticfiles import finders - +from bs4 import BeautifulSoup import os import time import gc @@ -112,17 +112,22 @@ def send_template_email(from_email, to_email, subject, else: emailbounced = False - try: - usr = User.objects.get(email=to_email) - umsg = UserMessage( - receiver = usr.rower, - datetime = timezone.now(), - text = text_content, - subject=subject, - ) - umsg.save() - except User.DoesNotExist: - pass + for recipient in to_email: + try: + soup = BeautifulSoup(html_content) + + s2 = soup.body + + usr = User.objects.get(email=recipient) + umsg = UserMessage( + receiver = usr.rower, + datetime = timezone.now(), + text = '{text}'.format(text=s2), + subject=subject, + ) + umsg.save() + except User.DoesNotExist: + pass if not emailbounced: res = msg.send() diff --git a/rowers/models.py b/rowers/models.py index 1d411f41..4433bd5c 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1247,6 +1247,14 @@ class UserMessage(models.Model): isread = models.BooleanField(default=False) text = models.CharField(max_length=1000) subject = models.CharField(max_length=100,default='Message') + + def __str__(self): + return '{r1} {r2} {d} {subject}'.format( + r1 = self.receiver.user.first_name, + r2 = self.receiver.user.last_name, + d = self.datetime, + subject = self.subject + ) # requestor is user diff --git a/rowers/templates/contactformemail.html b/rowers/templates/contactformemail.html new file mode 100644 index 00000000..6ac0a5fa --- /dev/null +++ b/rowers/templates/contactformemail.html @@ -0,0 +1,24 @@ +{% extends "emailbase.html" %} + +{% block body %} +
New Contact Form Message
+ ++ From: {{ firstname }} {{ lastname }} +
++ Email: {{ email }} +
++ Subject: {{ subject }} +
+ ++ {{ message }} +
+ + ++ Best Regards, the Rowsandall Team +
+{% endblock %} diff --git a/rowers/templates/menu_profile.html b/rowers/templates/menu_profile.html index 0beb4987..351faac9 100644 --- a/rowers/templates/menu_profile.html +++ b/rowers/templates/menu_profile.html @@ -2,6 +2,14 @@ {% load rowerfilters %}