aurweb/templates/pkgbase/merge.html
Kevin Morris 26b1674c9e
fix(requests): rework handling of requests
This commit changes several things about how we were handling
package requests.

Modifications (requests):
-------------
- `/requests/{id}/close` no longer provides an Accepted selection.
  All manual request closures will cause a rejection.
- Relevent `pkgbase` actions now trigger request closures:
  `/pkgbase/{name}/delete` (deletion), `/pkgbase/{name}/merge` (merge)
  and `/pkgbase/{name}/disown` (orphan).
- Comment fields have been added to
  `/pkgbase/{name}/{delete,merge,disown}`, which is used to set the
  `PackageRequest.ClosureComment` on pending requests. If the comment
  field is left blank, a closure comment is autogenerated.
- Autogenerated request notifications are only sent out once
  as a closure notification.
- Some markup has been fixed.

Modifications (disown/orphan):
-----------------------------
- Orphan requests are now handled through the same path as
  deletion/merge.
- We now check for due date when disowning as non-maintainer;
  previously, this was only done for display and not functionally.
  This check applies to Trusted Users' disowning of a package.

This style of notification flow does reduce our visibility, but
accounting can still be done via the close request; it includes
the action, pkgbase name and the user who accepted it.

Closes #204

Signed-off-by: Kevin Morris <kevr@0cost.org>
2021-12-09 19:09:51 -08:00

80 lines
2.5 KiB
HTML

{% extends "partials/layout.html" %}
{% block pageContent %}
{% if errors %}
<ul class="errorlist">
{% for error in errors %}
<li>{{ error | tr }}</li>
{% endfor %}
</ul>
{% endif %}
<div class="box">
<h2>{{ "Merge Package" | tr }}: {{ pkgbase.Name }}</h2>
<p>
{{
"Use this form to merge the package base %s%s%s into "
"another package."
| tr | format("<strong>", pkgbase.Name, "</strong>") | safe
}}
{{ "The following packages will be deleted: " | tr }}
</p>
<ul>
{% for package in pkgbase.packages.all() %}
<li>{{ package.Name }}</li>
{% endfor %}
</ul>
<p>
{{ "Once the package has been merged it cannot be reversed. " | tr }}
{{ "Enter the package name you wish to merge the package into. " | tr }}
{{ "Select the checkbox to confirm action." | tr }}
</p>
<form id="merge-form" action="/pkgbase/{{ pkgbase.Name }}/merge" method="post">
<fieldset>
<input type="hidden" name="next" value="{{ next }}" />
<p>
<label id="merge-into" for="merge_into">
{{ "Merge into:" | tr }}
</label>
<input id="merge_into"
type="text"
name="into"
value="{{ into }}"
autocomplete="off"
/>
</p>
<p>
<label for="id_comments">{{ "Comments" | tr }}:</label>
<textarea id="id_comments" name="comments"
rows="5" cols="50"></textarea>
</p>
<p>
<label class="confirmation">
<input type="checkbox" name="confirm" />
{{ "Confirm package merge" | tr }}
</label>
</p>
<p>
<input class="button"
type="submit"
value="{{ 'Merge' | tr }}"
/>
</p>
</fieldset>
</form>
{# Bootstrap typeahead-pkgbase-merge.js #}
<script type="text/javascript"
src="/static/js/typeahead-pkgbase-merge.js"></script>
</div>
{% endblock %}