diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index bb913e2179..8a8be64a37 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -43,10 +43,7 @@ class InvenTreeMetadata(SimpleMetadata): Custom context information to pass through to the OPTIONS endpoint, if the "context=True" is supplied to the OPTIONS requst - Serializer class can supply either: - - - get_context_data() (method) - - CONTEXT_DATA (dict) + Serializer class can supply context data by defining a get_context_data() method (no arguments) """ context = {} @@ -55,8 +52,6 @@ class InvenTreeMetadata(SimpleMetadata): if hasattr(self.serializer, 'get_context_data'): context = self.serializer.get_context_data() - elif hasattr(self.erializer, 'CONTEXT_DATA'): - context = self.serializer.CONTEXT_DATA metadata['context'] = context diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index fe28bb0653..df5c864b50 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -338,6 +338,9 @@ function constructForm(url, options) { // Request OPTIONS endpoint from the API getApiEndpointOptions(url, function(OPTIONS) { + // Extract any custom 'context' information from the OPTIONS data + options.context = OPTIONS.context || {}; + /* * Determine what "type" of form we want to construct, * based on the requested action. @@ -530,7 +533,14 @@ function constructFormBody(fields, options) { $(modal).find('#form-content').html(html); if (options.preFormContent) { - $(modal).find('#pre-form-content').html(options.preFormContent); + + if (typeof(options.preFormContent) === 'function') { + var content = options.preFormContent(options); + } else { + var content = options.preFormContent; + } + + $(modal).find('#pre-form-content').html(content); } if (options.postFormContent) {