enBloc-org / kindly

GNU General Public License v3.0
17 stars 22 forks source link

Allow Donors to control the 'Reserved' Status of Items they have uploaded ⏸️ #254

Closed camelPhonso closed 1 month ago

camelPhonso commented 3 months ago

Expected Behaviour

Current Behaviour

Currently the database schema allows for this functionality because it includes in the items table the following values:

However, these values are not connected to any feature in our codebase at the moment.

Steps to Reproduce

  1. Log into Kindly
  2. Visit your profile page (make sure you have uploaded at least one item for donation)
  3. There is no option to mark your items as reserved
sulphite commented 2 months ago

!request

UI wise I plan to do one of the following (please @ me if you have thoughts about this!!):

Then the relevant row in the DB will be updated with the change.

For the conversation update I don't have a plan just yet, will comment when I get the first part done

github-actions[bot] commented 2 months ago

πŸ€– meep morp!

Thank you for your contribution @sulphite - this Issue is assigned to you as requested ✨

πŸ”Ž Please keep in mind that in order to give everyone a chance to contribute Issues may be unassigned if they go stale. You will be warned if the Issue is marked as stale at any point.

πŸ”Ž Please review our documentation for guidance on:

πŸ’‘ The core team is available for any help and will try to respond to any comments in this Issue or questions on discord as quickly as possible.

Happy coding ! πŸ¦†

sulphite commented 2 months ago

After discussion the new plan is as follows:

camelPhonso commented 2 months ago

After discussion the new plan is as follows:

  • a user can "request to reserve" through a button on each item page
  • this adds their userid to the requestedToReserve column
  • (the owner of the item gets a system message about this; this could be a separate issue)
  • in a user's donated items list, if anyone has requested to reserve an item there will be a button to control who it is reserved for
  • the button opens a modal which displays all the reserve requests with individual accept/deny buttons
  • accepting a reserve request updates the status of reserved and reserved_by in the database

Hey @sulphite !

Thanks for posting this outline, the plan looks great. I know you discussed this for a bit with Nich and your plan is pretty sound but I also want to highlight another route you can choose to take, depending on how the issue progresses:

We can start by letting the donor of an item mark it as reserved for any user that has a conversation with them related to that item. We already have all the utils that handle finding conversations related to an issue and recovering the id of the partner in that conversation.

Once that feature exists we can then create a new issue to allow refugees to request for this item to be reserved. That request would trigger a system message to be sent to the donor in a conversation between them and the user who request the item.

That brings the issue down to:

sulphite commented 2 months ago

Hey @camelPhonso thanks for the input! I think splitting it into 2 issues makes the most sense, so I'll get to work on what you suggested

github-actions[bot] commented 2 months ago

πŸ€– meep morp!

This Issue is now marked as stale because there has been no activity for a while.

πŸ”Ž The Issue will be automaticaly unassigned and moved to the Backlog if it doesn't receive new activity in the next 7 days.

πŸ’‘ To unstale this Issue please push any commits that are ready or provide an update in the comments.

github-actions[bot] commented 2 months ago

πŸ€– meep morp!

This Issue is now marked as stale because there has been no activity for a while.

πŸ”Ž The Issue will be automaticaly unassigned and moved to the Backlog if it doesn't receive new activity in the next 7 days.

πŸ’‘ To unstale this Issue please push any commits that are ready or provide an update in the comments.

github-actions[bot] commented 1 month ago

πŸ€– meep morp!

This issue has been stale for 7 days so it's being automaticaly unassigned and will return to the backlog.

πŸ’‘ Once in the Backlog this issue will be available for anyone to take up - you can request it again if you have contributions ready to submit.

github-actions[bot] commented 1 month ago

πŸ€– meep morp!

This Issue is now marked as stale because there has been no activity for a while.

πŸ”Ž The Issue will be automaticaly unassigned and moved to the Backlog if it doesn't receive new activity in the next 7 days.

πŸ’‘ To unstale this Issue please push any commits that are ready or provide an update in the comments.