[Pharo] Personal fitness tracker web app.
Profile and Workout tasks.
Changed files
src/MyFitnessTracker/MFTProfileTask.class.st
@@ -0,0 +1,62 @@
1
Added:
Class {
2
Added:
#name : #MFTProfileTask,
3
Added:
#superclass : #WATask,
4
Added:
#instVars : [
5
Added:
'user'
6
Added:
],
7
Added:
#category : #'MyFitnessTracker-Dialogs'
8
Added:
}
9
Added:
10
Added:
{ #category : #actions }
11
Added:
MFTProfileTask class >> edit: aMFTUser [
12
Added:
13
Added:
^ self new
14
Added:
user: aMFTUser;
15
Added:
yourself
16
Added:
]
17
Added:
18
Added:
{ #category : #running }
19
Added:
MFTProfileTask >> go [
20
Added:
21
Added:
user username: (self call: (MFTStringDialog new
22
Added:
heading: 'username';
23
Added:
string: user username;
24
Added:
completion: 20)).
25
Added:
user dateOfBirth: (self call: (MFTDateDialog new
26
Added:
heading: 'date of birth';
27
Added:
date: user dateOfBirth;
28
Added:
completion: 40)).
29
Added:
user realFirstName: (self call: (MFTStringDialog new
30
Added:
heading: 'real first name';
31
Added:
string: user realFirstName;
32
Added:
completion: 60)).
33
Added:
user realLastName: (self call: (MFTStringDialog new
34
Added:
heading: 'real last name';
35
Added:
string: user realLastName;
36
Added:
completion: 80)).
37
Added:
38
Added:
(self call: (MFTConfirmDialog edit: user))
39
Added:
ifTrue: [
40
Added:
self session user: user.
41
Added:
self answer: user ]
42
Added:
ifFalse: [ self answer: nil ]
43
Added:
]
44
Added:
45
Added:
{ #category : #initialization }
46
Added:
MFTProfileTask >> initialize [
47
Added:
48
Added:
super initialize.
49
Added:
user := MFTUser new
50
Added:
]
51
Added:
52
Added:
{ #category : #accessing }
53
Added:
MFTProfileTask >> user [
54
Added:
55
Added:
^ user
56
Added:
]
57
Added:
58
Added:
{ #category : #accessing }
59
Added:
MFTProfileTask >> user: anObject [
60
Added:
61
Added:
user := anObject
62
Added:
]
src/MyFitnessTracker/MFTWorkoutTask.class.st
@@ -1,29 +1,58 @@
1
1
Class {
2
2
#name : #MFTWorkoutTask,
3
Removed:
#superclass : #MFTDialog,
3
Added:
#superclass : #WATask,
4
4
#instVars : [
5
Removed:
'workout',
6
Removed:
'exercises',
7
Removed:
'date'
5
Added:
'workout'
8
6
],
9
7
#category : #'MyFitnessTracker-Dialogs'
10
8
}
11
9
10
Added:
{ #category : #actions }
11
Added:
MFTWorkoutTask class >> edit: aMFTWorkout [
12
Added:
13
Added:
^ self new
14
Added:
workout: aMFTWorkout;
15
Added:
yourself
16
Added:
]
17
Added:
12
18
{ #category : #running }
13
19
MFTWorkoutTask >> go [
14
20
15
Removed:
workout := MFTWorkout new.
16
Removed:
self setDate.
17
Removed:
self setPrimaryMuscle.
18
Removed:
self addExercises.
19
Removed:
self confirmAndSaveWorkout
21
Added:
workout date: (self call: (MFTDateDialog new
22
Added:
date: workout date;
23
Added:
completion: 20)).
24
Added:
workout exercises: (self call: (MFTExercisesDialog new
25
Added:
exercises: workout exercises;
26
Added:
completion: 40)).
27
Added:
workout primaryMuscle: (self call: (MFTPrimaryMuscleDialog new
28
Added:
primaryMuscle: workout primaryMuscle;
29
Added:
completion: 60)).
30
Added:
workout secondaryMuscles: (self call: (MFTSecondaryMusclesDialog new
31
Added:
secondaryMuscles: workout secondaryMuscles;
32
Added:
completion: 80)).
33
Added:
34
Added:
(self call: (MFTConfirmDialog add: workout))
35
Added:
ifTrue: [
36
Added:
self session user workouts add: workout.
37
Added:
self answer: workout ]
38
Added:
ifFalse: [ self answer: nil ]
20
39
]
21
40
22
41
{ #category : #initialization }
23
Removed:
MFTWorkoutTask >> setDate [
42
Added:
MFTWorkoutTask >> initialize [
24
43
25
Removed:
| dateComponent |
26
Removed:
dateComponent := Date new.
27
Removed:
date := self call: dateComponent.
28
Removed:
workout date: date
44
Added:
super initialize.
45
Added:
workout := MFTWorkout new
46
Added:
]
47
Added:
48
Added:
{ #category : #accessing }
49
Added:
MFTWorkoutTask >> workout [
50
Added:
51
Added:
^ workout
52
Added:
]
53
Added:
54
Added:
{ #category : #accessing }
55
Added:
MFTWorkoutTask >> workout: anObject [
56
Added:
57
Added:
workout := anObject
29
58
]