Documents

This commit is contained in:
Hillel Coren 2023-08-14 17:34:34 +03:00
parent 32a806f8f6
commit 38f371d845
3 changed files with 20 additions and 5 deletions

View File

@ -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

View File

@ -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(

View File

@ -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<String> 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<AppState>(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);