示例#1
0
    def post(self, request, slug, *args, **kwargs):
        """ Enable or disable plugin - rest of details are read-only """

        try:
            plugin = plugins.get(slug)
        except KeyError:
            return Http404

        enabled = request.DATA.get('enabled', False)
        msgs = []
        # since we don't have helpful form cleaning, check for json 'false' too
        if (enabled == 'false' or enabled is False) and plugin.can_disable:
            plugin.enabled = False
            msgs.append('Plugin %s disabled.' % plugin.title)
            reports = set_reports(plugin.get_namespace(), False)
            for r in reports:
                msgs.append('Report %s disabled' % r)
        else:
            plugin.enabled = True
            msgs.append('Plugin %s enabled.' % plugin.title)
            reports = set_reports(plugin.get_namespace(), True)
            for r in reports:
                msgs.append('Report %s enabled' % r)

        for msg in msgs:
            messages.add_message(request._request, messages.INFO, msg)

        return HttpResponse(json.dumps({'plugin': plugin.__dict__}))
示例#2
0
    def get(self, request, slug, *args, **kwargs):
        try:
            plugin = plugins.get(slug)
        except KeyError:
            return Http404

        return Response({'plugin': plugin})
示例#3
0
    def post(self, request, slug, *args, **kwargs):
        """ Enable or disable plugin - rest of details are read-only """

        try:
            plugin = plugins.get(slug)
        except KeyError:
            return Http404

        enabled = request.DATA.get('enabled', False)
        msgs = []
        # since we don't have helpful form cleaning, check for json 'false' too
        if (enabled == 'false' or enabled is False) and plugin.can_disable:
            plugin.enabled = False
            msgs.append('Plugin %s disabled.' % plugin.title)
            reports = set_reports(plugin.get_namespace(), False)
            for r in reports:
                msgs.append('Report %s disabled' % r)
        else:
            plugin.enabled = True
            msgs.append('Plugin %s enabled.' % plugin.title)
            reports = set_reports(plugin.get_namespace(), True)
            for r in reports:
                msgs.append('Report %s enabled' % r)

        for msg in msgs:
            messages.add_message(request._request, messages.INFO, msg)

        return HttpResponse(json.dumps({'plugin': plugin.__dict__}))
示例#4
0
    def get(self, request, slug, *args, **kwargs):
        try:
            plugin = plugins.get(slug)
        except KeyError:
            return Http404

        return Response({'plugin': plugin})
示例#5
0
    def get(self, request, slug=None, *args, **kwargs):
        overwrite = request.QUERY_PARAMS.get('overwrite', False)
        if isinstance(overwrite, basestring) and overwrite.lower() == 'true':
            overwrite = True
        if slug is not None:
            try:
                plugin = plugins.get(slug)
            except KeyError:
                return Http404

            try:
                management.call_command('collectreports',
                                        plugin=slug,
                                        overwrite=overwrite)
                msg = ('Collected Reports for Plugin %s successfully.' %
                       plugin.title)
                messages.add_message(request._request, messages.INFO, msg)
            except CommandError as e:
                msg = (
                    'Error collecting reports for %s - see log for details.' %
                    plugin.title)
                logger.debug(msg)
                logger.debug(e)
                messages.add_message(request._request, messages.ERROR, msg)
        else:
            try:
                management.call_command('collectreports',
                                        plugin=None,
                                        overwrite=overwrite)
                msg = 'Collected Reports for all plugins successfully.'
                messages.add_message(request._request, messages.INFO, msg)
            except CommandError as e:
                msg = ('Error collecting reports for one or more of the '
                       'plugins - see log for details.')
                logger.debug(msg)
                logger.debug(e)
                messages.add_message(request._request, messages.ERROR, msg)

        return HttpResponse(json.dumps(msg))
示例#6
0
    def get(self, request, slug=None, *args, **kwargs):
        overwrite = request.QUERY_PARAMS.get('overwrite', False)
        if isinstance(overwrite, basestring) and overwrite.lower() == 'true':
            overwrite = True
        if slug is not None:
            try:
                plugin = plugins.get(slug)
            except KeyError:
                return Http404

            try:
                management.call_command('collectreports', plugin=slug,
                                        overwrite=overwrite)
                msg = ('Collected Reports for Plugin %s successfully.' %
                       plugin.title)
                messages.add_message(request._request, messages.INFO, msg)
            except CommandError as e:
                msg = ('Error collecting reports for %s - see log for details.'
                       % plugin.title)
                logger.debug(msg)
                logger.debug(e)
                messages.add_message(request._request, messages.ERROR, msg)
        else:
            try:
                management.call_command('collectreports', plugin=None,
                                        overwrite=overwrite)
                msg = 'Collected Reports for all plugins successfully.'
                messages.add_message(request._request, messages.INFO, msg)
            except CommandError as e:
                msg = ('Error collecting reports for one or more of the '
                       'plugins - see log for details.')
                logger.debug(msg)
                logger.debug(e)
                messages.add_message(request._request, messages.ERROR, msg)

        return HttpResponse(json.dumps(msg))