mirror of https://gitlab.crans.org/bde/nk20
Warn users when a transaction has no source or no destination
This commit is contained in:
parent
58fe8914cf
commit
0e3c4fcaf6
|
@ -217,6 +217,7 @@ function autoCompleteNote(field_id, note_list_id, notes, notes_display, alias_pr
|
|||
// Clear search on click
|
||||
field.click(function () {
|
||||
field.tooltip('hide');
|
||||
field.removeClass('is-invalid');
|
||||
field.val("");
|
||||
});
|
||||
|
||||
|
@ -233,6 +234,8 @@ function autoCompleteNote(field_id, note_list_id, notes, notes_display, alias_pr
|
|||
|
||||
// When the user type something, the matched aliases are refreshed
|
||||
field.keyup(function (e) {
|
||||
field.removeClass('is-invalid');
|
||||
|
||||
if (e.originalEvent.charCode === 13)
|
||||
return;
|
||||
|
||||
|
|
|
@ -154,6 +154,22 @@ function reset() {
|
|||
* Apply all transactions: all notes in `notes` buy each item in `buttons`
|
||||
*/
|
||||
function consumeAll() {
|
||||
let error = false;
|
||||
|
||||
if (notes_display.length === 0) {
|
||||
$("#note").addClass('is-invalid');
|
||||
$("#note_list").html(li("", "<strong>Ajoutez des émetteurs.</strong>", "text-danger"));
|
||||
error = true;
|
||||
}
|
||||
|
||||
if (buttons.length === 0) {
|
||||
$("#consos_list").html(li("", "<strong>Ajoutez des consommations.</strong>", "text-danger"));
|
||||
error = true;
|
||||
}
|
||||
|
||||
if (error)
|
||||
return;
|
||||
|
||||
notes_display.forEach(function(note_display) {
|
||||
buttons.forEach(function(button) {
|
||||
consume(note_display.note, note_display.name, button.dest, button.quantity * note_display.quantity, button.amount,
|
||||
|
|
|
@ -219,6 +219,16 @@ $("#btn_transfer").click(function() {
|
|||
error = true;
|
||||
}
|
||||
|
||||
if (!sources_notes_display.length && !$("#type_credit").is(':checked')) {
|
||||
$("#source_note").addClass('is-invalid');
|
||||
error = true;
|
||||
}
|
||||
|
||||
if (!dests_notes_display.length && !$("#type_debit").is(':checked')) {
|
||||
$("#dest_note").addClass('is-invalid');
|
||||
error = true;
|
||||
}
|
||||
|
||||
if (error)
|
||||
return;
|
||||
|
||||
|
@ -300,11 +310,6 @@ $("#btn_transfer").click(function() {
|
|||
let given_reason = reason;
|
||||
let source_id, dest_id;
|
||||
if ($("#type_credit").is(':checked')) {
|
||||
if (!dests_notes_display.length) {
|
||||
$("#dest_note").addClass('is-invalid');
|
||||
return;
|
||||
}
|
||||
|
||||
user_note = dests_notes_display[0].note.id;
|
||||
source_id = special_note;
|
||||
dest_id = user_note;
|
||||
|
@ -313,11 +318,6 @@ $("#btn_transfer").click(function() {
|
|||
reason += " (" + given_reason + ")";
|
||||
}
|
||||
else {
|
||||
if (!sources_notes_display.length) {
|
||||
$("#source_note").addClass('is-invalid');
|
||||
return;
|
||||
}
|
||||
|
||||
user_note = sources_notes_display[0].note.id;
|
||||
source_id = user_note;
|
||||
dest_id = special_note;
|
||||
|
|
|
@ -53,9 +53,9 @@
|
|||
</ul>
|
||||
</div>
|
||||
<div class="card-footer text-center">
|
||||
<a id="consume_all" href="#" class="btn btn-primary">
|
||||
<span id="consume_all" class="btn btn-primary">
|
||||
{% trans "Consume!" %}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue