Page 1 of 1

Add shipping method to order manager list page

Posted: Thu Jun 11, 2009 2:41 am
by Jaz
Each day I print out the order manager page to know what orders need to go out. Is there a way to add a column to show shipping method so I know what my rush orders are?

~Jaz

Re: Add shipping method to order manager list page

Posted: Thu Jun 11, 2009 4:54 am
by mazhar
Edit your Admin/Orders/Default.aspx file and locate following code

Code: Select all

<asp:TemplateField HeaderText="Shipment">
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Center" />
                                <ItemTemplate>
                                    <asp:PlaceHolder ID="phShipmentStatus" runat="server"></asp:PlaceHolder>
                                    <asp:Label ID="ShipmentStatus" runat="server" Text='<%# Eval("ShipmentStatus") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
and change it to

Code: Select all

<asp:TemplateField HeaderText="Shipment">
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Center" />
                                <ItemTemplate>
                                    <asp:PlaceHolder ID="phShipmentStatus" runat="server"></asp:PlaceHolder>
                                    <asp:Label ID="ShipmentStatus" runat="server" Text='<%# Eval("ShipmentStatus") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            
                            <asp:TemplateField HeaderText="Shipment Methods">
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Center" />
                                <ItemTemplate>
                                    <%# GetShippingMethods(Container.DataItem) %>
                                </ItemTemplate>
                            </asp:TemplateField>
Now edit Admin/Orders/Default.aspx.cs file and add following method to it

Code: Select all

protected string GetShippingMethods(Object dataItem) 
    {
        string shippmentMethods = string.Empty;
        Order order = (Order)dataItem;
        List<int> shippmentMethodIds = new List<int>();
        foreach (OrderShipment orderShipment in order.Shipments)
        {
            if (orderShipment.ShipMethodName != null && !shippmentMethodIds.Contains(orderShipment.ShipMethodId))
            {
                shippmentMethodIds.Add(orderShipment.ShipMethodId);
                shippmentMethods += orderShipment.ShipMethodName + ",";
            }
        }
        if (!string.IsNullOrEmpty(shippmentMethods))
            shippmentMethods = shippmentMethods.Remove((shippmentMethods.Length - 1), 1);
        return shippmentMethods;
    }

Re: Add shipping method to order manager list page

Posted: Thu Jun 11, 2009 6:39 am
by William M
This mod should be ootb. Maybe in the next upgrade?

Re: Add shipping method to order manager list page

Posted: Thu Jun 11, 2009 1:42 pm
by Jaz
Thank You very much. You have just made my wife very happy.

~Jaz

Re: Add shipping method to order manager list page

Posted: Wed Jan 06, 2010 11:33 pm
by speedythinker
The code works great, thank you! Is it possible to high light UPS Next Day, UPS 2nd Air , and USPS Express say in red color or bold

Thanks
Speedy

Re: Add shipping method to order manager list page

Posted: Thu Jan 07, 2010 4:13 am
by mazhar
speedythinker wrote:The code works great, thank you! Is it possible to high light UPS Next Day, UPS 2nd Air , and USPS Express say in red color or bold

Thanks
Speedy

Code: Select all

protected string GetShippingMethods(Object dataItem)
    {
        string shippmentMethods = string.Empty;
        Order order = (Order)dataItem;
        List<int> shippmentMethodIds = new List<int>();
        foreach (OrderShipment orderShipment in order.Shipments)
        {
            if (orderShipment.ShipMethodName != null && !shippmentMethodIds.Contains(orderShipment.ShipMethodId))
            {
                shippmentMethodIds.Add(orderShipment.ShipMethodId);
                shippmentMethods += orderShipment.ShipMethodName + ",";
            }
        }
        if (!string.IsNullOrEmpty(shippmentMethods))
        {
            shippmentMethods = shippmentMethods.Remove((shippmentMethods.Length - 1), 1);
            if (shippmentMethods.Contains("UPS Next Day") || shippmentMethods.Contains("UPS 2nd Air") || shippmentMethods.Contains("USPS Express"))
                shippmentMethods = string.Format("<div style='background-color:red;color:#FFFFFF;'>{0}</div>",shippmentMethods);
        }
        return shippmentMethods;
    }
This version of function code should be used if you want to highlight UPS Next Day, UPS 2nd Air , and USPS Express methods by putting a red background.

Re: Add shipping method to order manager list page

Posted: Thu Jan 07, 2010 8:59 am
by speedythinker
Works Great! FYI, the 'UPS 2nd Air" missing the "Day" and it works perfect after I added it in!
Many thanks!

Speedy :)

Re: Add shipping method to order manager list page

Posted: Thu Jan 07, 2010 9:28 am
by mazhar
Sounds good that you made it work :)

Re: Add shipping method to order manager list page

Posted: Sun Jan 10, 2010 3:21 pm
by speedythinker
Just got one more little thought about the Order screen , how could I highlight the 'Problem' status? I found that eventhough I changed an order status to 'problem' that need some care before shipping. But my shipper could easily oversight it had the item shipped out without the problem being fixed yet.

Thanks again
Speedy

Re: Add shipping method to order manager list page

Posted: Wed May 25, 2011 12:25 pm
by SamsSteins
Will this work with AbleCommerce 7.0.7?

Re: Add shipping method to order manager list page

Posted: Thu May 26, 2011 3:57 am
by mazhar
I am quite sure that It will work.