Skip to content

Commit

Permalink
nopSolutions#717 Added ability to allow a store owner to disable che…
Browse files Browse the repository at this point in the history
…ckout process
  • Loading branch information
skoshelev committed Mar 5, 2018
1 parent 9b30dd4 commit b42930e
Show file tree
Hide file tree
Showing 13 changed files with 172 additions and 28 deletions.
5 changes: 5 additions & 0 deletions src/Libraries/Nop.Core/Domain/Orders/OrderSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ public class OrderSettings : ISettings
/// </summary>
public bool AnonymousCheckoutAllowed { get; set; }

/// <summary>
/// Gets or sets a value indicating whether checkout is disabled
/// </summary>
public bool CheckoutDisabled { get; set; }

/// <summary>
/// Gets or sets a value indicating whether 'Terms of service' enabled on the shopping cart page
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion src/Libraries/Nop.Core/Domain/StoreInformationSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Nop.Core.Domain
{
/// <summary>
/// Store onformation settings
/// Store information settings
/// </summary>
public class StoreInformationSettings : ISettings
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7023,6 +7023,12 @@
<LocaleResource Name="Admin.Configuration.Settings.Order.BlockTitle.PdfInvoice">
<Value>Pdf invoice</Value>
</LocaleResource>
<LocaleResource Name="Admin.Configuration.Settings.Order.CheckoutDisabled">
<Value>Checkout disabled</Value>
</LocaleResource>
<LocaleResource Name="Admin.Configuration.Settings.Order.CheckoutDisabled.Hint">
<Value>Check to disable the checkout process (a read-only mode where ordering is turned off temporarily).</Value>
</LocaleResource>
<LocaleResource Name="Admin.Configuration.Settings.Order.CompleteOrderWhenDelivered">
<Value>Complete order when delivered</Value>
</LocaleResource>
Expand Down Expand Up @@ -13668,6 +13674,9 @@
<LocaleResource Name="Checkout.ConfirmYourOrder">
<Value>Confirm your order</Value>
</LocaleResource>
<LocaleResource Name="Checkout.Disabled">
<Value>Sorry, checkout process is temporary disabled</Value>
</LocaleResource>
<LocaleResource Name="Checkout.EnterBillingAddress">
<Value>Enter billing address</Value>
</LocaleResource>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1074,6 +1074,7 @@ public virtual IActionResult Order()
model.MinOrderTotalAmount_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.MinOrderTotalAmount, storeScope);
model.AutoUpdateOrderTotalsOnEditingOrder_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.AutoUpdateOrderTotalsOnEditingOrder, storeScope);
model.AnonymousCheckoutAllowed_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.AnonymousCheckoutAllowed, storeScope);
model.CheckoutDisabled_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.CheckoutDisabled, storeScope);
model.TermsOfServiceOnShoppingCartPage_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.TermsOfServiceOnShoppingCartPage, storeScope);
model.TermsOfServiceOnOrderConfirmPage_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.TermsOfServiceOnOrderConfirmPage, storeScope);
model.OnePageCheckoutEnabled_OverrideForStore = _settingService.SettingExists(orderSettings, x => x.OnePageCheckoutEnabled, storeScope);
Expand Down Expand Up @@ -1123,6 +1124,7 @@ public virtual IActionResult Order(OrderSettingsModel model)
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.MinOrderTotalAmount, model.MinOrderTotalAmount_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.AutoUpdateOrderTotalsOnEditingOrder, model.AutoUpdateOrderTotalsOnEditingOrder_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.AnonymousCheckoutAllowed, model.AnonymousCheckoutAllowed_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.CheckoutDisabled, model.CheckoutDisabled_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.TermsOfServiceOnShoppingCartPage, model.TermsOfServiceOnShoppingCartPage_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.TermsOfServiceOnOrderConfirmPage, model.TermsOfServiceOnOrderConfirmPage_OverrideForStore, storeScope, false);
_settingService.SaveSettingOverridablePerStore(orderSettings, x => x.OnePageCheckoutEnabled, model.OnePageCheckoutEnabled_OverrideForStore, storeScope, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -969,6 +969,7 @@ public AdminMapperConfiguration()
.ForMember(dest => dest.MinOrderTotalAmount_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.AutoUpdateOrderTotalsOnEditingOrder_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.AnonymousCheckoutAllowed_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.CheckoutDisabled_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.TermsOfServiceOnShoppingCartPage_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.TermsOfServiceOnOrderConfirmPage_OverrideForStore, mo => mo.Ignore())
.ForMember(dest => dest.OnePageCheckoutEnabled_OverrideForStore, mo => mo.Ignore())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public StoreInformationSettingsModel()
[NopResourceDisplayName("Admin.Configuration.Settings.GeneralCommon.StoreClosed")]
public bool StoreClosed { get; set; }
public bool StoreClosed_OverrideForStore { get; set; }

[NopResourceDisplayName("Admin.Configuration.Settings.GeneralCommon.DefaultStoreTheme")]
public string DefaultStoreTheme { get; set; }
public bool DefaultStoreTheme_OverrideForStore { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ public partial class OrderSettingsModel : BaseNopModel
public bool AnonymousCheckoutAllowed { get; set; }
public bool AnonymousCheckoutAllowed_OverrideForStore { get; set; }

[NopResourceDisplayName("Admin.Configuration.Settings.Order.CheckoutDisabled")]
public bool CheckoutDisabled { get; set; }
public bool CheckoutDisabled_OverrideForStore { get; set; }

[NopResourceDisplayName("Admin.Configuration.Settings.Order.TermsOfServiceOnShoppingCartPage")]
public bool TermsOfServiceOnShoppingCartPage { get; set; }
public bool TermsOfServiceOnShoppingCartPage_OverrideForStore { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,75 +23,85 @@
@T("Admin.Configuration.Settings.Order.BlockTitle.Checkout")
</div>
<div class="panel-body">
<div class="form-group advanced-setting">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="CheckoutDisabled_OverrideForStore" asp-input="CheckoutDisabled" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="CheckoutDisabled" />
</div>
<div class="col-md-9">
<nop-editor asp-for="CheckoutDisabled" />
<span asp-validation-for="CheckoutDisabled"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="AnonymousCheckoutAllowed_OverrideForStore" asp-input="AnonymousCheckoutAllowed" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="AnonymousCheckoutAllowed" />
<nop-override-store-checkbox asp-for="AnonymousCheckoutAllowed_OverrideForStore" asp-input="AnonymousCheckoutAllowed" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="AnonymousCheckoutAllowed"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="AnonymousCheckoutAllowed" />
<nop-editor asp-for="AnonymousCheckoutAllowed"/>
<span asp-validation-for="AnonymousCheckoutAllowed"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="OnePageCheckoutEnabled_OverrideForStore" asp-input="OnePageCheckoutEnabled" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="OnePageCheckoutEnabled" />
<nop-override-store-checkbox asp-for="OnePageCheckoutEnabled_OverrideForStore" asp-input="OnePageCheckoutEnabled" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="OnePageCheckoutEnabled"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="OnePageCheckoutEnabled" />
<nop-editor asp-for="OnePageCheckoutEnabled"/>
<span asp-validation-for="OnePageCheckoutEnabled"></span>
</div>
</div>
<nop-nested-setting asp-for="OnePageCheckoutEnabled">
<div class="form-group advanced-setting" id="pnlOnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab_OverrideForStore" asp-input="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab" />
<nop-override-store-checkbox asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab_OverrideForStore" asp-input="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab" />
<nop-editor asp-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab"/>
<span asp-validation-for="OnePageCheckoutDisplayOrderTotalsOnPaymentInfoTab"></span>
</div>
</div>
</nop-nested-setting>
<div class="form-group advanced-setting">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="TermsOfServiceOnShoppingCartPage_OverrideForStore" asp-input="TermsOfServiceOnShoppingCartPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="TermsOfServiceOnShoppingCartPage" />
<nop-override-store-checkbox asp-for="TermsOfServiceOnShoppingCartPage_OverrideForStore" asp-input="TermsOfServiceOnShoppingCartPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="TermsOfServiceOnShoppingCartPage"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="TermsOfServiceOnShoppingCartPage" />
<nop-editor asp-for="TermsOfServiceOnShoppingCartPage"/>
<span asp-validation-for="TermsOfServiceOnShoppingCartPage"></span>
</div>
</div>
<div class="form-group advanced-setting">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="TermsOfServiceOnOrderConfirmPage_OverrideForStore" asp-input="TermsOfServiceOnOrderConfirmPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="TermsOfServiceOnOrderConfirmPage" />
<nop-override-store-checkbox asp-for="TermsOfServiceOnOrderConfirmPage_OverrideForStore" asp-input="TermsOfServiceOnOrderConfirmPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="TermsOfServiceOnOrderConfirmPage"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="TermsOfServiceOnOrderConfirmPage" />
<nop-editor asp-for="TermsOfServiceOnOrderConfirmPage"/>
<span asp-validation-for="TermsOfServiceOnOrderConfirmPage"></span>
</div>
</div>
<div class="form-group advanced-setting">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="DisableBillingAddressCheckoutStep_OverrideForStore" asp-input="DisableBillingAddressCheckoutStep" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="DisableBillingAddressCheckoutStep" />
<nop-override-store-checkbox asp-for="DisableBillingAddressCheckoutStep_OverrideForStore" asp-input="DisableBillingAddressCheckoutStep" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="DisableBillingAddressCheckoutStep"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="DisableBillingAddressCheckoutStep" />
<nop-editor asp-for="DisableBillingAddressCheckoutStep"/>
<span asp-validation-for="DisableBillingAddressCheckoutStep"></span>
</div>
</div>
<div class="form-group advanced-setting">
<div class="col-md-3">
<nop-override-store-checkbox asp-for="DisableOrderCompletedPage_OverrideForStore" asp-input="DisableOrderCompletedPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration" />
<nop-label asp-for="DisableOrderCompletedPage" />
<nop-override-store-checkbox asp-for="DisableOrderCompletedPage_OverrideForStore" asp-input="DisableOrderCompletedPage" asp-store-scope="@Model.ActiveStoreScopeConfiguration"/>
<nop-label asp-for="DisableOrderCompletedPage"/>
</div>
<div class="col-md-9">
<nop-editor asp-for="DisableOrderCompletedPage" />
<nop-editor asp-for="DisableOrderCompletedPage"/>
<span asp-validation-for="DisableOrderCompletedPage"></span>
</div>
</div>
Expand Down
Loading

0 comments on commit b42930e

Please sign in to comment.