[Pharo] Personal fitness tracker web app.
Update Session logic for Glorp.
src/MyFitnessTracker-Model/MFTSession.class.st
@@ -3,62 +3,42 @@
3
3
#superclass : 'WASession',
4
4
#instVars : [
5
5
'user',
6
Removed:
'db',
7
Removed:
'pageManager'
6
Added:
'pageManager',
7
Added:
'glorpSession'
8
8
],
9
9
#category : 'MyFitnessTracker-Model',
10
10
#package : 'MyFitnessTracker-Model'
11
11
}
12
12
13
13
{ #category : 'accessing' }
14
Removed:
MFTSession >> db [
14
Added:
MFTSession >> glorpSession [
15
15
16
Removed:
^ db
16
Added:
^ glorpSession
17
17
]
18
18
19
Removed:
{ #category : 'accessing' }
20
Removed:
MFTSession >> db: anObject [
21
Removed:
22
Removed:
db := anObject
23
Removed:
]
24
Removed:
25
19
{ #category : 'initialization' }
26
20
MFTSession >> initialize [
27
Removed:
"A database connection is only created for sessions belonging to registered users."
28
21
29
22
super initialize.
23
Added:
glorpSession := MFTDescriptorSystem sessionForLogin: self login.
24
Added:
glorpSession login.
30
25
user := MFTUser newDefault.
31
26
pageManager := MFTPageManager new
32
27
]
33
28
34
Removed:
{ #category : 'as yet unclassified' }
35
Removed:
MFTSession >> loadUserDataFromDb [
36
Removed:
37
Removed:
user workouts: db getAllUserWorkouts.
38
Removed:
user weights: db getAllUserWeights
39
Removed:
]
40
Removed:
41
29
{ #category : 'login' }
42
Removed:
MFTSession >> login: aMFTUser [
30
Added:
MFTSession >> login [
43
31
44
Removed:
| now |
45
Removed:
now := DateAndTime now asUTC rounded.
46
Removed:
"Reflect the login in the database"
47
Removed:
self db: MFTSQLite3Database newOnDefaultLocation.
48
Removed:
self db connection open.
49
Removed:
self db login: aMFTUser atDateAndTime: now.
50
Removed:
"Reflect the login in the session's user"
51
Removed:
self user: aMFTUser.
52
Removed:
self user lastLoginDateAndTime: now.
53
Removed:
self user isLoggedIn: true.
54
Removed:
self loadUserDataFromDb.
55
Removed:
pageManager loadUserPages
32
Added:
^ Login new
33
Added:
database: SQLite3Platform new;
34
Added:
host: Smalltalk imageDirectory fullName;
35
Added:
databaseName: MFTDescriptorSystem defaultDatabaseName
56
36
]
57
37
58
38
{ #category : 'parent/child' }
59
39
MFTSession >> logout [
60
40
61
Removed:
db connection close.
41
Added:
glorpSession connection close.
62
42
user := MFTUser newDefault.
63
43
pageManager loadPublicPages
64
44
]