GitHub user keanec27 added a comment to the discussion: Restrict charts

@dosu I want to do it using usernames instead of ids can you fix my code 
class ChartOwnedByUserOrAdminFilter(BaseFilter):
    name = "Owned by user or admin"
    arg_name = "chart_owned_by_user_or_admin"

    def apply(self, query, value) -> Query:
        if security_manager.is_admin():
            return query  # Admins see all charts
        # Can implement same with emails also
        current_user = get_username()
        usernames = ["admin",current_user]

        usernames = list(set(usernames))
        return 
query.filter(Slice.owners.any(security_manager.user_model.id.in_(usernames)))


GitHub link: 
https://github.com/apache/superset/discussions/36259#discussioncomment-15083591

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to