mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-15 00:12:22 -06:00
fix: Add custom fields, translations, add app logs to login routes
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_mobile/core/notifier/document_changed_notifier.dart';
|
||||
import 'package:paperless_mobile/core/repository/label_repository.dart';
|
||||
import 'package:paperless_mobile/core/service/connectivity_status_service.dart';
|
||||
import 'package:paperless_mobile/features/logging/data/logger.dart';
|
||||
import 'package:paperless_mobile/features/paged_document_view/cubit/document_paging_bloc_mixin.dart';
|
||||
import 'package:paperless_mobile/features/paged_document_view/cubit/paged_documents_state.dart';
|
||||
|
||||
@@ -17,15 +18,12 @@ class SimilarDocumentsCubit extends Cubit<SimilarDocumentsState>
|
||||
@override
|
||||
final PaperlessDocumentsApi api;
|
||||
|
||||
final LabelRepository _labelRepository;
|
||||
|
||||
@override
|
||||
final DocumentChangedNotifier notifier;
|
||||
|
||||
SimilarDocumentsCubit(
|
||||
this.api,
|
||||
this.notifier,
|
||||
this._labelRepository,
|
||||
this.connectivityStatusService, {
|
||||
required this.documentId,
|
||||
}) : super(const SimilarDocumentsState(filter: DocumentFilter())) {
|
||||
@@ -39,19 +37,30 @@ class SimilarDocumentsCubit extends Cubit<SimilarDocumentsState>
|
||||
@override
|
||||
Future<void> initialize() async {
|
||||
if (!state.hasLoaded) {
|
||||
await updateFilter(
|
||||
filter: state.filter.copyWith(
|
||||
moreLike: () => documentId,
|
||||
sortField: SortField.score,
|
||||
),
|
||||
);
|
||||
try {
|
||||
await updateFilter(
|
||||
filter: state.filter.copyWith(
|
||||
moreLike: () => documentId,
|
||||
sortField: SortField.score,
|
||||
),
|
||||
);
|
||||
emit(state.copyWith(error: null));
|
||||
} on PaperlessApiException catch (e, stackTrace) {
|
||||
logger.fe(
|
||||
"An error occurred while loading similar documents for document $documentId",
|
||||
className: "SimilarDocumentsCubit",
|
||||
methodName: "initialize",
|
||||
error: e.details,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
emit(state.copyWith(error: e.code));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> close() {
|
||||
notifier.removeListener(this);
|
||||
_labelRepository.removeListener(this);
|
||||
return super.close();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
part of 'similar_documents_cubit.dart';
|
||||
|
||||
class SimilarDocumentsState extends DocumentPagingState {
|
||||
final ErrorCode? error;
|
||||
const SimilarDocumentsState({
|
||||
required super.filter,
|
||||
super.hasLoaded,
|
||||
super.isLoading,
|
||||
super.value,
|
||||
this.error,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object> get props => [
|
||||
List<Object?> get props => [
|
||||
filter,
|
||||
hasLoaded,
|
||||
isLoading,
|
||||
value,
|
||||
error,
|
||||
];
|
||||
|
||||
@override
|
||||
@@ -36,12 +39,14 @@ class SimilarDocumentsState extends DocumentPagingState {
|
||||
bool? isLoading,
|
||||
List<PagedSearchResult<DocumentModel>>? value,
|
||||
DocumentFilter? filter,
|
||||
ErrorCode? error,
|
||||
}) {
|
||||
return SimilarDocumentsState(
|
||||
hasLoaded: hasLoaded ?? this.hasLoaded,
|
||||
isLoading: isLoading ?? this.isLoading,
|
||||
value: value ?? this.value,
|
||||
filter: filter ?? this.filter,
|
||||
error: error,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_mobile/core/bloc/connectivity_cubit.dart';
|
||||
import 'package:paperless_mobile/core/extensions/document_extensions.dart';
|
||||
import 'package:paperless_mobile/core/extensions/flutter_extensions.dart';
|
||||
import 'package:paperless_mobile/core/translation/error_code_localization_mapper.dart';
|
||||
import 'package:paperless_mobile/core/widgets/offline_widget.dart';
|
||||
import 'package:paperless_mobile/features/documents/view/widgets/adaptive_documents_view.dart';
|
||||
import 'package:paperless_mobile/features/paged_document_view/view/document_paging_view_mixin.dart';
|
||||
@@ -49,6 +51,16 @@ class _SimilarDocumentsViewState extends State<SimilarDocumentsView>
|
||||
child: OfflineWidget(),
|
||||
);
|
||||
}
|
||||
if (state.error != null) {
|
||||
return SliverFillRemaining(
|
||||
child: Center(
|
||||
child: Text(
|
||||
translateError(context, state.error!),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
).padded(),
|
||||
);
|
||||
}
|
||||
if (state.hasLoaded &&
|
||||
!state.isLoading &&
|
||||
state.documents.isEmpty) {
|
||||
|
||||
Reference in New Issue
Block a user