'Create a \'report\' event for event-collector.
process_notes: Type of rule (pre-defined report reasons or custom)
details_text: The report reason
subreddit: The Subreddit the action is being performed in
target: The Thing the action was applied to
request, context: Should be pylons.request & pylons.c respectively'

@squelch_exceptions
@sampled('events_collector_report_sample_rate')
def report_event(self, reason=None, details_text=None, subreddit=None, target=None, request=None, context=None, event_type='ss.report'):

    from r2.models.rules import OLD_SITEWIDE_RULES, SITEWIDE_RULES, SubredditRules
    event = Event(topic='report_events', event_type=event_type, request=request, context=context)
    if ((reason in OLD_SITEWIDE_RULES) or (reason in SITEWIDE_RULES)):
        process_notes = 'SITE_RULES'
    elif (subreddit and SubredditRules.get_rule(subreddit, reason)):
        process_notes = 'SUBREDDIT_RULES'
    else:
        process_notes = 'CUSTOM'
    event.add('process_notes', process_notes)
    event.add('details_text', details_text)
    event.add_subreddit_fields(subreddit)
    event.add_target_fields(target)
    self.save_event(event)
