diff --git a/frontend/src/locales/messages/en-US.json b/frontend/src/locales/messages/en-US.json index e107c98f7..5aab6900f 100644 --- a/frontend/src/locales/messages/en-US.json +++ b/frontend/src/locales/messages/en-US.json @@ -27,7 +27,8 @@ "category-deletion-failed": "Category deletion failed", "category-filter": "Category Filter", "category-update-failed": "Category update failed", - "category-updated": "Category updated" + "category-updated": "Category updated", + "category": "Category" }, "general": { "apply": "Apply", diff --git a/mealie/db/database.py b/mealie/db/database.py index d94aa5dba..0881d29bd 100644 --- a/mealie/db/database.py +++ b/mealie/db/database.py @@ -42,8 +42,9 @@ class _Recipes(BaseDocument): return session.query(self.sql_model).filter(RecipeModel.recipe_category == None).count() # noqa: 711 else: return [ - eff_schema.from_orm(x) for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() - ] # noqa: 711 + eff_schema.from_orm(x) + for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() # noqa: 711 + ] def count_untagged(self, session: Session, count=True, override_schema=None) -> int: eff_schema = override_schema or self.schema @@ -51,8 +52,9 @@ class _Recipes(BaseDocument): return session.query(self.sql_model).filter(RecipeModel.tags == None).count() # noqa: 711 else: return [ - eff_schema.from_orm(x) for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() - ] # noqa: 711 + eff_schema.from_orm(x) + for x in session.query(self.sql_model).filter(RecipeModel.tags == None).all() # noqa: 711 + ] class _Categories(BaseDocument): diff --git a/mealie/routes/about/events.py b/mealie/routes/about/events.py index deeb8e63e..3eed7690f 100644 --- a/mealie/routes/about/events.py +++ b/mealie/routes/about/events.py @@ -1,7 +1,6 @@ from fastapi import APIRouter, Depends from mealie.db.database import db from mealie.db.db_setup import generate_session -from mealie.db.models.event import Event from mealie.routes.deps import get_current_user from mealie.schema.events import EventsOut from sqlalchemy.orm.session import Session @@ -17,7 +16,7 @@ async def get_events(session: Session = Depends(generate_session), current_user= @router.delete("") -async def get_events(session: Session = Depends(generate_session), current_user=Depends(get_current_user)): +async def delete_events(session: Session = Depends(generate_session), current_user=Depends(get_current_user)): """ Get event from the Database """ # Get Item return db.events.delete_all(session) diff --git a/mealie/routes/recipe/all_recipe_routes.py b/mealie/routes/recipe/all_recipe_routes.py index b9b3231e4..9a61751c9 100644 --- a/mealie/routes/recipe/all_recipe_routes.py +++ b/mealie/routes/recipe/all_recipe_routes.py @@ -35,7 +35,7 @@ async def get_untagged_recipes(session: Session = Depends(generate_session)): @router.get("/api/recipes/summary/uncategorized", response_model=list[RecipeSummary]) -async def get_untagged_recipes(session: Session = Depends(generate_session)): +async def get_uncategorized_recipes(session: Session = Depends(generate_session)): return db.recipes.count_uncategorized(session, False, override_schema=RecipeSummary) diff --git a/mealie/routes/recipe/recipe_crud_routes.py b/mealie/routes/recipe/recipe_crud_routes.py index 82f8b2073..a26b5b09e 100644 --- a/mealie/routes/recipe/recipe_crud_routes.py +++ b/mealie/routes/recipe/recipe_crud_routes.py @@ -38,7 +38,7 @@ def parse_recipe_url( recipe = create_from_url(url.url) recipe: Recipe = db.recipes.create(session, recipe.dict()) - create_recipe_event("Recipe Created (URL)", f"Recipe '{recipe.name}' created", session=session) + create_recipe_event("Recipe Created (URL)", f"'{recipe.name}' by {current_user.full_name}", session=session) return recipe.slug diff --git a/mealie/routes/users/crud.py b/mealie/routes/users/crud.py index 3398545d8..63d11dbdb 100644 --- a/mealie/routes/users/crud.py +++ b/mealie/routes/users/crud.py @@ -1,6 +1,6 @@ import shutil -from fastapi import APIRouter, Depends, File, UploadFile, status, HTTPException +from fastapi import APIRouter, Depends, File, HTTPException, UploadFile, status from fastapi.responses import FileResponse from mealie.core import security from mealie.core.config import app_dirs, settings @@ -9,6 +9,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.schema.user import ChangePassword, UserBase, UserIn, UserInDB, UserOut +from mealie.services.events import create_sign_up_event from sqlalchemy.orm.session import Session router = APIRouter(prefix="/api/users", tags=["Users"]) @@ -22,7 +23,7 @@ async def create_user( ): new_user.password = get_password_hash(new_user.password) - + create_sign_up_event("User Created", f"Created by {current_user.full_name}", session=session) return db.users.create(session, new_user.dict()) diff --git a/mealie/services/backups/exports.py b/mealie/services/backups/exports.py index 636e30349..321dd9e04 100644 --- a/mealie/services/backups/exports.py +++ b/mealie/services/backups/exports.py @@ -81,6 +81,7 @@ class ExportDatabase: else: for item in items: final_dest = out_dir if not slug_folder else out_dir.joinpath(item.get("slug")) + final_dest.mkdir(exist_ok=True) filename = sanitize_filename(f"{item.get('slug')}.json") ExportDatabase._write_json_file(item, final_dest.joinpath(filename))