code: def is_enable_action_dependent(self, hosts, services):
          
          # Use to know if notification is raise or not
          enable_action = False
          for (dep_id, status, _, _) in self.act_depend_of:
              if 'n' in status:
                  enable_action = True
              else:
                  if dep_id in hosts:
                      dep = hosts[dep_id]
                  else:
                      dep = services[dep_id]
                  p_is_down = False
                  dep_match = [dep.is_state(stat) for stat in status]
                  # check if the parent match a case, so he is down
                  if True in dep_match:
                      p_is_down = True
                  if not p_is_down:
                      enable_action = True
          return enable_action
docs: Check if dependencies states match dependencies statuses
          This basically means that a dependency is in a bad state and
          it can explain this object state.
  
          :param hosts: hosts objects, used to get object in act_depend_of
          :type hosts: alignak.objects.host.Hosts
          :param services: services objects,  used to get object in act_depend_of
          :type services: alignak.objects.service.Services
          :return: True if all dependencies matches the status, false otherwise
          :rtype: bool