def get(self, request, slug, *args, **kwargs): try: plugin = plugins.get(slug) except KeyError: return Http404 return Response({'plugin': plugin})
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) # 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 msg = 'Plugin %s disabled.' % plugin.title else: plugin.enabled = True msg = 'Plugin %s enabled.' % plugin.title messages.add_message(request, messages.INFO, msg) return HttpResponse(json.dumps({'plugin': plugin.__dict__}))