first version erase column
This commit is contained in:
@@ -3166,6 +3166,124 @@ def instroke_chart(request,id=0,metric=''):
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# erase column
|
||||
@permission_required('workout.change_workout',fn=get_workout_by_opaqueid,raise_exception=True)
|
||||
def workout_erase_column_view(request, id=0,column=''):
|
||||
r = getrower(request.user)
|
||||
w = get_workoutuser(id,request)
|
||||
|
||||
protected = ['time','pace','velo','cumdist','ftime','fpace',]
|
||||
if column in protected:
|
||||
messages.error(request,'You cannot erase this protected column')
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
try:
|
||||
data = dataprep.getsmallrowdata_db([column],ids=[w.id])
|
||||
except:
|
||||
messages.error(request,'Invalid column')
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
try:
|
||||
cdata = data[column]
|
||||
except KeyError:
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
|
||||
if not column:
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
if request.method == 'POST':
|
||||
|
||||
mms = {}
|
||||
for m in rowingmetrics:
|
||||
mms[m[0]] = m[1]
|
||||
|
||||
try:
|
||||
defaultvalue = mms[column]['default']
|
||||
except KeyError:
|
||||
if not mms[column]['null']:
|
||||
messages.error(request,'You cannot erase this protected column')
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
defaultvalue = 0
|
||||
|
||||
try:
|
||||
columnl = dataprep.columndict[column]
|
||||
except KeyError:
|
||||
messages.error(request,'You cannot erase this column')
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
row,workout = dataprep.getrowdata(id=w.id)
|
||||
row.df[columnl] = defaultvalue
|
||||
print(row.df[columnl])
|
||||
row.write_csv(w.csvfilename,gzip=True)
|
||||
|
||||
datadf = dataprep.dataprep(row.df,id=w.id)
|
||||
|
||||
|
||||
messages.info(request,'Data for column '+column+' have been erased')
|
||||
url = reverse('workout_data_view',kwargs={
|
||||
'id':encoder.encode_hex(w.id)
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':'/rowers/list-workouts/',
|
||||
'name':'Workouts'
|
||||
},
|
||||
{
|
||||
'url':get_workout_default_page(request,id),
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'url':reverse('workout_data_view',kwargs={'id':id}),
|
||||
'name': 'Data Explorer'
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
return render(request,
|
||||
'workout_erase_column.html',
|
||||
{
|
||||
'column':column,
|
||||
'teams':get_my_teams(request.user),
|
||||
'workout': w,
|
||||
'breadcrumbs': breadcrumbs,
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# data explorer
|
||||
@permission_required('workout.change_workout',fn=get_workout_by_opaqueid,raise_exception=True)
|
||||
@@ -3268,6 +3386,8 @@ def workout_data_view(request, id=0):
|
||||
'workout_data.html',
|
||||
{
|
||||
'htmltable': htmltable,
|
||||
'data':datadf,
|
||||
'cols':datadf.columns,
|
||||
'form':form,
|
||||
'teams':get_my_teams(request.user),
|
||||
'workout': w,
|
||||
|
||||
Reference in New Issue
Block a user