Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Glen Peters 24 posts 115 karma points
    Aug 16, 2017 @ 20:54
    Glen Peters
    0

    Merchello: Order Shipped & Partial Order Shipped Notifications: Tracking Information

    In the Order Shipped and Partial Order Shipped Notification templates, there is nothing in the email body that references the method of shipment including the "Carrier", "Tracking #", or "Tracking URL". These labels are shown in the "Fullfill" dialog that pops out from the right of the Umbraco Back Office window when the user clicks the Fulfill button while looking at a specific invoice. It looks like this: enter image description here

    When I look at the documentation (https://merchello.readme.io/docs/gateway-providers) under Notifications, there are problems with the properties. If I modify the OrderShipped.cshtml file to include the following, it works fine, but I cannot find any mention of the Tracking URL in the documentation:

    Carrier: @Model.Shipment.Carrier
    Tracking Number: @Model.Shipment.TrackingCode

    It is noteworthy the "Carrier" is not listed in the alias to pattern description in the Notification documentation. Is this not up to date? The code above works fine, but if I add @Model.Shipment.TrackingURL, the notification event errors saying: Monitor error: System.Web.HttpCompileException (0x80004005): c:\inetpub\temp\DWASFiles\sites\2d4d3a62-3a7f-462d-ad9f-4da81f9fc649\VirtualDirectory0\site\wwwroot\Views\Merchello\Notification\OrderShipped.cshtml(36): error CS1061: 'Merchello.Core.Models.IShipment' does not contain a definition for 'TrackingURL' and no extension method 'TrackingURL' accepting a first argument of type 'Merchello.Core.Models.IShipment' could be found (are you missing a using directive or an assembly reference?) at System.Web.Compilation.AssemblyBuilder.Compile() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetCompiledType(String virtualPath) at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetCompiledType(String virtualPath) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at Merchello.Web.Mvc.ViewRenderer.RenderViewToStringInternal(String viewPath, Object model, Boolean partial) at Merchello.Web.Workflow.Notification.RazorFormatter.Format(String viewPath) at Merchello.Core.Gateways.Notification.FormattedNotificationMessage.

    When I checked the sales.create.shipment.html file, I see that the code for the lable and input is as follows:

    When I check the source code in the Merchello.Core/Models/Shipment.cs file, I see that the private string trackingURL is made public through a provider named TrackingURL which is what I had tried and it didn't work as shown above.

    What am I missing?

Please Sign in or register to post replies

Write your reply to:

Draft