- Move do_not_call_in_templates to BaseScript

- Fix the name classproperty
This commit is contained in:
kkthxbye 2022-03-23 12:18:14 +01:00
parent 22980cea7b
commit ae46cd33b6
3 changed files with 6 additions and 4 deletions

View File

@ -259,6 +259,10 @@ class BaseScript:
Base model for custom scripts. User classes should inherit from this model if they want to extend Script
functionality for use in other subclasses.
"""
# Prevent django from instantiating the class on all accesses
do_not_call_in_templates = True
class Meta:
pass
@ -280,7 +284,7 @@ class BaseScript:
@classproperty
def name(self):
return getattr(self.Meta, 'name', self.__class__.__name__)
return getattr(self.Meta, 'name', self.__name__)
@classproperty
def full_name(self):

View File

@ -753,8 +753,6 @@ class ScriptListView(ContentTypePermissionRequiredMixin, View):
for _scripts in scripts.values():
for script in _scripts.values():
# Prevent django from instantiating the class on all accesses
script.do_not_call_in_templates = True
script.result = results.get(script.full_name)
return render(request, 'extras/script_list.html', {

View File

@ -34,7 +34,7 @@
{% for class_name, script in module_scripts.items %}
<tr>
<td>
<a href="{% url 'extras:script' module=script.module name=class_name %}" name="script.{{ class_name }}">{{ script.Meta.name }}</a>
<a href="{% url 'extras:script' module=script.module name=class_name %}" name="script.{{ class_name }}">{{ script.name }}</a>
</td>
<td>
{% include 'extras/inc/job_label.html' with result=script.result %}