Skip to content

Commit dab64b5

Browse files
committed
disallow deleted users being signed in
1 parent c856487 commit dab64b5

1 file changed

Lines changed: 24 additions & 8 deletions

File tree

src/app/data.service.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ export class DataService {
5959

6060
getLoggedInUser() {
6161
let teacherId = this.getLocalstorage('loggedInUser');
62-
return teacherId;
62+
let teacher = this.getTeacher(teacherId);
63+
if (teacher && !teacher.deleted) //deleted or not existing users can't be logged in
64+
{ return teacherId; }
65+
else return undefined;
6366
}
6467

6568
setLoggedInUser(teacherId) {
@@ -79,8 +82,12 @@ export class DataService {
7982
return ret;
8083
}
8184

85+
getTeachersVisible() {
86+
return this.getTeachers().filter(x => !x.deleted);
87+
}
88+
8289
getTeacherList() {
83-
let t = this.getTeachers();
90+
let t = this.getTeachersVisible();
8491
t.shift(); //remove root user from List
8592
t = t.sort((a, b) => a.firstName.localeCompare(b.firstName));
8693
t = t.sort((a, b) => a.lastName.localeCompare(b.lastName));
@@ -93,19 +100,21 @@ export class DataService {
93100
}
94101

95102
getTeacherByMail(mail) {
96-
return this.getTeachers().find(x => x.mail.toLowerCase() == mail.toLowerCase());
103+
return this.getTeachersVisible().find(x => x.mail.toLowerCase() == mail.toLowerCase());
97104
}
98105

99106
getTeacherName(id) {
100107
let t = this.getTeacher(id);
101108
return t.firstName + " " + t.lastName;
102109
}
103110

111+
104112
removeTeacher(id) {
105113
let teachers = this.getTeachers();
106-
teachers = teachers.filter(e => e.id !== id);
114+
teachers.find(e => e.id == id).deleted = true;
107115
this.saveLocalstorage('teachers', teachers);
108116
}
117+
109118

110119
addTeacher(fName, lName, mail) {
111120
let teachers = this.getTeachers();
@@ -157,6 +166,9 @@ export class DataService {
157166
}
158167
}
159168

169+
getClassesVisible() {
170+
return this.getClasses().filter(x => !x.deleted);
171+
}
160172
getClass(id) {
161173
let classes = this.getClasses();
162174
return classes.filter(e => e.id == id)[0];
@@ -176,12 +188,12 @@ export class DataService {
176188
c[id] = {id: +id, name: name, grade: grade};
177189
this.saveLocalstorage('classes', c);
178190
}
179-
180191
removeClass(id) {
181192
let c = this.getClasses();
182-
c = c.filter(e => e.id !== id);
193+
c.find(e => e.id === id).deleted = true;
183194
this.saveLocalstorage('classes', c);
184195
}
196+
185197

186198

187199
/******************** Pupil **********************/
@@ -226,7 +238,7 @@ export class DataService {
226238

227239
removePupil(id) {
228240
let p = this.getPupils();
229-
p = p.filter(e => e.id !== id);
241+
p.find(x=>x.id==id).deleted=true;
230242
this.saveLocalstorage('pupils', p);
231243
}
232244

@@ -263,6 +275,9 @@ export class DataService {
263275
return this.notes;
264276
}
265277
}
278+
getNotesVisible() {
279+
return this.getNotes().filter(x => !x.deleted);
280+
}
266281

267282
getNote(id) {
268283
let notes = this.getNotes();
@@ -310,7 +325,8 @@ export class DataService {
310325

311326
removeNote(id) {
312327
let n = this.getNotes();
313-
n = n.filter(e => e.id !== id);
328+
n.find(e => e.id === id).deleted = false;
314329
this.saveLocalstorage('notes', n);
315330
}
331+
316332
}

0 commit comments

Comments
 (0)