mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-08-02 01:04:41 +02:00
Added the possibility to edit/create/delete part lots.
This commit is contained in:
parent
6a0adae8f3
commit
813e7dc85b
11 changed files with 226 additions and 43 deletions
60
templates/Parts/edit/_lots.html.twig
Normal file
60
templates/Parts/edit/_lots.html.twig
Normal file
|
@ -0,0 +1,60 @@
|
|||
{% set delete_btn %}
|
||||
<button type="button" class="btn btn-danger lot_btn_delete" onclick="delete_lot_entry(this);">
|
||||
<i class="fas fa-trash-alt fa-fw"></i>
|
||||
{% trans %}part_lot.delete{% endtrans %}
|
||||
</button>
|
||||
{% endset %}
|
||||
|
||||
|
||||
<table class="table table-striped" id="lots_table" data-prototype="{{ form_widget(form.partLots.vars.prototype)|e('html_attr') }}">
|
||||
<tbody>
|
||||
{% for lot in form.partLots %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ form_widget(lot) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ delete_btn }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<button type="button" class="btn btn-success" onclick="create_lot_entry(this)">
|
||||
<i class="fas fa-plus-square fa-fw"></i>
|
||||
{% trans %}part_lot.create{% endtrans %}
|
||||
</button>
|
||||
|
||||
<script>
|
||||
function delete_lot_entry(btn) {
|
||||
window.bootbox.confirm('{% trans %}part_lot.edit.delete.confirm{% endtrans %}', function (result) {
|
||||
if(result) {
|
||||
$(btn).parents("tr").remove();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function create_lot_entry(btn) {
|
||||
//Determine the table, so we can determine, how many entries there are already.
|
||||
$holder = $("#lots_table");
|
||||
|
||||
var index = $holder.find(":input").length;
|
||||
var newForm = $holder.data("prototype");
|
||||
|
||||
//Increase the index
|
||||
newForm = newForm.replace(/__name__/g, index);
|
||||
newForm = '<td>' + newForm + '</td>';
|
||||
$newFormRow = $('<tr></tr>').html(newForm);
|
||||
|
||||
//Add delete button
|
||||
$btn = '<td>' + '{{ delete_btn|e('js') }}' + '</td>';
|
||||
$newFormRow.append($btn);
|
||||
|
||||
$holder.append($newFormRow);
|
||||
|
||||
//Reinit the selectpickers
|
||||
$(".selectpicker").selectpicker();
|
||||
|
||||
}
|
||||
</script>
|
|
@ -1,13 +1,11 @@
|
|||
{{ form_row(form_main.name) }}
|
||||
{{ form_row(form_main.description) }}
|
||||
{{ form_row(form_main.category) }}
|
||||
{{ form_row(form_main.tags) }}
|
||||
{{ form_row(form_main.minAmount) }}
|
||||
{{ form_row(form_main.partUnit)}}
|
||||
{{ form_row(form.name) }}
|
||||
{{ form_row(form.description) }}
|
||||
{{ form_row(form.category) }}
|
||||
{{ form_row(form.tags) }}
|
||||
{{ form_row(form.minAmount) }}
|
||||
{{ form_row(form.partUnit)}}
|
||||
|
||||
{{ form_row(form_main.footprint) }}
|
||||
{{ form_row(form.footprint) }}
|
||||
|
||||
{{ form_row(form_main.comment) }}
|
||||
{{ form_row(form.comment) }}
|
||||
|
||||
{{ form_row(form_main.save1) }}
|
||||
{{ form_row(form_main.reset1) }}
|
|
@ -1,6 +1,3 @@
|
|||
{{ form_row(form_main.manufacturer) }}
|
||||
{{ form_row(form_main.manufacturer_product_number) }}
|
||||
{{ form_row(form_main.manufacturer_product_url)}}
|
||||
|
||||
{{ form_row(form_main.save2) }}
|
||||
{{ form_row(form_main.reset2) }}
|
||||
{{ form_row(form.manufacturer) }}
|
||||
{{ form_row(form.manufacturer_product_number) }}
|
||||
{{ form_row(form.manufacturer_product_url)}}
|
|
@ -1,5 +1,2 @@
|
|||
{{ form_row(form_main.needsReview) }}
|
||||
{{ form_row(form_main.favorite) }}
|
||||
|
||||
{{ form_row(form_main.save3) }}
|
||||
{{ form_row(form_main.reset3) }}
|
||||
{{ form_row(form.needsReview) }}
|
||||
{{ form_row(form.favorite) }}
|
|
@ -17,18 +17,34 @@
|
|||
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="tab" role="tab" href="#common">{% trans %}part.edit.tab.common{% endtrans %}</a>
|
||||
<a class="nav-link active" data-toggle="tab" role="tab" href="#common">
|
||||
<i class="fas fa-id-card fa-fw"></i>
|
||||
{% trans %}part.edit.tab.common{% endtrans %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" role="tab" href="#manufacturer">{% trans %}part.edit.tab.manufacturer{% endtrans %}</a>
|
||||
<a class="nav-link" data-toggle="tab" role="tab" href="#manufacturer">
|
||||
<i class="fas fa-industry fa-fw"></i>
|
||||
{% trans %}part.edit.tab.manufacturer{% endtrans %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" role="tab" href="#options">{% trans %}part.edit.tab.options{% endtrans %}</a>
|
||||
<a class="nav-link" data-toggle="tab" role="tab" href="#options">
|
||||
<i class="fas fa-shapes fa-fw"></i>
|
||||
{% trans %}part.edit.tab.options{% endtrans %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" role="tab" href="#part_lots">
|
||||
<i class="fas fa-boxes fa-fw"></i>
|
||||
{% trans %}part.edit.tab.part_lots{% endtrans %}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{{ form_start(form) }}
|
||||
<div class="tab-content">
|
||||
{{ form_start(form_main) }}
|
||||
|
||||
<div class="tab-pane fade show active p-2" id="common" role="tabpanel">
|
||||
{% include "Parts/edit/_main.html.twig" %}
|
||||
</div>
|
||||
|
@ -38,8 +54,14 @@
|
|||
<div class="tab-pane fade p-2" id="options" role="tabpanel">
|
||||
{% include "Parts/edit/_options.html.twig" %}
|
||||
</div>
|
||||
{{ form_end(form_main) }}
|
||||
<div class="tab-pane fade p-2" id="part_lots" role="tabpanel">
|
||||
{% include "Parts/edit/_lots.html.twig" %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
{{ form_row(form.save) }}
|
||||
{{ form_row(form.reset) }}
|
||||
{{ form_end(form) }}
|
||||
{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "Parts/edit_part_info.html.twig" %}
|
||||
{% extends "Parts/edit/edit_part_info.html.twig" %}
|
||||
|
||||
{% block card_border %}border-success{% endblock %}
|
||||
{% block card_type %}bg-success text-white{% endblock %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue