form create changes
This commit is contained in:
@@ -20,6 +20,7 @@ from datetimewidget.widgets import DateTimeWidget
|
||||
from django.contrib.admin.widgets import AdminDateWidget,AdminTimeWidget,AdminSplitDateTime
|
||||
from django.core.validators import validate_email
|
||||
import os
|
||||
import json
|
||||
import twitter
|
||||
import re
|
||||
import pytz
|
||||
@@ -31,6 +32,8 @@ import numpy as np
|
||||
|
||||
import shutil
|
||||
|
||||
from rowingdata import trainingparser
|
||||
|
||||
from django.conf import settings
|
||||
from sqlalchemy import create_engine
|
||||
import sqlalchemy as sa
|
||||
@@ -478,7 +481,8 @@ class TeamRequest(models.Model):
|
||||
|
||||
from rowers.utils import (
|
||||
workflowleftpanel,workflowmiddlepanel,
|
||||
defaultleft,defaultmiddle,landingpages
|
||||
defaultleft,defaultmiddle,landingpages,
|
||||
steps_read_fit
|
||||
)
|
||||
|
||||
from rowers.utils import geo_distance
|
||||
@@ -2279,7 +2283,7 @@ class PlannedSession(models.Model):
|
||||
is_template = models.BooleanField(default=False)
|
||||
|
||||
fitfile = models.FileField(blank=True,null=True)
|
||||
json_string = models.TextField(max_length=10000,default=None,blank=True,null=True)
|
||||
steps_json = models.TextField(max_length=10000,default=None,blank=True,null=True)
|
||||
interval_string = models.TextField(max_length=1000,default=None,blank=True,null=True,
|
||||
verbose_name='Interval String (optional)')
|
||||
|
||||
@@ -2309,6 +2313,15 @@ class PlannedSession(models.Model):
|
||||
"You must be a Self-Coach user or higher to create a planned session"
|
||||
)
|
||||
|
||||
# interval string
|
||||
if self.interval_string:
|
||||
dct = trainingparser.parsetodict(interval_string)
|
||||
dct = [item for item in dct if item['value'] != 0]
|
||||
dct = trainingparser.tofitdict(dct)
|
||||
ps.steps_json = json.dumps(dct)
|
||||
|
||||
|
||||
|
||||
|
||||
# sort units
|
||||
if self.sessionmode == 'distance':
|
||||
@@ -2346,8 +2359,21 @@ class PlannedSession(models.Model):
|
||||
if self.preferreddate < self.startdate:
|
||||
self.preferreddate = self.startdate
|
||||
|
||||
|
||||
super(PlannedSession,self).save(*args, **kwargs)
|
||||
|
||||
# read file
|
||||
if self.fitfile:
|
||||
if self.fitfile.name == 'False':
|
||||
self.fitfile = None
|
||||
else:
|
||||
steps = steps_read_fit(settings.MEDIA_ROOT+'/'+self.fitfile.name)
|
||||
self.steps_json = json.dumps(steps)
|
||||
|
||||
super(PlannedSession,self).save(*args, **kwargs)
|
||||
|
||||
|
||||
|
||||
from django.core.validators import RegexValidator,validate_email
|
||||
|
||||
class StandardCollection(models.Model):
|
||||
@@ -2515,7 +2541,8 @@ class PlannedSessionForm(ModelForm):
|
||||
'startdate': AdminDateWidget(),
|
||||
'enddate': AdminDateWidget(),
|
||||
'preferreddate': AdminDateWidget(),
|
||||
'interval_string': forms.Textarea(attrs={'rows':2,'cols':50})
|
||||
'interval_string': forms.Textarea(attrs={'rows':2,'cols':50}),
|
||||
#'sessiontype': forms.Select(attrs={'style':'width:50px'})
|
||||
}
|
||||
|
||||
def __init__(self,*args,**kwargs):
|
||||
|
||||
Reference in New Issue
Block a user