-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD] [$500] [CRITICAL] Delegated Splits - Allow selecting a payer from the splits page #40379
Comments
Triggered auto assignment to Contributor-plus team member for initial proposal review - @dukenv0307 ( |
Triggered auto assignment to @joekaufmanexpensify ( |
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Allow selecting a payer from the splits page What is the root cause of that problem?This is a new feature What changes do you think we should make in order to solve the problem?Since the implementation is detail enough and no need to add more solution. I'd love to work on this issue. What alternative solutions did you explore? (Optional)NA |
@youssef-lr Do I need to update more detail in my proposal? I see that the implementation here #40379 (comment) is detail enough. |
@nkdengineer Not really! If you can give this top priority, I'm ready to assign you! |
@youssef-lr Sure, I can priority this. |
Awesome, thanks! |
Thanks, I will open PR early in the morning. |
Hi @nkdengineer thanks for taking this on! Full disclosure, this PR is associated with a deadline, so we need to get this done as quickly as possible. Like @youssef-lr said, this should be prioritized above any other work you are doing for us. Also, please provide a daily update along with an ETA of when you expect this PR to be merged. As soon as you need a review or are blocked on moving this forward, post here and DM me on slack. Thank you! |
can work on this now, PR can be ready in an hour if nkdengineer is not available tonight |
Taking over management of this issue from @youssef-lr |
Sure, I will priority this issue.
I'm working on the PR, will open it in a few hours. |
Thanks @nkdengineer! I'll be on pretty early tomorrow, so I'm looking forward to seeing your progress! Is your Slack handle |
@rafecolton Yes, this is my slack. |
Same |
PR still in progress |
Holding this until we fix these issues and I'll continue working on it. https://github.com/Expensify/Expensify/issues/323235 |
@joekaufmanexpensify I think we can issue payments here, @nkdengineer and @dukenv0307 have worked on the original scope of the issue. This might take a while before I continue working on this as we need to refactor things a bit before continuing with the implementation https://expensify.slack.com/archives/C05RECHFBEW/p1716809169081189 |
Sounds good! I'm gonna hold off on adding a new regression test for now, since it seems like this feature is not live yet. But happy to issue payment. |
Payment summary is here. |
@nkdengineer $500 sent and contract ended! |
@dukenv0307 $500 sent and contract ended! |
Upwork job closed. |
internal portions are held |
We've paused working on this based on https://expensify.slack.com/archives/CC7NECV4L/p1717525527830119 |
Sounds good! |
Still paused |
Still paused |
Still paused |
Same |
Same. |
@youssef-lr is there anything left here, or are we good to close this one? The #vip-split project got closed in GH, so trying to determine whether we should move this to another project, or just close. |
@youssef-lr P2P isn't going to be prioritized anytime soon, so feels like no reason to leave this open for now. We can always revisit this when it is prioritized again if there is anything left to do here. I'm going to go ahead and close this one for now, but feel free to LMK if you disagree with that! |
Implement this section of the Uneven Split Design Doc (the section is copied below if you can't access the document)
Context
Currently when creating a split, the current user is automatically set as the payer of the split and the person that needs to be paid back by the other participants.
Problem
We currently don't allow selecting a different payer of the split. There are real world use cases where we'd want to create a split on behalf of someone else. e.g.
Solution
Enhance the split page by allowing the selection of a different payer by creating a payer selector page, which should display all of the splits participants and allow selecting one of them.
Implementation details
MenuItem
in theMoneyTemporaryForRefactorRequestConfirmationList
that will allow us to navigate to the new page:Note: in the current code it's called a
payee
instead of payer. That's because the code is meant for all types of IOUs, we can keep it aspayee
, but in the context of splits thepayee
is the same as thepayer
(as they paid for the split bill).The
icon
prop passed to the menu item is what allows us to display their avatar, so we should make use ofReportUtils.getIcons
to retrieve them for the selected payer accountID by passing theirpersonalDetails
to it, which is already available in the confirmation page component.Create a new IOU request step page, called
IOURequestStepSplitPayer
This will work very similar to how we select a task assignee (we can copy most of the code from that page and adjust it), the navigation to this page will be triggered from theonPress
handler in theMenuItem
above.The navigation config of this new page should be consistent with other steps like amount, merchant, etc. It should have this route:
create/split/confirmation/<transactionID>/<reportActionID>/payer
The page will subscribe to the
TRANSACTION_DRAFT
Onyx key which will allow it to retrieve the split participants which we can then display similar to how we display a report’s participants, except we’ll also allow selecting one user from the list. The selected payer should have a green check mark next to it.Once a user is selected, it will call a new IOU action which will set the payer accountID in the transaction draft and then navigate the user back to the split page:
Note: we're planning to support multiple payers in the future. For now the
splitPayerAccountIDs
should hold a single accountID.splitPayerAccoutIDs
to the backend here which should be present in the Onyx transaction. Passed tosplitBill
from here.Issue Owner
Current Issue Owner: @Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: