This commit is contained in:
Hillel Coren 2019-11-20 21:53:33 +02:00
parent 1b9f66d162
commit 701a93fc1d
22 changed files with 169 additions and 110 deletions

View File

@ -93,7 +93,7 @@ class AuthRepository {
{String url, dynamic data, String token, String secret}) async { {String url, dynamic data, String token, String secret}) async {
final includes = [ final includes = [
'account', 'account',
'user', 'user.company_user',
'token', 'token',
'company.users.company_user', 'company.users.company_user',
'company.tax_rates', 'company.tax_rates',

View File

@ -382,7 +382,7 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
@override @override
String toString() { String toString() {
//return 'Custom fields [UI]: ${uiState.settingsUIState.userCompany.company.customFields}, [DB] ${selectedCompany.customFields}'; //return 'Custom fields [UI]: ${uiState.settingsUIState.company.customFields}, [DB] ${selectedCompany.customFields}';
//return 'Permissions: ${uiState.userUIState.editing.userCompany.permissions}'; //return 'Permissions: ${uiState.userUIState.editing.userCompany.permissions}';
//return 'Layout: ${uiState.layout}, menu: ${uiState.menuSidebarMode}, history: ${uiState.historySidebarMode}'; //return 'Layout: ${uiState.layout}, menu: ${uiState.menuSidebarMode}, history: ${uiState.historySidebarMode}';
//return 'Sidebars - isMenuVisible: ${uiState.isMenuVisible}, isHistoryVisible: ${uiState.isHistoryVisible}'; //return 'Sidebars - isMenuVisible: ${uiState.isMenuVisible}, isHistoryVisible: ${uiState.isHistoryVisible}';

View File

@ -107,23 +107,27 @@ abstract class UserCompanyState
abstract class SettingsUIState extends Object abstract class SettingsUIState extends Object
implements Built<SettingsUIState, SettingsUIStateBuilder> { implements Built<SettingsUIState, SettingsUIStateBuilder> {
factory SettingsUIState( factory SettingsUIState(
{UserCompanyEntity userCompany, {CompanyEntity company,
ClientEntity client, ClientEntity client,
GroupEntity group, GroupEntity group,
UserCompanyEntity origUserCompany, UserEntity user,
CompanyEntity origCompany,
ClientEntity origClient, ClientEntity origClient,
GroupEntity origGroup, GroupEntity origGroup,
UserEntity origUser,
String section}) { String section}) {
return _$SettingsUIState._( return _$SettingsUIState._(
userCompany: userCompany ?? UserCompanyEntity(), company: company ?? CompanyEntity(),
client: client ?? ClientEntity(), client: client ?? ClientEntity(),
group: group ?? GroupEntity(), group: group ?? GroupEntity(),
user: user ?? UserEntity(),
entityType: client != null entityType: client != null
? EntityType.client ? EntityType.client
: group != null ? EntityType.group : EntityType.company, : group != null ? EntityType.group : EntityType.company,
origClient: origClient ?? ClientEntity(), origClient: origClient ?? ClientEntity(),
origGroup: origGroup ?? GroupEntity(), origGroup: origGroup ?? GroupEntity(),
origUserCompany: origUserCompany ?? UserCompanyEntity(), origCompany: origCompany ?? CompanyEntity(),
origUser: origUser ?? UserEntity(),
isChanged: false, isChanged: false,
updatedAt: 0, updatedAt: 0,
filterClearedAt: 0, filterClearedAt: 0,
@ -133,9 +137,9 @@ abstract class SettingsUIState extends Object
SettingsUIState._(); SettingsUIState._();
UserCompanyEntity get userCompany; CompanyEntity get company;
UserCompanyEntity get origUserCompany; CompanyEntity get origCompany;
ClientEntity get client; ClientEntity get client;
@ -145,6 +149,10 @@ abstract class SettingsUIState extends Object
GroupEntity get origGroup; GroupEntity get origGroup;
UserEntity get user;
UserEntity get origUser;
EntityType get entityType; EntityType get entityType;
bool get isChanged; bool get isChanged;
@ -162,12 +170,11 @@ abstract class SettingsUIState extends Object
SettingsEntity get settings { SettingsEntity get settings {
if (entityType == EntityType.client && client != null) { if (entityType == EntityType.client && client != null) {
return userCompany return company.settings; // TODO fix this, change to client.settings
.company.settings; // TODO fix this, change to client.settings
} else if (entityType == EntityType.group && group != null) { } else if (entityType == EntityType.group && group != null) {
return group.settings; return group.settings;
} else { } else {
return userCompany.company.settings; return company.settings;
} }
} }

View File

@ -173,12 +173,12 @@ class _$SettingsUIStateSerializer
Iterable<Object> serialize(Serializers serializers, SettingsUIState object, Iterable<Object> serialize(Serializers serializers, SettingsUIState object,
{FullType specifiedType = FullType.unspecified}) { {FullType specifiedType = FullType.unspecified}) {
final result = <Object>[ final result = <Object>[
'userCompany', 'company',
serializers.serialize(object.userCompany, serializers.serialize(object.company,
specifiedType: const FullType(UserCompanyEntity)), specifiedType: const FullType(CompanyEntity)),
'origUserCompany', 'origCompany',
serializers.serialize(object.origUserCompany, serializers.serialize(object.origCompany,
specifiedType: const FullType(UserCompanyEntity)), specifiedType: const FullType(CompanyEntity)),
'client', 'client',
serializers.serialize(object.client, serializers.serialize(object.client,
specifiedType: const FullType(ClientEntity)), specifiedType: const FullType(ClientEntity)),
@ -191,6 +191,12 @@ class _$SettingsUIStateSerializer
'origGroup', 'origGroup',
serializers.serialize(object.origGroup, serializers.serialize(object.origGroup,
specifiedType: const FullType(GroupEntity)), specifiedType: const FullType(GroupEntity)),
'user',
serializers.serialize(object.user,
specifiedType: const FullType(UserEntity)),
'origUser',
serializers.serialize(object.origUser,
specifiedType: const FullType(UserEntity)),
'entityType', 'entityType',
serializers.serialize(object.entityType, serializers.serialize(object.entityType,
specifiedType: const FullType(EntityType)), specifiedType: const FullType(EntityType)),
@ -228,15 +234,13 @@ class _$SettingsUIStateSerializer
iterator.moveNext(); iterator.moveNext();
final dynamic value = iterator.current; final dynamic value = iterator.current;
switch (key) { switch (key) {
case 'userCompany': case 'company':
result.userCompany.replace(serializers.deserialize(value, result.company.replace(serializers.deserialize(value,
specifiedType: const FullType(UserCompanyEntity)) specifiedType: const FullType(CompanyEntity)) as CompanyEntity);
as UserCompanyEntity);
break; break;
case 'origUserCompany': case 'origCompany':
result.origUserCompany.replace(serializers.deserialize(value, result.origCompany.replace(serializers.deserialize(value,
specifiedType: const FullType(UserCompanyEntity)) specifiedType: const FullType(CompanyEntity)) as CompanyEntity);
as UserCompanyEntity);
break; break;
case 'client': case 'client':
result.client.replace(serializers.deserialize(value, result.client.replace(serializers.deserialize(value,
@ -254,6 +258,14 @@ class _$SettingsUIStateSerializer
result.origGroup.replace(serializers.deserialize(value, result.origGroup.replace(serializers.deserialize(value,
specifiedType: const FullType(GroupEntity)) as GroupEntity); specifiedType: const FullType(GroupEntity)) as GroupEntity);
break; break;
case 'user':
result.user.replace(serializers.deserialize(value,
specifiedType: const FullType(UserEntity)) as UserEntity);
break;
case 'origUser':
result.origUser.replace(serializers.deserialize(value,
specifiedType: const FullType(UserEntity)) as UserEntity);
break;
case 'entityType': case 'entityType':
result.entityType = serializers.deserialize(value, result.entityType = serializers.deserialize(value,
specifiedType: const FullType(EntityType)) as EntityType; specifiedType: const FullType(EntityType)) as EntityType;
@ -688,9 +700,9 @@ class UserCompanyStateBuilder
class _$SettingsUIState extends SettingsUIState { class _$SettingsUIState extends SettingsUIState {
@override @override
final UserCompanyEntity userCompany; final CompanyEntity company;
@override @override
final UserCompanyEntity origUserCompany; final CompanyEntity origCompany;
@override @override
final ClientEntity client; final ClientEntity client;
@override @override
@ -700,6 +712,10 @@ class _$SettingsUIState extends SettingsUIState {
@override @override
final GroupEntity origGroup; final GroupEntity origGroup;
@override @override
final UserEntity user;
@override
final UserEntity origUser;
@override
final EntityType entityType; final EntityType entityType;
@override @override
final bool isChanged; final bool isChanged;
@ -716,12 +732,14 @@ class _$SettingsUIState extends SettingsUIState {
(new SettingsUIStateBuilder()..update(updates)).build(); (new SettingsUIStateBuilder()..update(updates)).build();
_$SettingsUIState._( _$SettingsUIState._(
{this.userCompany, {this.company,
this.origUserCompany, this.origCompany,
this.client, this.client,
this.origClient, this.origClient,
this.group, this.group,
this.origGroup, this.origGroup,
this.user,
this.origUser,
this.entityType, this.entityType,
this.isChanged, this.isChanged,
this.updatedAt, this.updatedAt,
@ -729,11 +747,11 @@ class _$SettingsUIState extends SettingsUIState {
this.filter, this.filter,
this.filterClearedAt}) this.filterClearedAt})
: super._() { : super._() {
if (userCompany == null) { if (company == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'userCompany'); throw new BuiltValueNullFieldError('SettingsUIState', 'company');
} }
if (origUserCompany == null) { if (origCompany == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'origUserCompany'); throw new BuiltValueNullFieldError('SettingsUIState', 'origCompany');
} }
if (client == null) { if (client == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'client'); throw new BuiltValueNullFieldError('SettingsUIState', 'client');
@ -747,6 +765,12 @@ class _$SettingsUIState extends SettingsUIState {
if (origGroup == null) { if (origGroup == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'origGroup'); throw new BuiltValueNullFieldError('SettingsUIState', 'origGroup');
} }
if (user == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'user');
}
if (origUser == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'origUser');
}
if (entityType == null) { if (entityType == null) {
throw new BuiltValueNullFieldError('SettingsUIState', 'entityType'); throw new BuiltValueNullFieldError('SettingsUIState', 'entityType');
} }
@ -776,12 +800,14 @@ class _$SettingsUIState extends SettingsUIState {
bool operator ==(Object other) { bool operator ==(Object other) {
if (identical(other, this)) return true; if (identical(other, this)) return true;
return other is SettingsUIState && return other is SettingsUIState &&
userCompany == other.userCompany && company == other.company &&
origUserCompany == other.origUserCompany && origCompany == other.origCompany &&
client == other.client && client == other.client &&
origClient == other.origClient && origClient == other.origClient &&
group == other.group && group == other.group &&
origGroup == other.origGroup && origGroup == other.origGroup &&
user == other.user &&
origUser == other.origUser &&
entityType == other.entityType && entityType == other.entityType &&
isChanged == other.isChanged && isChanged == other.isChanged &&
updatedAt == other.updatedAt && updatedAt == other.updatedAt &&
@ -802,12 +828,18 @@ class _$SettingsUIState extends SettingsUIState {
$jc( $jc(
$jc( $jc(
$jc( $jc(
$jc($jc(0, userCompany.hashCode), $jc(
origUserCompany.hashCode), $jc(
client.hashCode), $jc(
origClient.hashCode), $jc(0,
group.hashCode), company.hashCode),
origGroup.hashCode), origCompany.hashCode),
client.hashCode),
origClient.hashCode),
group.hashCode),
origGroup.hashCode),
user.hashCode),
origUser.hashCode),
entityType.hashCode), entityType.hashCode),
isChanged.hashCode), isChanged.hashCode),
updatedAt.hashCode), updatedAt.hashCode),
@ -819,12 +851,14 @@ class _$SettingsUIState extends SettingsUIState {
@override @override
String toString() { String toString() {
return (newBuiltValueToStringHelper('SettingsUIState') return (newBuiltValueToStringHelper('SettingsUIState')
..add('userCompany', userCompany) ..add('company', company)
..add('origUserCompany', origUserCompany) ..add('origCompany', origCompany)
..add('client', client) ..add('client', client)
..add('origClient', origClient) ..add('origClient', origClient)
..add('group', group) ..add('group', group)
..add('origGroup', origGroup) ..add('origGroup', origGroup)
..add('user', user)
..add('origUser', origUser)
..add('entityType', entityType) ..add('entityType', entityType)
..add('isChanged', isChanged) ..add('isChanged', isChanged)
..add('updatedAt', updatedAt) ..add('updatedAt', updatedAt)
@ -839,17 +873,16 @@ class SettingsUIStateBuilder
implements Builder<SettingsUIState, SettingsUIStateBuilder> { implements Builder<SettingsUIState, SettingsUIStateBuilder> {
_$SettingsUIState _$v; _$SettingsUIState _$v;
UserCompanyEntityBuilder _userCompany; CompanyEntityBuilder _company;
UserCompanyEntityBuilder get userCompany => CompanyEntityBuilder get company =>
_$this._userCompany ??= new UserCompanyEntityBuilder(); _$this._company ??= new CompanyEntityBuilder();
set userCompany(UserCompanyEntityBuilder userCompany) => set company(CompanyEntityBuilder company) => _$this._company = company;
_$this._userCompany = userCompany;
UserCompanyEntityBuilder _origUserCompany; CompanyEntityBuilder _origCompany;
UserCompanyEntityBuilder get origUserCompany => CompanyEntityBuilder get origCompany =>
_$this._origUserCompany ??= new UserCompanyEntityBuilder(); _$this._origCompany ??= new CompanyEntityBuilder();
set origUserCompany(UserCompanyEntityBuilder origUserCompany) => set origCompany(CompanyEntityBuilder origCompany) =>
_$this._origUserCompany = origUserCompany; _$this._origCompany = origCompany;
ClientEntityBuilder _client; ClientEntityBuilder _client;
ClientEntityBuilder get client => ClientEntityBuilder get client =>
@ -871,6 +904,15 @@ class SettingsUIStateBuilder
_$this._origGroup ??= new GroupEntityBuilder(); _$this._origGroup ??= new GroupEntityBuilder();
set origGroup(GroupEntityBuilder origGroup) => _$this._origGroup = origGroup; set origGroup(GroupEntityBuilder origGroup) => _$this._origGroup = origGroup;
UserEntityBuilder _user;
UserEntityBuilder get user => _$this._user ??= new UserEntityBuilder();
set user(UserEntityBuilder user) => _$this._user = user;
UserEntityBuilder _origUser;
UserEntityBuilder get origUser =>
_$this._origUser ??= new UserEntityBuilder();
set origUser(UserEntityBuilder origUser) => _$this._origUser = origUser;
EntityType _entityType; EntityType _entityType;
EntityType get entityType => _$this._entityType; EntityType get entityType => _$this._entityType;
set entityType(EntityType entityType) => _$this._entityType = entityType; set entityType(EntityType entityType) => _$this._entityType = entityType;
@ -900,12 +942,14 @@ class SettingsUIStateBuilder
SettingsUIStateBuilder get _$this { SettingsUIStateBuilder get _$this {
if (_$v != null) { if (_$v != null) {
_userCompany = _$v.userCompany?.toBuilder(); _company = _$v.company?.toBuilder();
_origUserCompany = _$v.origUserCompany?.toBuilder(); _origCompany = _$v.origCompany?.toBuilder();
_client = _$v.client?.toBuilder(); _client = _$v.client?.toBuilder();
_origClient = _$v.origClient?.toBuilder(); _origClient = _$v.origClient?.toBuilder();
_group = _$v.group?.toBuilder(); _group = _$v.group?.toBuilder();
_origGroup = _$v.origGroup?.toBuilder(); _origGroup = _$v.origGroup?.toBuilder();
_user = _$v.user?.toBuilder();
_origUser = _$v.origUser?.toBuilder();
_entityType = _$v.entityType; _entityType = _$v.entityType;
_isChanged = _$v.isChanged; _isChanged = _$v.isChanged;
_updatedAt = _$v.updatedAt; _updatedAt = _$v.updatedAt;
@ -936,12 +980,14 @@ class SettingsUIStateBuilder
try { try {
_$result = _$v ?? _$result = _$v ??
new _$SettingsUIState._( new _$SettingsUIState._(
userCompany: userCompany.build(), company: company.build(),
origUserCompany: origUserCompany.build(), origCompany: origCompany.build(),
client: client.build(), client: client.build(),
origClient: origClient.build(), origClient: origClient.build(),
group: group.build(), group: group.build(),
origGroup: origGroup.build(), origGroup: origGroup.build(),
user: user.build(),
origUser: origUser.build(),
entityType: entityType, entityType: entityType,
isChanged: isChanged, isChanged: isChanged,
updatedAt: updatedAt, updatedAt: updatedAt,
@ -951,10 +997,10 @@ class SettingsUIStateBuilder
} catch (_) { } catch (_) {
String _$failedField; String _$failedField;
try { try {
_$failedField = 'userCompany'; _$failedField = 'company';
userCompany.build(); company.build();
_$failedField = 'origUserCompany'; _$failedField = 'origCompany';
origUserCompany.build(); origCompany.build();
_$failedField = 'client'; _$failedField = 'client';
client.build(); client.build();
_$failedField = 'origClient'; _$failedField = 'origClient';
@ -963,6 +1009,10 @@ class SettingsUIStateBuilder
group.build(); group.build();
_$failedField = 'origGroup'; _$failedField = 'origGroup';
origGroup.build(); origGroup.build();
_$failedField = 'user';
user.build();
_$failedField = 'origUser';
origUser.build();
} catch (e) { } catch (e) {
throw new BuiltValueNestedFieldError( throw new BuiltValueNestedFieldError(
'SettingsUIState', _$failedField, e.toString()); 'SettingsUIState', _$failedField, e.toString());

View File

@ -11,16 +11,18 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
class ViewSettings extends AbstractNavigatorAction implements PersistUI { class ViewSettings extends AbstractNavigatorAction implements PersistUI {
ViewSettings({ ViewSettings({
@required NavigatorState navigator, @required NavigatorState navigator,
this.userCompany, this.company,
this.group, this.group,
this.client, this.client,
this.user,
this.force = false, this.force = false,
this.section, this.section,
}) : super(navigator: navigator); }) : super(navigator: navigator);
final UserCompanyEntity userCompany; final CompanyEntity company;
final GroupEntity group; final GroupEntity group;
final ClientEntity client; final ClientEntity client;
final UserEntity user;
final bool force; final bool force;
final String section; final String section;
} }

View File

@ -171,17 +171,10 @@ Reducer<int> selectedCompanyIndexReducer = combineReducers([
]); ]);
Reducer<SettingsUIState> settingsUIReducer = combineReducers([ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
TypedReducer<SettingsUIState, ClearSettingsFilter>((state, action) {
return state.rebuild((b) => b
..updatedAt = DateTime.now().millisecondsSinceEpoch
..userCompany.replace(state.origUserCompany)
..entityType = EntityType.company
..isChanged = false);
}),
TypedReducer<SettingsUIState, ViewSettings>((state, action) { TypedReducer<SettingsUIState, ViewSettings>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.replace(action.userCompany ?? state.userCompany) ..company.replace(action.company ?? state.company)
..origUserCompany.replace(action.userCompany ?? state.origUserCompany) ..origCompany.replace(action.company ?? state.origCompany)
..group.replace(action.group ?? state.group) ..group.replace(action.group ?? state.group)
..origGroup.replace(action.group ?? state.origGroup) ..origGroup.replace(action.group ?? state.origGroup)
..client.replace(action.client ?? state.client) ..client.replace(action.client ?? state.client)
@ -195,14 +188,14 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
}), }),
TypedReducer<SettingsUIState, UpdateCompany>((state, action) { TypedReducer<SettingsUIState, UpdateCompany>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.replace(action.company) ..company.replace(action.company)
..isChanged = true); ..isChanged = true);
}), }),
TypedReducer<SettingsUIState, UpdateSettings>((state, action) { TypedReducer<SettingsUIState, UpdateSettings>((state, action) {
switch (state.entityType) { switch (state.entityType) {
case EntityType.client: case EntityType.client:
return state.rebuild((b) => b return state.rebuild((b) => b
//..client.settings.replace(action.settings) ..client.settings.replace(action.settings)
..isChanged = true); ..isChanged = true);
case EntityType.group: case EntityType.group:
return state.rebuild((b) => b return state.rebuild((b) => b
@ -210,18 +203,18 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
..isChanged = true); ..isChanged = true);
default: default:
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.settings.replace(action.settings) ..company.settings.replace(action.settings)
..isChanged = true); ..isChanged = true);
} }
}), }),
TypedReducer<SettingsUIState, UpdateSettingsUser>((state, action) { TypedReducer<SettingsUIState, UpdateSettingsUser>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.user.replace(action.user) ..user.replace(action.user)
..isChanged = true); ..isChanged = true);
}), }),
TypedReducer<SettingsUIState, ResetSettings>((state, action) { TypedReducer<SettingsUIState, ResetSettings>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.replace(state.origUserCompany) ..company.replace(state.origCompany)
..group.replace(state.origGroup) ..group.replace(state.origGroup)
..client.replace(state.origClient) ..client.replace(state.origClient)
..isChanged = false ..isChanged = false
@ -229,7 +222,7 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
}), }),
TypedReducer<SettingsUIState, SaveCompanySuccess>((state, action) { TypedReducer<SettingsUIState, SaveCompanySuccess>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.replace(action.company) ..company.replace(action.company)
..isChanged = false); ..isChanged = false);
}), }),
TypedReducer<SettingsUIState, SaveGroupSuccess>((state, action) { TypedReducer<SettingsUIState, SaveGroupSuccess>((state, action) {
@ -249,6 +242,13 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
? DateTime.now().millisecondsSinceEpoch ? DateTime.now().millisecondsSinceEpoch
: state.filterClearedAt); : state.filterClearedAt);
}), }),
TypedReducer<SettingsUIState, ClearSettingsFilter>((state, action) {
return state.rebuild((b) => b
..updatedAt = DateTime.now().millisecondsSinceEpoch
..company.replace(state.company)
..entityType = EntityType.company
..isChanged = false);
}),
]); ]);
CompanyPrefState companyPrefReducer(CompanyPrefState state, dynamic action) { CompanyPrefState companyPrefReducer(CompanyPrefState state, dynamic action) {

View File

@ -226,14 +226,14 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
TypedReducer<SettingsUIState, ClearSettingsFilter>((state, action) { TypedReducer<SettingsUIState, ClearSettingsFilter>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..updatedAt = DateTime.now().millisecondsSinceEpoch ..updatedAt = DateTime.now().millisecondsSinceEpoch
..userCompany.replace(state.origUserCompany) ..company.replace(state.origCompany)
..entityType = EntityType.company ..entityType = EntityType.company
..isChanged = false); ..isChanged = false);
}), }),
TypedReducer<SettingsUIState, ViewSettings>((state, action) { TypedReducer<SettingsUIState, ViewSettings>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.replace(action.userCompany ?? state.userCompany) ..company.replace(action.company ?? state.company)
..origUserCompany.replace(action.userCompany ?? state.origUserCompany) ..origCompany.replace(action.company ?? state.origCompany)
..group.replace(action.group ?? state.group) ..group.replace(action.group ?? state.group)
..origGroup.replace(action.group ?? state.origGroup) ..origGroup.replace(action.group ?? state.origGroup)
..client.replace(action.client ?? state.client) ..client.replace(action.client ?? state.client)
@ -247,7 +247,7 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
}), }),
TypedReducer<SettingsUIState, UpdateCompany>((state, action) { TypedReducer<SettingsUIState, UpdateCompany>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.replace(action.company) ..company.replace(action.company)
..isChanged = true); ..isChanged = true);
}), }),
TypedReducer<SettingsUIState, UpdateSettings>((state, action) { TypedReducer<SettingsUIState, UpdateSettings>((state, action) {
@ -262,18 +262,18 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
..isChanged = true); ..isChanged = true);
default: default:
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.settings.replace(action.settings) ..company.settings.replace(action.settings)
..isChanged = true); ..isChanged = true);
} }
}), }),
TypedReducer<SettingsUIState, UpdateSettingsUser>((state, action) { TypedReducer<SettingsUIState, UpdateSettingsUser>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.user.replace(action.user) ..user.replace(action.user)
..isChanged = true); ..isChanged = true);
}), }),
TypedReducer<SettingsUIState, ResetSettings>((state, action) { TypedReducer<SettingsUIState, ResetSettings>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.replace(state.origUserCompany) ..company.replace(state.origCompany)
..group.replace(state.origGroup) ..group.replace(state.origGroup)
..client.replace(state.origClient) ..client.replace(state.origClient)
..isChanged = false ..isChanged = false
@ -281,7 +281,7 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
}), }),
TypedReducer<SettingsUIState, SaveCompanySuccess>((state, action) { TypedReducer<SettingsUIState, SaveCompanySuccess>((state, action) {
return state.rebuild((b) => b return state.rebuild((b) => b
..userCompany.company.replace(action.company) ..company.replace(action.company)
..isChanged = false); ..isChanged = false);
}), }),
TypedReducer<SettingsUIState, SaveGroupSuccess>((state, action) { TypedReducer<SettingsUIState, SaveGroupSuccess>((state, action) {

View File

@ -213,7 +213,7 @@ class MenuDrawer extends StatelessWidget {
onTap: () { onTap: () {
store.dispatch(ViewSettings( store.dispatch(ViewSettings(
navigator: Navigator.of(context), navigator: Navigator.of(context),
userCompany: state.userCompany)); company: state.company));
}, },
), ),
], ],

View File

@ -70,7 +70,7 @@ class CompanyGatewayScreenVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -50,7 +50,7 @@ class ClientPortalVM {
return ClientPortalVM( return ClientPortalVM(
state: state, state: state,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onSettingsChanged: (settings) => onSettingsChanged: (settings) =>
store.dispatch(UpdateSettings(settings: settings)), store.dispatch(UpdateSettings(settings: settings)),
onCompanyChanged: (company) => onCompanyChanged: (company) =>
@ -63,7 +63,7 @@ class ClientPortalVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -50,7 +50,7 @@ class CompanyDetailsVM {
return CompanyDetailsVM( return CompanyDetailsVM(
state: state, state: state,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onSettingsChanged: (settings) => onSettingsChanged: (settings) =>
store.dispatch(UpdateSettings(settings: settings)), store.dispatch(UpdateSettings(settings: settings)),
onCompanyChanged: (company) => onCompanyChanged: (company) =>
@ -63,7 +63,7 @@ class CompanyDetailsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -46,7 +46,7 @@ class CustomFieldsVM {
return CustomFieldsVM( return CustomFieldsVM(
state: state, state: state,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onCompanyChanged: (company) => onCompanyChanged: (company) =>
store.dispatch(UpdateCompany(company: company)), store.dispatch(UpdateCompany(company: company)),
onSavePressed: (context) { onSavePressed: (context) {
@ -57,7 +57,7 @@ class CustomFieldsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -59,7 +59,7 @@ class EmailSettingsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -49,7 +49,7 @@ class GeneratedNumbersVM {
return GeneratedNumbersVM( return GeneratedNumbersVM(
state: state, state: state,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
onCompanyChanged: (company) => onCompanyChanged: (company) =>
store.dispatch(UpdateCompany(company: company)), store.dispatch(UpdateCompany(company: company)),
@ -64,7 +64,7 @@ class GeneratedNumbersVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -49,7 +49,7 @@ class InvoiceDesignVM {
return InvoiceDesignVM( return InvoiceDesignVM(
state: state, state: state,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onSettingsChanged: (settings) { onSettingsChanged: (settings) {
store.dispatch(UpdateSettings(settings: settings)); store.dispatch(UpdateSettings(settings: settings));
}, },
@ -61,7 +61,7 @@ class InvoiceDesignVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -50,7 +50,7 @@ class LocalizationSettingsVM {
return LocalizationSettingsVM( return LocalizationSettingsVM(
state: state, state: state,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onSettingsChanged: (settings) { onSettingsChanged: (settings) {
store.dispatch(UpdateSettings(settings: settings)); store.dispatch(UpdateSettings(settings: settings));
}, },
@ -64,7 +64,7 @@ class LocalizationSettingsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -41,7 +41,7 @@ class ProductSettingsVM {
return ProductSettingsVM( return ProductSettingsVM(
state: state, state: state,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onCompanyChanged: (company) => onCompanyChanged: (company) =>
store.dispatch(UpdateCompany(company: company)), store.dispatch(UpdateCompany(company: company)),
onSavePressed: (context) { onSavePressed: (context) {
@ -50,7 +50,7 @@ class ProductSettingsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
}); });
} }

View File

@ -40,7 +40,7 @@ class SettingsListVM {
store.dispatch(ViewSettings( store.dispatch(ViewSettings(
navigator: Navigator.of(context), navigator: Navigator.of(context),
section: section, section: section,
userCompany: state.userCompany)); company: state.company));
}, },
onClearSettingsFilterPressed: () => onClearSettingsFilterPressed: () =>
store.dispatch(ClearSettingsFilter()), store.dispatch(ClearSettingsFilter()),

View File

@ -46,7 +46,7 @@ class TaxSettingsVM {
return TaxSettingsVM( return TaxSettingsVM(
state: state, state: state,
settings: state.uiState.settingsUIState.settings, settings: state.uiState.settingsUIState.settings,
company: state.uiState.settingsUIState.userCompany.company, company: state.uiState.settingsUIState.company,
onSettingsChanged: (settings) { onSettingsChanged: (settings) {
store.dispatch(UpdateSettings(settings: settings)); store.dispatch(UpdateSettings(settings: settings));
}, },
@ -58,7 +58,7 @@ class TaxSettingsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
}, },
onConfigureRatesPressed: (context) { onConfigureRatesPressed: (context) {
if (state.taxRateState.list.isEmpty) { if (state.taxRateState.list.isEmpty) {

View File

@ -60,7 +60,7 @@ class TemplatesAndRemindersVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(

View File

@ -40,14 +40,14 @@ class UserDetailsVM {
return UserDetailsVM( return UserDetailsVM(
state: state, state: state,
user: state.uiState.settingsUIState.userCompany.user, user: state.uiState.settingsUIState.user,
onChanged: (user) => store.dispatch(UpdateSettingsUser(user: user)), onChanged: (user) => store.dispatch(UpdateSettingsUser(user: user)),
onSavePressed: (context) { onSavePressed: (context) {
final completer = snackBarCompleter<Null>( final completer = snackBarCompleter<Null>(
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveUserRequest( store.dispatch(SaveUserRequest(
completer: completer, completer: completer,
user: state.uiState.settingsUIState.userCompany.user)); user: state.uiState.settingsUIState.user));
}); });
} }

View File

@ -59,7 +59,7 @@ class WorkflowSettingsVM {
context, AppLocalization.of(context).savedSettings); context, AppLocalization.of(context).savedSettings);
store.dispatch(SaveCompanyRequest( store.dispatch(SaveCompanyRequest(
completer: completer, completer: completer,
company: settingsUIState.userCompany.company)); company: settingsUIState.company));
break; break;
case EntityType.group: case EntityType.group:
final completer = snackBarCompleter<GroupEntity>( final completer = snackBarCompleter<GroupEntity>(