- Fix elevation rendering bug: device blocks were drawn MARGIN px further right than the rack frame/unit slots, causing them to overlap and extend past the right border. All three now share one RACK_X origin. - Show the device type's front/rear image inside each elevation block (clipped to the block, translucent label bar on top for legibility) when one is set on the device type; falls back to a plain colour block with text otherwise. - Add "Merge" action to combine two concepts into one taller one (e.g. two half-height racks stacked into a full-height rack): the top concept's devices are shifted up by the bottom concept's height, neither source is modified. Available from the plugin menu, from a concept's detail page, and via POST /concepts/merge/. - Copying a real rack into a concept can now target a different width, height and/or starting unit than the source rack; devices that no longer fit at the chosen size are skipped and reported as warnings instead of aborting the copy. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
29 lines
1009 B
HTML
29 lines
1009 B
HTML
{% extends 'base/layout.html' %}
|
|
{% load i18n %}
|
|
{% load form_helpers %}
|
|
|
|
{% block title %}{% trans "Merge Rack Concepts" %}{% endblock %}
|
|
|
|
{% block content %}
|
|
<form action="" method="post">
|
|
{% csrf_token %}
|
|
<div class="row">
|
|
<div class="col col-md-8 offset-md-2">
|
|
<div class="card">
|
|
<h2 class="card-header">{% trans "Merge two concepts into one" %}</h2>
|
|
<div class="card-body">
|
|
<p class="text-muted">
|
|
{% trans "Stacks the bottom concept's devices unchanged and shifts the top concept's devices up by the bottom concept's height, into one new, taller blueprint. Neither source concept is modified." %}
|
|
</p>
|
|
{% render_form form %}
|
|
</div>
|
|
<div class="card-footer text-end">
|
|
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
|
<button type="submit" class="btn btn-primary">{% trans "Merge" %}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
{% endblock %}
|