-
Notifications
You must be signed in to change notification settings - Fork 211
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
fix: allow for custom states in status field #407
Conversation
And tests are already failing you can see that |
Yup, forgot to create DB migrations after the change. (unless it was failing for a different reason) |
@auvipy the tests should now pass with the added migration. Can I please request a review? Thanks! |
@auvipy I'm not sure what breaking changes you're concerned about -- removing the line should allow for custom states while letting those who originally used the |
django_celery_results/migrations/0012_alter_taskresult_status.py
Outdated
Show resolved
Hide resolved
788869f
to
5b852d6
Compare
@auvipy may this please be reviewed before it becomes stale? I'd like to avoid having to rebase it over and over and this PR's been sitting in my list since last year. Thanks! |
my only concern is if existing users are going to miss anything by the removal of the |
Please see previous comments. It should not affect existing users as it only limits what choices can go inside the field. Removing it expands it to allow for other values, not just the ones in |
@AllexVeldman can you review this as well, please? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you please make the integration tests pass for this PR? with the change, may be it would be good idea to add/adjust additional tests
@ericswpark I think this will cover it: def test_custom_state(self):
tid = uuid()
assert self.b.get_status(tid) == states.PENDING
self.b.store_result(tid, state="Progress", result={"progress": 10})
assert self.b.get_status(tid) == "Progress"
assert self.b.get_result(tid) == {"progress": 10}
self.b.mark_as_done(tid, 42)
assert self.b.get_status(tid) == states.SUCCESS
assert self.b.get_result(tid) == 42 Note that this does not fail on @auvipy This also means this change only changes the field in the Django admin pages from a dropdown to a text field, no functional changes here. |
Ok |
@AllexVeldman thank you for the tests, I tried adding them to the tests directory under the tests for the models but am not sure that they belong there. I was hoping GitHub Actions/CI would kick in and verify but it seems like the workflow needs to be approved by a maintainer for them to run. |
Ach, I think the migrations are failing because this PR is so old. At some point another migration file was pushed to main and then this PR was rebased on top without recreating migrations. Will recreate migrations and push again shortly. |
django_celery_results/migrations/0013_alter_taskresult_status.py
Outdated
Show resolved
Hide resolved
@ericswpark I should have mentioned :) this would go into |
f1907bc
to
3afec1f
Compare
From #366 (comment) Thanks to @cdevacc1 for the idea. I just decided to write up the PR as it only takes a couple of minutes. This should resolve the bug where custom states are not shown at all in the admin panel.
From #407 (comment) Thanks to @AllexVeldman for the tests!
3afec1f
to
d8bba40
Compare
Sorry about that, I forgot to sync my |
From #366 (comment)
Thanks to @cdevacc1 for the idea. I just decided to write up the PR as it only takes a couple of minutes. This should resolve the bug where custom states are not shown at all in the admin panel.