Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/mealie-next' into feat/add-hou…
Browse files Browse the repository at this point in the history
…sehold-filter-to-mealplan-rules
  • Loading branch information
michael-genson committed Sep 22, 2024
2 parents 895095a + 7c274de commit 1691d3e
Show file tree
Hide file tree
Showing 18 changed files with 175 additions and 101 deletions.
2 changes: 1 addition & 1 deletion frontend/components/Domain/Recipe/RecipeCardSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ export default defineComponent({
// we double-up the first call to avoid a bug with large screens that render
// the entire first page without scrolling, preventing additional loading
const newRecipes = await fetchRecipes(2);
const newRecipes = await fetchRecipes(page.value + 1);
if (newRecipes.length < perPage) {
hasMore.value = false;
}
Expand Down
12 changes: 12 additions & 0 deletions frontend/components/Domain/Recipe/RecipeDataTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@
</v-list-item-content>
</v-list-item>
</template>
<template #item.dateAdded="{ item }">
{{ formatDate(item.dateAdded) }}
</template>
</v-data-table>
</template>

Expand Down Expand Up @@ -134,6 +137,14 @@ export default defineComponent({
return hdrs;
});
function formatDate(date: string) {
try {
return i18n.d(Date.parse(date), "medium");
} catch {
return "";
}
}
// ============
// Group Members
const api = useUserApi();
Expand Down Expand Up @@ -162,6 +173,7 @@ export default defineComponent({
groupSlug,
setValue,
headers,
formatDate,
members,
getMember,
};
Expand Down
19 changes: 10 additions & 9 deletions frontend/components/Domain/SearchFilter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,24 @@
<v-card-text>
<v-text-field v-model="state.search" class="mb-2" hide-details dense :label="$tc('search.search')" clearable />
<div class="d-flex py-4">
<v-btn
small
color="accent"
class="mr-2 my-auto"
@click="clearSelection"
>
{{ $tc("search.clear-selection") }}
</v-btn>
<v-switch
v-if="requireAll != undefined"
v-model="requireAllValue"
dense
small
hide-details
class="ml-2 my-auto"
class="my-auto"
:label="`${requireAll ? $tc('search.has-all') : $tc('search.has-any')}`"
/>
<v-spacer />
<v-btn
small
color="accent"
class="mr-2 my-auto"
@click="clearSelection"
>
{{ $tc("search.clear-selection") }}
</v-btn>
</div>
<v-card v-if="filtered.length > 0" flat outlined>
<v-radio-group v-model="selectedRadio" class="ma-0 pa-0">
Expand Down
2 changes: 1 addition & 1 deletion frontend/composables/use-users/preferences.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export function useShoppingListPreferences(): Ref<UserShoppingListPreferences> {
"shopping-list-preferences",
{
viewAllLists: false,
viewByLabel: false,
viewByLabel: true,
},
{ mergeDefaults: true }
// we cast to a Ref because by default it will return an optional type ref
Expand Down
12 changes: 6 additions & 6 deletions frontend/lang/messages/fr-FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -241,14 +241,14 @@
"manage-members": "Gestion des membres",
"manage-members-description": "Gérez les permissions des membres de votre foyer. {manage} donne l’accès à la page de gestion des données à l’utilisateur, et {invite} lui permet de générer des liens d’invitation pour d’autres utilisateurs. Les propriétaires de groupe ne peuvent pas changer leurs propres permissions.",
"manage": "Gérer",
"manage-household": "Manage Household",
"manage-household": "Gérer le foyer",
"invite": "Inviter",
"looking-to-update-your-profile": "Vous cherchez à mettre à jour votre profil ?",
"default-recipe-preferences-description": "Ce sont les paramètres par défaut lorsqu'une nouvelle recette est créée dans votre groupe. Elles peuvent être modifiées individuellement dans le menu de configuration des recettes.",
"default-recipe-preferences": "Préférences de recette par défaut",
"group-preferences": "Préférences du groupe",
"private-group": "Groupe privé",
"private-group-description": "Setting your group to private will disable all public view options. This overrides any individual public view settings",
"private-group-description": "Rendre votre groupe privé va désactiver toutes les options de vue publique. Cela écrase les paramètres de vue publique",
"enable-public-access": "Activer l’accès public",
"enable-public-access-description": "Les recettes de groupes deviennent publiques par défaut, cela permet aux visiteurs de les voir sans s’identifier",
"allow-users-outside-of-your-group-to-see-your-recipes": "Autoriser les utilisateurs en dehors de votre groupe à voir vos recettes",
Expand Down Expand Up @@ -286,9 +286,9 @@
"admin-household-management-text": "Les changements apportés à ce foyer seront immédiatement pris en compte.",
"household-id-value": "Identifiant du foyer : {0}",
"private-household": "Foyer privé",
"private-household-description": "Setting your household to private will disable all public view options. This overrides any individual public view settings",
"lock-recipe-edits-from-other-households": "Lock recipe edits from other households",
"lock-recipe-edits-from-other-households-description": "When enabled only users in your household can edit recipes created by your household",
"private-household-description": "Rendre votre foyer privé va désactiver toutes les options de vue publique. Cela écrase les paramètres de vue publique",
"lock-recipe-edits-from-other-households": "Verrouiller les éditions de recettes de la part des autres foyers",
"lock-recipe-edits-from-other-households-description": "Si activé, seuls les utilisateurs de votre foyer peuvent modifier les recettes créé par votre foyer",
"household-recipe-preferences": "Préférences de recette du foyer",
"default-recipe-preferences-description": "Ce sont les paramètres par défaut utilisés pour la création d’une nouvelle recette dans votre foyer. Ils peuvent être modifiés individuellement dans le menu de configuration des recettes.",
"allow-users-outside-of-your-household-to-see-your-recipes": "Autoriser les utilisateurs en dehors de votre foyer à voir vos recettes",
Expand Down Expand Up @@ -990,7 +990,7 @@
"administrator": "Administrateur",
"user-can-invite-other-to-group": "L’utilisateur peut inviter d’autres personnes dans le groupe",
"user-can-manage-group": "L'utilisateur peut gérer le groupe",
"user-can-manage-household": "User can manage household",
"user-can-manage-household": "L’utilisateur peut gérer le foyer",
"user-can-organize-group-data": "L'utilisateur peut organiser des données de groupe",
"enable-advanced-features": "Activer les fonctions avancées",
"it-looks-like-this-is-your-first-time-logging-in": "Il semble que ce soit votre première connexion.",
Expand Down
50 changes: 25 additions & 25 deletions frontend/lang/messages/sv-SE.json
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@
"keep-my-recipes-private-description": "Sätter din grupp och alla recept till privata som förval. Du kan alltid ändra detta senare."
},
"manage-members": "Hantera medlemmar",
"manage-members-description": "Manage the permissions of the members in your household. {manage} allows the user to access the data-management page, and {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.",
"manage-members-description": "Hantera behörigheter för medlemmarna i ditt hushåll. {manage} ger användaren tillgång till datahanteringssidan. {invite} ger användaren möjlighet att generera inbjudningslänkar för andra användare. Gruppägare kan inte ändra sina egna rättigheter.",
"manage": "Hantera",
"manage-household": "Hantera hushåll",
"invite": "Bjud in",
Expand All @@ -248,7 +248,7 @@
"default-recipe-preferences": "Standardinställningar för recept",
"group-preferences": "Gruppinställningar",
"private-group": "Privat grupp",
"private-group-description": "Setting your group to private will disable all public view options. This overrides any individual public view settings",
"private-group-description": "Att sätta hushållet som privat kommer att inaktivera alla offentliga visningsalternativ. Detta åsidosätter alla individuella inställningar för offentlig visning",
"enable-public-access": "Tillåt offentlig åtkomst",
"enable-public-access-description": "Gör recept i grupp, offentliga som standard och tillåt besökare att se recept utan att logga in",
"allow-users-outside-of-your-group-to-see-your-recipes": "Tillåt användare utanför din grupp att se dina recept",
Expand All @@ -262,7 +262,7 @@
"disable-users-from-commenting-on-recipes": "Avaktivera funktionen för kommentarer av recept",
"disable-users-from-commenting-on-recipes-description": "Dölj receptets kommentarsektion och avaktivera kommentarsfunktionen",
"disable-organizing-recipe-ingredients-by-units-and-food": "Avaktivera möjligheten att gruppera recept efter enhet och ingrediens",
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Hides the Food, Unit, and Amount fields for ingredients and treats ingredients as plain text fields",
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Döljer fälten Mat, Enhet och Mängd för ingredienser och behandlar ingredienser som ren text fält",
"general-preferences": "Generella inställningar",
"group-recipe-preferences": "Inställningar för receptgrupper",
"report": "Rapport",
Expand All @@ -277,22 +277,22 @@
"household": "Hushåll",
"households": "Hushåll",
"user-household": "Användarens hushåll",
"create-household": "Create Household",
"household-name": "Household Name",
"household-group": "Household Group",
"household-management": "Household Management",
"manage-households": "Manage Households",
"admin-household-management": "Admin Household Management",
"admin-household-management-text": "Changes to this household will be reflected immediately.",
"create-household": "Skapa hushåll",
"household-name": "Hushållets namn",
"household-group": "Hushållsgrupp",
"household-management": "Hantering av hushåll",
"manage-households": "Hantera hushåll",
"admin-household-management": "Hushållsstyrning för admin",
"admin-household-management-text": "Ändringar i detta hushåll kommer att verkställas omedelbart.",
"household-id-value": "Hushållets Id: {0}",
"private-household": "Privat hushåll",
"private-household-description": "Setting your household to private will disable all public view options. This overrides any individual public view settings",
"lock-recipe-edits-from-other-households": "Lock recipe edits from other households",
"lock-recipe-edits-from-other-households-description": "When enabled only users in your household can edit recipes created by your household",
"household-recipe-preferences": "Household Recipe Preferences",
"default-recipe-preferences-description": "These are the default settings when a new recipe is created in your household. These can be changed for individual recipes in the recipe settings menu.",
"allow-users-outside-of-your-household-to-see-your-recipes": "Allow users outside of your household to see your recipes",
"allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link",
"private-household-description": "Att sätta hushållet som privat kommer att inaktivera alla offentliga visningsalternativ. Detta åsidosätter alla individuella inställningar för offentlig visning",
"lock-recipe-edits-from-other-households": "Lås receptredigeringar för andra hushåll",
"lock-recipe-edits-from-other-households-description": "När aktiverat så kan endast användare i ditt hushåll redigera recept som skapats av ditt hushåll",
"household-recipe-preferences": "Hushållets receptpreferenser",
"default-recipe-preferences-description": "Detta är standardinställningarna när ett nytt recept skapas i ditt hushåll. Dessa kan ändras för enskilda recept i receptinställningsmenyn.",
"allow-users-outside-of-your-household-to-see-your-recipes": "Tillåt användare utanför ditt hushåll att se dina recept",
"allow-users-outside-of-your-household-to-see-your-recipes-description": "När aktiverat kan du dela en publik länk för specifika recept utan att användaren behöver auktorisera sig. När avaktiverat kan du bara dela med användare i din grupp eller med en för-genererad privat länk",
"household-preferences": "Hushållens preferenser"
},
"meal-plan": {
Expand Down Expand Up @@ -590,8 +590,8 @@
"create-recipe-from-an-image-description": "Skapa ett recept genom att ladda upp en bild på det. Mealie kommer att försöka extrahera texten från bilden med hjälp av AI och skapa ett recept från det.",
"crop-and-rotate-the-image": "Beskär och rotera bilden så att endast texten är synlig och den är åt rätt håll.",
"create-from-image": "Skapa från bild",
"should-translate-description": "Translate the recipe into my language",
"please-wait-image-procesing": "Please wait, the image is processing. This may take some time.",
"should-translate-description": "Översätt receptet till mitt språk",
"please-wait-image-procesing": "Vänligen vänta, bilden bearbetas. Detta kan ta lite tid.",
"bulk-url-import": "Massimport från URL",
"debug-scraper": "Felsökningsskrapa",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Skapa ett recept genom att ange namnet. Alla recept måste ha unika namn.",
Expand Down Expand Up @@ -990,7 +990,7 @@
"administrator": "Administratör",
"user-can-invite-other-to-group": "Användaren kan bjuda in andra till gruppen",
"user-can-manage-group": "Användare kan hantera grupp",
"user-can-manage-household": "User can manage household",
"user-can-manage-household": "Användaren kan hantera hushållet",
"user-can-organize-group-data": "Användaren kan organisera gruppdata",
"enable-advanced-features": "Aktivera avancerade funktioner",
"it-looks-like-this-is-your-first-time-logging-in": "Det ser ut som om detta är första gången du loggar in.",
Expand Down Expand Up @@ -1257,7 +1257,7 @@
"group-statistics": "Gruppstatistik",
"group-statistics-description": "Din gruppstatistik ger dig en inblick i hur du använder Mealie.",
"household-statistics": "Statistik över hushåll",
"household-statistics-description": "Your Household Statistics provide some insight how you're using Mealie.",
"household-statistics-description": "Din hushållsstatistik ger en inblick i hur du använder Mealie.",
"storage-capacity": "Lagringskapacitet",
"storage-capacity-description": "Din lagringskapacitet är en beräkning av de bilder och tillgångar du har laddat upp.",
"personal": "Personligt",
Expand All @@ -1267,13 +1267,13 @@
"api-tokens-description": "Hantera dina API-Tokens för åtkomst från externa program.",
"group-description": "Dessa objekt delas inom din grupp. Att redigera en av dem kommer att ändra den för hela gruppen!",
"group-settings": "Gruppinställningar",
"group-settings-description": "Manage your common group settings, like privacy settings.",
"household-description": "These items are shared within your household. Editing one of them will change it for the whole household!",
"group-settings-description": "Hantera dina gemensamma gruppinställningar, som sekretessinställningar.",
"household-description": "Dessa objekt delas inom ditt hushåll. Att redigera en av dem kommer att ändra den för hela hushållet!",
"household-settings": "Inställningar för hushåll",
"household-settings-description": "Manage your household settings, like mealplan and privacy settings.",
"household-settings-description": "Hantera dina hushållsinställningar, som måltidsplan och sekretessinställningar.",
"cookbooks-description": "Hantera en samling receptkategorier och generera sidor för dem.",
"members": "Medlemmar",
"members-description": "See who's in your household and manage their permissions.",
"members-description": "Se vem som är i ditt hushåll och hantera deras rättigheter.",
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
"notifiers": "Notifierare",
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
Expand Down
20 changes: 19 additions & 1 deletion frontend/pages/group/data/foods.vue
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,8 @@
{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'},
{icon: $globals.icons.tags, text: $tc('data-pages.labels.assign-label'), event: 'assign-selected'}
]"
initial-sort="name"
initial-sort="createdAt"
initial-sort-desc
@delete-one="deleteEventHandler"
@edit-one="editEventHandler"
@create-one="createEventHandler"
Expand All @@ -265,6 +266,9 @@
{{ item.onHand ? $globals.icons.check : $globals.icons.close }}
</v-icon>
</template>
<template #item.createdAt="{ item }">
{{ formatDate(item.createdAt) }}
</template>
<template #button-bottom>
<BaseButton @click="seedDialog = true">
<template #icon> {{ $globals.icons.database }} </template>
Expand Down Expand Up @@ -327,8 +331,21 @@ export default defineComponent({
value: "onHand",
show: true,
},
{
text: i18n.tc("general.date-added"),
value: "createdAt",
show: false,
}
];
function formatDate(date: string) {
try {
return i18n.d(Date.parse(date), "medium");
} catch {
return "";
}
}
const foodStore = useFoodStore();
// ===============================================================
Expand Down Expand Up @@ -510,6 +527,7 @@ export default defineComponent({
foods: foodStore.store,
allLabels,
validators,
formatDate,
// Create
createDialog,
domNewFoodForm,
Expand Down
20 changes: 19 additions & 1 deletion frontend/pages/group/data/units.vue
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,8 @@
:headers.sync="tableHeaders"
:data="store"
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
initial-sort="name"
initial-sort="createdAt"
initial-sort-desc
@delete-one="deleteEventHandler"
@edit-one="editEventHandler"
@create-one="createEventHandler"
Expand All @@ -222,6 +223,9 @@
{{ item.fraction ? $globals.icons.check : $globals.icons.close }}
</v-icon>
</template>
<template #item.createdAt="{ item }">
{{ formatDate(item.createdAt) }}
</template>
<template #button-bottom>
<BaseButton @click="seedDialog = true">
<template #icon> {{ $globals.icons.database }} </template>
Expand Down Expand Up @@ -293,8 +297,21 @@ export default defineComponent({
value: "fraction",
show: true,
},
{
text: i18n.tc("general.date-added"),
value: "createdAt",
show: false,
},
];
function formatDate(date: string) {
try {
return i18n.d(Date.parse(date), "medium");
} catch {
return "";
}
}
const { store, actions: unitActions } = useUnitStore();
// ============================================================
Expand Down Expand Up @@ -450,6 +467,7 @@ export default defineComponent({
tableHeaders,
store,
validators,
formatDate,
// Create
createDialog,
domNewUnitForm,
Expand Down
2 changes: 2 additions & 0 deletions mealie/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ async def lifespan_fn(_: FastAPI) -> AsyncGenerator[None, None]:
settings.model_dump_json(
indent=4,
exclude={
"LDAP_QUERY_PASSWORD",
"OPENAI_API_KEY",
"SECRET",
"SFTP_PASSWORD",
"SFTP_USERNAME",
Expand Down
Loading

0 comments on commit 1691d3e

Please sign in to comment.