@property
    def rows(self):
        rows = []
        if self.location_id:
            supply_points = self.get_supply_points()
            with_reporters, with_in_charge = self.supply_points_users()
            last_month_reporting_sp_ids = self.last_month_reporting_sp_ids
            for sp in supply_points:
                url = make_url(
                    ReportingRatesReport, self.config['domain'], '?location_id=%s&startdate=%s&enddate=%s',
                    (sp.location_id, json_format_date(self.config['startdate']),
                     json_format_date(self.config['enddate']))
                )
                if last_month_reporting_sp_ids not in sp.supply_point_id:
                    rows.append(['<div style="background-color: rgba(255, 0, 0, 0.2)">%s has not reported last '
                                 'month. <a href="%s" target="_blank">[details]</a></div>' % (sp.name, url)])
                if sp.location_id not in with_reporters:
                    rows.append(['<div style="background-color: rgba(255, 0, 0, 0.2)">%s has no reporters'
                                 ' registered. <a href="%s" target="_blank">[details]</a></div>' % (sp.name, url)])
                if sp.location_id not in with_in_charge:
                    rows.append(['<div style="background-color: rgba(255, 0, 0, 0.2)">%s has no in-charge '
                                 'registered. <a href="%s" target="_blank">[details]</a></div>' % (sp.name, url)])

        if not rows:
            rows.append(['<div style="background-color: rgba(0, 255, 0, 0.2)">No current alerts</div>'])

        return rows
dataset/ETHPy150Open dimagi/commcare-hq/custom/ewsghana/reports/specific_reports/reporting_rates.py/AlertsData.rows/swapped operands of `not in`