<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">${_('Invalidate Cache for Repository')}</h3>
    </div>
    <div class="panel-body">

        <h4>${_('Manually invalidate the repository cache. On the next access a repository cache will be recreated.')}</h4>

        <p>
            ${_('Cache purge can be automated by such api call. Can be called periodically in crontab etc.')}
            <br/>
            <code>
            ${h.api_call_example(method='invalidate_cache', args={"repoid": c.rhodecode_db_repo.repo_name})}
            </code>
        </p>

        ${h.secure_form(h.route_path('edit_repo_caches', repo_name=c.repo_name), request=request)}
        <div class="form">
           <div class="fields">
               ${h.submit('reset_cache_%s' % c.rhodecode_db_repo.repo_name,_('Invalidate repository cache'),class_="btn btn-small",onclick="return confirm('"+_('Confirm to invalidate repository cache')+"');")}
           </div>
        </div>
        ${h.end_form()}

    </div>
</div>


<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">
            ${(_ungettext('List of repository caches (%(count)s entry)', 'List of repository caches (%(count)s entries)' ,len(c.rhodecode_db_repo.cache_keys)) % {'count': len(c.rhodecode_db_repo.cache_keys)})}
        </h3>
    </div>
    <div class="panel-body">
      <div class="field" >
           <table class="rctable edit_cache">
           <tr>
            <th>${_('Key')}</th>
            <th>${_('Namespace')}</th>
            <th>${_('Active')}</th>
            </tr>
          %for cache in c.rhodecode_db_repo.cache_keys:
              <tr>
                <td class="td-prefix"><code>${cache.cache_key}</code></td>
                <td class="td-cachekey"><code>${cache.cache_args}</code></td>
                <td class="td-active">${h.bool2icon(cache.cache_active)}</td>
              </tr>
          %endfor
          </table>
      </div>
    </div>
</div>

<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">
            ${_('Cache keys')}
        </h3>
    </div>
    <div class="panel-body">
<p>
    Cache keys used for storing cached values of repository stats,
    file tree history and file tree search.
    Invalidating the cache will remove those entries.
</p>
<pre>
region: ${c.region.name}
backend: ${c.region.actual_backend.__class__}
% if c.rhodecode_user.is_admin:
store: ${c.region.actual_backend.get_store()}
% else:
store: ${c.region.actual_backend.get_store().__class__}
% endif

% if c.repo_keys:
${len(c.repo_keys)} <a href="#showKeys" onclick="$('#show-keys').toggle()">${_('Show all')}</a>
<span id="show-keys" style="display: none">
    % for k in c.repo_keys:
 - ${k}
    % endfor
</span>
% else:
 NO KEYS FOUND
% endif

</pre>

    </div>
</div>


<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">${_('Shadow Repositories')}</h3>
    </div>
    <div class="panel-body">
        <table class="rctable edit_cache">
            % if c.shadow_repos:
            % for shadow_repo in c.shadow_repos:
                <tr>
                    <td>${shadow_repo}</td>
                </tr>
            % endfor
            % else:
                <tr>
                    <td>${_('No Shadow repositories exist for this repository.')}</td>
                </tr>
            % endif

        </table>
    </div>
</div>


<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">${_('Diff Caches')}</h3>
    </div>
    <div class="panel-body">
        <table class="rctable edit_cache">
            <tr>
                <td>${_('Cached diff name')}:</td>
                % if c.rhodecode_user.is_admin:
                    <td>${c.rhodecode_db_repo.cached_diffs_dir}</td>
                % else:
                    <td>${c.rhodecode_db_repo.cached_diffs_relative_dir}</td>
                % endif
            </tr>
            <tr>
                <td>${_('Cached diff files')}:</td>
                <td>${c.cached_diff_count}</td>
            </tr>
            <tr>
                <td>${_('Cached diff size')}:</td>
                <td>${h.format_byte_size(c.cached_diff_size)}</td>
            </tr>
        </table>
    </div>
</div>