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!