Coder Social home page Coder Social logo

teacommerce / tea-commerce-for-umbraco Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 19.0 18.38 MB

Tea Commerce is an e-commerce package for Umbraco CMS

Home Page: https://www.teacommerce.net/

License: MIT License

JavaScript 14.43% C# 64.24% HTML 4.32% Batchfile 0.52% CSS 0.39% ASP.NET 16.10%

tea-commerce-for-umbraco's People

Contributors

andersburla avatar arknu avatar bjarnef avatar bllteasolutionsdk avatar dsm-tea avatar kimpil avatar mattbrailsford avatar richardpoyner avatar suedeapple avatar uniquelau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tea-commerce-for-umbraco's Issues

It's possible to add same discount code or gift card multiple times

I tried to see what happens if added same discount code or gift card again. If I add the exact same value it seem to be ignored as it already exists. However if I add an extra whitespace in end of the code, the same code is added to the order multiple times.

e.g. first time I add a discount code called "NEWYEAR2015" and second time "NEWYEAR2015 ". Notice the whitespace in the end.

Then I see this:

2014-12-27_20-16-55

and the order have the same discount code and gift card twice, but without the space.

2014-12-27_20-20-43

When I add a space in front I don't see an server error and it's ignored. If I add exact same value again the I get an server error as below, but no duplicates. But if I add an space in the end I also get the server error below and the code is added twice in the order object like shown in the screenshot above.

<error><![CDATA[MESSAGE:
Destinationen for en aktivering udløste en undtagelse.

STACKTRACE:
   ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   ved Umbraco.Web.BaseRest.RestExtensionMethodInfo.Invoke(String[] parameters)

INNEREXCEPTION:
System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_TeaCommerce_AppliedDiscountCode'. Cannot insert duplicate key in object 'dbo.TeaCommerce_AppliedDiscountCode'. The duplicate key value is (46f2fa57-b40a-42f5-9dc2-fdf3b7669860, NEWYEAR2015).
The statement has been terminated.
   ved System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   ved System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   ved System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   ved System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   ved System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   ved System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   ved System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   ved System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   ved TeaCommerce.Api.Persistence.Database.Insert(String tableName, String primaryKeyName, Boolean autoIncrement, Object poco)
   ved TeaCommerce.Api.Persistence.Database.Insert(Object poco)
   ved TeaCommerce.Api.Persistence.Repositories.OrderRepository.Save(Order order)
   ved TeaCommerce.Api.Models.Order.Save()
   ved TeaCommerce.Api.Web.FormPostHandler.AddDiscountCode(Int64 storeId, IDictionary`2 formFields, IDictionary`2 settings)
   ved TeaCommerce.Api.Web.FormPostHandler.FormPost()
ClientConnectionId:8b52c22a-1015-4b0d-81fe-58b1666f918b]]></error>

when there are duplicates of discount codes or gift cards on the order, furthermore I get this error if I want to remove of code. This happens because the collection contains duplicates of the same key (discount code or gift card code). This really shouldn't happen, that you can add same code multiple times:

<error><![CDATA[MESSAGE:
Destinationen for en aktivering udløste en undtagelse.

STACKTRACE:
   ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   ved Umbraco.Web.BaseRest.RestExtensionMethodInfo.Invoke(String[] parameters)

INNEREXCEPTION:
System.InvalidOperationException: Sekvensen indeholder mere end ét tilsvarende element
   ved System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
   ved TeaCommerce.Api.Web.FormPostHandler.RemoveDiscountCode(Int64 storeId, IDictionary`2 formFields, IDictionary`2 settings)
   ved TeaCommerce.Api.Web.FormPostHandler.FormPost()]]></error>

Missing Discount Code value in e-mail templates

In the e-mail templates, e.g. edit-order.cshtml and email-template-confirmation.cshtml it display the amount of the gift cards used, but it doesn't display any price about the Discount Codes used, e.g. when you use an Discount Code "NEWYEAR2015" with 10% of Subtotal price and if Subtotal is 5.990,00 the Discount for TotalPrice would be 599,00.

Otherwise you might be wondering, where the "missing" subtracted price in the TotalPrice come from.

The part below is already in the template:

@if ( Model.TotalPrice.GiftCardsAmount.Value > 0 ) {
          <tr>
            <td colspan="4" align="right">
              @(Model.GiftCards.Count > 1 ? "Gift cards" : "Gift card")
            </td>
            <td style="white-space: nowrap;" align="right">
              @Model.TotalPrice.GiftCardsAmount
            </td>
            <td></td>
          </tr>
}

so I have just added this new part below the gift card amount:

@if ( Model.TotalPrice.Discount.Value > 0M ) {
            <tr>
                <td colspan="4" align="right">
                    @(Model.DiscountCodes.Count > 1 ? "Discount codes" : "Discount code")
                </td>
                <td style="white-space: nowrap;" align="right">
                    @Model.TotalPrice.Discount
                </td>
                <td></td>
            </tr>
}

Maybe also add a "-" as text in front to clarify that these prices are subtracted?

Ensure you can check radiobuttons by clicking the label

Another little thing is in product rules and awards, is to ensure that the label have a for attribute and the checkbox has a matching id attribute.

Furthermore the "accumulate" checkbox and it's label is not always next to each other.

Preselect and disable already added variant combinations

When a variant combination already is added, it would make since to preselect it and disable those buttons (or remove them from the options).

Furthermore, based on the starterkit when choosing Color: Black, Green they are submitted, but you get an error:

Some of your variants does not have the same variant types

image

Maybe the "Add variant options" button should be disabled in that case? but I am not sure how I will work when you only have a single variant group like Color - in that case it should be okay to add variants only from one variant group.

I also thought about if you can configurate the product to use different variant groups? e.g. if you sell a shoe you might want to use variant groups for Color and Shoe Size .. but for a T-shirt Color and Size ...
so often you want to add variants based on the product type.

Finally it would also be great to demonstrate in demo site, that if you e.g. select Color:Black it is available in Size:S,M,L .. but for Color:Green it is only available in Size:S,M on frontend (just for demonstration purpose)

Add NuGet package

Maybe add a NuGet package, so you have the option to install Tea Commerce via NuGet?

Missing language keys

I have tested install of Tea Commerce 3.0.7 for Umbraco 7.3.1, but it seems to be missing some language keys (en-US).

image

In Umbraco 7.3.0+ you don't have to modify Umbraco core language files, but instead in /App_Plugins/TeaCommerce/ add a folder /Lang .. and in this folder and language files named with culture name like da-DK.xml, en-GB.xml, en-US.xml etc.
Like this https://github.com/Merchello/Merchello/tree/merchello-dev/src/Merchello.Web.UI/App_Plugins/Merchello/lang

image

But I think Tea Commerce get the localization in a different way?

Optimize tree in panel for a product rule

For discount codes I can also add a "Product Rule", however it looks a bit weird with the tree, tested in Umbraco 7.2 with the new starterkit "Fanoe" included.

2014-12-06_06-49-40

I would expect it to look more like this:

2014-12-06_06-53-22

Remove/delete rule group

Maybe there should be a delete/remove rule group link/button, so if you have multiple rules, you don't have to delete each rule to start over - just remove the rule group and define new rules.

Generally I think when you have someting that "add", there should also be a "remove" feature.

Export orders

I think it would be nice to have the option to export orders to e.g. CSV, Excel..

Choose which order variants should be sorted for variant group

I think it would be great if you could choose which order variant groups should be sorted in backoffice.

At the moment the sort order seems to be A-Z .. which might be fine in most cases, but for sizes it would probably be better with a sort order like S, M, L (order of tree nodes - which probably also will be the order you prefer to use on frontend).

I think it will be most flexible to use sort order of the tree nodes as the editors can decide the sort order (but I am not sure if it might conflict with frontend in some cases?)

image

Quantity on edit order view in Umbraco doesn't appear to work

When you change the quantity of an orderline in the edit-order screen inside umbraco and hit save the quantity has been incremented but the prices don't seem to change and also it doesn't seem to take into consideration the stock as the stock for this product 1 yet I could increase it to 2. Or maybe it does take it into consideration and that is why the prices don't change but if that is the case then it shouldn't stay incremented after you save the order.

Thanks,

Tom

Can't create new campaign and other some other nodes

It seems there are issues in Umbraco 7.3.1 and Tea Commerce 3.0.7, when creating e.g. a new campaign:

image

It also happens for other nodes likes countries, currencies, VAT groups, email templates ... :
image

image

It is btw. using SQL CE .. not sure if Tea Commerce still support it?

Create a back link/button from gift card to gift cards list

When you are editing/watching details about a gift card, it would be good to have a link/button to go back to the list of gift cards as you can't click gift cards, marketing og orders tree nodes, so it's less userfriendly to edit gift cards now as you have to click on another tree node and then back to the gift cards node.
Fortunately you can use the browser back button.

Improve how to handle variants/multiple variant groups

I would love if there were a build-in datatype/property editor or another way to handle many variants and different variant groups.

E.g. I once had a company with 27 different shoe sizes (incl. ½ sizes) and it would be difficult to handle variants as tree nodes. Just for 10 products that would be 270 child nodes.

Maybe you could just add or select variants and variant groups on a product and the combinations would be generated? From there you could change price, stock etc. on each variant.

I know you guys could build a custom solution for a specific client that need this and it might be okay with a medium size client with many products, but for a small client it might be harder to convince to client to pay that extra compared with the price of the license.

I think many using Tea Commerce would like to have a built-in support for this and would be willing to pay a small amount to get this developed - I would.

Is this something that could be considered in the future versions of Tea Commerce?

Error on Tea Commerce Instalation on Umbraco 7.4

Hi i'm having an issue with the instalation, i followed the wizzard package instalation on Umbraco and installing local with the same results.

at the end of the installation returns this error message, i tried to installing Tea Commerce on Umbraco 7.4 and 7.3.6

Could not load types from assembly umbraco, Version=1.0.5871.32307, Culture=neutral, PublicKeyToken=null, errors:
Exception: System.IO.FileLoadException: No se puede cargar el archivo o ensamblado 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ni una de sus dependencias. La definición del manifiesto del ensamblado no coincide con la referencia al ensamblado. (Excepción de HRESULT: 0x80131040)
Nombre de archivo: 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'

AVS: El registro del enlace de ensamblado está desactivado.
Para habilitar el registro de errores del enlace de ensamblado, establezca el valor de Registro HKLM\Software\Microsoft\Fusion!EnableLog como 1.
Nota: existe una disminución del rendimiento asociada registro de errores del enlace de ensamblado.
Para desactivar esta característica, elimine el valor de Registro [HKLM\Software\Microsoft\Fusion!EnableLog].

Exception: System.IO.FileLoadException: No se puede cargar el archivo o ensamblado 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ni una de sus dependencias. La definición del manifiesto del ensamblado no coincide con la referencia al ensamblado. (Excepción de HRESULT: 0x80131040)
Nombre de archivo: 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'

AVS: El registro del enlace de ensamblado está desactivado.
Para habilitar el registro de errores del enlace de ensamblado, establezca el valor de Registro HKLM\Software\Microsoft\Fusion!EnableLog como 1.
Nota: existe una disminución del rendimiento asociada registro de errores del enlace de ensamblado.
Para desactivar esta característica, elimine el valor de Registro [HKLM\Software\Microsoft\Fusion!EnableLog].

Exception: System.IO.FileLoadException: No se puede cargar el archivo o ensamblado 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ni una de sus dependencias. La definición del manifiesto del ensamblado no coincide con la referencia al ensamblado. (Excepción de HRESULT: 0x80131040)
Nombre de archivo: 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'

AVS: El registro del enlace de ensamblado está desactivado.
Para habilitar el registro de errores del enlace de ensamblado, establezca el valor de Registro HKLM\Software\Microsoft\Fusion!EnableLog como 1.
Nota: existe una disminución del rendimiento asociada registro de errores del enlace de ensamblado.
Para desactivar esta característica, elimine el valor de Registro [HKLM\Software\Microsoft\Fusion!EnableLog].

jQuery errors in Tea Commerce section

Based on the demo on demo.teacommerce.net then console shows errors for Tea Commerce section, e.g. in SearchOrders.aspx

It seems it rely on the old .live() function - it should be replaced by the .on() function http://api.jquery.com/on/

I am not sure if any Umbraco v6 version use a version of jQuery before v.1.7?

image

Product rule for multiple products

You can add product rules for multiple products, but you need to add a product rule for each product and select the product.

It might be easier/better if you have a MNTP (multi-node tree picker) to select multiple products.

Discount code rule not working?

How is the "discount code rule" intended to work?

Both Manual and Generate doesn't seem to add content to "Discount codes:" and "Unused discount codes:" .. and the download link returns:

The specified argument value for the function is not valid. [ Argument # = 1,Name of function(if known) = isnull ]

.. maybe because the discount code is null?

I should mention i have tested with SQL CE.

Set default/initial rule and award

Set default/initial rule and award otherwise when it's blank and you click "add", nothing happens, because there is an error:

TypeError: Cannot read property 'alias' of undefined

so maybe just set the first element in the dropdownlist as default value?

Umbraco 7.2 bug with order search page

I've just tried upgrading a site to 7.2.1 and when I navigate to the Tea Commerce order search page in Umbraco I get the following error:

An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0104: 'Constants' is an ambiguous reference between 'ClientDependency.Core.Constants' and 'TeaCommerce.Umbraco.Application.Constants'

Thanks,

Tom

SQL Exception on updating orderlines very fast

Hello,

if i am updating the same orderline 2 times in 10 - 100ms then following error occoured. With Umbraco 7.5 it worked, but with 7.6 it is not possible.
fast

Does anyone know why?

Niklas

Security section - allow user to access Marketing without accessing Settings

Under the Security node if I just check the "Marketing" checkbox it doesn't check the store checkbox, but if I reload the view it's checked.. but I can't just checked only the store + marketing ... I also have to check the Settings checkbox.. so for my editor user it either doesn't have access to marketing or it has access to marketing, but also to settings.

TC.GetVariantGroups<string>(1, product.Id.ToString()) Exception

TC.GetVariantGroups(1, product.Id.ToString());

throws:

Autofac.Core.Registration.ComponentNotRegisteredException: The requested service 'TeaCommerce.Umbraco.Configuration.Variants.Services.IVariantService`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[TeaCommerce.Umbraco.Configuration.Variants.Models.VariantPublishedContent, TeaCommerce.Umbraco.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null]]' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context)
   at TeaCommerce.Umbraco.Web.TC.GetVariants[T](Int64 storeId, T product, Boolean onlyValid) in C:\Users\niklas.raab\AppData\Local\JetBrains\Shared\v07\DecompilerCache\decompiler\2DBF3533-0880-4597-9E2C-62FFDD726AA9\ae\88000066\TC.cs:line 325
   at TeaCommerce.Umbraco.Web.TC.GetVariantGroups[T](Int64 storeId, T product, Boolean onlyValid) in C:\Users\niklas.raab\AppData\Local\JetBrains\Shared\v07\DecompilerCache\decompiler\2DBF3533-0880-4597-9E2C-62FFDD726AA9\ae\88000066\TC.cs:line 330
   at ASP._Page_Views_MacroPartials_List_Variants_of_Product_cshtml.Execute() in c:\Dev\PGM\trunk\.NET\Orca.Homepage.Web\Views\MacroPartials\List Variants of Product.cshtml:line 12
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult)
   at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content)
   at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, INode node)
   at umbraco.macro.LoadPartialViewMacro(MacroModel macro)
   at umbraco.macro.renderMacro(Hashtable pageElements, Int32 pageId)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(macro m, IDictionary`2 parameters, page umbracoPage)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(String alias, IDictionary`2 parameters, page umbracoPage)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(String alias, IDictionary`2 parameters)
   at Umbraco.Web.UmbracoHelper.RenderMacro(String alias, IDictionary`2 parameters)
   at ASP._Page_Views_Partials_grid_editors_macro_cshtml.Execute() in c:\Dev\PGM\trunk\.NET\Orca.Homepage.Web\Views\Partials\Grid\Editors\Macro.cshtml:line 13
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection)
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model)
   at ASP._Page_Views_Partials_grid_editors_base_cshtml.Execute() in c:\Dev\PGM\trunk\.NET\Orca.Homepage.Web\Views\Partials\Grid\Editors\Base.cshtml:line 19

What is the problem? It occours only after the update

Security and Licenses trees have same sortOrder

Security and Licenses trees have same sortOrder, which cause that they sometimes switch position in the tree structure in Tea Commerce section.

<add silent="false" initialize="true" sortOrder="0" alias="tea-commerce-store-tree" application="teacommerce" title="Stores" iconClosed="folder.gif" iconOpen="folder_o.gif" assembly="TeaCommerce.Umbraco.Application" type="Trees.StoreTree" action="" />
<add silent="false" initialize="true" sortOrder="1" alias="tea-commerce-licenses-tree" application="teacommerce" title="Licenses" iconClosed="folder.gif" iconOpen="folder_o.gif" assembly="TeaCommerce.Umbraco.Application" type="Trees.LicenseTree" action="" />
<add silent="false" initialize="true" sortOrder="2" alias="tea-commerce-need-help-tree" application="teacommerce" title="Need help?" iconClosed="folder.gif" iconOpen="folder_o.gif" assembly="TeaCommerce.Umbraco.Application" type="Trees.NeedHelpTree" action="" />

<add silent="false" initialize="true" sortOrder="1" alias="tea-commerce-security-tree" application="teacommerce" title="Security" iconClosed="folder.gif" iconOpen="folder_o.gif" assembly="TeaCommerce.Umbraco.Application" type="Trees.SecurityTree" action="" />

Not a big issue, but I think it would be less confusing, when the level 1 trees have unique sortOrders in this section. E.g.
Stores: sortOrder=0
Security: sortOrder=1
Licenses: sortOrder=2
Need help?: sortOrder=3

Can't edit existing discount code rule

When I add a new discount code rule and add a manual code e.g. "JUL-2014" it's added. However if I click edit I can't change og modify the value. I can add more codes, but I'm not able to edit the codes. If I want to remove one of the codes I have to delete the rule and create a new one.

2014-12-19_16-32-48

2014-12-19_16-34-04

Upgradering from Tea Commerce v2 to v3 - issue with creating giftcard

I installed af Tea Commerce 3 in an Umbraco 6.2.4 and Tea Commerce 2.3.2

Now I noticed the property "Lenght" under the tab "Gift cards" for the store was set the null, which means no code was generated and after the first "empty" gift card it returned an exception:

2014-12-18_22-55-41

2014-12-18_22-59-09

2014-12-18_23-00-34

I changed the "Lenght" property to 10, but it also changed "Number of days to be valid" to same value.. shouldn't it be possible to set two different values?

2014-12-18_23-14-43

Anyway, after changing this value to 10, I could create a new giftcard:

2014-12-18_23-13-20

Property on Discount Code for the price value

When you loop through the gift cards it's easy to output the value of the giftcard with the "Amount" property.. however when looping the discount codes there are only they only have "Code" and "IsFulfilled" properties.

If you add multiple discount codes and gift cards, you might want to see how much each represents in the discount. There don't seem to be an easy way to access to value.

I can find the value like this:

foreach (var discountCode in discountCodes)
{
    var di = order.TotalPrice.Discounts.ElementAt(0);
    <span class="discountCode">@discountCode.Code @di.WithVatFormatted</span>
}

the index "0" should match the loop, so first time 0, then 1, 2.. etc... but you could have three discount codes, where the no. 1 and 3 is on total price og no. 2 on subtotal. Then if I want the discount price for no. 3 it would be order.TotalPrice.Discounts.ElementAt(1); (the second element).. so I can't ensure that the loop match the same same elements in the TotalPrice.Discounts or Subtotal.Discounts arrays.

but I have another code, where the discount is related to Subtotal, so I would have to use order.SubtotalPrice.Discounts ... and the award could have been added to shipment price and payment price aswell.

but I think it only is relevant, when you have a discount code rule for the campaign. Is there another to get the discount price for the matching discount code?

Search for orders with discount and/or gift card

It would be great if i was easier to search for orders that have a discount code or gift card added .. or just have a discount subtracted, if the campaign doesn't require use of a discount code, e.g. "buy 10 and get 1 for free" or "get $20 discount when you buy for more than $200".

Node names in tree sometimes don't match User language

Sometimes I have seen that the node names in the tree don't always match the User language.

E.g. here I am logged in as admin user which is set to English (UK), but the node names are in Danish. But there is another user created which use Danish.

Using Umbraco 6.2.4 and Tea Commerce 3.0.0

2015-03-01_13-47-27

However when I browsed to another section and came back it was updated.

2015-03-01_13-51-38

Have you guys seen that before?

Localize hardcoded text

In e.g. marketing section it has many hardcode text labels.. might be useful to localize these values.

Can't delete gift cards

If I create a new gift card, how do I delete them? Shop owner might create one by mistake, so I should be possible to delete them again. But they are listed as tree nodes like discount codes and haven't any checkbox in the list like for the order lists.

I could set the "valid to" date to a data in the past so it isn't valid anymore.. but at some point you want to clean up, right?

2014-12-06_06-08-38

GetAllFinalizedOrdersAsXml has been removed

We used GetAllFinalizedOrdersAsXml to search for orders by email address but it's been removed in one of the recent builds. How can we search for orders by email address?

Missing "totalSavedPrice" and "totalSavedPrice.Formatted"

With the marketing module and the API, I can easily get the total discount and total gift card amount. However there doesn't seem to be an easy way to access the total saved price for an order, when you have used both a giftcard and a discount code.

E.g. I have created two giftcards on 50 DKK and 200 DKK .. and a discount code with 10% discount of total price.

I have a property to get total discount and total gift card amount. However if I want the total save price a can add the values, but if I also want the format and currency set i Tea Commerce I have to do some more work. How would you handle this, without hardcode the currency format in the razor or JavaScript code?

Would it make sence to have two properties like "totalSavedPrice" and "totalSavedPrice.Formatted"?

See my case here:
2014-12-27_15-54-28

In e.g. JavaScript I can add the prices, but I then need a function/helper to get the price 519.5 in the right format.

cart.find('#discount').text((parseFloat(order.totalPrice.giftCardsAmount.value) + parseFloat(order.totalPrice.discount.withVat)));

Update edit-order.cshtml with discount codes in total column

In edit-order.cshtml in total column in list the gift cards used, but not discount codes used..

It does list discounts codes below "Order lines", however if discount codes are used, it might not be clear exactly how the final total price is calculated because you are not seing the subtracted price for discount codes.

I have modified the template with an addtional row for subtracted discount codes, but I think it should be default and I have added a minus in front to make it clear that it is a price that is subtracted:

@if ( Model.TotalPrice.GiftCardsAmount.Value > 0 ) {
          <tr>
            <td colspan="4" align="right">
              @(Model.GiftCards.Count > 1 ? "Gift cards" : "Gift card")
            </td>
            <td style="white-space: nowrap;" align="right">
              - @Model.TotalPrice.GiftCardsAmount
            </td>
            <td></td>
          </tr>
        }
        @if ( Model.TotalPrice.Discount.Value > 0 ) {
            <tr>
                <td colspan="4" align="right">
                    @(Model.DiscountCodes.Count > 1 ? "Discount codes" : "Discount code")
                </td>
                <td style="white-space: nowrap;" align="right">
                    - @Model.TotalPrice.Discount
                </td>
                <td></td>
            </tr>
        }

Futhermore I have also added it to email-template-confirmation.cshtml

Cloned order don't get a new cart number

When you go to the payment gateway with an order, go back and add a new product and the order is cloned. Then the order doesn't get a new cart number which it should. Some gateways requires unique numbers.

Creating new store or campaign sometimes logout

I have tested with Umbraco 7.4.1 / SQL CE and Tea Commerce 3.1.0

I think I have had this issue before and it seems to happen first time you create a new store or marketing campaign .. or when there isn't any stores or campaigns already created.
It seems to happen immediately after reloading the child nodes for "Stores" or "Marketing".

I get this error in the console.

)]}',
{"Message":"Authorization has been denied for this request."}

image

image

It is possible to add empty codes for discount code rule

It is possible to add blank/empty codes for discount code rule, when using manual option.

Could this field have client side validation to ensure the field is not empty, when the editor click "add". I think an easy fix would be to diable the add-link until the textarea has a value.

Add sort direction icon for variant options table

I think it would be great to add a sort direction icon for ascending/descending like in listview instead of icon-navigation-road - so it will be more clear than sorting in happening, e.g. if sorting on a column with same values.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.