From c10cd0808b6d07a57c1fcad0d4a4a3b89a0de6f5 Mon Sep 17 00:00:00 2001 From: tanvu-epi Date: Thu, 22 Oct 2020 10:12:30 +0700 Subject: [PATCH] fix QuickOrderBlock not work StandardPage can not set background color --- .../Assets/js/common/foundation.commerce.js | 1 + .../QuickOrderBlock/Index.cshtml | 8 +++--- .../QuickOrderBlock/QuickOrderBlock.cs | 21 -------------- .../QuickOrderBlockController.cs | 8 ++++-- .../QuickOrderBlock/QuickOrderViewModel.cs | 28 +++++++++++++++++++ .../Features/StandardPage/Index.cshtml | 3 +- .../Features/StandardPage/_standard-page.scss | 1 + src/Foundation/Foundation.csproj | 1 + 8 files changed, 41 insertions(+), 30 deletions(-) create mode 100644 src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderViewModel.cs diff --git a/src/Foundation/Assets/js/common/foundation.commerce.js b/src/Foundation/Assets/js/common/foundation.commerce.js index 03095ef72..c6a68a555 100644 --- a/src/Foundation/Assets/js/common/foundation.commerce.js +++ b/src/Foundation/Assets/js/common/foundation.commerce.js @@ -17,6 +17,7 @@ import B2bUsersOrganization from "Features/MyOrganization/Users/b2b-users-organi import Stores from "Features/Stores/stores"; import People from "Features/People/people"; import Market from "Features/Markets/market"; +import QuickOrderBlock from "Features/MyOrganization/QuickOrderBlock/quick-order-block"; export default class FoundationCommerce { init() { diff --git a/src/Foundation/Features/MyOrganization/QuickOrderBlock/Index.cshtml b/src/Foundation/Features/MyOrganization/QuickOrderBlock/Index.cshtml index c0088d2a4..ddfb9787b 100644 --- a/src/Foundation/Features/MyOrganization/QuickOrderBlock/Index.cshtml +++ b/src/Foundation/Features/MyOrganization/QuickOrderBlock/Index.cshtml @@ -1,11 +1,11 @@ @using Foundation.Features.MyOrganization.QuickOrderBlock -@model QuickOrderBlock +@model QuickOrderViewModel -

@Html.PropertyFor(m => m.Title)

+

@Html.PropertyFor(m => m.CurrentBlock.Title)

- @Html.PropertyFor(m => m.MainBody) + @Html.PropertyFor(m => m.CurrentBlock.MainBody)
@@ -24,7 +24,7 @@ @Html.TextBoxFor(x => x.ProductsList[i].ProductName, new { @class = "form-control square-box", @readonly = "readonly" })
- @Html.TextBoxFor(x => x.ProductsList[i].Sku, new { @class = "form-control square-box", required = "required", @class = "position-relative;" }) + @Html.TextBoxFor(x => x.ProductsList[i].Sku, new { @class = "form-control square-box position-relative", required = "required" })
@Html.TextBoxFor(x => x.ProductsList[i].UnitPrice, "{0:0.00}", new { @class = "form-control square-box", @readonly = "readonly" }) diff --git a/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlock.cs b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlock.cs index a667c75b2..93e8cdf8d 100644 --- a/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlock.cs +++ b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlock.cs @@ -1,11 +1,8 @@ using EPiServer.Core; using EPiServer.DataAbstraction; using EPiServer.DataAnnotations; -using EPiServer.Security; using Foundation.Features.Shared; using Foundation.Infrastructure; -using Mediachase.Commerce.Security; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace Foundation.Features.MyOrganization.QuickOrderBlock @@ -24,23 +21,5 @@ public class QuickOrderBlock : FoundationBlockData [CultureSpecific] [Display(Name = "Main body", GroupName = SystemTabNames.Content, Order = 10)] public virtual XhtmlString MainBody { get; set; } - - [Ignore] - [Display(Name = "Product list", Order = 20)] - public List ProductsList { get; set; } - - [Ignore] - [Display(Name = "Returned messages", Order = 30)] - public List ReturnedMessages { get; set; } - - [Ignore] - public bool HasOrganization - { - get - { - var contact = PrincipalInfo.CurrentPrincipal.GetCustomerContact(); - return contact?.OwnerId != null; - } - } } } \ No newline at end of file diff --git a/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlockController.cs b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlockController.cs index 6b0a7bfc8..6a649603f 100644 --- a/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlockController.cs +++ b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderBlockController.cs @@ -61,9 +61,11 @@ public QuickOrderBlockController( } public override ActionResult Index(QuickOrderBlock currentBlock) { - currentBlock.ReturnedMessages = TempData["messages"] as List; - currentBlock.ProductsList = TempData["products"] as List; - return PartialView(currentBlock); + var model = new QuickOrderViewModel(currentBlock); + + model.ReturnedMessages = TempData["messages"] as List; + model.ProductsList = TempData["products"] as List; + return PartialView(model); } [HttpPost] diff --git a/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderViewModel.cs b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderViewModel.cs new file mode 100644 index 000000000..3787e9181 --- /dev/null +++ b/src/Foundation/Features/MyOrganization/QuickOrderBlock/QuickOrderViewModel.cs @@ -0,0 +1,28 @@ +using EPiServer.Security; +using Mediachase.Commerce.Security; +using System.Collections.Generic; + +namespace Foundation.Features.MyOrganization.QuickOrderBlock +{ + public class QuickOrderViewModel + { + public QuickOrderBlock CurrentBlock { get; set; } + public List ProductsList { get; set; } + public List ReturnedMessages { get; set; } + public bool HasOrganization + { + get + { + var contact = PrincipalInfo.CurrentPrincipal.GetCustomerContact(); + return contact?.OwnerId != null; + } + } + + public QuickOrderViewModel(QuickOrderBlock currentBlock) + { + CurrentBlock = currentBlock; + ProductsList = new List(); + ReturnedMessages = new List(); + } + } +} \ No newline at end of file diff --git a/src/Foundation/Features/StandardPage/Index.cshtml b/src/Foundation/Features/StandardPage/Index.cshtml index d3d4638fa..370877dd4 100644 --- a/src/Foundation/Features/StandardPage/Index.cshtml +++ b/src/Foundation/Features/StandardPage/Index.cshtml @@ -32,11 +32,10 @@ } else if (!ContentReference.IsNullOrEmpty(Model.CurrentContent.BackgroundImage)) { +
-
-
} else if (!ContentReference.IsNullOrEmpty(Model.CurrentContent.PageImage)) { diff --git a/src/Foundation/Features/StandardPage/_standard-page.scss b/src/Foundation/Features/StandardPage/_standard-page.scss index b945bf5bb..9cf83d869 100644 --- a/src/Foundation/Features/StandardPage/_standard-page.scss +++ b/src/Foundation/Features/StandardPage/_standard-page.scss @@ -12,6 +12,7 @@ } &__background { + position: absolute; left: 0; top: 0; height: 100%; diff --git a/src/Foundation/Foundation.csproj b/src/Foundation/Foundation.csproj index ecd5ea53a..e519593ed 100644 --- a/src/Foundation/Foundation.csproj +++ b/src/Foundation/Foundation.csproj @@ -1103,6 +1103,7 @@ +