actually finished teacher rename
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import "category.dart";
|
||||
import "subject.dart";
|
||||
import "teacher.dart";
|
||||
|
||||
class Absence {
|
||||
Map? json;
|
||||
@@ -7,7 +8,7 @@ class Absence {
|
||||
DateTime date;
|
||||
int delay;
|
||||
DateTime submitDate;
|
||||
String teacher;
|
||||
Teacher teacher;
|
||||
Justification state;
|
||||
Category? justification;
|
||||
Category? type;
|
||||
@@ -41,8 +42,12 @@ class Absence {
|
||||
DateTime lessonEnd;
|
||||
int? lessonIndex;
|
||||
if (json["Ora"] != null) {
|
||||
lessonStart = json["Ora"]["KezdoDatum"] != null ? DateTime.parse(json["Ora"]["KezdoDatum"]).toLocal() : DateTime(0);
|
||||
lessonEnd = json["Ora"]["VegDatum"] != null ? DateTime.parse(json["Ora"]["VegDatum"]).toLocal() : DateTime(0);
|
||||
lessonStart = json["Ora"]["KezdoDatum"] != null
|
||||
? DateTime.parse(json["Ora"]["KezdoDatum"]).toLocal()
|
||||
: DateTime(0);
|
||||
lessonEnd = json["Ora"]["VegDatum"] != null
|
||||
? DateTime.parse(json["Ora"]["VegDatum"]).toLocal()
|
||||
: DateTime(0);
|
||||
lessonIndex = json["Ora"]["Oraszam"];
|
||||
} else {
|
||||
lessonStart = DateTime(0);
|
||||
@@ -51,26 +56,33 @@ class Absence {
|
||||
|
||||
return Absence(
|
||||
id: json["Uid"],
|
||||
date: json["Datum"] != null ? DateTime.parse(json["Datum"]).toLocal() : DateTime(0),
|
||||
date: json["Datum"] != null
|
||||
? DateTime.parse(json["Datum"]).toLocal()
|
||||
: DateTime(0),
|
||||
delay: json["KesesPercben"] ?? 0,
|
||||
submitDate: json["KeszitesDatuma"] != null ? DateTime.parse(json["KeszitesDatuma"]).toLocal() : DateTime(0),
|
||||
teacher: (json["RogzitoTanarNeve"] ?? "").trim(),
|
||||
submitDate: json["KeszitesDatuma"] != null
|
||||
? DateTime.parse(json["KeszitesDatuma"]).toLocal()
|
||||
: DateTime(0),
|
||||
teacher: Teacher.fromString((json["RogzitoTanarNeve"] ?? "").trim()),
|
||||
state: json["IgazolasAllapota"] == "Igazolt"
|
||||
? Justification.excused
|
||||
: json["IgazolasAllapota"] == "Igazolando"
|
||||
? Justification.pending
|
||||
: Justification.unexcused,
|
||||
justification: json["IgazolasTipusa"] != null ? Category.fromJson(json["IgazolasTipusa"]) : null,
|
||||
justification: json["IgazolasTipusa"] != null
|
||||
? Category.fromJson(json["IgazolasTipusa"])
|
||||
: null,
|
||||
type: json["Tipus"] != null ? Category.fromJson(json["Tipus"]) : null,
|
||||
mode: json["Mod"] != null ? Category.fromJson(json["Mod"]) : null,
|
||||
subject: Subject.fromJson(json["Tantargy"] ?? {}),
|
||||
lessonStart: lessonStart,
|
||||
lessonEnd: lessonEnd,
|
||||
lessonIndex: lessonIndex,
|
||||
group: json["OsztalyCsoport"] != null ? json["OsztalyCsoport"]["Uid"] : "",
|
||||
group:
|
||||
json["OsztalyCsoport"] != null ? json["OsztalyCsoport"]["Uid"] : "",
|
||||
json: json,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
enum Justification { excused, unexcused, pending }
|
||||
enum Justification { excused, unexcused, pending }
|
||||
|
||||
@@ -27,7 +27,10 @@ class AbsenceProvider with ChangeNotifier {
|
||||
|
||||
// Load absences from the database
|
||||
if (userId != null) {
|
||||
var dbAbsences = await Provider.of<DatabaseProvider>(_context, listen: false).userQuery.getAbsences(userId: userId);
|
||||
var dbAbsences =
|
||||
await Provider.of<DatabaseProvider>(_context, listen: false)
|
||||
.userQuery
|
||||
.getAbsences(userId: userId);
|
||||
_absences = dbAbsences;
|
||||
await convertBySettings();
|
||||
}
|
||||
@@ -36,12 +39,26 @@ class AbsenceProvider with ChangeNotifier {
|
||||
// for renamed subjects
|
||||
Future<void> convertBySettings() async {
|
||||
final _database = Provider.of<DatabaseProvider>(_context, listen: false);
|
||||
Map<String, String> renamedSubjects = (await _database.query.getSettings(_database)).renamedSubjectsEnabled
|
||||
? await _database.userQuery.renamedSubjects(userId: Provider.of<UserProvider>(_context, listen: false).user!.id)
|
||||
: {};
|
||||
Map<String, String> renamedSubjects =
|
||||
(await _database.query.getSettings(_database)).renamedSubjectsEnabled
|
||||
? await _database.userQuery.renamedSubjects(
|
||||
userId:
|
||||
Provider.of<UserProvider>(_context, listen: false).user!.id)
|
||||
: {};
|
||||
Map<String, String> renamedTeachers =
|
||||
(await _database.query.getSettings(_database)).renamedTeachersEnabled
|
||||
? await _database.userQuery.renamedTeachers(
|
||||
userId:
|
||||
Provider.of<UserProvider>(_context, listen: false).user!.id)
|
||||
: {};
|
||||
|
||||
for (Absence absence in _absences) {
|
||||
absence.subject.renamedTo = renamedSubjects.isNotEmpty ? renamedSubjects[absence.subject.id] : null;
|
||||
absence.subject.renamedTo = renamedSubjects.isNotEmpty
|
||||
? renamedSubjects[absence.subject.id]
|
||||
: null;
|
||||
absence.teacher.renamedTo = renamedTeachers.isNotEmpty
|
||||
? renamedTeachers[absence.teacher.id]
|
||||
: null;
|
||||
}
|
||||
|
||||
notifyListeners();
|
||||
@@ -53,9 +70,11 @@ class AbsenceProvider with ChangeNotifier {
|
||||
if (user == null) throw "Cannot fetch Absences for User null";
|
||||
String iss = user.instituteCode;
|
||||
|
||||
List? absencesJson = await Provider.of<KretaClient>(_context, listen: false).getAPI(KretaAPI.absences(iss));
|
||||
List? absencesJson = await Provider.of<KretaClient>(_context, listen: false)
|
||||
.getAPI(KretaAPI.absences(iss));
|
||||
if (absencesJson == null) throw "Cannot fetch Absences for User ${user.id}";
|
||||
List<Absence> absences = absencesJson.map((e) => Absence.fromJson(e)).toList();
|
||||
List<Absence> absences =
|
||||
absencesJson.map((e) => Absence.fromJson(e)).toList();
|
||||
|
||||
if (absences.isNotEmpty || _absences.isNotEmpty) await store(absences);
|
||||
}
|
||||
@@ -66,7 +85,9 @@ class AbsenceProvider with ChangeNotifier {
|
||||
if (user == null) throw "Cannot store Absences for User null";
|
||||
String userId = user.id;
|
||||
|
||||
await Provider.of<DatabaseProvider>(_context, listen: false).userStore.storeAbsences(absences, userId: userId);
|
||||
await Provider.of<DatabaseProvider>(_context, listen: false)
|
||||
.userStore
|
||||
.storeAbsences(absences, userId: userId);
|
||||
_absences = absences;
|
||||
await convertBySettings();
|
||||
}
|
||||
|
||||
@@ -83,10 +83,15 @@ class GradeProvider with ChangeNotifier {
|
||||
Map<String, String> renamedSubjects = _settings.renamedSubjectsEnabled
|
||||
? await _database.userQuery.renamedSubjects(userId: _user.user!.id)
|
||||
: {};
|
||||
Map<String, String> renamedTeachers = _settings.renamedTeachersEnabled
|
||||
? await _database.userQuery.renamedTeachers(userId: _user.user!.id)
|
||||
: {};
|
||||
|
||||
for (Grade grade in _grades) {
|
||||
grade.subject.renamedTo =
|
||||
renamedSubjects.isNotEmpty ? renamedSubjects[grade.subject.id] : null;
|
||||
grade.teacher.renamedTo =
|
||||
renamedTeachers.isNotEmpty ? renamedTeachers[grade.teacher.id] : null;
|
||||
|
||||
grade.value.value =
|
||||
_settings.goodStudent ? 5 : grade.json!["SzamErtek"] ?? 0;
|
||||
|
||||
@@ -48,11 +48,18 @@ class HomeworkProvider with ChangeNotifier {
|
||||
(await _database.query.getSettings(_database)).renamedSubjectsEnabled
|
||||
? await _database.userQuery.renamedSubjects(userId: _user.id!)
|
||||
: {};
|
||||
Map<String, String> renamedTeachers =
|
||||
(await _database.query.getSettings(_database)).renamedTeachersEnabled
|
||||
? await _database.userQuery.renamedTeachers(userId: _user.id!)
|
||||
: {};
|
||||
|
||||
for (Homework homework in _homework) {
|
||||
homework.subject.renamedTo = renamedSubjects.isNotEmpty
|
||||
? renamedSubjects[homework.subject.id]
|
||||
: null;
|
||||
homework.teacher.renamedTo = renamedTeachers.isNotEmpty
|
||||
? renamedTeachers[homework.teacher.id]
|
||||
: null;
|
||||
}
|
||||
|
||||
notifyListeners();
|
||||
|
||||
@@ -40,11 +40,18 @@ class TimetableProvider with ChangeNotifier {
|
||||
(await _database.query.getSettings(_database)).renamedSubjectsEnabled
|
||||
? await _database.userQuery.renamedSubjects(userId: _user.id!)
|
||||
: {};
|
||||
Map<String, String> renamedTeachers =
|
||||
(await _database.query.getSettings(_database)).renamedTeachersEnabled
|
||||
? await _database.userQuery.renamedTeachers(userId: _user.id!)
|
||||
: {};
|
||||
|
||||
for (Lesson lesson in _lessons.values.expand((e) => e)) {
|
||||
lesson.subject.renamedTo = renamedSubjects.isNotEmpty
|
||||
? renamedSubjects[lesson.subject.id]
|
||||
: null;
|
||||
lesson.teacher.renamedTo = renamedTeachers.isNotEmpty
|
||||
? renamedTeachers[lesson.teacher.id]
|
||||
: null;
|
||||
}
|
||||
|
||||
notifyListeners();
|
||||
|
||||
Reference in New Issue
Block a user