diff --git a/alembic/versions/2024-09-18-14.52.55_1fe4bd37ccc8_add_households_filter_to_meal_plans.py b/alembic/versions/2024-09-18-14.52.55_1fe4bd37ccc8_add_households_filter_to_meal_plans.py new file mode 100644 index 00000000000..a127e72f44a --- /dev/null +++ b/alembic/versions/2024-09-18-14.52.55_1fe4bd37ccc8_add_households_filter_to_meal_plans.py @@ -0,0 +1,53 @@ +"""add households filter to meal plans + +Revision ID: 1fe4bd37ccc8 +Revises: be568e39ffdf +Create Date: 2024-09-18 14:52:55.831540 + +""" + +import sqlalchemy as sa + +import mealie.db.migration_types +from alembic import op + +# revision identifiers, used by Alembic. +revision = "1fe4bd37ccc8" +down_revision: str | None = "be568e39ffdf" +branch_labels: str | tuple[str, ...] | None = None +depends_on: str | tuple[str, ...] | None = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "plan_rules_to_households", + sa.Column("group_plan_rule_id", mealie.db.migration_types.GUID(), nullable=True), + sa.Column("household_id", mealie.db.migration_types.GUID(), nullable=True), + sa.ForeignKeyConstraint( + ["group_plan_rule_id"], + ["group_meal_plan_rules.id"], + ), + sa.ForeignKeyConstraint( + ["household_id"], + ["households.id"], + ), + sa.UniqueConstraint("group_plan_rule_id", "household_id", name="group_plan_rule_id_household_id_key"), + ) + with op.batch_alter_table("plan_rules_to_households", schema=None) as batch_op: + batch_op.create_index( + batch_op.f("ix_plan_rules_to_households_group_plan_rule_id"), ["group_plan_rule_id"], unique=False + ) + batch_op.create_index(batch_op.f("ix_plan_rules_to_households_household_id"), ["household_id"], unique=False) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table("plan_rules_to_households", schema=None) as batch_op: + batch_op.drop_index(batch_op.f("ix_plan_rules_to_households_household_id")) + batch_op.drop_index(batch_op.f("ix_plan_rules_to_households_group_plan_rule_id")) + + op.drop_table("plan_rules_to_households") + # ### end Alembic commands ### diff --git a/frontend/components/Domain/Household/GroupHouseholdSelector.vue b/frontend/components/Domain/Household/GroupHouseholdSelector.vue new file mode 100644 index 00000000000..fcdf63e4004 --- /dev/null +++ b/frontend/components/Domain/Household/GroupHouseholdSelector.vue @@ -0,0 +1,91 @@ + + + diff --git a/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue b/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue index cf71112a3ee..1f263eb3621 100644 --- a/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue +++ b/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue @@ -5,8 +5,15 @@ - - +
+ + + +
{{ $t('meal-plan.this-rule-will-apply', { @@ -18,11 +25,13 @@