From 103878e1075bd6eeb0b28b06827d59cf9f20cbb5 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Wed, 3 Feb 2021 23:05:42 +0100 Subject: [PATCH] shopping list shortcut link --- .../static/manifest/shopping-cart-192.png | Bin 0 -> 1881 bytes cookbook/static/manifest/webmanifest | 11 ++++++++-- cookbook/templates/shopping_list.html | 6 +++++- cookbook/urls.py | 1 + cookbook/views/views.py | 20 ++++++++++++------ 5 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 cookbook/static/manifest/shopping-cart-192.png diff --git a/cookbook/static/manifest/shopping-cart-192.png b/cookbook/static/manifest/shopping-cart-192.png new file mode 100644 index 0000000000000000000000000000000000000000..11d6965295b7ea21cb425bcef1cb70f6b36a96f1 GIT binary patch literal 1881 zcmV-f2d4OmP)vdT`CLHWi>BIIV3+5h-aKP^AaBOWTN|l8OibmTDVNR7${kZ6m5I(Keu{lz<<# zji_S5p(0PAKTc4=4ORC?_SI-W5AXr{BB%f>Bl~L9p||>XGww@R4oufGhu?s&73(h~ zJvHxV0rvto5hjL>z;zzS?E}6FsMl!CDd02Qd5$_p^dM`2m6fhU4NMsvZYmg>os`&&G zBCy~vO@=04NQl6K!!#*RzL1Cs`hk-|bs5ogp7;{nha%eO8;hh$m;u;5UG)4;Ed{%I{iF&M% z3^^Lc1E81WVO@e8mvQ$D8loiv3l8Pj1DtF20c#1mpKn`zKuZKa0~eI)E*edPLeLYz zW!w<55uc_(A?RlRT9*)?VKU7A(iDLOhw+(`SzHfm3A&q>@c`(GU>|T+vHl{^G9Cb3 z5ljF(73=SIE|GDiJMC#<)+NMa8%_u<(H4OPhw;eN6@b17tR;v?rl1h?A0g9&dz9J@ z%64=cXK^dqWm*DRyCty2G2*a}HrBw_76Dk7kS7zsdf@GL4w@FnmbM6ap3w1pb(NLk`ZFnZO!tBRY_Ka3iPQBd;lS2XpZsG%7kLaCZ&8o&u9f zUcs4m!Ow8akG z!>heWO$29vgW5)PAel3Z>yerWz*bK4A#-MNJyH~bC7!lV*NMPlg7&BYui$bkI-WjY z6Z&KEow^MJE80Ejkj}92EMN<8Utl?7xRh(}NLi7GfCmE07zb7ZABCGEO9}Xt{C*K1 zl8(5uvJAH}OdkGU0`8YJKb*DX-!wii>OmN@fIrFC|37f6qIU!XxXB}Vi(mwpBj`s6 zuM#Il*dXad2pfoV0xH1kf`0fi8#iY#hW{6E%M&L}2{=ML5$u<9#hW$6^S=T-lf?+l zae~FvEZm$kw*!kJmY)Z!BA351%ZD^Y;GG1~26qb75yIlgA zUsD9v3e?drP=_zmahHcNxu#lAQ#3^&kyM&;;_5hVZK9ZrkRkb0Qv}BZ>hPV_Bt>ld zGM!^h5qyukjEP01T1U!+%)!h;-DPo8V;AwRkvkzTVHI)52_BJi#h;gncLH7#^uw2# zz~992{}?jCcQAdp2`71-3R+F#u6Tsu59)vL+*iF9YU?&+a z4O3$y`JI6E!nWtZAo+C*CxL~s=I28%@E+kO;9b(po6N#;!i6wgEvKVdi%St}*ZDEv zMFo5FW)Rnu`v_n=aI3t@aTo;N$Mx-5oc{!O$FN%{0Z-!wlCt=J9C(3%r_-jKi?tn?oAL2`~efc)AL>8~6Ny0bHMd6gLjC8Q6+z3BCCbGETHw TOpYqX00000NkvXXu0mjf5TQIg literal 0 HcmV?d00001 diff --git a/cookbook/static/manifest/webmanifest b/cookbook/static/manifest/webmanifest index c33f63f3..1a236978 100644 --- a/cookbook/static/manifest/webmanifest +++ b/cookbook/static/manifest/webmanifest @@ -35,10 +35,17 @@ }, { "name": "Shopping", - "short_name": "Shopping List", + "short_name": "Shopping", "description": "View your shopping lists", "url": "/list/shopping-list/", - "icons": [{ "src": "/static/manifest/icon-192.png", "sizes": "192x192" }] + "icons": [{ "src": "/static/manifest/shopping-cart-192.png", "sizes": "192x192" }] + }, + { + "name": "Latest Shopping List", + "short_name": "Shopping List", + "description": "View the latest shopping list", + "url": "/shopping/latest/", + "icons": [{ "src": "/static/manifest/shopping-cart-192.png", "sizes": "192x192" }] } ] } diff --git a/cookbook/templates/shopping_list.html b/cookbook/templates/shopping_list.html index c0643a77..5020e70c 100644 --- a/cookbook/templates/shopping_list.html +++ b/cookbook/templates/shopping_list.html @@ -394,7 +394,11 @@ data: { shopping_list_id: {% if shopping_list_id %}{{ shopping_list_id }}{% else %}null{% endif %}, loading: true, - edit_mode: false, + {% if edit %} + edit_mode: true, + {% else %} + edit_mode: false, + {% endif %} export_text_prefix: '', //TODO add userpreference recipe_query: '', recipes: [], diff --git a/cookbook/urls.py b/cookbook/urls.py index 5d211e1a..e64c77ad 100644 --- a/cookbook/urls.py +++ b/cookbook/urls.py @@ -48,6 +48,7 @@ urlpatterns = [ path('plan/entry/', views.meal_plan_entry, name='view_plan_entry'), path('shopping/', views.shopping_list, name='view_shopping'), path('shopping/', views.shopping_list, name='view_shopping'), + path('shopping/latest', views.latest_shopping_list, name='view_shopping_latest'), path('settings/', views.user_settings, name='view_settings'), path('history/', views.history, name='view_history'), path('test/', views.test, name='view_test'), diff --git a/cookbook/views/views.py b/cookbook/views/views.py index 57cf0e31..c9d22ad0 100644 --- a/cookbook/views/views.py +++ b/cookbook/views/views.py @@ -25,7 +25,7 @@ from cookbook.forms import (CommentForm, Recipe, RecipeBookEntryForm, User, UserPreferenceForm) from cookbook.helper.permission_helper import group_required, share_link_valid, has_group_permission from cookbook.models import (Comment, CookLog, InviteLink, MealPlan, - RecipeBook, RecipeBookEntry, ViewLog) + RecipeBook, RecipeBookEntry, ViewLog, ShoppingList) from cookbook.tables import (CookLogTable, RecipeTable, RecipeTableSmall, ViewLogTable) from recipes.settings import DEMO @@ -232,6 +232,16 @@ def meal_plan_entry(request, pk): ) +@group_required('user') +def latest_shopping_list(request): + sl = ShoppingList.objects.filter(Q(created_by=request.user) | Q(shared=request.user)).filter(finished=False).order_by('-created_at').first() + + if sl: + return HttpResponseRedirect(reverse('view_shopping', kwargs={'pk': sl.pk}) + '?edit=true') + else: + return HttpResponseRedirect(reverse('view_shopping') + '?edit=true') + + @group_required('user') def shopping_list(request, pk=None): raw_list = request.GET.getlist('r') @@ -244,11 +254,9 @@ def shopping_list(request, pk=None): if recipe := Recipe.objects.filter(pk=int(rid)).first(): recipes.append({'recipe': recipe.id, 'multiplier': multiplier}) - return render( - request, - 'shopping_list.html', - {'shopping_list_id': pk, 'recipes': recipes} - ) + edit = True if 'edit' in request.GET and request.GET['edit'] == 'true' else False + + return render(request, 'shopping_list.html', {'shopping_list_id': pk, 'recipes': recipes, 'edit': edit}) @group_required('guest')