Fix bad math in piggy bank order code

This commit is contained in:
James Cole
2023-10-22 09:52:43 +02:00
parent 8627ee391a
commit 691682bc0c
3 changed files with 13 additions and 13 deletions

View File

@@ -313,13 +313,13 @@ trait ModifiesPiggyBanks
public function setOrder(PiggyBank $piggyBank, int $newOrder): bool
{
$oldOrder = (int)$piggyBank->order;
Log::debug(sprintf('Will move piggy bank #%d ("%s") from %d to %d', $piggyBank->id, $piggyBank->name, $oldOrder, $newOrder));
//Log::debug(sprintf('Will move piggy bank #%d ("%s") from %d to %d', $piggyBank->id, $piggyBank->name, $oldOrder, $newOrder));
if ($newOrder > $oldOrder) {
$this->user->piggyBanks()->where('piggy_banks.order', '<=', $newOrder)->where('piggy_banks.order', '>', $oldOrder)
->where('piggy_banks.id', '!=', $piggyBank->id)
->decrement('piggy_banks.order');
$piggyBank->order = $newOrder;
Log::debug(sprintf('Order of piggy #%d ("%s") is now %d', $piggyBank->id, $piggyBank->name, $newOrder));
Log::debug(sprintf('[1] Order of piggy #%d ("%s") from %d to %d', $piggyBank->id, $piggyBank->name, $oldOrder, $newOrder));
$piggyBank->save();
return true;
@@ -329,7 +329,7 @@ trait ModifiesPiggyBanks
->where('piggy_banks.id', '!=', $piggyBank->id)
->increment('piggy_banks.order');
$piggyBank->order = $newOrder;
Log::debug(sprintf('Order of piggy #%d ("%s") is now %d', $piggyBank->id, $piggyBank->name, $newOrder));
Log::debug(sprintf('[2] Order of piggy #%d ("%s") from %d to %d', $piggyBank->id, $piggyBank->name, $oldOrder, $newOrder));
$piggyBank->save();
return true;

View File

@@ -90,25 +90,25 @@ function stopSorting() {
var holder = $(v);
var parentBody = holder.parent();
var objectGroupTitle = parentBody.data('title');
var position = parseInt(holder.data('position'));
var originalOrder = parseInt(holder.data('order'));
var newOrder = i+1;
var name = holder.data('name');
var id = holder.data('id');
var newOrder;
if (position === i) {
if (originalOrder=== newOrder) {
// not changed, position is what it should be.
console.log('"' + name + '" ("' + objectGroupTitle + '") has not moved.');
return;
}
if (position < i) {
if (originalOrder < newOrder) {
// position is less.
console.log('"' + name + '" ("' + objectGroupTitle + '") has moved down from position ' + originalOrder + ' to ' + (i + 1));
console.log('"' + name + '" ("' + objectGroupTitle + '") has moved down from position ' + originalOrder + ' to ' + newOrder);
}
if (position > i) {
console.log('"' + name + '" ("' + objectGroupTitle + '") has moved up from position ' + originalOrder + ' to ' + (i + 1));
if (originalOrder > newOrder) {
console.log('"' + name + '" ("' + objectGroupTitle + '") has moved up from position ' + originalOrder + ' to ' + newOrder);
}
// update position:
holder.data('position', i);
newOrder = i+1;
//holder.data('position', newPosition);
holder.data('order', newOrder);
$.post('piggy-banks/set-order/' + id, {order: newOrder, objectGroupTitle: objectGroupTitle, _token: token})
});

View File

@@ -19,7 +19,7 @@
<td colspan="8"><small>{{ objectGroup.object_group_title }}</small></td>
</tr>
{% for piggy in objectGroup.piggy_banks %}
<tr class="piggy-sortable" data-id="{{ piggy.id }}" data-name="{{ piggy.name }}" data-order="{{ piggy.order }}" data-position="{{ loop.index0 }}">
<tr class="piggy-sortable" data-id="{{ piggy.id }}" data-name="{{ piggy.name }}" data-order="{{ piggy.order }}">
<td class="visible-xs visible-sm hidden-md hidden-lg">
&nbsp;
</td>