From cced30c081d289e91174622a31bb2f9cf307712f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:41:39 +0200 Subject: [PATCH] pass through request data --- InvenTree/plugin/base/action/api.py | 2 +- InvenTree/plugin/base/action/mixins.py | 10 +++++----- InvenTree/plugin/builtin/action/simpleactionplugin.py | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/InvenTree/plugin/base/action/api.py b/InvenTree/plugin/base/action/api.py index 944d921487..607f7dd9e4 100644 --- a/InvenTree/plugin/base/action/api.py +++ b/InvenTree/plugin/base/action/api.py @@ -32,7 +32,7 @@ class ActionPluginView(APIView): for plugin in action_plugins: if plugin.action_name() == action: plugin.perform_action(request.user, data=data) - return Response(plugin.get_response()) + return Response(plugin.get_response(request.user, data=data)) # If we got to here, no matching action was found return Response({ diff --git a/InvenTree/plugin/base/action/mixins.py b/InvenTree/plugin/base/action/mixins.py index 0896055e19..9c6de306e5 100644 --- a/InvenTree/plugin/base/action/mixins.py +++ b/InvenTree/plugin/base/action/mixins.py @@ -35,7 +35,7 @@ class ActionMixin: Override this method to perform the action! """ - def get_result(self): + def get_result(self, user=None, data=None): """ Result of the action? """ @@ -43,19 +43,19 @@ class ActionMixin: # Re-implement this for cutsom actions return False - def get_info(self): + def get_info(self, user=None, data=None): """ Extra info? Can be a string / dict / etc """ return None - def get_response(self): + def get_response(self, user=None, data=None): """ Return a response. Default implementation is a simple response which can be overridden. """ return { "action": self.action_name(), - "result": self.get_result(), - "info": self.get_info(), + "result": self.get_result(user, data), + "info": self.get_info(user, data), } diff --git a/InvenTree/plugin/builtin/action/simpleactionplugin.py b/InvenTree/plugin/builtin/action/simpleactionplugin.py index d2a321789d..97043d5223 100644 --- a/InvenTree/plugin/builtin/action/simpleactionplugin.py +++ b/InvenTree/plugin/builtin/action/simpleactionplugin.py @@ -16,9 +16,9 @@ class SimpleActionPlugin(ActionMixin, InvenTreePlugin): def perform_action(self): print("Action plugin in action!") - def get_info(self): + def get_info(self, user, data): return { - "user": self.user.username, + "user": user.username, "hello": "world", }