Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flask Admin extend "with select"-dropdown menu with custom button

Im using the built-in view of flask admin. As you can see in the picture below: enter image description here

What Im trying is simple: I just want to extend the dropdown menu with a custom button. This button should perfome some action on all selected items. Is there are built-in function of flask where i can simple add an action button?

like image 996
Cube Avatar asked Apr 19 '18 12:04

Cube


1 Answers

Use the @action decorator. Simple example below, the text "Recalculate Charges" is what appears in the drop-down menu.

class TransactionView(AdminView):
    
    from flask_admin.actions import action

    @action('recalculate', 'Recalculate Charges', 'Are you sure you want to recalculate selected transactions(s)?')
    def action_recalculate(self, ids):
        count = 0
        for _id in ids:
            # Do some work with the id, e.g. call a service method
            transaction_service.recalculate_transaction(_id)
            count += 1
        flash("{0} transaction (s) charges recalculated".format(count))
like image 50
pjcunningham Avatar answered Oct 23 '22 12:10

pjcunningham