Admin UI - Showing listings using paramaters

Suneel Jhangiani asked on March 15, 2017 15:25

Hopefully I'll be able to explain my issue clearly.

I've configured several additional pages via the User Interface in the Modules application. In particular I have added a 'Shipments' page. I followed the structure of the Ecommerce module to add this page such that it appears as a stand-alone icon on the main navigation under the 'E-commerce' heading, and also as a tab on the 'Customer Properties' page.

The 'shipment list' is correctly displayed when first navigating to either location - via the icon under the 'E-commerce' heading it shows all items and via the tab on the "Customer properties" page it shows only the items for that order.

I've then gone on to add the edit pages and am facing an issue that when clicking the back button (the back link on the Vertical Tabs). It does go back to the correct place (ie. either the "Customer properties" or the 'Shipments" page). However, the list is not filtered when returning to the "customer properties" page.

I'm basically trying to replicate the navigation of Orders (it has its own icon under the 'E-commerce' heading and also is a tab on the customers page). I've looked through and can't seem to find how the 'customerid' is being passed to the Order_List page when clicking back from the Edit order page.

Correct Answer

Suneel Jhangiani answered on March 16, 2017 20:31

Thought I would update this to say that I found the issue. Basically when I was linking to the edit page I was passing the 'ShipmentID' and no other variables as I only needed this on the Edit page. However, I needed to pass the 'CustomerID' or 'OrderID' to that page so that the VerticalTabs control would pick them up to create the correct link for the back button.

1 votesVote for this answer Unmark Correct answer

Recent Answers

Peter Cranston answered on March 15, 2017 16:40 (last edited on March 24, 2018 12:15)

The ID should be stored against UIContext.ObjectID. You could try setting the following where condition on the properties tab of your Order_List page: CustomerID = {% ToInt(UIContext.ObjectID) %}

0 votesVote for this answer Mark as a Correct answer

Suneel Jhangiani answered on March 15, 2017 18:13 (last edited on March 15, 2017 18:14)

I can't really do this since I eventually want to have the shipments list on both the 'Customer properties' and 'Order properties' pages - so that we actually have 3 views of the shipments:

  1. All shipments
  2. All shipments for a customer
  3. All shipments for an order (yes, orders can have multiple shipments).

However, I did try looking at the UIContext object on the Shipment_List.aspx page and have noted that when returning from the 'Shipment properties' (Shipment_Edit_General.aspx) page the ObjectID is 0. If navigating to the list from Customers or Orders then it does show the corresponding id although I'm also able to get this via the Query string which tells me whether its a customer or order as opposed to UIContext.ObjectId which doesn't pass the type.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.