{% extends "app_home/base.html" %} {% load static %} {% load i18n %} {% block navbar_app %} {% include 'app_home/_sidebar.html' %} {% endblock %} {% block title %}

{% translate "Rename a keyname" %}

{% translate "Rename an instance keyname and cascade the change to every instance referencing it. A dry run is always performed first." %}

{% endblock %} {% block content %}

{% translate "Admin tools" %}

{% if not can_rename %}
{% translate "The p_keyname_rename permission is required to use this tool. Ask an administrator to grant it to one of your roles." %}
{% else %}
{% translate "Target" %}
{% csrf_token %}
{% translate "Renaming a user, group or role keyname changes an identity. Logins, group and role references elsewhere may break. Built-in identities (admin, role_admin, role_default) stay protected even with force." %}
{% if report %} {% if report.errors %}
{% translate "The rename was not performed:" %}
{% endif %}
{% if mode == 'real' %}{% translate "Rename result" %}{% else %}{% translate "Dry-run result" %}{% endif %} — {{ report.classname }}:{{ report.old_keyname }} {{ report.new_keyname }}
{% if not report.errors %}
{% translate "Mode" %} {% if report.dryrun %} {% translate "dry run" %} {% translate "nothing was written." %} {% else %} {% translate "applied" %} {% translate "changes are committed." %} {% endif %}
{% translate "Target instance" %} {% if report.target_renamed %} {% translate "renamed" %} {% else %} {% translate "would be renamed" %} {% endif %}
{% translate "Referrers scanned" %} {{ report.referrers_scanned }}
{% translate "Referrers changed" %} {{ report.referrers_changed }} {% if report.referrers_by_classname %} ( {% for ref_classname, count in report.referrers_by_classname.items %} {{ ref_classname }}: {{ count }}{% if not forloop.last %}, {% endif %} {% endfor %} ) {% endif %}
{% endif %} {% if report.dryrun and not report.errors and report.referrers_changed > warn_referrers %}
{% blocktranslate with count=report.referrers_changed %}{{ count }} instances would be rewritten. The real run is synchronous and may exceed the web request timeout — consider the cavaliba CLI or the /api/keyname/ endpoint instead.{% endblocktranslate %}
{% endif %} {% if report.referrer_detail %}
{% translate "Affected fields" %}
{% for row in report.referrer_detail %} {% endfor %}
{% translate "Schema" %} {% translate "Instance" %} {% translate "Field" %} {% translate "Before" %} {% translate "After" %}
{{ row.classname }} {{ row.keyname }} {{ row.fieldname }} {{ row.old_values|join:", " }} {{ row.new_values|join:", " }}
{% endif %}
{% if report.dryrun and not report.errors %} {% endif %}
{% if report.dryrun and not report.errors %} {% endif %} {% endif %}{# report #} {% endif %}{# can_rename #} {% endblock %}