'Return a listing of posts relevant to moderators.
* reports: Things that have been reported.
* spam: Things that have been marked as spam or otherwise removed.
* modqueue: Things requiring moderator review, such as reported things
and items caught by the spam filter.
* unmoderated: Things that have yet to be approved/removed by a mod.
* edited: Things that have been edited recently.
Requires the "posts" moderator permission for the subreddit.'

@require_oauth2_scope('read')
@base_listing
@disable_subreddit_css()
@validate(VSrModerator(perms='posts'), location=nop('location'), only=VOneOf('only', ('links', 'comments')), timeout=VNotInTimeout())
@api_doc(api_section.moderation, uses_site=True, uri='/about/{location}', uri_variants=[('/about/' + loc) for loc in ('reports', 'spam', 'modqueue', 'unmoderated', 'edited')])
def GET_spamlisting(self, location, only, num, after, reverse, count, timeout):

    c.allow_styles = True
    c.profilepage = True
    panes = PaneStack()
    replyBox = UserText(item=None, display=False, cloneable=True, creating=True, post_form='comment')
    panes.append(replyBox)
    spamlisting = self._make_spamlisting(location, only, num, after, reverse, count)
    panes.append(spamlisting)
    extension_handling = ('private' if c.user.pref_private_feeds else False)
    if (location in ('reports', 'spam', 'modqueue', 'edited')):
        buttons = [QueryButton(_('posts    and    comments'), None, query_param='only'), QueryButton(_('posts'), 'links', query_param='only'), QueryButton(_('comments'), 'comments', query_param='only')]
        menus = [NavMenu(buttons, base_path=request.path, title=_('show'), type='lightdrop')]
    else:
        menus = None
    return EditReddit(content=panes, location=location, nav_menus=menus, extension_handling=extension_handling).render()
