This commit is contained in:
Hillel Coren 2019-10-06 19:13:57 +03:00
parent c0a55672ca
commit 074f71e2a1
4 changed files with 37 additions and 33 deletions

View File

@ -162,7 +162,9 @@ abstract class BaseEntity implements SelectableEntity {
bool includeEdit = false}) { bool includeEdit = false}) {
final actions = <EntityAction>[]; final actions = <EntityAction>[];
if (userCompany.canEditEntity(this) && (isArchived || isDeleted)) { // TODO remove ?? check
if (userCompany.canEditEntity(this) &&
(isArchived || (isDeleted ?? false))) {
actions.add(EntityAction.restore); actions.add(EntityAction.restore);
} }

View File

@ -130,7 +130,8 @@ abstract class GroupEntity extends Object
bool includeEdit = false}) { bool includeEdit = false}) {
final actions = <EntityAction>[]; final actions = <EntityAction>[];
if (!isDeleted) { // TODO remove ??
if (!(isDeleted ?? false)) {
if (includeEdit && userCompany.canEditEntity(this)) { if (includeEdit && userCompany.canEditEntity(this)) {
actions.add(EntityAction.edit); actions.add(EntityAction.edit);
} }

View File

@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart'; import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
import 'package:invoiceninja_flutter/ui/app/buttons/edit_icon_button.dart';
import 'package:invoiceninja_flutter/ui/group/view/group_view_vm.dart'; import 'package:invoiceninja_flutter/ui/group/view/group_view_vm.dart';
import 'package:invoiceninja_flutter/ui/app/form_card.dart'; import 'package:invoiceninja_flutter/ui/app/form_card.dart';
import 'package:invoiceninja_flutter/ui/app/entities/entity_state_title.dart'; import 'package:invoiceninja_flutter/ui/app/entities/entity_state_title.dart';
@ -21,25 +22,25 @@ class _GroupViewState extends State<GroupView> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final viewModel = widget.viewModel; final viewModel = widget.viewModel;
final userCompany = viewModel.state.userCompany;
final group = viewModel.group; final group = viewModel.group;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: EntityStateTitle(entity: group), title: EntityStateTitle(entity: group),
actions: group.isNew actions: [
? [] userCompany.canEditEntity(group)
: [ ? EditIconButton(
IconButton( isVisible: !(group.isDeleted ?? false), // TODO remove this
icon: Icon(Icons.edit), onPressed: () => viewModel.onEditPressed(context),
onPressed: () { )
viewModel.onEditPressed(context); : Container(),
},
),
ActionMenuButton( ActionMenuButton(
entityActions: group.getActions(userCompany: userCompany),
isSaving: viewModel.isSaving, isSaving: viewModel.isSaving,
entity: group, entity: group,
onSelected: viewModel.onEntityAction, onSelected: viewModel.onEntityAction,
), )
], ],
), ),
body: FormCard(children: [ body: FormCard(children: [

View File

@ -1,5 +1,6 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/ui/app/buttons/edit_icon_button.dart';
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart'; import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
import 'package:invoiceninja_flutter/ui/stub/view/stub_view_vm.dart'; import 'package:invoiceninja_flutter/ui/stub/view/stub_view_vm.dart';
import 'package:invoiceninja_flutter/ui/app/form_card.dart'; import 'package:invoiceninja_flutter/ui/app/form_card.dart';
@ -22,26 +23,25 @@ class _StubViewState extends State<StubView> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final viewModel = widget.viewModel; final viewModel = widget.viewModel;
final userCompany = viewModel.state.userCompany;
final stub = viewModel.stub; final stub = viewModel.stub;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: EntityStateTitle(entity: stub), title: EntityStateTitle(entity: stub),
actions: stub.isNew actions: [
? [] userCompany.canEditEntity(stub)
: [ ? EditIconButton(
IconButton( isVisible: !stub.isDeleted,
icon: Icon(Icons.edit), onPressed: () => viewModel.onEditPressed(context),
onPressed: () { )
viewModel.onEditPressed(context); : Container(),
},
),
ActionMenuButton( ActionMenuButton(
user: viewModel.company.user, entityActions: stub.getActions(userCompany: userCompany),
isSaving: viewModel.isSaving, isSaving: viewModel.isSaving,
entity: stub, entity: stub,
onSelected: viewModel.onEntityAction, onSelected: viewModel.onEntityAction,
), )
], ],
), ),
body: FormCard( body: FormCard(