Documents

This commit is contained in:
Hillel Coren 2023-08-10 19:42:18 +03:00
parent ef6820719c
commit c3e8226c49
6 changed files with 29 additions and 7 deletions

View File

@ -301,20 +301,26 @@ abstract class DocumentEntity extends Object
if (includeEdit && userCompany.canEditEntity(this)) {
actions.add(EntityAction.edit);
}
if (userCompany.canCreate(EntityType.invoice)) {
actions.add(EntityAction.newInvoice);
}
}
if (!isDeleted && multiselect) {
actions.add(EntityAction.documents);
actions.add(EntityAction.viewDocument);
if (!isDeleted) {
if (multiselect) {
actions.add(EntityAction.bulkDownload);
} else {
actions.add(EntityAction.download);
}
}
if (actions.isNotEmpty && actions.last != null) {
actions.add(null);
}
if (userCompany.canEditEntity(this)) {
actions.add(EntityAction.delete);
}
//return actions..addAll(super.getActions(userCompany: userCompany));
return actions;

View File

@ -97,6 +97,7 @@ class EntityAction extends EnumClass {
static const EntityAction refundPayment = _$refundPayment;
static const EntityAction viewPdf = _$viewPdf;
static const EntityAction viewStatement = _$viewStatement;
static const EntityAction viewDocument = _$viewDocument;
static const EntityAction more = _$more;
static const EntityAction printPdf = _$printPdf;
static const EntityAction start = _$start;
@ -139,6 +140,8 @@ class EntityAction extends EnumClass {
String toString() {
if (this == EntityAction.addToInvoice) {
return 'action_add_to_invoice';
} else if (this == EntityAction.viewDocument) {
return 'view';
}
return toSnakeCase(super.toString());

View File

@ -57,6 +57,7 @@ const EntityAction _$settings = const EntityAction._('settings');
const EntityAction _$refundPayment = const EntityAction._('refundPayment');
const EntityAction _$viewPdf = const EntityAction._('viewPdf');
const EntityAction _$viewStatement = const EntityAction._('viewStatement');
const EntityAction _$viewDocument = const EntityAction._('viewDocument');
const EntityAction _$more = const EntityAction._('more');
const EntityAction _$printPdf = const EntityAction._('printPdf');
const EntityAction _$start = const EntityAction._('start');
@ -192,6 +193,8 @@ EntityAction _$valueOf(String name) {
return _$viewPdf;
case 'viewStatement':
return _$viewStatement;
case 'viewDocument':
return _$viewDocument;
case 'more':
return _$more;
case 'printPdf':
@ -318,6 +321,7 @@ final BuiltSet<EntityAction> _$values =
_$refundPayment,
_$viewPdf,
_$viewStatement,
_$viewDocument,
_$more,
_$printPdf,
_$start,

View File

@ -352,7 +352,7 @@ void handleDocumentAction(
entities: [document],
);
break;
case EntityAction.documents:
case EntityAction.bulkDownload:
store.dispatch(
DownloadDocumentsRequest(
documentIds: documentIds,

View File

@ -1,5 +1,7 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/data/models/models.dart';
import 'package:invoiceninja_flutter/ui/app/buttons/bottom_buttons.dart';
import 'package:invoiceninja_flutter/ui/app/entities/entity_list_tile.dart';
import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart';
@ -59,6 +61,11 @@ class _DocumentViewState extends State<DocumentView> {
canDebug: false,
),
),
BottomButtons(
entity: document,
action1: EntityAction.viewDocument,
action2: EntityAction.download,
),
],
),
);

View File

@ -17,6 +17,8 @@ IconData getEntityActionIcon(EntityAction entityAction) {
case EntityAction.viewPdf:
case EntityAction.bulkDownload:
return Icons.picture_as_pdf;
case EntityAction.viewDocument:
return Icons.photo;
case EntityAction.bulkPrint:
case EntityAction.printPdf:
return Icons.print;