Added the possibility to edit/create/delete part lots.

This commit is contained in:
Jan Böhmer 2019-08-19 23:31:16 +02:00
parent 6a0adae8f3
commit 813e7dc85b
11 changed files with 226 additions and 43 deletions

View 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>

View file

@ -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) }}

View file

@ -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)}}

View file

@ -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) }}

View file

@ -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 %}

View file

@ -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 %}