Skip to content

Commit 6c249e0

Browse files
client: fix authorizations
1 parent bc2c6ad commit 6c249e0

5 files changed

Lines changed: 38 additions & 33 deletions

File tree

school_data_hub_flutter/lib/core/init/init_on_user_auth.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,12 @@ class InitOnUserAuth {
240240
},
241241
);
242242
di.registerSingletonWithDependencies<AuthorizationFilterManager>(
243-
() => AuthorizationFilterManager(),
243+
() {
244+
final authorizationFilterManager = AuthorizationFilterManager();
245+
authorizationFilterManager.init();
246+
_log.info('[AuthorizationFilterManager] initialized ✅️');
247+
return authorizationFilterManager;
248+
},
244249
dependsOn: [AuthorizationManager],
245250
dispose: (instance) {
246251
_log.info('[AuthorizationFilterManager] disposed 🚮');

school_data_hub_flutter/lib/features/authorizations/data/authorization_api_service.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class AuthorizationApiService {
1313
//- getAuthorizations
1414

1515
Future<List<Authorization>?> fetchAuthorizations() async {
16-
final auths = ClientHelper.apiCall(
16+
final auths = await ClientHelper.apiCall(
1717
call: () => _client.authorization.fetchAuthorizations(),
1818
);
1919
return auths;

school_data_hub_flutter/lib/features/authorizations/domain/authorization_manager.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class AuthorizationManager with ChangeNotifier {
2828

2929
AuthorizationManager();
3030

31+
@override
3132
void dispose() {
3233
_authorizations.dispose();
3334
_authorizationsMap.clear();

school_data_hub_flutter/lib/features/authorizations/domain/filters/authorization_filter_manager.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ class AuthorizationFilterManager {
1616
final _filterState = ValueNotifier<bool>(false);
1717

1818
String _currentSearchText = '';
19+
20+
AuthorizationFilterManager init() {
21+
_authorizationManager.authorizations.addListener(_onAuthorizationsChanged);
22+
23+
resetFilters();
24+
return this;
25+
}
26+
1927
void dispose() {
2028
_authorizationManager.authorizations.removeListener(
2129
_onAuthorizationsChanged,
@@ -25,13 +33,6 @@ class AuthorizationFilterManager {
2533
return;
2634
}
2735

28-
AuthorizationFilterManager init() {
29-
_authorizationManager.authorizations.addListener(_onAuthorizationsChanged);
30-
31-
resetFilters();
32-
return this;
33-
}
34-
3536
void _onAuthorizationsChanged() {
3637
// If we have an active filter, reapply it to the new data
3738
if (_filterState.value && _currentSearchText.isNotEmpty) {
@@ -43,7 +44,7 @@ class AuthorizationFilterManager {
4344
}
4445
}
4546

46-
resetFilters() {
47+
void resetFilters() {
4748
_filterState.value = false;
4849
_filteredAuthorizations.value = _authorizationManager.authorizations.value;
4950
_filtersStateManager.setFilterState(
@@ -52,7 +53,7 @@ class AuthorizationFilterManager {
5253
);
5354
}
5455

55-
onSearchText(String text) {
56+
void onSearchText(String text) {
5657
_currentSearchText = text;
5758
if (text.isEmpty) {
5859
_filteredAuthorizations.value =

school_data_hub_flutter/lib/features/authorizations/presentation/authorizations_list_page/authorizations_list_page.dart

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@ class AuthorizationsListPage extends WatchingWidget {
1818

1919
@override
2020
Widget build(BuildContext context) {
21-
final _authorizationManager = di<AuthorizationManager>();
22-
final _pupilsFilter = di<PupilsFilter>();
21+
final authorizationManager = di<AuthorizationManager>();
22+
final pupilsFilter = di<PupilsFilter>();
2323
bool filtersOn = watchValue((FiltersStateManager x) => x.filtersActive);
2424

25-
List<Authorization> authorizations =
26-
watchValue((AuthorizationFilterManager x) => x.filteredAuthorizations);
25+
List<Authorization> authorizations = watchValue(
26+
(AuthorizationFilterManager x) => x.filteredAuthorizations,
27+
);
2728

2829
//- TODO: implement slivers and separate the search bar from the list
2930

@@ -38,31 +39,26 @@ class AuthorizationsListPage extends WatchingWidget {
3839
children: [
3940
Icon(Icons.fact_check_rounded, size: 25, color: Colors.white),
4041
Gap(10),
41-
Text(
42-
'Nachweis-Listen',
43-
style: AppStyles.appBarTextStyle,
44-
),
42+
Text('Nachweis-Listen', style: AppStyles.appBarTextStyle),
4543
],
4644
),
4745
),
4846
body: RefreshIndicator(
49-
onRefresh: () async => _authorizationManager.fetchAuthorizations(),
47+
onRefresh: () async => authorizationManager.fetchAuthorizations(),
5048
child: Center(
5149
child: ConstrainedBox(
5250
constraints: const BoxConstraints(maxWidth: 700),
5351
child: Column(
5452
children: [
5553
Padding(
5654
padding: const EdgeInsets.only(
57-
left: 10.0, top: 15.0, right: 10.00),
55+
left: 10.0,
56+
top: 15.0,
57+
right: 10.00,
58+
),
5859
child: Row(
5960
children: [
60-
const Text(
61-
'Gesamt:',
62-
style: TextStyle(
63-
fontSize: 13,
64-
),
65-
),
61+
const Text('Gesamt:', style: TextStyle(fontSize: 13)),
6662
const Gap(10),
6763
Text(
6864
authorizations.length.toString(),
@@ -81,16 +77,17 @@ class AuthorizationsListPage extends WatchingWidget {
8177
children: [
8278
Expanded(
8379
child: AuthorizationListSearchTextField(
84-
searchType: SearchType.authorization,
85-
hintText: 'Liste suchen',
86-
refreshFunction:
87-
_authorizationManager.fetchAuthorizations),
80+
searchType: SearchType.authorization,
81+
hintText: 'Liste suchen',
82+
refreshFunction:
83+
authorizationManager.fetchAuthorizations,
84+
),
8885
),
8986
//---------------------------------
9087
InkWell(
9188
onTap: () {},
9289

93-
onLongPress: () => _pupilsFilter.resetFilters(),
90+
onLongPress: () => pupilsFilter.resetFilters(),
9491
// onPressed: () => showBottomSheetFilters(context),
9592
child: Padding(
9693
padding: const EdgeInsets.all(10.0),
@@ -119,7 +116,8 @@ class AuthorizationsListPage extends WatchingWidget {
119116
itemCount: authorizations.length,
120117
itemBuilder: (BuildContext context, int index) {
121118
return AuthorizationCard(
122-
authorization: authorizations[index]);
119+
authorization: authorizations[index],
120+
);
123121
},
124122
),
125123
),

0 commit comments

Comments
 (0)