From 1e28d55cc22899dab34607caf318545871852101 Mon Sep 17 00:00:00 2001 From: Miah Date: Thu, 27 Feb 2025 21:31:46 +0000 Subject: [PATCH 1/4] backend --- ...0_766c23cf0a3a_support_default_activity.py | 32 +++++++++++++++++++ mealie/db/models/users/users.py | 1 + mealie/schema/user/user.py | 1 + 3 files changed, 34 insertions(+) create mode 100644 mealie/alembic/versions/2025-02-27-21.22.50_766c23cf0a3a_support_default_activity.py diff --git a/mealie/alembic/versions/2025-02-27-21.22.50_766c23cf0a3a_support_default_activity.py b/mealie/alembic/versions/2025-02-27-21.22.50_766c23cf0a3a_support_default_activity.py new file mode 100644 index 000000000..8ef6e1198 --- /dev/null +++ b/mealie/alembic/versions/2025-02-27-21.22.50_766c23cf0a3a_support_default_activity.py @@ -0,0 +1,32 @@ +"""'support default activity' + +Revision ID: 766c23cf0a3a +Revises: 7cf3054cbbcc +Create Date: 2025-02-27 21:22:50.172425 + +""" + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = "766c23cf0a3a" +down_revision: str | None = "7cf3054cbbcc" +branch_labels: str | tuple[str, ...] | None = None +depends_on: str | tuple[str, ...] | None = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table("users", schema=None) as batch_op: + batch_op.add_column(sa.Column("default_activity", sa.String(), nullable=True)) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table("users", schema=None) as batch_op: + batch_op.drop_column("default_activity") + + # ### end Alembic commands ### diff --git a/mealie/db/models/users/users.py b/mealie/db/models/users/users.py index f25bbb924..88713a00e 100644 --- a/mealie/db/models/users/users.py +++ b/mealie/db/models/users/users.py @@ -58,6 +58,7 @@ class User(SqlAlchemyBase, BaseMixins): auth_method: Mapped[Enum[AuthMethod]] = mapped_column(Enum(AuthMethod), default=AuthMethod.MEALIE) admin: Mapped[bool | None] = mapped_column(Boolean, default=False) advanced: Mapped[bool | None] = mapped_column(Boolean, default=False) + default_activity: Mapped[str | None] = mapped_column(String, default=None) group_id: Mapped[GUID] = mapped_column(GUID, ForeignKey("groups.id"), nullable=False, index=True) group: Mapped["Group"] = orm.relationship("Group", back_populates="users") diff --git a/mealie/schema/user/user.py b/mealie/schema/user/user.py index b0104421a..8228aa9e5 100644 --- a/mealie/schema/user/user.py +++ b/mealie/schema/user/user.py @@ -115,6 +115,7 @@ class UserBase(MealieModel): group: str | None = None household: str | None = None advanced: bool = False + default_activity: str | None = None can_invite: bool = False can_manage: bool = False From 7e0e0fe8f025f0715c34a96c9e8eb1b237d22e6a Mon Sep 17 00:00:00 2001 From: Miah Date: Thu, 27 Feb 2025 21:36:31 +0000 Subject: [PATCH 2/4] Allow user to set string based default activity --- frontend/lib/api/types/user.ts | 3 + frontend/pages/user/profile/edit.vue | 175 ++++++--------------------- 2 files changed, 43 insertions(+), 135 deletions(-) diff --git a/frontend/lib/api/types/user.ts b/frontend/lib/api/types/user.ts index 58ef25f6a..89ff6cb45 100644 --- a/frontend/lib/api/types/user.ts +++ b/frontend/lib/api/types/user.ts @@ -193,6 +193,7 @@ export interface UserBase { group?: string | null; household?: string | null; advanced?: boolean; + defaultActivity?: string; canInvite?: boolean; canManage?: boolean; canManageHousehold?: boolean; @@ -209,6 +210,7 @@ export interface UserIn { group?: string | null; household?: string | null; advanced?: boolean; + defaultActivity?: string; canInvite?: boolean; canManage?: boolean; canManageHousehold?: boolean; @@ -225,6 +227,7 @@ export interface UserOut { group: string; household: string; advanced?: boolean; + defaultActivity?: string; canInvite?: boolean; canManage?: boolean; canManageHousehold?: boolean; diff --git a/frontend/pages/user/profile/edit.vue b/frontend/pages/user/profile/edit.vue index 57855a83c..09124ff4f 100644 --- a/frontend/pages/user/profile/edit.vue +++ b/frontend/pages/user/profile/edit.vue @@ -3,18 +3,9 @@