diff --git a/.gitignore b/.gitignore index a03e7c3..fb819e8 100644 --- a/.gitignore +++ b/.gitignore @@ -249,3 +249,4 @@ Installation/OpenStore_4.1.4_Upgrade.zip Installation/OpenStore_4.1.4_Upgate.zip Installation/OpenStore_4.1.4_Upgrade-OLD.zip dnnpack.config +*.zip diff --git a/App_LocalResources/Notification.ascx.nl-NL.resx b/App_LocalResources/Notification.ascx.nl-NL.resx index b9e64d2..3d8e4b8 100644 --- a/App_LocalResources/Notification.ascx.nl-NL.resx +++ b/App_LocalResources/Notification.ascx.nl-NL.resx @@ -145,7 +145,7 @@ De bestelling is geannuleerd, of de betaling is mislukt. Controleer uw bankgegevens of neem contact op met ons op als u denkt dat het probleem bij ons zit. - Dank voor uw bestelling. U ontvangt per e-mail een bevestiging met alle informatie. Controleer uw ongewenste e-mail als u na 30 minuten nog niets ontvangen heeft. Indien u contact met ons opneemt vernemen wij graag uw ordernummer. + Dank voor uw bestelling. U ontvangt per e-mail een bevestiging met alle informatie. Controleer uw ongewenste e-mail als u na 30 minuten nog niets ontvangen heeft. Indien u contact met ons opneemt vernemen wij graag uw bestelnummer. Details van de bestelling diff --git a/App_LocalResources/OrderAdmin.ascx.nl-NL.resx b/App_LocalResources/OrderAdmin.ascx.nl-NL.resx index 85dd8c9..37a9319 100644 --- a/App_LocalResources/OrderAdmin.ascx.nl-NL.resx +++ b/App_LocalResources/OrderAdmin.ascx.nl-NL.resx @@ -100,7 +100,7 @@ Kwitantie - Betalingsmethode: + Betaalmethode: Status betaling diff --git a/App_LocalResources/ProductView.ascx.nl-NL.resx b/App_LocalResources/ProductView.ascx.nl-NL.resx index f3e327d..e063b47 100644 --- a/App_LocalResources/ProductView.ascx.nl-NL.resx +++ b/App_LocalResources/ProductView.ascx.nl-NL.resx @@ -333,4 +333,10 @@ <i class="fa fa-star fa-stack-1x fa-inverse"></i> </span> + + artikel + + + artikelen + \ No newline at end of file diff --git a/App_LocalResources/plugins.ascx.nl-NL.resx b/App_LocalResources/plugins.ascx.nl-NL.resx index e767767..3c2b20e 100644 --- a/App_LocalResources/plugins.ascx.nl-NL.resx +++ b/App_LocalResources/plugins.ascx.nl-NL.resx @@ -127,7 +127,7 @@ <i class="fa fa-bar-chart-o fa-fw"></i> - Vergadering + Assembly class="nav main-menu" diff --git a/App_LocalResources/settings.ascx.nl-NL.resx b/App_LocalResources/settings.ascx.nl-NL.resx index 0fbfe03..3126104 100644 --- a/App_LocalResources/settings.ascx.nl-NL.resx +++ b/App_LocalResources/settings.ascx.nl-NL.resx @@ -145,7 +145,7 @@ Fiscale codeveld - Kopiƫren van bestelling naar E-mail + Kopie van bestelling naar e-mail Valutasymbool diff --git a/Components/NBrightBuyUtils.cs b/Components/NBrightBuyUtils.cs index 94332ff..ab85a19 100644 --- a/Components/NBrightBuyUtils.cs +++ b/Components/NBrightBuyUtils.cs @@ -1549,6 +1549,7 @@ public static string RazorTemplRenderList(string razorTemplName, int moduleid, s return RazorTemplRenderList(razorTemplName, moduleid, cacheKey, objList, templateControlPath, theme, lang, settings, null); } + private static string lockobjectRazorTemplRenderList = "lockitRazorTemplRenderList"; public static string RazorTemplRenderList(string razorTemplName, int moduleid, string cacheKey, List objList, string templateControlPath, string theme, string lang, Dictionary settings, NBrightInfo headerData) { // do razor template @@ -1560,26 +1561,30 @@ public static string RazorTemplRenderList(string razorTemplName, int moduleid, s var razorTempl = (string)GetModCache(ckey); if (razorTempl == null || StoreSettings.Current.DebugMode) { - razorTempl = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); - if (razorTempl != "") + lock (lockobjectRazorTemplRenderList) { - var nbRazor = new NBrightRazor(objList.Cast().ToList(), settings, HttpContext.Current.Request.QueryString); - nbRazor.ModuleId = moduleid; - nbRazor.FullTemplateName = theme + "." + razorTemplName; - nbRazor.TemplateName = razorTemplName; - nbRazor.ThemeFolder = theme; - nbRazor.Lang = lang; - - nbRazor.HeaderData = headerData; - - var razorTemplateKey = "NBrightBuyRazorKey" + theme + razorTemplName + PortalSettings.Current.PortalId.ToString(); - razorTempl = RazorRender(nbRazor, razorTempl, razorTemplateKey, StoreSettings.Current.DebugMode); - if (cacheKey != "") SetModCache(moduleid, ckey, razorTempl); // only save to cache if we pass in a cache key. + razorTempl = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); + if (razorTempl != "") + { + var nbRazor = new NBrightRazor(objList.Cast().ToList(), settings, HttpContext.Current.Request.QueryString); + nbRazor.ModuleId = moduleid; + nbRazor.FullTemplateName = theme + "." + razorTemplName; + nbRazor.TemplateName = razorTemplName; + nbRazor.ThemeFolder = theme; + nbRazor.Lang = lang; + + nbRazor.HeaderData = headerData; + + var razorTemplateKey = "NBrightBuyRazorKey" + theme + razorTemplName + PortalSettings.Current.PortalId.ToString(); + razorTempl = RazorRender(nbRazor, razorTempl, razorTemplateKey, StoreSettings.Current.DebugMode); + if (cacheKey != "") SetModCache(moduleid, ckey, razorTempl); // only save to cache if we pass in a cache key. + } } } return razorTempl; } + private static string lockobjectRenderGroupCategoryList = "lockitRenderGroupCategoryList"; public static string RazorTemplRenderGroupCategoryList(string razorTemplName, int moduleid, string cacheKey, List objList, string templateControlPath, string theme, string lang, Dictionary settings) { // do razor template @@ -1587,24 +1592,28 @@ public static string RazorTemplRenderGroupCategoryList(string razorTemplName, in var razorTempl = (string)GetModCache(cachekey); if (razorTempl == null || StoreSettings.Current.DebugMode) { - razorTempl = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); - if (razorTempl != "") + lock (lockobjectRenderGroupCategoryList) { - var nbRazor = new NBrightRazor(objList.Cast().ToList(), settings, HttpContext.Current.Request.QueryString); - nbRazor.ModuleId = moduleid; - nbRazor.FullTemplateName = theme + "." + razorTemplName; - nbRazor.TemplateName = razorTemplName; - nbRazor.ThemeFolder = theme; - nbRazor.Lang = lang; - - var razorTemplateKey = "NBrightBuyRazorKey" + theme + razorTemplName + PortalSettings.Current.PortalId.ToString(); - razorTempl = RazorRender(nbRazor, razorTempl, razorTemplateKey, StoreSettings.Current.DebugMode); - if (cacheKey != "") SetModCache(moduleid, cachekey, razorTempl); // only save to cache if we pass in a cache key. + razorTempl = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); + if (razorTempl != "") + { + var nbRazor = new NBrightRazor(objList.Cast().ToList(), settings, HttpContext.Current.Request.QueryString); + nbRazor.ModuleId = moduleid; + nbRazor.FullTemplateName = theme + "." + razorTemplName; + nbRazor.TemplateName = razorTemplName; + nbRazor.ThemeFolder = theme; + nbRazor.Lang = lang; + + var razorTemplateKey = "NBrightBuyRazorKey" + theme + razorTemplName + PortalSettings.Current.PortalId.ToString(); + razorTempl = RazorRender(nbRazor, razorTempl, razorTemplateKey, StoreSettings.Current.DebugMode); + if (cacheKey != "") SetModCache(moduleid, cachekey, razorTempl); // only save to cache if we pass in a cache key. + } } } return razorTempl; } + private static string lockobjectRazorPreProcessTempl = "lockitRazorPreProcessTempl"; public static Dictionary RazorPreProcessTempl(string razorTemplName, string templateControlPath, string theme, string lang, Dictionary settings, string moduleid = "") { // match the "AddPreProcessMetaData()" cachekey. @@ -1618,37 +1627,40 @@ public static Dictionary RazorPreProcessTempl(string razorTemplN if (cachedlist != null) return cachedlist; } - // build cache data from template. - var razorTemplate = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); - if (razorTemplate != "" && razorTemplate.Contains("AddPreProcessMetaData")) - { - var obj = new NBrightInfo(true); - obj.Lang = lang; - obj.ModuleId = -1; - var l = new List(); - l.Add(obj); - var modRazor = new NBrightRazor(l, settings, HttpContext.Current.Request.QueryString); - modRazor.FullTemplateName = theme + "." + razorTemplName; - modRazor.TemplateName = razorTemplName; - modRazor.ThemeFolder = theme; - modRazor.Lang = lang; - try + lock (lockobjectRazorPreProcessTempl) + { + // build cache data from template. + var razorTemplate = GetRazorTemplateData(razorTemplName, templateControlPath, theme, lang); + if (razorTemplate != "" && razorTemplate.Contains("AddPreProcessMetaData")) { - // do razor and cache preprocessmetadata - razorTemplate = RazorRender(modRazor, razorTemplate, cachekey, false); + var obj = new NBrightInfo(true); + obj.Lang = lang; + obj.ModuleId = -1; + var l = new List(); + l.Add(obj); + var modRazor = new NBrightRazor(l, settings, HttpContext.Current.Request.QueryString); + modRazor.FullTemplateName = theme + "." + razorTemplName; + modRazor.TemplateName = razorTemplName; + modRazor.ThemeFolder = theme; + modRazor.Lang = lang; + try + { + // do razor and cache preprocessmetadata + razorTemplate = RazorRender(modRazor, razorTemplate, cachekey, false); + } + catch (Exception ex) + { + // Only log exception, could be a error because of missing data. The preprocessing doesn't care. + } + cachedlist = (Dictionary)Utils.GetCache(cachekey); + if (cachedlist == null) cachedlist = new Dictionary(); + Utils.SetCache(cachekey, cachedlist); } - catch (Exception ex) + else { - // Only log exception, could be a error because of missing data. The preprocessing doesn't care. + cachedlist = new Dictionary(); + Utils.SetCache(cachekey, cachedlist); } - cachedlist = (Dictionary) Utils.GetCache(cachekey); - if (cachedlist == null) cachedlist = new Dictionary(); - Utils.SetCache(cachekey, cachedlist); - } - else - { - cachedlist = new Dictionary(); - Utils.SetCache(cachekey, cachedlist); } return cachedlist; } diff --git a/DNNpackager.dnnpack b/DNNpackager.dnnpack index f17a49a..c479010 100644 --- a/DNNpackager.dnnpack +++ b/DNNpackager.dnnpack @@ -3,7 +3,7 @@ \DesktopModules\NBright\NBrightBuy \bin - (\.cshtml|\.html|\.resx|\.dnn|\.png|\.css|\.js|\.xml|\.txt|\.md|\.aspx|\.ascx|\.ashx)$ + (\.cshtml|\.html|\.resx|OpenStore\.dnn|\.png|\.gif|\.jpg|\.jpeg|\.css|\.js|\.xml|\.txt|\.md|\.aspx|\.ascx|\.ashx)$ \.git diff --git a/NBrightBuy.csproj b/NBrightBuy.csproj index 5aadbdc..a847467 100644 --- a/NBrightBuy.csproj +++ b/NBrightBuy.csproj @@ -102,106 +102,131 @@ PropertiesValue.ascx + ASPXCodeBehind PropertiesValue.ascx.cs Categories.ascx + ASPXCodeBehind Categories.ascx.cs Clients.ascx + ASPXCodeBehind Clients.ascx.cs BackOffice.ascx + ASPXCodeBehind BackOffice.ascx.cs Tools.ascx + ASPXCodeBehind Tools.ascx.cs Import.ascx + ASPXCodeBehind Import.ascx.cs Export.ascx + ASPXCodeBehind Export.ascx.cs EditLanguage.ascx + ASPXCodeBehind EditLanguage.ascx.cs Products.ascx + ASPXCodeBehind Products.ascx.cs PropertyGroups.ascx + ASPXCodeBehind PropertyGroups.ascx.cs Settings.ascx + ASPXCodeBehind Settings.ascx.cs DashSummary.ascx + ASPXCodeBehind DashSummary.ascx.cs Plugins.ascx + ASPXCodeBehind Plugins.ascx.cs Menu.ascx + ASPXCodeBehind Menu.ascx.cs Orders.ascx + ASPXCodeBehind Orders.ascx.cs - - - - + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + CartRazorView.ascx + ASPXCodeBehind CartRazorView.ascx.cs CartRazorViewSettings.ascx + ASPXCodeBehind CartRazorViewSettings.ascx.cs @@ -210,12 +235,14 @@ ProductListAjaxFilter.ascx + ASPXCodeBehind ProductListAjaxFilter.ascx.cs ProductListAjaxFilterSettings.ascx + ASPXCodeBehind ProductListAjaxFilterSettings.ascx.cs @@ -240,36 +267,42 @@ ItemListRazor.ascx + ASPXCodeBehind ItemListRazor.ascx.cs ItemListRazorSettings.ascx + ASPXCodeBehind ItemListRazorSettings.ascx.cs ProductRazorSearch.ascx + ASPXCodeBehind ProductRazorSearch.ascx.cs ProductRazorSearchSettings.ascx + ASPXCodeBehind ProductRazorSearchSettings.ascx.cs CategoryRazorMenuSettings.ascx + ASPXCodeBehind CategoryRazorMenuSettings.ascx.cs CategoryRazorMenu.ascx + ASPXCodeBehind CategoryRazorMenu.ascx.cs @@ -278,36 +311,42 @@ OrderRazorAdmin.ascx + ASPXCodeBehind OrderRazorAdmin.ascx.cs OrderRazorAdminSettings.ascx + ASPXCodeBehind OrderRazorAdminSettings.ascx.cs ProductAjaxView.ascx + ASPXCodeBehind ProductAjaxView.ascx.cs ProductAjaxViewSettings.ascx + ASPXCodeBehind ProductAjaxViewSettings.ascx.cs ProfileRazorFormSettings.ascx + ASPXCodeBehind ProfileRazorFormSettings.ascx.cs ProfileRazorForm.ascx + ASPXCodeBehind ProfileRazorForm.ascx.cs @@ -343,36 +382,42 @@ AddressAdmin.ascx + ASPXCodeBehind AddressAdmin.ascx.cs AddressAdminSettings.ascx + ASPXCodeBehind AddressAdminSettings.ascx.cs Container.ascx + ASPXCodeBehind Container.ascx.cs Payment.ascx + ASPXCodeBehind Payment.ascx.cs PaymentSettings.ascx + ASPXCodeBehind PaymentSettings.ascx.cs PrintView.aspx + ASPXCodeBehind PrintView.aspx.cs @@ -1772,7 +1817,6 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - diff --git a/NBrightBuy15.sln b/NBrightBuy15.sln index 8ad1e42..fd4577f 100644 --- a/NBrightBuy15.sln +++ b/NBrightBuy15.sln @@ -19,6 +19,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscountCodesProvider", "Pr EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3F7C3DDA-C643-40C8-B411-99C6C8AF5ED6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NBrightDNN", "..\NBrightData\NBrightDNN.csproj", "{EC815D38-62CF-4B46-8177-CF40CE1AAB62}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NBrightCore", "..\NBrightData\NBrightCore\NBrightCore.csproj", "{7B338113-6A9A-484D-A6C6-4D63FD5E58C6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,8 +31,10 @@ Global EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {8F850303-BEC5-4247-9126-1E58F1402205}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8F850303-BEC5-4247-9126-1E58F1402205}.Debug|Any CPU.Build.0 = Debug|Any CPU {8F850303-BEC5-4247-9126-1E58F1402205}.Razor|Any CPU.ActiveCfg = Razor|Any CPU {8F850303-BEC5-4247-9126-1E58F1402205}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8F850303-BEC5-4247-9126-1E58F1402205}.Release|Any CPU.Build.0 = Release|Any CPU {747FC12A-3C5B-495E-90A6-47E999E16AAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {747FC12A-3C5B-495E-90A6-47E999E16AAA}.Razor|Any CPU.ActiveCfg = Razor|Any CPU {747FC12A-3C5B-495E-90A6-47E999E16AAA}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -47,6 +53,18 @@ Global {A634CB2D-946E-4C73-B7DC-0677CE5AA7D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A634CB2D-946E-4C73-B7DC-0677CE5AA7D0}.Razor|Any CPU.ActiveCfg = Razor|Any CPU {A634CB2D-946E-4C73-B7DC-0677CE5AA7D0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Razor|Any CPU.ActiveCfg = Release|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Razor|Any CPU.Build.0 = Release|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC815D38-62CF-4B46-8177-CF40CE1AAB62}.Release|Any CPU.Build.0 = Release|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Razor|Any CPU.ActiveCfg = Release|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Razor|Any CPU.Build.0 = Release|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B338113-6A9A-484D-A6C6-4D63FD5E58C6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/OpenStore.dnn b/OpenStore.dnn index cdea5b7..7f38864 100644 --- a/OpenStore.dnn +++ b/OpenStore.dnn @@ -93,6 +93,8 @@ v04.01.05 - Minor updates + - Fix problem with cahce on product header. + - Fix duplicate plugin records. - Convert Dev to DNNpackager. diff --git a/OpenStoreUpgrade.dnn b/OpenStoreUpgrade.dnn index ca88aca..ef5bf41 100644 --- a/OpenStoreUpgrade.dnn +++ b/OpenStoreUpgrade.dnn @@ -93,6 +93,8 @@ v04.01.05 - Minor updates + - Fix problem with cahce on product header. + - Fix duplicate plugin records. - Convert Dev to DNNpackager. diff --git a/Payment.ascx.cs b/Payment.ascx.cs index dba5b2e..29fd11d 100644 --- a/Payment.ascx.cs +++ b/Payment.ascx.cs @@ -73,9 +73,12 @@ protected override void OnLoad(EventArgs e) { cartInfo.SaveModelTransQty(); // move qty into trans var orderData = cartInfo.ConvertToOrder(StoreSettings.Current.DebugMode); - orderData.PaymentProviderKey = providerkey.ToLower(); // provider keys should always be lowecase - orderData.SavePurchaseData(); - PaymentsInterface.Instance(orderData.PaymentProviderKey).RedirectForPayment(orderData); + if (orderData != null) + { + orderData.PaymentProviderKey = providerkey.ToLower(); // provider keys should always be lowecase + orderData.SavePurchaseData(); + PaymentsInterface.Instance(orderData.PaymentProviderKey).RedirectForPayment(orderData); + } } } else diff --git a/Themes/Bootstrap4/Default/ProductDisplayDetail.cshtml b/Themes/Bootstrap4/Default/ProductDisplayDetail.cshtml index 275fad2..8d4e9c9 100644 --- a/Themes/Bootstrap4/Default/ProductDisplayDetail.cshtml +++ b/Themes/Bootstrap4/Default/ProductDisplayDetail.cshtml @@ -209,7 +209,7 @@
- @if (@info.GetXmlProperty("genxml/lang/genxml/textbox/description") != "") + @if (@info.GetXmlProperty("genxml/lang/genxml/edt/description") != "") {
- @HtmlOf(info, "genxml/lang/genxml/textbox/description") + @HtmlOf(info, "genxml/lang/genxml/edt/description")
} @if (@product.Docs.Count >= 1) diff --git a/Themes/Bootstrap4/js/product.js b/Themes/Bootstrap4/js/product.js index dfd0e9f..f9e0b4a 100644 --- a/Themes/Bootstrap4/js/product.js +++ b/Themes/Bootstrap4/js/product.js @@ -116,7 +116,7 @@ function AjaxView_GetList_nbxproductgetCompleted(e) { $('.processingminicart').show(); $('input[id*="optionfilelist"]').val(''); // clear any clientupload file names $('#carttemplate').val('MiniCart.cshtml'); - nbxproductget('cart_renderminicart', '#productajaxview', '.container_classicajax_minicart'); // Reload Cart + nbxproductget('cart_renderminicart', '#productajaxview', '.container_bootstrap4_minicart'); // Reload Cart $('.addedtobasket').delay(1000).fadeOut('fast'); } diff --git a/Themes/Default/Default/payment_ok.cshtml b/Themes/Default/Default/payment_ok.cshtml index ffc1fb2..0261d34 100644 --- a/Themes/Default/Default/payment_ok.cshtml +++ b/Themes/Default/Default/payment_ok.cshtml @@ -36,7 +36,7 @@ @if (UserController.Instance.GetCurrentUserInfo().UserID > 0) { } else diff --git a/_external/Newtonsoft.Json.dll b/_external/Newtonsoft.Json.dll new file mode 100644 index 0000000..77a5d89 Binary files /dev/null and b/_external/Newtonsoft.Json.dll differ