Private
Public Access
1
0

Merge branch 'release/v20.2.0'

This commit is contained in:
2023-10-31 16:49:28 +01:00
5 changed files with 23 additions and 2 deletions
+13 -1
View File
@@ -27,7 +27,7 @@ from rowsandall_app.settings import SITE_URL
from rowsandall_app.settings_dev import SITE_URL as SITE_URL_DEV from rowsandall_app.settings_dev import SITE_URL as SITE_URL_DEV
from rowsandall_app.settings import PROGRESS_CACHE_SECRET from rowsandall_app.settings import PROGRESS_CACHE_SECRET
from rowsandall_app.settings import SETTINGS_NAME from rowsandall_app.settings import SETTINGS_NAME
from rowers.models import UserMessage, Rower, User
import pandas as pd import pandas as pd
@@ -112,6 +112,18 @@ def send_template_email(from_email, to_email, subject,
else: else:
emailbounced = False 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
if not emailbounced: if not emailbounced:
res = msg.send() res = msg.send()
else: # pragma: no cover else: # pragma: no cover
+1 -1
View File
@@ -7,7 +7,7 @@ from rowers import mytypes
from rowers.tasks import handle_strava_sync, fetch_strava_workout from rowers.tasks import handle_strava_sync, fetch_strava_workout
from stravalib.exc import ActivityUploadFailed, TimeoutExceeded from stravalib.exc import ActivityUploadFailed, TimeoutExceeded
from rowers.rower_rules import is_workout_user, ispromember from rowers.rower_rules import is_workout_user, ispromember
from rowers.utils import get_strava_stream from rowers.utils import get_strava_stream, custom_exception_handler
from rowers.utils import myqueue, dologging from rowers.utils import myqueue, dologging
#from rowers.imports import * #from rowers.imports import *
+7
View File
@@ -1241,6 +1241,13 @@ class DeleteUserForm(forms.ModelForm):
model = User model = User
fields = [] fields = []
class UserMessage(models.Model):
receiver = models.ForeignKey(Rower, on_delete=models.CASCADE)
datetime = models.DateTimeField()
isread = models.BooleanField(default=False)
text = models.CharField(max_length=1000)
subject = models.CharField(max_length=100,default='Message')
# requestor is user # requestor is user
Binary file not shown.
+2
View File
@@ -898,6 +898,8 @@ def ps_dict_order_dict(d, short=False):
def ps_dict_order(d, short=False, rower=None, html=True): def ps_dict_order(d, short=False, rower=None, html=True):
sdict = collections.OrderedDict({}) sdict = collections.OrderedDict({})
steps = d['steps'] steps = d['steps']
if steps is None:
steps = []
ftp = 200 ftp = 200
powerzones = None powerzones = None