mirror of
https://github.com/simonw/datasette.git
synced 2026-06-05 08:37:00 +02:00
71 lines
3.2 KiB
HTML
71 lines
3.2 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Create query{% endblock %}
|
|
|
|
{% block extra_head %}
|
|
{{- super() -}}
|
|
{% include "_codemirror.html" %}
|
|
{% include "_execute_write_analysis_styles.html" %}
|
|
{% endblock %}
|
|
|
|
{% block body_class %}query-create db-{{ database|to_css_class }}{% endblock %}
|
|
|
|
{% block crumbs %}
|
|
{{ crumbs.nav(request=request, database=database) }}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<h1 style="padding-left: 10px; border-left: 10px solid #{{ database_color }}">Create query</h1>
|
|
|
|
<form class="sql core" action="{{ urls.database(database) }}/-/queries/insert" method="post">
|
|
<p><label for="query-name">Name</label> <input id="query-name" name="name" type="text"></p>
|
|
<p><label for="query-title">Title</label> <input id="query-title" name="title" type="text"></p>
|
|
<p><label for="query-description">Description</label><br><textarea id="query-description" name="description" rows="3"></textarea></p>
|
|
<p>
|
|
<label><input type="radio" name="mode" value="read-only" checked> Read-only</label>
|
|
<label><input type="radio" name="mode" value="writable"> Writable</label>
|
|
</p>
|
|
<p><textarea id="sql-editor" name="sql"{% if sql %} style="height: {{ sql.split("\n")|length + 2 }}em"{% endif %}>{{ sql }}</textarea></p>
|
|
<p><label for="query-parameters">Parameters</label> <input id="query-parameters" name="parameters" type="text" value="{{ parameter_names|join(', ') }}"></p>
|
|
<p><label><input type="checkbox" name="is_private" value="1" checked> Private</label></p>
|
|
{% if sql and analysis_is_write %}
|
|
<p><a href="{{ urls.database(database) }}/-/execute-write?{{ {'sql': sql}|urlencode|safe }}">Execute write SQL</a></p>
|
|
{% endif %}
|
|
|
|
<h2>Query operations</h2>
|
|
{% if analysis_error %}
|
|
<p class="message-error">{{ analysis_error }}</p>
|
|
{% elif analysis_rows %}
|
|
<div class="table-wrapper"><table class="execute-write-analysis">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Operation</th>
|
|
<th scope="col">Database</th>
|
|
<th scope="col">Table</th>
|
|
<th scope="col">Required permission</th>
|
|
<th scope="col">Allowed</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for row in analysis_rows %}
|
|
<tr>
|
|
<td><code>{{ row.operation }}</code></td>
|
|
<td><code>{{ row.database }}</code></td>
|
|
<td><code>{{ row.table }}</code></td>
|
|
<td>{% if row.required_permission %}<code>{{ row.required_permission }}</code>{% endif %}</td>
|
|
<td>{% if row.allowed is none %}{% elif row.allowed %}<span class="execute-write-analysis-allowed">yes</span>{% else %}<span class="execute-write-analysis-denied">no</span>{% endif %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table></div>
|
|
{% else %}
|
|
<p>Analysis will show each affected table and required permission.</p>
|
|
{% endif %}
|
|
|
|
<p><input type="submit" value="Save query"{% if save_disabled %} disabled{% endif %}></p>
|
|
</form>
|
|
|
|
{% include "_codemirror_foot.html" %}
|
|
|
|
{% endblock %}
|