From c50efac00e0bbc193a6d0be33695ad4984a3fa1b Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Tue, 12 Jul 2022 20:57:13 +0200 Subject: [PATCH] basics for profile page --- cookbook/templates/profile.html | 32 +++++++++++++++++ cookbook/views/views.py | 6 ++-- vue/src/apps/ProfileView/ProfileView.vue | 45 ++++++++++++++++++++++++ vue/src/apps/ProfileView/main.js | 18 ++++++++++ vue/vue.config.js | 4 +++ 5 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 cookbook/templates/profile.html create mode 100644 vue/src/apps/ProfileView/ProfileView.vue create mode 100644 vue/src/apps/ProfileView/main.js diff --git a/cookbook/templates/profile.html b/cookbook/templates/profile.html new file mode 100644 index 000000000..23aeb190a --- /dev/null +++ b/cookbook/templates/profile.html @@ -0,0 +1,32 @@ +{% extends "base.html" %} +{% load render_bundle from webpack_loader %} +{% load static %} +{% load i18n %} +{% load l10n %} + +{% block title %}{% trans 'Profile' %}{% endblock %} + +{% block content %} + +
+ +
+ + +{% endblock %} + + +{% block script %} + {% if debug %} + + {% else %} + + {% endif %} + + + + {% render_bundle 'profile_view' %} +{% endblock %} \ No newline at end of file diff --git a/cookbook/views/views.py b/cookbook/views/views.py index 925c2f3a3..b9d4ba34a 100644 --- a/cookbook/views/views.py +++ b/cookbook/views/views.py @@ -59,6 +59,7 @@ def search(request): else: return HttpResponseRedirect(reverse('account_login') + '?next=' + request.path) + def no_groups(request): return render(request, 'no_groups_info.html') @@ -158,7 +159,7 @@ def recipe_view(request, pk, share=None): ViewLog.objects.create(recipe=recipe, created_by=request.user, space=request.space) return render(request, 'recipe_view.html', - {'recipe': recipe, 'comments': comments, 'comment_form': comment_form, 'share': share,}) + {'recipe': recipe, 'comments': comments, 'comment_form': comment_form, 'share': share, }) @group_required('user') @@ -175,9 +176,10 @@ def meal_plan(request): def supermarket(request): return render(request, 'supermarket.html', {}) + @group_required('user') def view_profile(request, user_id): - return render(request, 'supermarket.html', {}) + return render(request, 'profile.html', {}) @group_required('user') diff --git a/vue/src/apps/ProfileView/ProfileView.vue b/vue/src/apps/ProfileView/ProfileView.vue new file mode 100644 index 000000000..dce3c5e50 --- /dev/null +++ b/vue/src/apps/ProfileView/ProfileView.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/vue/src/apps/ProfileView/main.js b/vue/src/apps/ProfileView/main.js new file mode 100644 index 000000000..a3be1a1c7 --- /dev/null +++ b/vue/src/apps/ProfileView/main.js @@ -0,0 +1,18 @@ +import Vue from 'vue' +import App from './ProfileView.vue' +import i18n from '@/i18n' + +Vue.config.productionTip = false + +// TODO move this and other default stuff to centralized JS file (verify nothing breaks) +let publicPath = localStorage.STATIC_URL + 'vue/' +if (process.env.NODE_ENV === 'development') { + publicPath = 'http://localhost:8080/' +} +export default __webpack_public_path__ = publicPath // eslint-disable-line + + +new Vue({ + i18n, + render: h => h(App), +}).$mount('#app') diff --git a/vue/vue.config.js b/vue/vue.config.js index 884bafeba..1b48c39a7 100644 --- a/vue/vue.config.js +++ b/vue/vue.config.js @@ -61,6 +61,10 @@ const pages = { entry: "./src/apps/SpaceManageView/main.js", chunks: ["chunk-vendors"], }, + profile_view: { + entry: "./src/apps/ProfileView/main.js", + chunks: ["chunk-vendors"], + } } module.exports = {