mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Fix bad math in piggy bank order code
This commit is contained in:
@@ -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;
|
||||
|
@@ -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})
|
||||
});
|
||||
|
@@ -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">
|
||||
|
||||
</td>
|
||||
|
Reference in New Issue
Block a user