Easy One Click "Promote" function?

Hope Everyone is doing well!

Running into an issue with an idea, and I may just have to find a different way to do this but ultimately I want a button that will look at a category a “thing” is in and bring it to the next category. More context and set up below:

Context
I am creating some utility to let my users submit new feature ideas for my app, as well as vote on them to accomplish two things: I can communicate to my community what I am working on, and I can see what my community wants offered.

Setup
I have an Option set of Status’s. These are “Under Review”, “Planned”, “In Progress”, “Complete” and “Denied”. Specifically in this order.

I have a Thing called Feature, that has the Status option as an item within the table. Each Feature can only have one status at a time

What Should Happen
When I click a specific button called “Promote”, it will edit the Feature Status from it’s current Option to the next, in the order that is referenced above. So if something is “In Progress”, I can click the button and move it to “Complete” when I am done. Or if it has “Under Review” as a status, I can click the button and change it’s status to “Planned”, etc.

Initial Thoughts
I could guess I could have a workflow that has multiple actions that all have a “when” requirement. so…
Action 1 - Change Thing (Features Status) to “Planned” when Features Status is “Under Review”
Action 2 - Change Thing (Features Status) to “In Progress” when Features Status is “Planned”
Action 3 - …etc…

However, this feels very cumbersome and if I ever wanted to change my Option Set for statuses, this workflow would have to be changed to match and continue working.

Any ideas what other options we have, to be more flexible, efficient, and elegant?

You could achieve this by adding an index to each option, then when you click the button, you’d say change status to:

get option: Status:filtered(index = current cell's feature's option's index + 1

That should work dynamically for all of them plus any new statuses, as long as you give them each an accurate index.

Thank you for the response, and I understand what you’re saying logically however having trouble working through it in the action editor. Image of what I could get and it’s currently red…

The issue tracker has two issues:
“:filtered: value should be yes / no but right now it is a number”
and
“value should be Status but right now it is a list of Statuses”

They are both probably related, as the filtered parameter should reduce the All Status list to one item…

I am uncertain how to get the filter to properly look at This Feature Status's Index + 1

I think you just need to change the filter to “This Feature Status’s Index = Current Cell’s Index +1” which changes it to a boolean, at the moment the filter is just a statement.

Past that, just add :first item to the end of the field value, since your search can only ever select one item.

I got it, but took a slightly alternative route. I am unsure why but I was not able to reference the Option set appropriately as values to add or subtract to.
image

However - I was able to utilize a Plugin I’ve installed for a previous use that lets me calculate the index and store the number for reference in the future. So now it:

Store NumberNumber to Store: Feature Status's Index + 1
then
Change ThingStatus = All Features Status's:filtered(This Status's Index is Result of Stored Number):first item

Thank you for your help though! it helped with the logic thought process on what I was supposed to be doing

1 Like

No problem, you’re most welcome!