diff --git a/src/apps/dashboard/migrations/0007_seed_wallet_applet.py b/src/apps/dashboard/migrations/0007_seed_wallet_applet.py new file mode 100644 index 0000000..756fc0d --- /dev/null +++ b/src/apps/dashboard/migrations/0007_seed_wallet_applet.py @@ -0,0 +1,18 @@ +from django.db import migrations + + +def seed_wallet_applet(apps, schema_editor): + Applet = apps.get_model("dashboard", "Applet") + Applet.objects.get_or_create( + slug="wallet", + defaults={"name": "Wallet", "grid_cols": 12, "grid_rows": 3}, + ) + +class Migration(migrations.Migration): + dependencies = [ + ("dashboard", "0006_rename_theme_switcher"), + ] + + operations = [ + migrations.RunPython(seed_wallet_applet, migrations.RunPython.noop), + ] diff --git a/src/apps/dashboard/tests/integrated/test_views.py b/src/apps/dashboard/tests/integrated/test_views.py index 828d33e..b55a020 100644 --- a/src/apps/dashboard/tests/integrated/test_views.py +++ b/src/apps/dashboard/tests/integrated/test_views.py @@ -439,3 +439,18 @@ class FooterNavTest(TestCase): [nav] = parsed.cssselect("#id_footer_nav") links = [a.get("href") for a in nav.cssselect("a")] self.assertIn("/gameboard/", links) + +class WalletAppletTest(TestCase): + def setUp(self): + self.user = User.objects.create(email="disco@test.io") + self.client.force_login(self.user) + Applet.objects.get_or_create(slug="wallet", defaults={"name": "Wallet"}) + response = self.client.get("/") + self.parsed = lxml.html.fromstring(response.content) + + def test_wallet_applet_present_on_dash(self): + [_] = self.parsed.cssselect("#id_applet_wallet") + + def test_wallet_applet_has_manage_link(self): + [link] = self.parsed.cssselect("#id_applet_wallet a.wallet-manage-link") + self.assertEqual(link.get("href"), "/dashboard/wallet/") diff --git a/src/apps/dashboard/views.py b/src/apps/dashboard/views.py index ab6224c..7c34c8d 100644 --- a/src/apps/dashboard/views.py +++ b/src/apps/dashboard/views.py @@ -9,7 +9,7 @@ from apps.dashboard.models import Applet, Item, List, UserApplet from apps.lyric.models import Token, User, Wallet -APPLET_ORDER = ["new-list", "my-lists", "username", "palette"] +APPLET_ORDER = ["wallet", "new-list", "my-lists", "username", "palette"] UNLOCKED_PALETTES = frozenset(["palette-default"]) PALETTES = [ {"name": "palette-default", "label": "Earthman", "locked": False}, diff --git a/src/templates/apps/dashboard/_partials/_applets.html b/src/templates/apps/dashboard/_partials/_applets.html index 276b1dd..50e7cb3 100644 --- a/src/templates/apps/dashboard/_partials/_applets.html +++ b/src/templates/apps/dashboard/_partials/_applets.html @@ -27,7 +27,15 @@ {% for entry in applets %} {% if entry.visible %} - {% if entry.applet.slug == "new-list" %} + {% if entry.applet.slug == "wallet" %} +
+ Writs: {{ user.wallet.writs }} + Manage Wallet +
+ {% elif entry.applet.slug == "new-list" %}