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)) { if (includeEdit && userCompany.canEditEntity(this)) {
actions.add(EntityAction.edit); actions.add(EntityAction.edit);
} }
if (userCompany.canCreate(EntityType.invoice)) {
actions.add(EntityAction.newInvoice);
}
} }
if (!isDeleted && multiselect) { actions.add(EntityAction.viewDocument);
actions.add(EntityAction.documents);
if (!isDeleted) {
if (multiselect) {
actions.add(EntityAction.bulkDownload);
} else {
actions.add(EntityAction.download);
}
} }
if (actions.isNotEmpty && actions.last != null) { if (actions.isNotEmpty && actions.last != null) {
actions.add(null); actions.add(null);
} }
if (userCompany.canEditEntity(this)) {
actions.add(EntityAction.delete);
}
//return actions..addAll(super.getActions(userCompany: userCompany)); //return actions..addAll(super.getActions(userCompany: userCompany));
return actions; return actions;

View File

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

View File

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

View File

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

View File

@ -1,5 +1,7 @@
// Flutter imports: // Flutter imports:
import 'package:flutter/material.dart'; 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/entities/entity_list_tile.dart';
import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart'; import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart';
@ -59,6 +61,11 @@ class _DocumentViewState extends State<DocumentView> {
canDebug: false, 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.viewPdf:
case EntityAction.bulkDownload: case EntityAction.bulkDownload:
return Icons.picture_as_pdf; return Icons.picture_as_pdf;
case EntityAction.viewDocument:
return Icons.photo;
case EntityAction.bulkPrint: case EntityAction.bulkPrint:
case EntityAction.printPdf: case EntityAction.printPdf:
return Icons.print; return Icons.print;