openfoodfoundation / openfoodnetwork

Connect suppliers, distributors and consumers to trade local produce.
https://www.openfoodnetwork.org
GNU Affero General Public License v3.0
1.12k stars 724 forks source link

Estimate work needed to allow producer to edit their products on hubs' orders #12893

Open RachL opened 2 years ago

RachL commented 2 years ago

⚠️ Please use clockify code #12476 Flower Farms

Description

In order to handle https://github.com/openfoodfoundation/wishlist/issues/172

- As a: producer without shops, but supplying other existing hubs - On page: /admin/orders - I want to be able to do: see the orders containing my products in admin/orders and be able to edit them : add my products only, edit the quantity of my products only, delete my products only. Ideally the other products are hidden.

Hubs need to have the ability to allow producers to do that.

⚠ if the hub does not allow the producer to do see customer names, customer names must be hidden here as well (we can hide the whole tab perhaps?)

Acceptance Criteria & Tests

The spike results need to give a clear solution in terms of tech solution. And an estimate of the amount of work needed. No development should be started at this stage.

chahmedejaz commented 1 month ago

Hi @RachL - Did a spike on this one, it's a 1±0.5 day effort for all the following tasks:

I have the following questions:

Thanks

RachL commented 1 month ago

@chahmedejaz yes the hub has the ability here: /admin/enterprises/release-farm/edit#/shop_preferences_panel

image

So when working on the enterprise permissions, we should reuse that setting to check if producer are allowed or not.

for the tab, I'm adding this to the agenda of tomorrow's product circle and let you know right away.

chahmedejaz commented 1 month ago

Sure, thanks Rachel

mkllnk commented 1 month ago

Delivery circle notes on this:

RachL commented 1 month ago

Thanks @mkllnk @chahmedejaz

Which line items should be displayed? Only from that supplier or all items?

What's the easiest? Note that in the case where we display all items, we should block the ability for the supplier to edit item they don't own.

Hide order total? Fees? Adjustments?

I would leave them in first interation and we can see later if this is a problem.

I can do the screenshot after check with product circle :+1:

chahmedejaz commented 1 month ago

Thanks so much @mkllnk for the insights.

What's the easiest? Note that in the case where we display all items, we should block the ability for the supplier to edit item they don't own.

@RachL - I think showing all the items would be easiest, that way we just need to put checks on the action buttons along with some authorization checks. What do you think @mkllnk?

RachL commented 1 month ago

@chahmedejaz @mkllnk

FYI @tschumilas will double check with her users to understand if it is a problem that producers are seeing what shoppers have ordered from other producers.

Once we have the info we can see how we progress with this. A couple of additional info that came out during our talk today:

mkllnk commented 1 month ago

David and I had differing opinions here. David thinks that it's easier to show all items and disable the ones you can't edit. In this case, you have the whole picture of the order and a displayed order total makes sense.

I, on the other hand, thought that it would be easier to display only the items that can be edited. Then we don't need a version of the view with disabled items. And in case of many items, the supplier has the shortlist of the items they are controlling without distraction. Any order total needs to be hidden to not confuse.

I reckon that we let @tschumilas decide on this one. Technically, it's not a big difference.

tschumilas commented 1 month ago

So I've chatted with a group of producers. There are producers who don't want other suppliers in the same shop to see their prices, or to know how much product they are supplying to specific buyers. So, I think it would be best to display (on the order) only those items that can be edited (that is - only the items owned by the producer doing the editing).

One question - about a producer ADDING items to an order. Will they sell all the OC products in the 'select a variant' drop down, or just their own? That dropdown doesn't have pricing info - so it wouldn't matter if a producer saw other producer's products. BUT I'm wondering if we are opening up to user errors here. For example - I'm a producer in a shop with 20 other producers. We all sell a given product. Its easy to accidently add a different producer's product to the order. (I've done it as a hub manager many many times) I think its out of scope here? But just raising the issue - ideally a producer with this new permission to edit a hub's order, would only be able to add their OWN products to the order.