Clean up all components accessing, adding, or deleting session user workouts and weights.

Commit
aaa993f77a8bd1756c4479df3badfe2b9b238f0d
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
src/MyFitnessTracker/MFTMainPublicCard.class.st
index 474d8cf5..79731258 100644..100644
@@ -4,6 +4,19 @@
4 4 #category : #'MyFitnessTracker-Components'
5 5 }
6 6
7 Added: { #category : #adding }
8 Added: MFTMainPublicCard >> addWorkout [
9 Added:
10 Added: | newWorkout |
11 Added: newWorkout := self session pageManager activePage call:
12 Added: MFTWorkoutTask new.
13 Added: newWorkout ifNil: [ ^ self ].
14 Added:
15 Added: self session user isLoggedIn
16 Added: ifTrue: [ self session db insert: newWorkout ]
17 Added: ifFalse: [ self session user workouts add: newWorkout ]
18 Added: ]
19 Added:
7 20 { #category : #rendering }
8 21 MFTMainPublicCard >> renderContentOn: html [
9 22
@@ -23,6 +36,6 @@
23 36 bePrimary;
24 37 beLarge;
25 38 class: 'mt-3';
26 Removed: callback: [ self session pageManager activePage call: MFTWorkoutTask new ];
39 Added: callback: [ self addWorkout ];
27 40 with: 'Log a workout' ] ] ]
28 41 ]
src/MyFitnessTracker/MFTWeightsCard.class.st
index a8e28cea..bac817e5 100644..100644
@@ -5,14 +5,18 @@
5 5 }
6 6
7 7 { #category : #adding }
8 Removed: MFTWeightsCard >> addWeightDialog [
8 Added: MFTWeightsCard >> addWeight [
9 9
10 10 | newWeight |
11 11 newWeight := self session pageManager activePage call:
12 12 MFTWeightDialog new.
13 Removed: (newWeight isNotNil and: [
14 Removed: (#( '' '0' nil ) includes: newWeight value) not ]) ifTrue: [
15 Removed: self session user weights add: newWeight ]
13 Added: (self session user weights anySatisfy: [ :existingWeight |
14 Added: newWeight date = existingWeight date and: [
15 Added: newWeight value = existingWeight value ] ]) ifTrue: [ ^ self ].
16 Added:
17 Added: self session user isLoggedIn
18 Added: ifTrue: [ self session db insert: newWeight ]
19 Added: ifFalse: [ self session user weights add: newWeight ]
16 20 ]
17 21
18 22 { #category : #rendering }
@@ -31,7 +35,7 @@
31 35 with: [
32 36 html outlineButton
33 37 bePrimary;
34 Removed: callback: [ self addWeightDialog ];
38 Added: callback: [ self addWeight ];
35 39 with: 'Log weight'.
36 40 html outlineButton
37 41 beSecondary;
src/MyFitnessTracker/MFTWeightsListPage.class.st
index 54d23f7c..ec2b8fe1 100644..100644
@@ -12,27 +12,29 @@
12 12
13 13 | newWeight |
14 14 newWeight := self call: MFTWeightDialog new.
15 Removed: newWeight value = 0 ifTrue: [ ^ self ].
16 15 (weights anySatisfy: [ :existingWeight |
17 16 newWeight date = existingWeight date and: [
18 17 newWeight value = existingWeight value ] ]) ifTrue: [ ^ self ].
19 18
20 Removed: self session user weights add: newWeight.
21 Removed: self session user isLoggedIn ifTrue: [
22 Removed: self session db insert: newWeight ]
19 Added: self session user isLoggedIn
20 Added: ifTrue: [ self session db insert: newWeight ]
21 Added: ifFalse: [ weights add: newWeight ]
23 22 ]
24 23
25 24 { #category : #accessing }
26 25 MFTWeightsListPage >> editWeight: oldWeight [
27 26
28 27 | newWeight |
29 Removed: newWeight := self call: (MFTWeightDialog edit: oldWeight).
30 Removed: (newWeight isNil or: [ newWeight value = 0 ]) ifTrue: [ ^ self ].
31 Removed: self session user weights
32 Removed: remove: oldWeight;
33 Removed: add: newWeight.
34 Removed: self session user isLoggedIn ifTrue: [
35 Removed: self session db update: oldWeight with: newWeight ]
28 Added: newWeight := self call: (MFTWeightDialog edit: oldWeight copy).
29 Added: (oldWeight value = newWeight value and: [
30 Added: oldWeight date = newWeight date ]) ifTrue: [ ^ self ].
31 Added:
32 Added: self session user isLoggedIn
33 Added: ifTrue: [ self session db update: oldWeight with: newWeight ]
34 Added: ifFalse: [
35 Added: weights
36 Added: remove: oldWeight;
37 Added: add: newWeight ]
36 38 ]
37 39
38 40 { #category : #initialization }
@@ -56,9 +58,9 @@
56 58 { #category : #accessing }
57 59 MFTWeightsListPage >> removeWeight: aMFTWeight [
58 60
59 Removed: self session user weights remove: aMFTWeight.
60 Removed: self session user isLoggedIn ifTrue: [
61 Removed: self session db delete: aMFTWeight ]
61 Added: self session user isLoggedIn
62 Added: ifTrue: [ self session db delete: aMFTWeight ]
63 Added: ifFalse: [ weights remove: aMFTWeight ]
62 64 ]
63 65
64 66 { #category : #rendering }
src/MyFitnessTracker/MFTWorkoutsListPage.class.st
index efb8928e..e214c10e 100644..100644
@@ -82,12 +82,13 @@
82 82 { #category : #adding }
83 83 MFTWorkoutsListPage >> addWorkout [
84 84
85 Removed: | workout |
86 Removed: workout := self call: MFTWorkoutTask new.
87 Removed: workout ifNotNil: [
88 Removed: self session user workouts add: workout.
89 Removed: self session user isLoggedIn ifTrue: [
90 Removed: self session db insert: workout ] ]
85 Added: | newWorkout |
86 Added: newWorkout := self call: MFTWorkoutTask new.
87 Added: newWorkout ifNil: [ ^ self ].
88 Added:
89 Added: self session user isLoggedIn
90 Added: ifTrue: [ self session db insert: newWorkout ]
91 Added: ifFalse: [ workouts add: newWorkout ]
91 92 ]
92 93
93 94 { #category : #hooks }
@@ -99,21 +100,25 @@
99 100 { #category : #accessing }
100 101 MFTWorkoutsListPage >> confirmDelete: workout [
101 102
102 Removed: (self call: (MFTConfirmDialog delete: workout)) ifTrue: [
103 Removed: self session user workouts remove: workout ]
103 Added: (self call: (MFTConfirmDialog delete: workout)) ifFalse: [ ^ self ].
104 Added: self session user isLoggedIn
105 Added: ifTrue: [ self session db delete: workout ]
106 Added: ifFalse: [ workouts remove: workout ]
104 107 ]
105 108
106 109 { #category : #'as yet unclassified' }
107 110 MFTWorkoutsListPage >> editWorkout: oldWorkout [
108 111
109 112 | newWorkout |
110 Removed: newWorkout := self call: (MFTWorkoutTask edit: oldWorkout).
113 Added: newWorkout := self call: (MFTWorkoutTask edit: oldWorkout copy).
111 114 newWorkout ifNil: [ ^ self ].
112 Removed: self session user workouts
113 Removed: remove: oldWorkout;
114 Removed: add: newWorkout.
115 Removed: self session user isLoggedIn ifTrue: [
116 Removed: self session db update: oldWorkout with: newWorkout ]
115 Added:
116 Added: self session user isLoggedIn
117 Added: ifTrue: [ self session db update: oldWorkout with: newWorkout ]
118 Added: ifFalse: [
119 Added: workouts
120 Added: remove: oldWorkout;
121 Added: add: newWorkout ]
117 122 ]
118 123
119 124 { #category : #initialization }
@@ -204,7 +209,7 @@
204 209 with: [
205 210 html accordionBody with: [
206 211 html render: workout.
207 Removed: self renderWorkoutActionsButtonGroup: html for: workout ] ] ] ] ]
212 Added: self renderWorkoutActionsButtonGroup: html for: workout ] ] ] ] ]
208 213 ]
209 214
210 215 { #category : #adding }