thirdparty/google_appengine/google/appengine/ext/admin/templates/datastore_edit.html
Returning a JSON response on successfully storing the found duplicates.
Patch by: Lennard de Rijk
Reviewed by: to-be-reviewed
{% extends "base.html" %}
{% block title %}{{ application_name }} Development Console - Datastore Viewer - {% if key %}Edit Entity{% else %}New Entity{% endif %}{% endblock %}
{% block head %}
<style type="text/css">{% include "css/form.css" %}</style>
<style type="text/css">
.field_type {
color: gray;
font-weight: normal;
}
</style>
<script type="text/javascript">
function load() {
var elements = document.getElementsByTagName("input");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var hint = null;
if (element.className == "time") {
hint = "e.g., 2006-30-05 23:56:04";
}
if (hint) registerHint(element, hint);
}
}
function registerHint(element, hint) {
function showDefault() {
if (element.value.length == 0 || element.value == hint) {
element.style.color = "gray";
element.value = hint;
}
}
function clearDefault() {
if (element.style.color == "gray" || element.value == hint) {
element.value = "";
element.style.color = "black";
}
}
element.onblur = showDefault;
element.onfocus = clearDefault;
showDefault();
}
function clearHints(form) {
var elements = form.getElementsByTagName("input");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (element.type == "text" && element.style.color == "gray") {
element.onblur = null;
element.onfocus = null;
element.value = "";
}
}
return true;
}
</script>
{% endblock %}
{% block bodyattributes %}onload="load()"{% endblock %}
{% block body %}
<h3>{% if key %}Edit Entity{% else %}New Entity{% endif %}</h3>
<form action="{{ request.path }}" method="post" onsubmit="return clearHints(this)">
<div><input type="hidden" name="next" value="{{ next }}"/></div>
<table class="form">
<tr>
<td class="name">Entity Kind</td>
<td class="value text">
{{ kind }}
<input type="hidden" name="kind" value="{{ kind }}"/>
</td>
</tr>
{% if key %}
<tr>
<td class="name">Entity Key</td>
<td class="value text">
{{ key }}
<input type="hidden" name="key" value="{{ key }}"/>
</td>
</tr>
{% endif %}
{% if key_name %}
<tr>
<td class="name">Key Name</td>
<td class="value text">
{{ key_name }}
</td>
</tr>
{% endif %}
{% if key_id %}
<tr>
<td class="name">ID</td>
<td class="value text">
{{ key_id }}
</td>
</tr>
{% endif %}
{% if parent_key %}
<tr>
<td class="name">Parent</td>
<td class="value text">
<a href="?key={{parent_key}}&kind={{parent_kind}}">{{ parent_key }}</a>
</td>
</tr>
{% endif %}
{% for field in fields %}
<tr>
<td class="name">
<span class="field_name">{{ field.0|escape }}</span>
<span class="field_type">({{ field.1|escape }})</span>
</td>
<td class="value"><div style="position: relative">{{ field.2|safe }}</div></td>
</tr>
{% endfor %}
<tr>
<td></td>
<td class="buttons">
<input type="submit" value="Save Changes"/>
{% if key %}
<input type="submit" name="action" value="Delete" onclick="return confirm('Are you sure you want to permanently delete this entity?');"/>
{% endif %}
</td>
</tr>
</table>
</form>
<div id="datepicker"></div>
{% endblock %}
{% block final %}
<script type="text/javascript">
//<![CDATA[
// Sets the focus on the field with the given name in the given array (if any)
function setFocus(fields, fieldName) {
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
var name = field.name;
if (field.focus && name.length > focus.length &&
name.substring(name.length - focus.length - 1) == '|' + focus) {
field.focus();
break;
}
}
}
// Focus on the appropriate field in the form based on the "focus" argument
// in the URL
var focus = "{{ focus|addslashes }}";
if (focus) {
setFocus(document.getElementsByTagName("input"), focus);
setFocus(document.getElementsByTagName("textarea"), focus);
}
//]]>
</script>
{% endblock %}