Merge branch 'develop'
This commit is contained in:
commit
50f76f914e
|
|
@ -432,8 +432,7 @@ abstract class ClientEntity extends Object
|
||||||
response = clientA!.idNumber.compareTo(clientB!.idNumber);
|
response = clientA!.idNumber.compareTo(clientB!.idNumber);
|
||||||
break;
|
break;
|
||||||
case ClientFields.number:
|
case ClientFields.number:
|
||||||
response = compareNatural(
|
response = compareNatural(clientA!.number, clientB!.number);
|
||||||
clientA!.number.toLowerCase(), clientB!.number.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case ClientFields.website:
|
case ClientFields.website:
|
||||||
response = clientA!.website
|
response = clientA!.website
|
||||||
|
|
|
||||||
|
|
@ -468,8 +468,7 @@ abstract class ExpenseEntity extends Object
|
||||||
expenseA!.documents.length.compareTo(expenseB!.documents.length);
|
expenseA!.documents.length.compareTo(expenseB!.documents.length);
|
||||||
break;
|
break;
|
||||||
case ExpenseFields.number:
|
case ExpenseFields.number:
|
||||||
response = compareNatural(
|
response = compareNatural(expenseA!.number, expenseB!.number);
|
||||||
expenseA!.number.toLowerCase(), expenseB!.number.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case ExpenseFields.privateNotes:
|
case ExpenseFields.privateNotes:
|
||||||
response = expenseA!.privateNotes.compareTo(expenseB!.privateNotes);
|
response = expenseA!.privateNotes.compareTo(expenseB!.privateNotes);
|
||||||
|
|
|
||||||
|
|
@ -728,8 +728,7 @@ abstract class InvoiceEntity extends Object
|
||||||
invoiceBNumber.startsWith(recurringPrefix!)
|
invoiceBNumber.startsWith(recurringPrefix!)
|
||||||
? invoiceBNumber.replaceFirst(recurringPrefix, '')
|
? invoiceBNumber.replaceFirst(recurringPrefix, '')
|
||||||
: invoiceBNumber;
|
: invoiceBNumber;
|
||||||
response = compareNatural(
|
response = compareNatural(invoiceANumber, invoiceBNumber);
|
||||||
invoiceANumber.toLowerCase(), invoiceBNumber.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case InvoiceFields.amount:
|
case InvoiceFields.amount:
|
||||||
response = invoiceA.amount.compareTo(invoiceB.amount);
|
response = invoiceA.amount.compareTo(invoiceB.amount);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ import 'package:built_value/built_value.dart';
|
||||||
import 'package:built_value/serializer.dart';
|
import 'package:built_value/serializer.dart';
|
||||||
|
|
||||||
// Project imports:
|
// Project imports:
|
||||||
import 'package:collection/collection.dart' show IterableExtension;
|
import 'package:collection/collection.dart'
|
||||||
|
show IterableExtension, compareNatural;
|
||||||
import 'package:flutter_redux/flutter_redux.dart';
|
import 'package:flutter_redux/flutter_redux.dart';
|
||||||
import 'package:invoiceninja_flutter/constants.dart';
|
import 'package:invoiceninja_flutter/constants.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
|
|
@ -267,9 +268,7 @@ abstract class PaymentEntity extends Object
|
||||||
response = paymentA!.refunded.compareTo(paymentB!.refunded);
|
response = paymentA!.refunded.compareTo(paymentB!.refunded);
|
||||||
break;
|
break;
|
||||||
case PaymentFields.number:
|
case PaymentFields.number:
|
||||||
response = paymentA!.number
|
response = compareNatural(paymentA!.number, paymentB!.number);
|
||||||
.toLowerCase()
|
|
||||||
.compareTo(paymentB!.number.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case PaymentFields.transactionReference:
|
case PaymentFields.transactionReference:
|
||||||
response = paymentA!.transactionReference
|
response = paymentA!.transactionReference
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
import 'package:built_value/built_value.dart';
|
import 'package:built_value/built_value.dart';
|
||||||
import 'package:built_value/serializer.dart';
|
import 'package:built_value/serializer.dart';
|
||||||
|
import 'package:collection/collection.dart';
|
||||||
import 'package:diacritic/diacritic.dart';
|
import 'package:diacritic/diacritic.dart';
|
||||||
import 'package:flutter_redux/flutter_redux.dart';
|
import 'package:flutter_redux/flutter_redux.dart';
|
||||||
|
|
||||||
|
|
@ -307,7 +308,7 @@ abstract class ProjectEntity extends Object
|
||||||
projectA.documents.length.compareTo(projectB.documents.length);
|
projectA.documents.length.compareTo(projectB.documents.length);
|
||||||
break;
|
break;
|
||||||
case ProjectFields.number:
|
case ProjectFields.number:
|
||||||
response = projectA.number.compareTo(projectB.number);
|
response = compareNatural(projectA.number, projectB.number);
|
||||||
break;
|
break;
|
||||||
case ProjectFields.customValue1:
|
case ProjectFields.customValue1:
|
||||||
response = projectA.customValue1.compareTo(projectB.customValue1);
|
response = projectA.customValue1.compareTo(projectB.customValue1);
|
||||||
|
|
|
||||||
|
|
@ -790,8 +790,7 @@ abstract class TaskEntity extends Object
|
||||||
response = taskA.documents.length.compareTo(taskB.documents.length);
|
response = taskA.documents.length.compareTo(taskB.documents.length);
|
||||||
break;
|
break;
|
||||||
case TaskFields.number:
|
case TaskFields.number:
|
||||||
response = compareNatural(
|
response = compareNatural(taskA.number, taskB.number);
|
||||||
taskA.number.toLowerCase(), taskB.number.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case TaskFields.createdBy:
|
case TaskFields.createdBy:
|
||||||
final userA = userMap[taskA.createdUserId] ?? UserEntity();
|
final userA = userMap[taskA.createdUserId] ?? UserEntity();
|
||||||
|
|
|
||||||
|
|
@ -327,8 +327,7 @@ abstract class VendorEntity extends Object
|
||||||
vendorA!.documents.length.compareTo(vendorB!.documents.length);
|
vendorA!.documents.length.compareTo(vendorB!.documents.length);
|
||||||
break;
|
break;
|
||||||
case VendorFields.number:
|
case VendorFields.number:
|
||||||
response = compareNatural(
|
response = compareNatural(vendorA!.number, vendorB!.number);
|
||||||
vendorA!.number.toLowerCase(), vendorB!.number.toLowerCase());
|
|
||||||
break;
|
break;
|
||||||
case VendorFields.address1:
|
case VendorFields.address1:
|
||||||
response = vendorA!.address1.compareTo(vendorB!.address1);
|
response = vendorA!.address1.compareTo(vendorB!.address1);
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,11 @@ Middleware<AppState> _createViewDashboard() {
|
||||||
store: store,
|
store: store,
|
||||||
force: action.force,
|
force: action.force,
|
||||||
callback: () {
|
callback: () {
|
||||||
if (!store.state.userCompany.canViewDashboard) {
|
final state = store.state;
|
||||||
|
if (state.isLoaded && !state.userCompany.canViewDashboard) {
|
||||||
store.dispatch(ViewClientList());
|
store.dispatch(ViewClientList());
|
||||||
} else {
|
} else {
|
||||||
if (store.state.isStale) {
|
if (state.isStale) {
|
||||||
store.dispatch(RefreshData());
|
store.dispatch(RefreshData());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,13 @@ List<String> filteredTransactionsSelector(
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final bankAccount =
|
||||||
|
bankAccountMap[transaction.bankAccountId] ?? BankAccountEntity();
|
||||||
|
if (!bankAccount.isActive &&
|
||||||
|
!bankAccount.matchesEntityFilter(filterEntityType, filterEntityId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (filterEntityType != null) {
|
if (filterEntityType != null) {
|
||||||
if (filterEntityType == EntityType.expenseCategory &&
|
if (filterEntityType == EntityType.expenseCategory &&
|
||||||
transaction.categoryId != filterEntityId) {
|
transaction.categoryId != filterEntityId) {
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class _BankAccountViewState extends State<BankAccountView> {
|
||||||
FieldGrid({
|
FieldGrid({
|
||||||
localization.type: toTitleCase(bankAccount.type),
|
localization.type: toTitleCase(bankAccount.type),
|
||||||
localization.status: toTitleCase(bankAccount.status),
|
localization.status: toTitleCase(bankAccount.status),
|
||||||
localization.provider: toTitleCase(bankAccount.provider),
|
localization.provider: bankAccount.provider,
|
||||||
if (bankAccount.isConnected)
|
if (bankAccount.isConnected)
|
||||||
localization.autoSync: bankAccount.autoSync
|
localization.autoSync: bankAccount.autoSync
|
||||||
? localization.enabled
|
? localization.enabled
|
||||||
|
|
|
||||||
|
|
@ -1277,7 +1277,8 @@ class _MatchWithdrawalsState extends State<_MatchWithdrawals> {
|
||||||
)
|
)
|
||||||
: AppButton(
|
: AppButton(
|
||||||
label: localization.createExpense,
|
label: localization.createExpense,
|
||||||
onPressed: viewModel.state.isSaving
|
onPressed: viewModel.state.isSaving ||
|
||||||
|
(_selectedVendor == null && _selectedCategory == null)
|
||||||
? null
|
? null
|
||||||
: () {
|
: () {
|
||||||
final viewModel = widget.viewModel;
|
final viewModel = widget.viewModel;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue