mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-09 14:08:00 -06:00
Added fastlane, updated instructions on generating files
This commit is contained in:
@@ -47,7 +47,7 @@ class _AddSavedViewPageState extends State<AddSavedViewPage> {
|
||||
children: [
|
||||
FormBuilderTextField(
|
||||
name: fkName,
|
||||
validator: FormBuilderValidators.required(), //TODO: INTL
|
||||
validator: FormBuilderValidators.required(),
|
||||
decoration: InputDecoration(
|
||||
label: Text(S.of(context).savedViewNameLabel),
|
||||
),
|
||||
|
||||
@@ -2,15 +2,12 @@ import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_form_builder/flutter_form_builder.dart';
|
||||
import 'package:paperless_mobile/core/logic/error_code_localization_mapper.dart';
|
||||
import 'package:paperless_mobile/core/model/error_message.dart';
|
||||
import 'package:form_builder_validators/form_builder_validators.dart';
|
||||
import 'package:paperless_mobile/core/type/types.dart';
|
||||
import 'package:paperless_mobile/extensions/flutter_extensions.dart';
|
||||
import 'package:paperless_mobile/features/labels/document_type/model/matching_algorithm.dart';
|
||||
import 'package:paperless_mobile/features/labels/model/label.model.dart';
|
||||
import 'package:paperless_mobile/generated/l10n.dart';
|
||||
import 'package:paperless_mobile/util.dart';
|
||||
import 'package:form_builder_validators/form_builder_validators.dart';
|
||||
|
||||
class EditLabelPage<T extends Label> extends StatefulWidget {
|
||||
final T label;
|
||||
@@ -45,7 +42,7 @@ class _EditLabelPageState<T extends Label> extends State<EditLabelPage<T>> {
|
||||
title: Text(S.of(context).genericActionEditLabel),
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () => widget.onDelete(widget.label),
|
||||
onPressed: _onDelete,
|
||||
icon: const Icon(Icons.delete),
|
||||
),
|
||||
],
|
||||
@@ -108,6 +105,34 @@ class _EditLabelPageState<T extends Label> extends State<EditLabelPage<T>> {
|
||||
);
|
||||
}
|
||||
|
||||
void _onDelete() {
|
||||
if ((widget.label.documentCount ?? 0) > 0) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
title: Text(S.of(context).editLabelPageConfirmDeletionDialogTitle),
|
||||
content: Text(
|
||||
S.of(context).editLabelPageDeletionDialogText,
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(context),
|
||||
child: Text(S.of(context).genericActionCancelLabel),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
widget.onDelete(widget.label);
|
||||
},
|
||||
child: Text(S.of(context).genericActionDeleteLabel)),
|
||||
],
|
||||
),
|
||||
);
|
||||
} else {
|
||||
widget.onDelete(widget.label);
|
||||
}
|
||||
}
|
||||
|
||||
void _onSubmit() async {
|
||||
if (_formKey.currentState?.saveAndValidate() ?? false) {
|
||||
try {
|
||||
|
||||
@@ -179,5 +179,7 @@
|
||||
"labelsPageTagsEmptyStateDescriptionText": "Es wurden noch keine Tags angelegt.",
|
||||
"labelsPageStoragePathEmptyStateAddNewLabel": "Erstelle neuen Speicherpfad",
|
||||
"labelsPageStoragePathEmptyStateDescriptionText": "Es wurden noch keine Speicherpfade angelegt.",
|
||||
"referencedDocumentsReadOnlyHintText": "Dies ist eine schreibgeschützte Ansicht! Dokumente können nicht bearbeitet oder entfernt werden."
|
||||
"referencedDocumentsReadOnlyHintText": "Dies ist eine schreibgeschützte Ansicht! Dokumente können nicht bearbeitet oder entfernt werden.",
|
||||
"editLabelPageConfirmDeletionDialogTitle": "Löschen bestätigen",
|
||||
"editLabelPageDeletionDialogText": "Dieser Kennzeichner wird von Dokumenten referenziert. Durch das Löschen dieses Kennzeichners werden alle Referenzen entfernt. Fortfahren?"
|
||||
}
|
||||
@@ -76,7 +76,7 @@
|
||||
"errorMessageScanRemoveFailed": "An error occurred removing the scans.",
|
||||
"errorMessageInvalidClientCertificateConfiguration": "Invalid certificate or missing passphrase, please try again",
|
||||
"errorMessageDocumentLoadFailed": "Could not load documents, please try again.",
|
||||
"documentsPageSelectionBulkDeleteDialogTitle": "Confirm Deletion",
|
||||
"documentsPageSelectionBulkDeleteDialogTitle": "Confirm deletion",
|
||||
"documentsPageSelectionBulkDeleteDialogWarningTextOne": "Are you sure you want to delete the following document?",
|
||||
"documentsPageSelectionBulkDeleteDialogWarningTextMany": "Are you sure you want to delete the following documents?",
|
||||
"documentsPageSelectionBulkDeleteDialogContinueText": "This action is irreversible. Do you wish to proceed anyway?",
|
||||
@@ -180,5 +180,7 @@
|
||||
"labelsPageTagsEmptyStateDescriptionText": "You don't seem to have any tags set up.",
|
||||
"labelsPageStoragePathEmptyStateAddNewLabel": "Add new storage path",
|
||||
"labelsPageStoragePathEmptyStateDescriptionText": "You don't seem to have any storage paths set up.",
|
||||
"referencedDocumentsReadOnlyHintText": "This is a read-only view! You cannot edit or remove documents."
|
||||
"referencedDocumentsReadOnlyHintText": "This is a read-only view! You cannot edit or remove documents.",
|
||||
"editLabelPageConfirmDeletionDialogTitle": "Confirm deletion",
|
||||
"editLabelPageDeletionDialogText": "This label contains references to other documents. By deleting this label, all references will be removed. Continue?"
|
||||
}
|
||||
@@ -104,9 +104,9 @@ class _MyAppState extends State<MyApp> {
|
||||
languageCode: settings.preferredLocaleSubtag),
|
||||
localizationsDelegates: const [
|
||||
S.delegate,
|
||||
FormBuilderLocalizations.delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
FormBuilderLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
],
|
||||
home: const AuthenticationWrapper(),
|
||||
|
||||
Reference in New Issue
Block a user