diff --git a/Build.proj b/Build.proj index d1c6445d9..428af4056 100644 --- a/Build.proj +++ b/Build.proj @@ -8,14 +8,14 @@ - 03.02.02 + 03.02.03 01.00.00 01.00.00 - 03.02.02 + 03.02.03 $(BUILD_NUMBER) $(BUILD_NUMBER) diff --git a/CommonAssemblyInfo.cs b/CommonAssemblyInfo.cs index f57966fe1..269ddb4f1 100644 --- a/CommonAssemblyInfo.cs +++ b/CommonAssemblyInfo.cs @@ -11,7 +11,7 @@ [assembly: CLSCompliant(false)] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("3.02.02")] +[assembly: AssemblyVersion("3.02.03")] [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] diff --git a/Libraries/Hotcakes.Commerce/Catalog/Variant.cs b/Libraries/Hotcakes.Commerce/Catalog/Variant.cs index 5484427ea..b8a970ff3 100644 --- a/Libraries/Hotcakes.Commerce/Catalog/Variant.cs +++ b/Libraries/Hotcakes.Commerce/Catalog/Variant.cs @@ -44,6 +44,7 @@ public Variant() Sku = string.Empty; Price = -1; Selections = new OptionSelectionList(); + CustomProperty = string.Empty; } /// @@ -71,6 +72,11 @@ public Variant() /// public decimal Price { get; set; } + /// + /// The Custom Property to add further variant details + /// + public string CustomProperty { get; set; } + /// /// These are the options that define the variant. /// @@ -127,7 +133,8 @@ public VariantDTO ToDto() ProductId = ProductId, Sku = Sku, Price = Price, - Selections = selDto + Selections = selDto, + CustomProperty = CustomProperty }; } } diff --git a/Libraries/Hotcakes.Commerce/Catalog/VariantRepository.cs b/Libraries/Hotcakes.Commerce/Catalog/VariantRepository.cs index ff2321cb1..cfd752766 100644 --- a/Libraries/Hotcakes.Commerce/Catalog/VariantRepository.cs +++ b/Libraries/Hotcakes.Commerce/Catalog/VariantRepository.cs @@ -66,6 +66,7 @@ protected override void CopyDataToModel(hcc_Variants data, Variant model) } model.Sku = data.Sku ?? string.Empty; model.StoreId = data.StoreId; + model.CustomProperty = data.CustomProperty; } protected override void CopyModelToData(hcc_Variants data, Variant model) @@ -76,6 +77,7 @@ protected override void CopyModelToData(hcc_Variants data, Variant model) data.SelectionData = Json.ObjectToJson(model.Selections); data.Sku = model.Sku; data.StoreId = model.StoreId; + data.CustomProperty = model.CustomProperty; } diff --git a/Libraries/Hotcakes.Commerce/Data/EF/HccDbContext.edmx b/Libraries/Hotcakes.Commerce/Data/EF/HccDbContext.edmx index 1b118d851..1917353fc 100644 --- a/Libraries/Hotcakes.Commerce/Data/EF/HccDbContext.edmx +++ b/Libraries/Hotcakes.Commerce/Data/EF/HccDbContext.edmx @@ -756,7 +756,7 @@ - + @@ -1551,7 +1551,8 @@ - + + @@ -3542,6 +3543,7 @@ + @@ -4364,7 +4366,7 @@ - + @@ -5763,6 +5765,7 @@ + @@ -6251,7 +6254,7 @@ - + diff --git a/Libraries/Hotcakes.Commerce/Data/EF/hcc_Variants.cs b/Libraries/Hotcakes.Commerce/Data/EF/hcc_Variants.cs index 7b286be14..e40f17d44 100644 --- a/Libraries/Hotcakes.Commerce/Data/EF/hcc_Variants.cs +++ b/Libraries/Hotcakes.Commerce/Data/EF/hcc_Variants.cs @@ -20,7 +20,8 @@ public partial class hcc_Variants public decimal Price { get; set; } public string SelectionData { get; set; } public long StoreId { get; set; } - + public string CustomProperty { get; set; } + public virtual hcc_Product hcc_Product { get; set; } } } diff --git a/Libraries/Hotcakes.CommerceDTO/v1/Catalog/VariantDTO.cs b/Libraries/Hotcakes.CommerceDTO/v1/Catalog/VariantDTO.cs index a09d70140..488cc50bd 100644 --- a/Libraries/Hotcakes.CommerceDTO/v1/Catalog/VariantDTO.cs +++ b/Libraries/Hotcakes.CommerceDTO/v1/Catalog/VariantDTO.cs @@ -46,6 +46,7 @@ public VariantDTO() Selections = new List(); Sku = string.Empty; Price = -1; + CustomProperty = string.Empty; } /// @@ -78,5 +79,11 @@ public VariantDTO() /// [DataMember] public List Selections { get; set; } + + /// + /// The Custom Property to add further variant details + /// + [DataMember] + public string CustomProperty { get; set; } } } \ No newline at end of file diff --git a/WebDeploy/DNN_Platform_8.0.3_Install.zip b/WebDeploy/DNN_Platform_8.0.3_Install.zip index ea163234c..cdcace274 100644 Binary files a/WebDeploy/DNN_Platform_8.0.3_Install.zip and b/WebDeploy/DNN_Platform_8.0.3_Install.zip differ diff --git a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/Categories.js b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/Categories.js index ee41af63f..89d517453 100644 --- a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/Categories.js +++ b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/Categories.js @@ -27,6 +27,8 @@ $(document).ready(function () { containment: 'parent', opacity: '0.75', cursor: 'move', + forcePlaceholderSize: true, + tolerance: 'pointer', update: function (event, ui) { var sorted = $(this).sortable('toArray'); sorted += ''; diff --git a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx index 1bbbf8225..927589976 100644 --- a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx +++ b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx @@ -19,7 +19,7 @@ title: "Edit Variant", width: 500, height: 'auto', - maxHeight: 500, + maxHeight: 600, parentElement: '#<%=pnlEditVariant.ClientID%>', close: function () { <%= ClientScript.GetPostBackEventReference(lnkCancel, "") %> @@ -120,8 +120,17 @@ + +
+
+
+ + +
+
+
  • diff --git a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.cs b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.cs index 4f9ea44cd..2f6b88688 100644 --- a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.cs +++ b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.cs @@ -171,6 +171,8 @@ protected void btnSave_Click(object sender, EventArgs e) item.Price = Money.RoundCurrency(p); } + item.CustomProperty = txtVariantCustomProperty.Text; + if (ucVariantImage.HasFile) { DiskStorage.CopyProductVariantImage(HccApp.CurrentStore.Id, ProductId, item.Bvin, @@ -194,6 +196,7 @@ private void ShowDialog() lblVariantDescription.Text = GetVariantDescription(variant); txtVariantSku.Text = string.IsNullOrEmpty(variant.Sku) ? _currentProduct.Sku : variant.Sku; txtVariantPrice.Text = (variant.Price < 0 ? _currentProduct.SitePrice : variant.Price).ToString("c"); + txtVariantCustomProperty.Text = variant.CustomProperty; ucVariantImage.ImageUrl = DiskStorage.ProductVariantImageUrlMedium(HccApp, _currentProduct.Bvin, _currentProduct.ImageFileSmall, variant.Bvin, HccApp.IsCurrentRequestSecure()); diff --git a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.designer.cs b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.designer.cs index 7ba976370..ad2d0af39 100644 --- a/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.designer.cs +++ b/Website/DesktopModules/Hotcakes/Core/Admin/Catalog/ProductChoices_Variants.aspx.designer.cs @@ -165,6 +165,15 @@ public partial class ProductChoices_Variants { /// protected global::System.Web.UI.WebControls.TextBox txtVariantPrice; + /// + /// txtVariantCustomProperty control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtVariantCustomProperty; + /// /// lnkSaveVariant control. /// diff --git a/Website/DesktopModules/Hotcakes/Hotcakes.dnn b/Website/DesktopModules/Hotcakes/Hotcakes.dnn index 082648c5d..cbfbe22cc 100644 --- a/Website/DesktopModules/Hotcakes/Hotcakes.dnn +++ b/Website/DesktopModules/Hotcakes/Hotcakes.dnn @@ -1,6 +1,6 @@ - + Hotcakes Commerce ~/DesktopModules/Hotcakes/Core/Images/hcc-logo.png @@ -58,7 +58,7 @@ Hotcakes.Modules.Core.HotcakesController, Hotcakes.Modules [DESKTOPMODULEID] - 01.00.00,01.00.07,01.05.00,01.06.00,01.07.00,01.08.00,01.09.00,01.10.00,02.00.00,02.00.01,02.00.02,02.00.03,02.00.04,02.00.05,02.00.06,03.00.00,03.00.01,03.01.00,03.02.00,03.02.01,03.02.02 + 01.00.00,01.00.07,01.05.00,01.06.00,01.07.00,01.08.00,01.09.00,01.10.00,02.00.00,02.00.01,02.00.02,02.00.03,02.00.04,02.00.05,02.00.06,03.00.00,03.00.01,03.01.00,03.02.00,03.02.01,03.02.02,03.02.03 @@ -195,10 +195,15 @@ 03.02.02.SqlDataProvider 03.02.02 + @@ -518,7 +523,7 @@ - + Hotcakes Extension Url Provider ~/DesktopModules/Hotcakes/Core/Images/hcc-logo.png @@ -544,7 +549,7 @@ - + Hotcakes Address Book Core/Images/hcc-logo.png @@ -598,7 +603,7 @@ - + Hotcakes Cart Core/Images/hcc-logo.png @@ -670,7 +675,7 @@ - + Hotcakes Category Menu Core/Images/hcc-logo.png @@ -742,7 +747,7 @@ - + Hotcakes Category Viewer Core/Images/hcc-logo.png @@ -816,7 +821,7 @@ - + Hotcakes Checkout Core/Images/hcc-logo.png @@ -918,7 +923,7 @@ - + Hotcakes Featured Products Core/Images/hcc-logo.png @@ -990,7 +995,7 @@ - + Hotcakes Last Products Viewed Core/Images/hcc-logo.png @@ -1062,7 +1067,7 @@ - + Hotcakes Mini Cart Core/Images/hcc-logo.png @@ -1134,7 +1139,7 @@ - + Hotcakes Search Input Core/Images/hcc-logo.png @@ -1206,7 +1211,7 @@ - + HCSKINAFFILIATE SkinObject ~/DesktopModules/Hotcakes/Core/Images/hcc-logo.png @@ -1239,7 +1244,7 @@ - + HCSKINSEARCH SkinObject ~/DesktopModules/Hotcakes/Core/Images/hcc-logo.png @@ -1272,7 +1277,7 @@ - + Hotcakes Order History Core/Images/hcc-logo.png @@ -1344,7 +1349,7 @@ - + Hotcakes Product Grid Core/Images/hcc-logo.png @@ -1414,7 +1419,7 @@ - + Hotcakes Product Viewer Core/Images/hcc-logo.png @@ -1488,7 +1493,7 @@ - + Hotcakes Product Reviews Core/Images/hcc-logo.png @@ -1560,7 +1565,7 @@ - + Hotcakes Content Blocks Core/Images/hcc-logo.png @@ -1632,7 +1637,7 @@ - + Hotcakes Search Core/Images/hcc-logo.png @@ -1704,7 +1709,7 @@ - + Hotcakes Top Weekly Sellers Core/Images/hcc-logo.png @@ -1776,7 +1781,7 @@ - + Hotcakes Top 10 Products Core/Images/hcc-logo.png @@ -1848,7 +1853,7 @@ - + Hotcakes Wish List Core/Images/hcc-logo.png @@ -1902,7 +1907,7 @@ - + Hotcakes Affiliate Registration Hotcakes Wish List @@ -1957,7 +1962,7 @@ - + Hotcakes Affiliate Dashboard Core/Images/hcc-logo.png @@ -2011,7 +2016,7 @@ - + Hotcakes Control Panel Hotcakes Control Panel ~/DesktopModules/Hotcakes/Core/Images/hcc-logo.png diff --git a/Website/DesktopModules/Hotcakes/Providers/DataProviders/SqlDataProvider/03.02.03.SqlDataProvider b/Website/DesktopModules/Hotcakes/Providers/DataProviders/SqlDataProvider/03.02.03.SqlDataProvider new file mode 100644 index 000000000..74083edc0 --- /dev/null +++ b/Website/DesktopModules/Hotcakes/Providers/DataProviders/SqlDataProvider/03.02.03.SqlDataProvider @@ -0,0 +1,12 @@ +/* + Issue #221 + SI: SI: Add Special Properties to Variants + https://github.com/HotcakesCommerce/hotcakes-commerce-core/issues/221 +*/ +/* Add property to Product Choice Variants */ +IF NOT EXISTS( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{objectQualifier}hcc_Variants' AND COLUMN_NAME = 'CustomProperty') +BEGIN + ALTER TABLE {databaseOwner}[{objectQualifier}hcc_Variants] ADD + [CustomProperty] [nvarchar](max) NOT NULL DEFAULT '' +END +GO diff --git a/Website/DesktopModules/Hotcakes/ReleaseNotes.txt b/Website/DesktopModules/Hotcakes/ReleaseNotes.txt index df02e3835..5c3da471a 100644 --- a/Website/DesktopModules/Hotcakes/ReleaseNotes.txt +++ b/Website/DesktopModules/Hotcakes/ReleaseNotes.txt @@ -1,8 +1,25 @@ -
    Version 03.02.02
    +
    Version 03.02.03

    Highlights

    Enhancements

      -
    • Choose to Notify Membership Subscribers - SI: You are now able to choose whether new customers receive the DNN role assignment e-mail for membership product types (Issue )
    • +
    • Added Special Properties to Variants - SI: You're now able to add special properties to variants for even more flexibility for your unique e-commerce implementations (Issue 221)
    • +
    +

    Bug Fixes

    +
      +
    • Issue 193 - Administration category sort not working
    • +
    +
    Thank you to the following community members for participating in this release!
    + + +
    Version 03.02.02
    +

    Highlights

    +

    Enhancements

    +
      +
    • Choose to Notify Membership Subscribers - SI: You are now able to choose whether new customers receive the DNN role assignment e-mail for membership product types (Issue 184)
    • Updated E-Mail Address Validation - CI: E-mail address validation now supports newer top-level domain names (Issue 63)
    • DNN 9.xx compatibility updates (more coming in the 03.03.00 release)
        @@ -23,7 +40,6 @@
      • Issue 200 - Disabling the reviews/ratings still shows ratings in product details view.
      • Issue 173 - Pricing was not properly formatted in the drilldown category view.
      • Issue 180 - Removed remaining bits of Shift4 from the code base.
      • -
      • Issue -
      Thank you to the following community members for participating in this release!