thirdparty/google_appengine/google/appengine/ext/admin/templates/memcache.html
author Mario Ferraro <fadinlight@gmail.com>
Sun, 15 Nov 2009 22:12:20 +0100
changeset 3093 d1be59b6b627
parent 149 f2e327a7c5de
permissions -rw-r--r--
GMaps related JS changed to use new google namespace. Google is going to change permanently in the future the way to load its services, so better stay safe. Also this commit shows uses of the new melange.js module. Fixes Issue 634.

{% extends "base.html" %}

{% block title %}{{ application_name }} Development Console - Memcache Viewer{% endblock %}

{% block head %}
  <style type="text/css">{% include "css/memcache.css" %}</style>
{% endblock %}

{% block breadcrumbs %}
  <span class="item"><a href="">Memcache Viewer</a></span>
{% endblock %}

{% block body %}
<h3>Memcache Viewer</h3>

{% if message %}
<div class="message">
{{ message|escape }}
</div>
{% endif %}

{% if show_stats %}
<div id="stats">
  <ul>
    <li>Hit ratio: {{ hitratio }}% ({{ stats.hits }} hit{{ stats.hits|pluralize }} and {{ stats.misses }} miss{{ stats.misses|pluralize:"es" }})</li>
    <li>Size of cache: {{ stats.items }} item{{ stats.items|pluralize }}, {{ stats.bytes|filesizeformat }}
          <form id="flush_form" action="{{ request.path }}" method="post">
            <input type="submit" name="action:flush" value="Flush Cache" onclick="return confirm('Are you sure you want to flush all keys from the cache?');"/>
          </form>
    </li>
    <li>Cache contains items up to {{ oldest_item_age|timesince }} old.</li>
  </ul>
</div>

<div id="memcache_search">
  <form action="{{ request.path }}" method="post">
    <span class="field">
      <span class="name">Key:</span>
      <span class="value"><input id="key_input" name="key" type="text" size="40" value="{{ key|escape }}"/></span>
    </span>
    <span class="buttons">
      <input type="submit" name="action:display" value="Display"/>
      <input type="submit" name="action:edit" value="Edit/Create"/>
      <input type="submit" name="action:delete" value="Delete" onclick="return confirm('Are you sure you want to permanently delete this key?');"/>
    </span>
  </form>
</div>
{% endif %}

{% if show_value %}
{% if key_exists %}
{% ifequal type "error" %}
<div class="message">Error fetching {{ key|escape }}: {{ value|escape }}</div>
{% else %}
<div id="value_display">
  <div id="value_display_key">"<b>{{ key|escape }}</b>" is a <b>{{ type|escape }}</b>:</div>
  <pre id="value_display_value">{{ value|escape }}</pre>
</div>
{% endifequal %}
{% else %}
<div class="message">No such key: {{ key|escape }}</div>
{% endif %}
{% endif %}

{% if show_valueform %}
<div id="memcache_edit">
  <form action="{{ request.path }}" method="post">
    <table>
      <tr>
        <th>Key</th>
        <td>
          <input name="key" type="hidden" value="{{ key|escape }}"/>
          {{ key|escape }}
        </td>
      </tr>
      <tr>
        <th>Type</th>
        <td>
          {% if key_exists %}
          <input name="type" type="hidden" value="{{ type|escape }}"/>
          {{ type|escape }}
          {% else %}
          <select name="type" size="1">
            {% for typeopt in types %}
            <option>{{ typeopt }}</option>
            {% endfor %}
          </select>
          {% endif %}
        </td>
      </tr>
      <tr>
        <th id="value_key"><div id="value_key_text">Value</div></th>
        <td>
          <textarea id="value_input" name="value" cols="80" rows="20"{% if not writable %} readonly{% endif %}>{{ value|default_if_none:""|escape }}</textarea>
        </td>
      </tr>
      <tr>
        <th>&nbsp;</th>
        <td>
          {% if writable %}
          <input type="submit" name="action:save" value="Save"/>
          {% endif %}
          <input type="submit" name="action:cancel" value="Cancel"/>
        </td>
      </tr>
    </table>
  </form>
</div>
{% endif %}

{% endblock %}

{% block final %}
<script type="text/javascript">
//<![CDATA[
document.getElementById('key_input').focus();
//]]>
</script>
{% endblock %}