fix notifications
This commit is contained in:
@@ -50,6 +50,7 @@ class Absence {
|
||||
DateTime lessonStart;
|
||||
DateTime lessonEnd;
|
||||
int? lessonIndex;
|
||||
bool isSeen = json["isSeen"] ?? false;
|
||||
if (json["Ora"] != null) {
|
||||
lessonStart = json["Ora"]["KezdoDatum"] != null
|
||||
? DateTime.parse(json["Ora"]["KezdoDatum"]).toLocal()
|
||||
@@ -62,7 +63,6 @@ class Absence {
|
||||
lessonStart = DateTime(0);
|
||||
lessonEnd = DateTime(0);
|
||||
}
|
||||
|
||||
return Absence(
|
||||
id: json["Uid"],
|
||||
date: json["Datum"] != null
|
||||
@@ -89,10 +89,29 @@ class Absence {
|
||||
lessonIndex: lessonIndex,
|
||||
group:
|
||||
json["OsztalyCsoport"] != null ? json["OsztalyCsoport"]["Uid"] : "",
|
||||
isSeen: false,
|
||||
isSeen: json["isSeen"] ?? false,
|
||||
json: json,
|
||||
);
|
||||
}
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
"id": id,
|
||||
"date": date.toIso8601String(),
|
||||
"delay": delay,
|
||||
"submitDate": submitDate.toIso8601String(),
|
||||
"teacher": teacher,
|
||||
"state": state.toString().split('.').last,
|
||||
"justification": justification,
|
||||
"type": type,
|
||||
"mode": mode,
|
||||
"subject": subject,
|
||||
"lessonStart": lessonStart.toIso8601String(),
|
||||
"lessonEnd": lessonEnd.toIso8601String(),
|
||||
"lessonIndex": lessonIndex,
|
||||
"group": group,
|
||||
"isSeen": isSeen,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
enum Justification { excused, unexcused, pending }
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:refilc/api/providers/user_provider.dart';
|
||||
import 'package:refilc/api/providers/database_provider.dart';
|
||||
import 'package:refilc/helpers/notification_helper.dart';
|
||||
import 'package:refilc/models/settings.dart';
|
||||
import 'package:refilc/models/user.dart';
|
||||
import 'package:refilc_kreta_api/client/api.dart';
|
||||
@@ -49,7 +50,7 @@ class GradeProvider with ChangeNotifier {
|
||||
String? userId = _user.id;
|
||||
if (userId != null) {
|
||||
final userStore = _database.userStore;
|
||||
userStore.storeLastSeenGrade(DateTime.now(), userId: userId);
|
||||
userStore.storeLastSeen(DateTime.now(), userId: userId, category: LastSeenCategory.grade);
|
||||
_lastSeen = DateTime.now();
|
||||
}
|
||||
}
|
||||
@@ -58,7 +59,7 @@ class GradeProvider with ChangeNotifier {
|
||||
String? userId = _user.id;
|
||||
if (userId != null) {
|
||||
final userStore = _database.userStore;
|
||||
userStore.storeLastSeenGrade(DateTime(1969), userId: userId);
|
||||
userStore.storeLastSeen(DateTime(1969), userId: userId, category: LastSeenCategory.grade);
|
||||
_lastSeen = DateTime(1969);
|
||||
}
|
||||
}
|
||||
@@ -74,7 +75,7 @@ class GradeProvider with ChangeNotifier {
|
||||
await convertBySettings();
|
||||
_groupAvg = await userQuery.getGroupAverages(userId: userId);
|
||||
notifyListeners();
|
||||
DateTime lastSeenDB = await userQuery.lastSeenGrade(userId: userId);
|
||||
DateTime lastSeenDB = await userQuery.lastSeen(userId: userId, category: LastSeenCategory.grade);
|
||||
if (lastSeenDB.millisecondsSinceEpoch == 0 ||
|
||||
lastSeenDB.year == 0 ||
|
||||
!_settings.gradeOpeningFun) {
|
||||
|
||||
Reference in New Issue
Block a user