<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_hidden_members(self, user=None):
 """Get the members that you do not have permission to view. Returns: List of members hidden based on their permission preferences """

        hidden_members = []
        for member in self.members.all():
            show = False
            if member.can_view_eighth:
                show = member.can_view_eighth

            if not show and user and user.is_eighth_admin:
                show = True
            if not show and user and user.is_teacher:
                show = True
            if not show and member == user:
                show = True

            if not show:
                hidden_members.append(member)

        return hidden_members