v2.4.0 Option to disable shipping in config

This commit is contained in:
Anthony 2020-11-19 13:37:47 +00:00
parent b2df6c5224
commit 4e605bb8c4
6 changed files with 107 additions and 86 deletions

View File

@ -1,3 +1,7 @@
## [2.4.0] - 2020-11-19
* Option to disable shipping in config
## [2.3.0] - 2020-11-18 ## [2.3.0] - 2020-11-18
* Option to set if prices include tax * Option to set if prices include tax

View File

@ -73,6 +73,7 @@ Future<OrderWC> buildOrderWC({TaxRate taxRate, bool markPaid = true}) async {
orderWC.billing = billing; orderWC.billing = billing;
Shipping shipping = Shipping(); Shipping shipping = Shipping();
shipping.firstName = billingDetails.shippingAddress.firstName; shipping.firstName = billingDetails.shippingAddress.firstName;
shipping.lastName = billingDetails.shippingAddress.lastName; shipping.lastName = billingDetails.shippingAddress.lastName;
shipping.address1 = billingDetails.shippingAddress.addressLine; shipping.address1 = billingDetails.shippingAddress.addressLine;
@ -86,14 +87,16 @@ Future<OrderWC> buildOrderWC({TaxRate taxRate, bool markPaid = true}) async {
orderWC.shipping = shipping; orderWC.shipping = shipping;
orderWC.shippingLines = []; orderWC.shippingLines = [];
Map<String, dynamic> shippingLineFeeObj = if (app_disable_shipping == false) {
CheckoutSession.getInstance.shippingType.toShippingLineFee(); Map<String, dynamic> shippingLineFeeObj =
if (shippingLineFeeObj != null) { CheckoutSession.getInstance.shippingType.toShippingLineFee();
ShippingLines shippingLine = ShippingLines(); if (shippingLineFeeObj != null) {
shippingLine.methodId = shippingLineFeeObj['method_id']; ShippingLines shippingLine = ShippingLines();
shippingLine.methodTitle = shippingLineFeeObj['method_title']; shippingLine.methodId = shippingLineFeeObj['method_id'];
shippingLine.total = shippingLineFeeObj['total']; shippingLine.methodTitle = shippingLineFeeObj['method_title'];
orderWC.shippingLines.add(shippingLine); shippingLine.total = shippingLineFeeObj['total'];
orderWC.shippingLines.add(shippingLine);
}
} }
if (taxRate != null) { if (taxRate != null) {

View File

@ -16,7 +16,7 @@ import 'dart:ui';
Developer Notes Developer Notes
SUPPORT EMAIL - support@woosignal.com SUPPORT EMAIL - support@woosignal.com
VERSION - 2.3.0 VERSION - 2.4.0
https://woosignal.com https://woosignal.com
*/ */
@ -41,6 +41,8 @@ const app_currency_iso = "gbp";
const app_products_prices_include_tax = true; const app_products_prices_include_tax = true;
const app_disable_shipping = false;
const Locale app_locale = Locale('en'); const Locale app_locale = Locale('en');
const List<Locale> app_locales_supported = [ const List<Locale> app_locales_supported = [

View File

@ -12,6 +12,7 @@ import 'package:flutter/material.dart';
import 'package:label_storemax/app_payment_methods.dart'; import 'package:label_storemax/app_payment_methods.dart';
import 'package:label_storemax/app_state_options.dart'; import 'package:label_storemax/app_state_options.dart';
import 'package:label_storemax/helpers/tools.dart'; import 'package:label_storemax/helpers/tools.dart';
import 'package:label_storemax/labelconfig.dart';
import 'package:label_storemax/models/cart.dart'; import 'package:label_storemax/models/cart.dart';
import 'package:label_storemax/models/checkout_session.dart'; import 'package:label_storemax/models/checkout_session.dart';
import 'package:label_storemax/models/customer_address.dart'; import 'package:label_storemax/models/customer_address.dart';
@ -208,73 +209,78 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
), ),
margin: EdgeInsets.only(top: 5, bottom: 5), margin: EdgeInsets.only(top: 5, bottom: 5),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[ children: <Widget>[
((CheckoutSession.getInstance.billingDetails != null && ((CheckoutSession.getInstance.billingDetails != null &&
CheckoutSession.getInstance.billingDetails CheckoutSession.getInstance.billingDetails
.billingAddress != .billingAddress !=
null) null)
? wsCheckoutRow(context, ? wsCheckoutRow(context,
heading: trans( heading: trans(
context, "Billing/shipping details"), context, "Billing/shipping details"),
leadImage: Icon(Icons.home), leadImage: Icon(Icons.home),
leadTitle: (CheckoutSession leadTitle:
.getInstance.billingDetails == (CheckoutSession.getInstance.billingDetails == null ||
null || CheckoutSession.getInstance
CheckoutSession.getInstance .billingDetails.billingAddress
.billingDetails.billingAddress .hasMissingFields()
.hasMissingFields() ? trans(
? trans( context, "Billing address is incomplete")
context, "Billing address is incomplete") : CheckoutSession.getInstance
: CheckoutSession.getInstance .billingDetails.billingAddress
.billingDetails.billingAddress .addressFull()),
.addressFull()), action: _actionCheckoutDetails,
action: _actionCheckoutDetails, showBorderBottom: true)
showBorderBottom: true) : wsCheckoutRow(context,
: wsCheckoutRow(context, heading:
heading: trans(context, "Billing/shipping details"), trans(context, "Billing/shipping details"),
leadImage: Icon(Icons.home), leadImage: Icon(Icons.home),
leadTitle: trans(context, "Add billing & shipping details"), leadTitle: trans(context, "Add billing & shipping details"),
action: _actionCheckoutDetails, action: _actionCheckoutDetails,
showBorderBottom: true)), showBorderBottom: true)),
(CheckoutSession.getInstance.paymentType != null (CheckoutSession.getInstance.paymentType != null
? wsCheckoutRow(context, ? wsCheckoutRow(context,
heading: trans(context, "Payment method"), heading: trans(context, "Payment method"),
leadImage: Image( leadImage: Image(
image: AssetImage("assets/images/" + image: AssetImage("assets/images/" +
CheckoutSession.getInstance CheckoutSession.getInstance
.paymentType.assetImage), .paymentType.assetImage),
width: 70), width: 70,
leadTitle: CheckoutSession ),
.getInstance.paymentType.desc, leadTitle: CheckoutSession
action: _actionPayWith, .getInstance.paymentType.desc,
showBorderBottom: true) action: _actionPayWith,
: wsCheckoutRow(context, showBorderBottom: true)
heading: trans(context, "Pay with"), : wsCheckoutRow(context,
leadImage: Icon(Icons.payment), heading: trans(context, "Pay with"),
leadTitle: leadImage: Icon(Icons.payment),
trans(context, "Select a payment method"), leadTitle: trans(
action: _actionPayWith, context, "Select a payment method"),
showBorderBottom: true)), action: _actionPayWith,
(CheckoutSession.getInstance.shippingType != null showBorderBottom: true)),
? wsCheckoutRow(context, app_disable_shipping == true
heading: trans(context, "Shipping selected"), ? null
leadImage: Icon(Icons.local_shipping), : (CheckoutSession.getInstance.shippingType !=
leadTitle: CheckoutSession null
.getInstance.shippingType ? wsCheckoutRow(context,
.getTitle(), heading:
action: _actionSelectShipping) trans(context, "Shipping selected"),
: wsCheckoutRow( leadImage: Icon(Icons.local_shipping),
context, leadTitle: CheckoutSession
heading: trans(context, "Select shipping"), .getInstance.shippingType
leadImage: Icon(Icons.local_shipping), .getTitle(),
leadTitle: trans( action: _actionSelectShipping)
context, "Select a shipping option"), : wsCheckoutRow(
action: _actionSelectShipping, context,
)), heading:
], trans(context, "Select shipping"),
), leadImage: Icon(Icons.local_shipping),
leadTitle: trans(context,
"Select a shipping option"),
action: _actionSelectShipping,
)),
].where((e) => e != null).toList()),
), ),
), ),
Column( Column(
@ -286,14 +292,18 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
thickness: 1, thickness: 1,
), ),
wsCheckoutSubtotalWidgetFB( wsCheckoutSubtotalWidgetFB(
title: trans(context, "Subtotal")), title: trans(context, "Subtotal"),
widgetCheckoutMeta(context, ),
title: trans(context, "Shipping fee"), app_disable_shipping == true
amount: ? null
CheckoutSession.getInstance.shippingType == null : widgetCheckoutMeta(context,
? trans(context, "Select shipping") title: trans(context, "Shipping fee"),
: CheckoutSession.getInstance.shippingType amount:
.getTotal(withFormatting: true)), CheckoutSession.getInstance.shippingType ==
null
? trans(context, "Select shipping")
: CheckoutSession.getInstance.shippingType
.getTotal(withFormatting: true)),
(_taxRate != null (_taxRate != null
? wsCheckoutTaxAmountWidgetFB(taxRate: _taxRate) ? wsCheckoutTaxAmountWidgetFB(taxRate: _taxRate)
: null), : null),
@ -322,7 +332,7 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
Padding( Padding(
padding: const EdgeInsets.only(top: 15), padding: const EdgeInsets.only(top: 15),
child: Text( child: Text(
trans(context, "One moment") + "...", "${trans(context, "One moment")}...",
style: Theme.of(context).primaryTextTheme.subtitle1, style: Theme.of(context).primaryTextTheme.subtitle1,
), ),
) )
@ -358,7 +368,8 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
return; return;
} }
if (CheckoutSession.getInstance.shippingType == null) { if (app_disable_shipping == false &&
CheckoutSession.getInstance.shippingType == null) {
showEdgeAlertWith( showEdgeAlertWith(
context, context,
title: trans(context, "Oops"), title: trans(context, "Oops"),
@ -380,7 +391,8 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
return; return;
} }
if (CheckoutSession.getInstance.shippingType.minimumValue != null) { if (app_disable_shipping == false &&
CheckoutSession.getInstance.shippingType.minimumValue != null) {
String total = await Cart.getInstance.getTotal(); String total = await Cart.getInstance.getTotal();
if (total == null) { if (total == null) {
return; return;

View File

@ -1,7 +1,7 @@
# Official WooSignal App Template for WooCommerce # Official WooSignal App Template for WooCommerce
# Label StoreMax # Label StoreMax
# Version 2.3.0 # Version 2.4.0
# Homepage: https://woosignal.com # Homepage: https://woosignal.com
# Author: Anthony Gordon <agordon@woosignal.com> # Author: Anthony Gordon <agordon@woosignal.com>
# Documentation: https://woosignal.com/docs/app/ios/label-storemax # Documentation: https://woosignal.com/docs/app/ios/label-storemax

View File

@ -4,7 +4,7 @@
# WooCommerce App: Label StoreMax # WooCommerce App: Label StoreMax
### Label StoreMax - v2.3.0 ### Label StoreMax - v2.4.0
[Official WooSignal WooCommerce App](https://woosignal.com) [Official WooSignal WooCommerce App](https://woosignal.com)