'Get two lists of mod and user reports on the item.'

@classmethod
def get_reports(cls, wrapped, max_user_reasons=20):

    if ((wrapped.reported > 0) and (wrapped.can_ban or (getattr(wrapped, 'promoted', None) and c.user_is_sponsor))):
        from r2.models import SRMember
        reports = cls.for_thing(wrapped.lookups[0])
        query = SRMember._query((SRMember.c._thing1_id == wrapped.sr_id), (SRMember.c._name == 'moderator'))
        mod_dates = {rel._thing2_id: rel._date for rel in query}
        if g.automoderator_account:
            automoderator = Account._by_name(g.automoderator_account)
        else:
            automoderator = None
        mod_reports = []
        user_reports = []
        for report in reports:
            if (automoderator and (report._thing1_id == automoderator._id)):
                mod_reports.append(report)
            elif ((report._thing1_id in mod_dates) and (report._date >= mod_dates[report._thing1_id])):
                mod_reports.append(report)
            else:
                user_reports.append(report)
        mods = Account._byID([report._thing1_id for report in mod_reports], data=True, return_dict=True)
        mod_reports = [(getattr(report, 'reason', None), mods[report._thing1_id].name) for report in mod_reports]
        user_reports = Counter([getattr(report, 'reason', None) for report in user_reports])
        user_reports = user_reports.most_common(max_user_reasons)
        return (mod_reports, user_reports)
    else:
        return ([], [])
