Unverified Commit 40e73295 authored by Marius van den Beek's avatar Marius van den Beek Committed by GitHub
Browse files

Merge pull request #11923 from cat-bro/fix_legacy_grids_state_column

[21.01] update legacy_framework.grids.StateColumn (bug fix)
parents 8c029f5b 4f8503be
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -390,9 +390,6 @@ class DeletedColumn(GridColumn):
class StateColumn(GridColumn):
    """
    Column that tracks and filters for items with state attribute.

    IMPORTANT NOTE: self.model_class must have a states Bunch or dict if
    this column type is used in the grid.
    """

    def get_value(self, trans, grid, item):
@@ -402,7 +399,7 @@ class StateColumn(GridColumn):
        """Modify query to filter self.model_class by state."""
        if column_filter == "All":
            pass
        elif column_filter in [v for k, v in self.model_class.states.items()]:
        elif column_filter in list(self.model_class.states):
            query = query.filter(self.model_class.state == column_filter)
        return query

@@ -410,9 +407,9 @@ class StateColumn(GridColumn):
        """Returns a list of accepted filters for this column."""
        all = GridColumnFilter('all', {self.key: 'All'})
        accepted_filters = [all]
        for v in self.model_class.states.values():
            args = {self.key: v}
            accepted_filters.append(GridColumnFilter(v, args))
        for state in self.model_class.states:
            args = {self.key: state.value}
            accepted_filters.append(GridColumnFilter(state.value, args))
        return accepted_filters