Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
hillelcoren committed Oct 29, 2023
2 parents be49790 + 3a421a8 commit 87d981d
Show file tree
Hide file tree
Showing 35 changed files with 275 additions and 29 deletions.
4 changes: 2 additions & 2 deletions lib/data/repositories/settings_repository.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class SettingsRepository {
}

Future<CompanyEntity> saveEInvoiceCertificate(Credentials credentials,
CompanyEntity company, MultipartFile? eInvoiceCertificate) async {
CompanyEntity company, MultipartFile eInvoiceCertificate) async {
dynamic response;

final url = credentials.url! + '/companies/${company.id}';
Expand Down Expand Up @@ -205,7 +205,7 @@ class SettingsRepository {
}

Future<BaseEntity> uploadLogo(Credentials credentials, String entityId,
MultipartFile? multipartFile, EntityType? type) async {
MultipartFile multipartFile, EntityType? type) async {
final route = type == EntityType.company
? 'companies'
: type == EntityType.group
Expand Down
6 changes: 3 additions & 3 deletions lib/data/web_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ class WebClient {
String url,
String? token, {
dynamic data,
List<MultipartFile?>? multipartFiles,
List<MultipartFile>? multipartFiles,
String? secret,
String? password,
String? idToken,
Expand Down Expand Up @@ -309,12 +309,12 @@ String _parseError(int code, String response) {
}

Future<http.Response> _uploadFiles(
String url, String? token, List<MultipartFile?> multipartFiles,
String url, String? token, List<MultipartFile> multipartFiles,
{String method = 'POST', dynamic data}) async {
final request = http.MultipartRequest(method, Uri.parse(url))
..fields.addAll(data ?? {})
..headers.addAll(_getHeaders(url, token))
..files.addAll(multipartFiles as Iterable<MultipartFile>);
..files.addAll(multipartFiles);

return await http.Response.fromStream(await request.send())
.timeout(const Duration(minutes: 10));
Expand Down
2 changes: 2 additions & 0 deletions lib/redux/app/app_actions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ class UpdateUserPreferences implements PersistPrefs {
this.enableTooltips,
this.flexibleSearch,
this.enableNativeBrowser,
this.downloadsFolder,
this.statementIncludes,
});

Expand Down Expand Up @@ -219,6 +220,7 @@ class UpdateUserPreferences implements PersistPrefs {
final bool? enableTooltips;
final bool? flexibleSearch;
final bool? enableNativeBrowser;
final String? downloadsFolder;
final BuiltList<String>? statementIncludes;
}

Expand Down
12 changes: 6 additions & 6 deletions lib/redux/company/company_actions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,14 @@ class SaveCompanyFailure implements StopSaving {

class SaveEInvoiceCertificateRequest implements StartSaving {
SaveEInvoiceCertificateRequest({
this.completer,
this.company,
this.eInvoiceCertificate,
required this.completer,
required this.company,
required this.eInvoiceCertificate,
});

final Completer? completer;
final CompanyEntity? company;
final MultipartFile? eInvoiceCertificate;
final Completer completer;
final CompanyEntity company;
final MultipartFile eInvoiceCertificate;
}

class SaveEInvoiceCertificateSuccess
Expand Down
4 changes: 2 additions & 2 deletions lib/redux/settings/settings_actions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ class UpdateUserSettings implements PersistUI {
}

class UploadLogoRequest implements StartSaving {
UploadLogoRequest({this.completer, this.multipartFile, this.type});
UploadLogoRequest({this.completer, required this.multipartFile, this.type});

final Completer? completer;
final MultipartFile? multipartFile;
final MultipartFile multipartFile;
final EntityType? type;
}

Expand Down
6 changes: 3 additions & 3 deletions lib/redux/settings/settings_middleware.dart
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,16 @@ Middleware<AppState> _saveEInvoiceCertificate(
settingsRepository
.saveEInvoiceCertificate(
store.state.credentials,
action.company!,
action.company,
action.eInvoiceCertificate,
)
.then((company) {
store.dispatch(SaveEInvoiceCertificateSuccess(company));
action.completer!.complete();
action.completer.complete();
}).catchError((Object error) {
print(error);
store.dispatch(SaveEInvoiceCertificateFailure(error));
action.completer!.completeError(error);
action.completer.completeError(error);
});

next(action);
Expand Down
7 changes: 7 additions & 0 deletions lib/redux/ui/pref_reducer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ PrefState prefReducer(
longPressReducer(state.longPressSelectionIsDefault, action)
..tapSelectedToEdit =
tapSelectedToEditReducer(state.tapSelectedToEdit, action)
..donwloadsFolder = downloadsFolderReducer(state.donwloadsFolder, action)
..requireAuthentication =
requireAuthenticationReducer(state.requireAuthentication, action)
..colorTheme = colorThemeReducer(state.colorTheme, action)
Expand Down Expand Up @@ -412,6 +413,12 @@ Reducer<bool> tapSelectedToEditReducer = combineReducers([
}),
]);

Reducer<String> downloadsFolderReducer = combineReducers([
TypedReducer<String, UpdateUserPreferences>((downloadsFolder, action) {
return action.downloadsFolder ?? downloadsFolder;
}),
]);

Reducer<bool> isPreviewVisibleReducer = combineReducers([
TypedReducer<bool, TogglePreviewSidebar>((value, action) {
return !value;
Expand Down
4 changes: 4 additions & 0 deletions lib/ui/reports/client_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ enum ClientReportFields {
routing_id,
tax_exempt,
classification,
record_state,
}

var memoizedClientReport = memo6((
Expand Down Expand Up @@ -366,6 +367,9 @@ ReportResult clientReport(
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(client.classification);
break;
case ClientReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(client.entityState);
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/contact_report.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Package imports:
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -67,6 +69,7 @@ enum ContactReportFields {
is_active,
created_at,
updated_at,
record_state,
}

var memoizedContactReport = memo5((
Expand Down Expand Up @@ -339,6 +342,10 @@ ReportResult contactReport(
case ContactReportFields.created_at:
value = convertTimestampToDateString(client.createdAt);
break;
case ContactReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(client.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/credit_item_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -41,6 +43,7 @@ enum CreditItemReportFields {
taxAmount,
netTotal,
currency,
record_state,
}

var memoizedCreditItemReport = memo6((
Expand Down Expand Up @@ -204,6 +207,10 @@ ReportResult lineItemReport(
case CreditItemReportFields.clientIdNumber:
value = client.idNumber;
break;
case CreditItemReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(credit.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/credit_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -77,6 +79,7 @@ enum CreditReportFields {
contact_email,
contact_phone,
contact_name,
record_state,
}

var memoizedCreditReport = memo6((
Expand Down Expand Up @@ -357,6 +360,10 @@ ReportResult creditReport(
case CreditReportFields.client_id_number:
value = client.idNumber;
break;
case CreditReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(credit.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
8 changes: 8 additions & 0 deletions lib/ui/reports/expense_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -54,6 +56,7 @@ enum ExpenseReportFields {
updated_at,
converted_amount,
status,
record_state,
}

var memoizedExpenseReport = memo10((
Expand Down Expand Up @@ -276,6 +279,11 @@ ReportResult expenseReport(
break;
case ExpenseReportFields.status:
value = kExpenseStatuses[expense.calculatedStatusId];
break;
case ExpenseReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(expense.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/invoice_item_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -41,6 +43,7 @@ enum InvoiceItemReportFields {
taxAmount,
netTotal,
currency,
record_state,
}

var memoizedInvoiceItemReport = memo6((
Expand Down Expand Up @@ -204,6 +207,10 @@ ReportResult lineItemReport(
case InvoiceItemReportFields.clientIdNumber:
value = client.idNumber;
break;
case InvoiceItemReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(invoice.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/invoice_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -93,6 +95,7 @@ enum InvoiceReportFields {
age_group_60,
age_group_90,
age_group_120,
record_state,
}

var memoizedInvoiceReport = memo9((
Expand Down Expand Up @@ -468,6 +471,10 @@ ReportResult invoiceReport(
case InvoiceReportFields.age_group_120:
value = invoice.isPaid || invoice.age < 120 ? 0.0 : invoice.balance;
break;
case InvoiceReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(invoice.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/payment_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:memoize/memoize.dart';

// Project imports:
Expand Down Expand Up @@ -45,6 +47,7 @@ enum PaymentReportFields {
converted_amount,
invoices,
credits,
record_state,
}

var memoizedPaymentReport = memo8(
Expand Down Expand Up @@ -270,6 +273,10 @@ ReportResult paymentReport(
case PaymentReportFields.credits:
value = (paymentCreditMap[payment.id] ?? []).join(', ');
break;
case PaymentReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(payment.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
7 changes: 7 additions & 0 deletions lib/ui/reports/product_report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
import 'package:built_collection/built_collection.dart';
import 'package:collection/collection.dart' show IterableNullableExtension;
import 'package:invoiceninja_flutter/redux/product/product_selectors.dart';
import 'package:invoiceninja_flutter/main_app.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_selectors.dart';
import 'package:memoize/memoize.dart';

Expand Down Expand Up @@ -32,6 +34,7 @@ enum ProductReportFields {
notification_threshold,
created_at,
updated_at,
record_state,
}

var memoizedProductReport = memo6((
Expand Down Expand Up @@ -161,6 +164,10 @@ ReportResult productReport(
case ProductReportFields.created_at:
value = convertTimestampToDateString(product.createdAt);
break;
case ProductReportFields.record_state:
value = AppLocalization.of(navigatorKey.currentContext!)!
.lookup(product.entityState);
break;
}

if (!ReportResult.matchField(
Expand Down
Loading

0 comments on commit 87d981d

Please sign in to comment.