diff --git a/lib/data/models/document_model.dart b/lib/data/models/document_model.dart index bf452cbe3..22f7ac3c0 100644 --- a/lib/data/models/document_model.dart +++ b/lib/data/models/document_model.dart @@ -60,8 +60,8 @@ class DocumentFields { static const String height = 'height'; static const String hash = 'hash'; static const String linkedTo = 'linked_to'; - static const String isPublic = 'is_public'; - static const String isPrivate = 'is_private'; + static const String isPublic = 'public'; + static const String isPrivate = 'private'; } abstract class DocumentEntity extends Object diff --git a/lib/ui/app/document_grid.dart b/lib/ui/app/document_grid.dart index b607d913e..0114baf43 100644 --- a/lib/ui/app/document_grid.dart +++ b/lib/ui/app/document_grid.dart @@ -309,9 +309,19 @@ class DocumentTile extends StatelessWidget { ? () => handleDocumentAction( context, [document], EntityAction.viewDocument) : null, - child: DocumentPreview( - document, - height: 110, + child: Stack( + alignment: Alignment.topLeft, + children: [ + DocumentPreview( + document, + height: 110, + ), + if (!document.isPublic) + Padding( + padding: const EdgeInsets.all(8.0), + child: Icon(Icons.lock), + ), + ], ), ), Padding( diff --git a/lib/ui/document/document_presenter.dart b/lib/ui/document/document_presenter.dart index 214ce7d6a..2b53a49e1 100644 --- a/lib/ui/document/document_presenter.dart +++ b/lib/ui/document/document_presenter.dart @@ -8,6 +8,7 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/ui/app/link_text.dart'; import 'package:invoiceninja_flutter/ui/app/presenters/entity_presenter.dart'; import 'package:invoiceninja_flutter/utils/formatting.dart'; +import 'package:invoiceninja_flutter/utils/localization.dart'; class DocumentPresenter extends EntityPresenter { static List getDefaultTableFields(UserCompanyEntity userCompany) { @@ -17,6 +18,7 @@ class DocumentPresenter extends EntityPresenter { DocumentFields.size, DocumentFields.width, DocumentFields.height, + DocumentFields.isPrivate, DocumentFields.createdAt, ]; } @@ -34,6 +36,7 @@ class DocumentPresenter extends EntityPresenter { Widget getField({String field, BuildContext context}) { final store = StoreProvider.of(context); final state = store.state; + final localization = AppLocalization.of(context); final document = entity as DocumentEntity; switch (field) { @@ -59,6 +62,8 @@ class DocumentPresenter extends EntityPresenter { final parentEntity = state.getEntity(document.parentType, document.parentId); return LinkTextRelatedEntity(entity: parentEntity, relation: document); + case DocumentFields.isPrivate: + return Text(document.isPublic ? localization.no : localization.yes); } return super.getField(field: field, context: context);