I'm trying to use the default nopCommerce website for sales reps visiting each store and ordering products for each stores.
Two things in my mind. 1. Impersonate feature. Is there an easy way or plug-in to select a customer like adding a impersonate button next to the edit button? Too many steps to impersonate.
2. Changing product prices during check-out. Some sales reps want to have flexibility to customize the prices based on customers. Is there a way or plug-in for this other than using tier price system?
1)I wrote a widget that pretty much does that. It adds a "Place Order" button in the header that links to an overriden customer view
2)I'm sure it's possible, but I haven't looked at it yet. Some options to maybe look at:
[a]create an action filter for the checkoutcontroller that sends impersonated orders to a pending order status so they can be edited before processing payment. [b]detect impersonated customer and set CustomerEntersPrice == true when products are loaded
Let me see if I can clean my widget up for general use and I'll upload it to a public repo.
First of all, thank you for the great suggestion. Since I'm a newbie, I need to ask dummy questions again.
1. Do I need to modify C:\nopCommerce\src\Presentation\Nop.Web\Areas\Admin\Views\Customer\List.cshtml? to add the place order button? Or other way to do it.
1) the plugin has its own view which I customized from customer/list. Since it is a plugin it has its own routing and controller, but the "Place Order" button itself points to the original impersonate method. You have to have the customer's ID before routing to impersonate, so basing it off of the normal customer/list allows you to easily search beforehand.
b) I'm not yet sure of what ramifications setting customerEntersPrice to true would entail, but I like the idea so I may start playing around with it to see if its feasible
I'll upload my plugin once I give it a thorough once-over. The "Shipping Ticket" first adds a $0 "shipping" product to the cart so our Boxers can easily ship anything that's not tied to an order and still have it tied in to our automated systems. You may have no use for that so I may add some configuration to make it optional, and also create the shipping product if it doesn't already exist, etc.
I now uploaded the plug-in and am trying to figure out how to activate (?) the plug-in because I don't see the same screen when I clicked the customer.
Update: I'm troubleshooting the error below. 'Widgets.QuickOrder' plugin is not compatible or cannot be loaded.