Skip to content

Commit

Permalink
execution screen moving to 2 column layout, part I
Browse files Browse the repository at this point in the history
  • Loading branch information
jdetaeye committed Jan 20, 2025
1 parent aa212a7 commit a5723f1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 27 deletions.
30 changes: 14 additions & 16 deletions freppledb/execute/templates/execute/execute.html
Original file line number Diff line number Diff line change
Expand Up @@ -236,30 +236,28 @@
<h1>{% trans "launch tasks"|capfirst %}</h1>
</div></div>
<div class="row mb-2">
<div id="tasks" class="accordion col" role="tablist" aria-multiselectable="true" style="max-width:900px; min-width: 600px">
{% if perms.auth.auth.generate_plan or perms.auth.copy_scenario or perms.auth.release_scenario or perms.auth.promote_scenario or perms.auth.run_db %}
<!--User has some permissions -->
{% for command in commandlist %}
{% call_method command "getHTML" request as HTMLcode %}
{% if HTMLcode %}
<div class="accordion-item">
<h2 class="accordion-header" id="{{ forloop.counter }}Heading">
<button class="accordion-button fs-5" data-bs-toggle="collapse" data-bs-target="#Accord{{ forloop.counter }}" aria-expanded="true" aria-controls="Accord{{ forloop.counter }}">
{{ command.title|capfirst }}
{% if command.help_url %}<div class='ms-3 fa fa-question d-none d-md-inline-block float-end' onclick="window.open('{% setting "DOCUMENTATION_URL" %}/docs/{% version_short %}/{{ command.help_url }}')"></div>{% endif %}
<div class="col-lg-6 col-12">
{% for cmd in commandlist %}
{% if forloop.counter0 == halfway %}
</div><div class="col-lg-6 col-12">
{% endif %}
<div class="card mb-2">
<div class="card-header" id="{{ forloop.counter }}Heading">
<button class="accordion-button fs-5 float-start" data-bs-toggle="collapse" data-bs-target="#Accord{{ forloop.counter }}" aria-expanded="true" aria-controls="Accord{{ forloop.counter }}">
{{ cmd.command.title|capfirst }}
{% if command.command.help_url %}<div class='ms-3 fa fa-question d-none d-md-inline-block float-end' onclick="window.open('{% setting "DOCUMENTATION_URL" %}/docs/{% version_short %}/{{ cmd.command.help_url }}')"></div>{% endif %}
</button>
</h2>
<div id="Accord{{ forloop.counter }}" data-task="#{{ command.name }}" data-bs-parent="#tasks" class="accordion-collapse collapse{% if forloop.counter == 1 %} show{% endif %}" aria-labelledby="{{ forloop.counter }}Heading">
<div class="accordion-body">
{{ HTMLcode }}
</div>
</div>
<div id="Accord{{ forloop.counter }}" data-task="#{{ cmd.command.name }}" data-bs-parent="#tasks" class="card-body collapse{% if forloop.counter == 1 %} show{% endif %}" aria-labelledby="{{ forloop.counter }}Heading">
{{ cmd.html }}
</div>
</div>
{% endif %}
{% endfor %}
</div>
{% else %}
{% trans "Sorry, You don't have any execute permissions..." %}
{% endif %}
</div>
</div> <!-- end row -->
{% endblock %}
23 changes: 12 additions & 11 deletions freppledb/execute/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,30 +177,31 @@ class TaskReport(GridReport):

@classmethod
def extra_context(reportclass, request, *args, **kwargs):
# Loop over all accordion of all apps and directories
accordions = set()
accord = ""
loop1 = set()
for commandname, appname in get_commands().items():
try:
accord = getattr(
cmd = getattr(
import_module("%s.management.commands.%s" % (appname, commandname)),
"Command",
)
if getattr(accord, "index", -1) >= 0 and getattr(
accord, "getHTML", None
):
accord.name = commandname
accordions.add(accord)
if getattr(cmd, "index", -1) >= 0 and getattr(cmd, "getHTML", None):
cmd.name = commandname
loop1.add(cmd)
except Exception as e:
logger.warning(
"Couldn't import getHTML method from %s.management.commands.%s: %s"
% (appname, commandname, e)
)

accordions = sorted(accordions, key=operator.attrgetter("index"))
loop2 = []
for cmd in sorted(loop1, key=operator.attrgetter("index")):
html = cmd.getHTML(request)
if html:
loop2.append({"command": cmd, "html": html})

# Send to template
return {"commandlist": accordions}
x = {"commandlist": loop2, "halfway": len(loop2) // 2 + 1}
return x

@classmethod
def query(reportclass, request, basequery, sortsql="1 asc"):
Expand Down

0 comments on commit a5723f1

Please sign in to comment.