diff --git a/app/Http/Controllers/PiggyBank/EditController.php b/app/Http/Controllers/PiggyBank/EditController.php
index 54b90ed02e..2ed18713a3 100644
--- a/app/Http/Controllers/PiggyBank/EditController.php
+++ b/app/Http/Controllers/PiggyBank/EditController.php
@@ -71,6 +71,7 @@ class EditController extends Controller
'targetamount' => $piggyBank->targetamount,
'targetdate' => $targetDate,
'startdate' => $startDate,
+ 'object_group' => $piggyBank->objectGroups->first() ? $piggyBank->objectGroups->first()->title : '',
'notes' => null === $note ? '' : $note->text,
];
session()->flash('preFilled', $preFilled);
diff --git a/app/Http/Controllers/PiggyBank/IndexController.php b/app/Http/Controllers/PiggyBank/IndexController.php
index bcd80eafd4..2d12fd09b0 100644
--- a/app/Http/Controllers/PiggyBank/IndexController.php
+++ b/app/Http/Controllers/PiggyBank/IndexController.php
@@ -132,8 +132,15 @@ class IndexController extends Controller
*/
public function setOrder(Request $request, PiggyBank $piggyBank): JsonResponse
{
- $newOrder = (int) $request->get('order');
+ $objectGroupTitle = $request->get('objectGroupTitle');
+ $newOrder = (int) $request->get('order');
$this->piggyRepos->setOrder($piggyBank, $newOrder);
+ if ('' !== $objectGroupTitle) {
+ $this->piggyRepos->setObjectGroup($piggyBank, $objectGroupTitle);
+ }
+ if ('' === $objectGroupTitle) {
+ $this->piggyRepos->removeObjectGroup($piggyBank);
+ }
return response()->json(['data' => 'OK']);
}
diff --git a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php
index f47223b301..d12b8f853d 100644
--- a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php
+++ b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php
@@ -63,6 +63,17 @@ trait ModifiesPiggyBanks
return true;
}
+ /**
+ * @inheritDoc
+ */
+ public function removeObjectGroup(PiggyBank $piggyBank): PiggyBank
+ {
+ $piggyBank->objectGroups()->sync([]);
+
+ return $piggyBank;
+ }
+
+
/**
* @param PiggyBankRepetition $repetition
* @param string $amount
@@ -250,6 +261,22 @@ trait ModifiesPiggyBanks
return true;
}
+
+ /**
+ * @inheritDoc
+ */
+ public function setObjectGroup(PiggyBank $piggyBank, string $objectGroupTitle): PiggyBank
+ {
+ $objectGroup = $this->findOrCreateObjectGroup($objectGroupTitle);
+ if (null !== $objectGroup) {
+ $piggyBank->objectGroups()->sync([$objectGroup->id]);
+ }
+
+ return $piggyBank;
+
+ }
+
+
/**
* @param array $data
*
diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php
index ae93017271..7db78aa20d 100644
--- a/app/Repositories/PiggyBank/PiggyBankRepository.php
+++ b/app/Repositories/PiggyBank/PiggyBankRepository.php
@@ -393,4 +393,6 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
return $set;
}
+
+
}
diff --git a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
index aa07fdb025..bc4257f628 100644
--- a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
+++ b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
@@ -36,6 +36,21 @@ use Illuminate\Support\Collection;
*/
interface PiggyBankRepositoryInterface
{
+ /**
+ * @param PiggyBank $piggyBank
+ * @param string $objectGroupTitle
+ *
+ * @return PiggyBank
+ */
+ public function setObjectGroup(PiggyBank $piggyBank, string $objectGroupTitle): PiggyBank;
+
+ /**
+ * @param PiggyBank $piggyBank
+ *
+ * @return PiggyBank
+ */
+ public function removeObjectGroup(PiggyBank $piggyBank): PiggyBank;
+
/**
* @param PiggyBank $piggyBank
* @param string $amount
diff --git a/public/v1/css/firefly.css b/public/v1/css/firefly.css
index df92ae9e08..c08a5641fa 100644
--- a/public/v1/css/firefly.css
+++ b/public/v1/css/firefly.css
@@ -87,7 +87,7 @@ p.tagcloud .label {
line-height: 2;
}
-.handle {
+.piggy-handle {
cursor: move;
}
diff --git a/public/v1/js/ff/piggy-banks/index.js b/public/v1/js/ff/piggy-banks/index.js
index 8a2f4b156f..fba19c782b 100644
--- a/public/v1/js/ff/piggy-banks/index.js
+++ b/public/v1/js/ff/piggy-banks/index.js
@@ -18,7 +18,7 @@
* along with this program. If not, see
@@ -13,12 +13,13 @@ {% for objectGroupOrder, objectGroup in piggyBanks %} {% if objectGroup.piggy_banks|length > 0 %} - | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{ objectGroup.object_group_title }} | +{% if objectGroupOrder != 0 %}{% endif %} | +{{ objectGroup.object_group_title }} | |||||||||||||||||