Settings
This commit is contained in:
parent
c0a55672ca
commit
074f71e2a1
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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: [
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue