code: def has_perms(self, perm_list, obj=None):
          
          # If there are no permissions to check, just return true
          if not perm_list:
              return True
          for perm in perm_list:
              if isinstance(perm, six.string_types):
                  # check that the permission matches
                  if not self.has_perm(perm, obj):
                      return False
              else:
                  # check that a permission in the tuple matches
                  if not self.has_a_matching_perm(perm, obj):
                      return False
          return True
docs: Returns True if the user has all of the specified permissions.
  
          Tuples in the list will possess the required permissions if
          the user has a permissions matching one of the elements of
          that tuple