diff --git a/rowers/dataprep.py b/rowers/dataprep.py index ab3bdd13..d32a74a0 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1345,6 +1345,9 @@ def new_workout_from_file(r, f2, r.user.email) return (0, message, f2) + if fileformat == 'att': + # email attachment which can safely be ignored + return (0, '', f2) # handle non-Painsled by converting it to painsled compatible CSV if (fileformat != 'csv'): diff --git a/rowers/mailprocessing.py b/rowers/mailprocessing.py index 0618edb4..32e7f3b8 100644 --- a/rowers/mailprocessing.py +++ b/rowers/mailprocessing.py @@ -137,6 +137,8 @@ def make_new_workout_from_email(rower, datafile, name, cntr=0,testing=False): # handle non-Painsled + if fileformat == 'att': + return 0 if fileformat != 'csv': filename_mediadir, summary, oarlength, inboard,fileformat = dataprep.handle_nonpainsled( 'media/' + datafilename, fileformat, summary) diff --git a/rowers/tasks.py b/rowers/tasks.py index 01def2df..f64b6c54 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -1026,7 +1026,7 @@ def handle_sendemail_breakthrough(workoutid, useremail, d = { 'first_name':userfirstname, 'siteurl':siteurl, - 'workoutid':workoutid, + 'workoutid':encoder.encode_hex(workoutid), 'btvalues':tablevalues, } @@ -1071,7 +1071,7 @@ def handle_sendemail_hard(workoutid, useremail, d = { 'first_name':userfirstname, 'siteurl':siteurl, - 'workoutid':workoutid, + 'workoutid':encoder.encode_hex(workoutid), 'btvalues':tablevalues, } diff --git a/rowers/templates/flexchart3otw.html b/rowers/templates/flexchart3otw.html index 0f5db1b5..4018f2b3 100644 --- a/rowers/templates/flexchart3otw.html +++ b/rowers/templates/flexchart3otw.html @@ -35,7 +35,7 @@
  • -
    +
    {{ the_div|safe }}
  • diff --git a/rowers/tests/testdata/emails/ATT00001.txt b/rowers/tests/testdata/emails/ATT00001.txt new file mode 100644 index 00000000..b28b04f6 --- /dev/null +++ b/rowers/tests/testdata/emails/ATT00001.txt @@ -0,0 +1,3 @@ + + + diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 993710d9..c8996bfd 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/static/css/rowsandall2.css b/static/css/rowsandall2.css index 35839e03..89587bf3 100644 --- a/static/css/rowsandall2.css +++ b/static/css/rowsandall2.css @@ -1005,6 +1005,7 @@ th.rotate > div > span { z-index: 10; } + a.wh:link { color: #e9e9e9; } diff --git a/static/css/styles2.css b/static/css/styles2.css index becf3231..2a8c9896 100644 --- a/static/css/styles2.css +++ b/static/css/styles2.css @@ -564,28 +564,28 @@ -@media (min-height: 600px) { +@media only screen and (min-height: 600px) { .maxheight { max-height: 450px; overflow: scroll; } } -@media (min-height: 600px) { +@media only screen and (min-height: 600px) { .maxheight { max-height: 450px; overflow: scroll; } } -@media (min-height: 800px) { +@media only screen and (min-height: 800px) { .maxheight { max-height: 600px; overflow: scroll; } } -@media (min-height: 1000px) { +@media only screen and (min-height: 1000px) { .maxheight { max-height: 800px; overflow: scroll; @@ -593,7 +593,7 @@ } -@media (max-width: 600px) { +@media only screen and (max-width: 600px) { nav a { font-size: 0px; } @@ -601,9 +601,22 @@ nav a i { font-size: 20px; } + + #theplot .bk-grid-column { + display: none; + } + + #theplot .bk-plot-layout { + position: auto; + width: 100%; + height: auto; + display: inline; + } } -@media (min-width: 450px) { + + +@media only screen and (min-width: 450px) { .wrapper { grid-template-columns: 1fr 3fr; grid-template-areas: @@ -648,7 +661,7 @@ } -@media (min-width: 768px) { +@media only screen and (min-width: 768px) { .wrapper { grid-template-columns: 1fr 4fr 1fr; grid-template-areas: @@ -727,7 +740,7 @@ page-break-after: avoid; } - ul, img { + ul, img, table { page-break-inside: avoid; }