Skip to content
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

[Bug] Failure in processing cancellation/deletion of product/service #2161

Open
conffi opened this issue Feb 21, 2024 · 4 comments
Open

[Bug] Failure in processing cancellation/deletion of product/service #2161

conffi opened this issue Feb 21, 2024 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@conffi
Copy link

conffi commented Feb 21, 2024

Describe the bug

Summary: Failure in processing cancellation/deletion of product/service

How to reproduce

Context:
If a customer requests the cancellation of a hosting service/account through the customer panel, the administrator receives an open ticket with the request. The administrator accesses the order, clicks on "cancel or delete," and the system enters an infinite processing state, never reaching a conclusion; it always stays in the loading processing state. However, in DirectAdmin, the account is deleted, but in the system, this deletion does not occur, neither for the administrator nor for the customer. The service remains active for both the administrator and the customer.

Expected behavior

The ideal operating scenario:
When clicking on "cancel":
1 - Cancel open invoices.
2 - Change the status of the order/service to "canceled."
3 - Include canceled orders in the list of cronjobs to execute removal at a specified period.
3.1 - This prevents accidental deletion of a service, requiring cancellation first.
4 - When executing the cronjob for canceled orders, the service is removed from both the system and the server/DirectAdmin.
5 - Display the callback message on the screen in a popup or modal.

When clicking on "delete":
1 - Check if the order is canceled.
1.1 - If the order is active, the system informs that cancellation is necessary first.
1.2 - An order should not be deleted without being canceled to avoid accidental deletions.
2 - Delete the server on both the server and the system.
3 - Display the callback message on the screen in a popup or modal.

Screenshots

No response

FOSSBilling version

0.6.15

FOSSBilling instance ID

No response

Module version

No response

Device

No response

Information

No response

Additional context

No response

@conffi conffi added the bug Something isn't working label Feb 21, 2024
@BelleNottelling BelleNottelling self-assigned this Feb 23, 2024
@BelleNottelling
Copy link
Member

Sorry for the delayed response to this, other items have been keeping my attention.

Looks like there's a couple of items you've put here.

3 - Include canceled orders in the list of cronjobs to execute removal at a specified period.

I'm not sure about doing this, these actions shouldn't take that long to execute and if we doing it when the users clicks the button then we can give instant feedback on if it worked or not. If there's a problem where they are doing this accidentally, then I'd argue it's a UI issue and we should ensure there's a verification prompt.

For the specific issue you've described where it went into an indefinite loading state, I'd have to see the associated error log before I have any idea on what happened.
However, this has reminded me that it's possible for the two systems to get out of sync and then be stuck getting errors inside of FOSSBilling when you attempt to delete something. I think a reasonable solution is to add to the delete modal a "force delete" checkbox which causes FOSSBilling to remove the item from it's end, regardless of if any "errors" occur downstream

@conffi
Copy link
Author

conffi commented Mar 25, 2024 via email

@jaapmarcus
Copy link
Member

Please use English

@conffi
Copy link
Author

conffi commented Mar 29, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants