276 lines
12 KiB
HTML
276 lines
12 KiB
HTML
{% load static %}
|
|
{% load i18n %}
|
|
{% load mastodon %}
|
|
{% if item %}
|
|
<div class="action">
|
|
<span>
|
|
<a title="{% trans "edit" %}"
|
|
href="{% url 'catalog:edit' item.url_path item.uuid %}"><i class="fa-solid fa-pen-to-square"></i></a>
|
|
</span>
|
|
<span>
|
|
<a title="{% trans "revision history" %}"
|
|
href="{% url 'catalog:history' item.url_path item.uuid %}"><i class="fa-solid fa-clock-rotate-left"></i></a>
|
|
</span>
|
|
<span>
|
|
<a title="{% trans "back to item" %}" href="{{ item.url }}"><i class="fa-solid fa-file-lines"></i></a>
|
|
</span>
|
|
</div>
|
|
<h5>{% trans "Edit Options" %}</h5>
|
|
{% if item.is_deleted %}
|
|
<p>
|
|
<i class="fa-solid fa-circle-xmark"></i> {% trans "Item has been deleted." %}
|
|
</p>
|
|
{% endif %}
|
|
{% if item.child_items %}
|
|
<p>
|
|
<i class="fa-solid fa-circle-exclamation"></i> {% trans "Item contains sub-items." %}
|
|
</p>
|
|
{% endif %}
|
|
{% if item.merged_to_item %}
|
|
<p>
|
|
<i class="fa-solid fa-circle-xmark"></i> {% trans "Item has been merged to another item." %}
|
|
</p>
|
|
{% endif %}
|
|
{% if item.journal_exists %}
|
|
<p>
|
|
<i class="fa-solid fa-circle-exclamation"></i> {% trans "Item has been marked by users." %}
|
|
</p>
|
|
{% endif %}
|
|
{% for i in item.merged_from_items.all %}
|
|
{% if forloop.first %}
|
|
<i class="fa-solid fa-circle-info"></i> {% trans "The following items are merged into this item" %}
|
|
<ul>
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ i.url }}?skipcheck=1">{{ i.display_title }}</a>
|
|
</li>
|
|
{% if forloop.last %}</ul>{% endif %}
|
|
{% endfor %}
|
|
{% if item.editable or request.user.is_staff %}
|
|
{% for res in item.external_resources.all %}
|
|
<details>
|
|
<summary>
|
|
{% trans 'External website' %}: <a href="{{ res.url }}" rel="noopener noreferrer">{{ res.site_label }}</a>
|
|
</summary>
|
|
<div class="grid">
|
|
<form method="post"
|
|
action="{% url 'catalog:refetch' %}"
|
|
onsubmit="return confirm('{% trans "Existing metadata might get overwritten, sure to proceed?" %}');">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="id" value="{{ res.id }}">
|
|
<input type="hidden" name="url" value="{{ res.url }}">
|
|
<input class="secondary" type="submit" value="{% trans 'Fetch again' %}">
|
|
</form>
|
|
{% if request.user.is_staff %}
|
|
<form method="post"
|
|
action="{% url 'catalog:unlink' %}"
|
|
onsubmit="return confirm('{% trans "You may not be able to undo this operation, sure to remove?" %}');">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="id" value="{{ res.id }}">
|
|
<input class="contrast"
|
|
type="submit"
|
|
value="{% trans 'Remove link to site' %}">
|
|
</form>
|
|
{% endif %}
|
|
</div>
|
|
</details>
|
|
{% endfor %}
|
|
{% if item.child_class %}
|
|
<details>
|
|
<summary>
|
|
{% trans 'Edit sub-items' %} <small>({{ item.child_items.count }})</small>
|
|
</summary>
|
|
<p class="tag-list" style="overflow: scroll; max-height: 20em;">
|
|
{% for ep in item.child_items %}
|
|
<span class="season-number" id="ci_{{ ep.uuid }}">
|
|
<a href="{% url 'catalog:edit' ep.url_path ep.uuid %}">{{ ep.episode_number|default:ep.display_title|default:"#" }}</a>
|
|
</span>
|
|
{% endfor %}
|
|
</p>
|
|
<form method="get" action="{% url 'catalog:create' item.child_class %}">
|
|
<input name="parent" type="hidden" value="{{ item.uuid }}">
|
|
<input class="contrast"
|
|
type="submit"
|
|
value="{% trans "create" %} {{ item.child_class }}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% if item.class_name == "tvseason" %}
|
|
<details>
|
|
<summary>{% trans 'Fetch all episodes' %}</summary>
|
|
{% if item.imdb and item.season_number is not None %}
|
|
<form method="post"
|
|
action="{% url 'catalog:fetch_tvepisodes' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<input class="contrast" type="submit" value="{% trans 'Fetch all' %}">
|
|
<small>{% trans "Due to differences in how Douban, IMDB, and TMDB handle season data, a small number of TV shows and animations may not return correct results. Please manually verify and clean up after updating." %}</small>
|
|
</form>
|
|
{% else %}
|
|
<i class="fa-solid fa-circle-exclamation"></i> <i>{% trans "To fetch all episodes, season numbers and IMDB information are required. If filling this out is inconvenient, you can also manually create sub-entries." %}</i>
|
|
{% endif %}
|
|
</details>
|
|
{% endif %}
|
|
{% if item.class_name == "movie" %}
|
|
<details>
|
|
<summary>{% trans 'switch category' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:recast' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('{% trans "Switching may remove some metadata. Sure to proceed?" %}');">
|
|
{% csrf_token %}
|
|
<input type="hidden" value="tvshow" name="class">
|
|
<input class="contrast" type="submit" value="➡ {% trans 'TV Show' %}">
|
|
</form>
|
|
</details>
|
|
{% elif item.class_name == "tvshow" %}
|
|
{% if not item.all_seasons or request.user.is_staff %}
|
|
<details>
|
|
<summary>{% trans 'switch category' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:recast' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('Switching may remove some metadata. Sure to proceed?');">
|
|
{% csrf_token %}
|
|
<input type="hidden" value="movie" name="class">
|
|
<input class="contrast" type="submit" value="➡ {% trans 'Movie' %}">
|
|
</form>
|
|
<form method="post"
|
|
action="{% url 'catalog:recast' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('Switching may remove some metadata. Sure to proceed?');">
|
|
{% csrf_token %}
|
|
<input type="hidden" value="tvseason" name="class">
|
|
<input class="contrast" type="submit" value="➡ {% trans 'TV Season' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% elif item.class_name == "album" %}
|
|
<details>
|
|
<summary>{% trans 'switch category' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:recast' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('Switching may remove some metadata. Sure to proceed?');">
|
|
{% csrf_token %}
|
|
<input type="hidden" value="podcast" name="class">
|
|
<input class="contrast" type="submit" value="➡ {% trans 'Podcast' %}">
|
|
</form>
|
|
</details>
|
|
{% else %}
|
|
<!-- no switch possible -->
|
|
{% endif %}
|
|
{% if item.class_name == "tvseason" or item.class_name == "performanceproduction" %}
|
|
<details>
|
|
<summary>{% trans "Link to parent item" %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:assign_parent' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('{% trans "Sure to link?" %}');">
|
|
{% csrf_token %}
|
|
<input type="url"
|
|
name="parent_item_url"
|
|
placeholder=""
|
|
value="{{ item.show.absolute_url }}">
|
|
<br>
|
|
<input class="contrast" type="submit" value="{% trans 'Update link' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% if item.class_name == "tvshow" %}
|
|
<details>
|
|
<summary>{% trans "Cleanup seasons" %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:remove_unused_seasons' item.url_path item.uuid %}"
|
|
onsubmit="return confirm('{% trans "This operation cannot be undone. Sure to delete?" %}');">
|
|
{% csrf_token %}
|
|
<input class="contrast"
|
|
type="submit"
|
|
value="{% trans 'remove seasons not marked' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% if not item.journal_exists or request.user.is_staff %}
|
|
<details>
|
|
<summary>{% trans 'Merge' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:merge' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<input type="url"
|
|
name="target_item_url"
|
|
placeholder="{% trans "URL of target item, or empty if undo merge" %}"
|
|
{% if item.is_deleted and not item.merged_to_item %}disabled{% endif %}
|
|
value="{{ item.merged_to_item.absolute_url }}">
|
|
<br>
|
|
<input class="contrast"
|
|
type="submit"
|
|
value="{% trans 'merge to another item' %}">
|
|
</form>
|
|
</details>
|
|
{% if item.can_soft_delete %}
|
|
<details>
|
|
<summary>{% trans 'Delete' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:delete' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<input class="contrast" type="submit" value="{% trans 'Delete' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if item.class_name == 'edition' %}
|
|
{% if item.has_works %}
|
|
<details>
|
|
<summary>{% trans 'Work' %}</summary>
|
|
{% trans "This edition belongs to the following work" %}
|
|
{% for i in item.works.all %}
|
|
<li>
|
|
<a href="{{ i.url }}?skipcheck=1">{{ i.display_title }}</a>
|
|
</li>
|
|
{% endfor %}
|
|
<form method="post"
|
|
onsubmit="return confirm('{% trans "Sure to unlink?" %}');"
|
|
action="{% url 'catalog:unlink_works' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<input class="contrast"
|
|
type="submit"
|
|
{% if not request.user.is_staff %}disabled{% endif %}
|
|
value="{% trans 'Unlink from work' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% if not item.has_works %}
|
|
<details>
|
|
<summary>{% trans 'Link' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:link_edition' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<input type="url"
|
|
name="target_item_url"
|
|
placeholder="{{ site_url }}/book/1234/
|
|
{% if item.is_deleted and not item.merged_to_item %}disabled{% endif %}
|
|
value="">
|
|
<input class="contrast"
|
|
type="submit"
|
|
value="{% trans 'Link to another edition from same work' %}">
|
|
</form>
|
|
</details>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
<details>
|
|
<summary>{% trans 'Suggest Edits' %}</summary>
|
|
<form method="post"
|
|
action="{% url 'catalog:suggest' item.url_path item.uuid %}">
|
|
{% csrf_token %}
|
|
<select name="action" aria-label="Select action..." required>
|
|
<option selected disabled value="">{% trans "proposed action" %}</option>
|
|
<option value="merge">{% trans "merge to another item" %}</option>
|
|
<option value="link">{% trans "link to another item" %}</option>
|
|
<option value="type">{% trans "change item category" %}</option>
|
|
<option value="metadata">{% trans "change item metadata" %}</option>
|
|
<option value="delete">{% trans "remove item" %}</option>
|
|
<option value="other">{% trans "other" %}</option>
|
|
</select>
|
|
<textarea name="detail"
|
|
required
|
|
placeholder="{% trans "To suggest merging or association, please include the URL of the target item" %}"></textarea>
|
|
<input type="submit" value="{% trans 'submit' %}">
|
|
<small>{% trans "As a user of this community, you may edit some metadata of items on this site. If you are unsure whether your edits are appropriate or are unable to make a certain change, you can make suggestions here. Moderators will consider each suggestion, although there is no guarantee that they will always be fully adopted; suggestions may also be viewed or discussed by other community users. If you have suggestions that are not related to a specific item, please contact us. Thank you for your support and contribution." %}</small>
|
|
</form>
|
|
</details>
|
|
{% endif %}
|