diff --git a/.env.template b/.env.template index 36c2357d..635e079c 100644 --- a/.env.template +++ b/.env.template @@ -7,7 +7,9 @@ SQL_DEBUG=0 ALLOWED_HOSTS=* # random secret key, use for example `base64 /dev/urandom | head -c50` to generate one +# ---------------------------- REQUIRED ------------------------- SECRET_KEY= +# --------------------------------------------------------------- # your default timezone See https://timezonedb.com/time-zones for a list of timezones TIMEZONE=Europe/Berlin @@ -18,7 +20,9 @@ DB_ENGINE=django.db.backends.postgresql POSTGRES_HOST=db_recipes POSTGRES_PORT=5432 POSTGRES_USER=djangouser +# ---------------------------- REQUIRED ------------------------- POSTGRES_PASSWORD= +# --------------------------------------------------------------- POSTGRES_DB=djangodb # database connection string, when used overrides other database settings. diff --git a/cookbook/admin.py b/cookbook/admin.py index 8d521c41..73e86ecf 100644 --- a/cookbook/admin.py +++ b/cookbook/admin.py @@ -259,7 +259,7 @@ admin.site.register(ViewLog, ViewLogAdmin) class InviteLinkAdmin(admin.ModelAdmin): list_display = ( - 'group', 'valid_until', + 'group', 'valid_until', 'space', 'created_by', 'created_at', 'used_by' ) diff --git a/cookbook/apps.py b/cookbook/apps.py index 5654684d..e551319d 100644 --- a/cookbook/apps.py +++ b/cookbook/apps.py @@ -14,24 +14,24 @@ class CookbookConfig(AppConfig): def ready(self): import cookbook.signals # noqa - if not settings.DISABLE_TREE_FIX_STARTUP: - # when starting up run fix_tree to: - # a) make sure that nodes are sorted when switching between sort modes - # b) fix problems, if any, with tree consistency - with scopes_disabled(): - try: - from cookbook.models import Food, Keyword - Keyword.fix_tree(fix_paths=True) - Food.fix_tree(fix_paths=True) - except OperationalError: - if DEBUG: - traceback.print_exc() - pass # if model does not exist there is no need to fix it - except ProgrammingError: - if DEBUG: - traceback.print_exc() - pass # if migration has not been run database cannot be fixed yet - except Exception: - if DEBUG: - traceback.print_exc() - pass # dont break startup just because fix could not run, need to investigate cases when this happens + # if not settings.DISABLE_TREE_FIX_STARTUP: + # # when starting up run fix_tree to: + # # a) make sure that nodes are sorted when switching between sort modes + # # b) fix problems, if any, with tree consistency + # with scopes_disabled(): + # try: + # from cookbook.models import Food, Keyword + # Keyword.fix_tree(fix_paths=True) + # Food.fix_tree(fix_paths=True) + # except OperationalError: + # if DEBUG: + # traceback.print_exc() + # pass # if model does not exist there is no need to fix it + # except ProgrammingError: + # if DEBUG: + # traceback.print_exc() + # pass # if migration has not been run database cannot be fixed yet + # except Exception: + # if DEBUG: + # traceback.print_exc() + # pass # dont break startup just because fix could not run, need to investigate cases when this happens diff --git a/cookbook/views/new.py b/cookbook/views/new.py index 09949be2..382ba2ab 100644 --- a/cookbook/views/new.py +++ b/cookbook/views/new.py @@ -201,7 +201,10 @@ class InviteLinkCreate(GroupRequiredMixin, CreateView): def form_valid(self, form): obj = form.save(commit=False) obj.created_by = self.request.user - obj.space = self.request.space + + # verify given space is actually owned by the user creating the link + if obj.space.created_by != self.request.user: + obj.space = self.request.space obj.save() if obj.email: try: diff --git a/docs/install/docker.md b/docs/install/docker.md index a5975e07..60fe1f70 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -51,7 +51,7 @@ That said **beta** should usually be working if you like frequent updates and ne The main, and also recommended, installation option is to install this application using Docker Compose. 1. Choose your `docker-compose.yml` from the examples below. -2. Download the `.env` configuration file with `wget`, then **edit it accordingly**. +2. Download the `.env` configuration file with `wget`, then **edit it accordingly** (you NEED to set `SECRET_KEY` and `POSTGRES_PASSWORD`). ```shell wget https://raw.githubusercontent.com/vabene1111/recipes/develop/.env.template -O .env ``` @@ -136,23 +136,23 @@ In both cases, also make sure to mount `/media/` in your swag container to point Please refer to the [appropriate documentation](https://github.com/linuxserver/docker-swag#usage) for the container setup. #### Nginx Swag by LinuxServer + [This container](https://github.com/linuxserver/docker-swag) is an all in one solution created by LinuxServer.io -It also contains templates for popular apps, including Tandoor Recipes, so you don't have to manually configure nginx and discard the template provided in Tandoor repo. Tandoor config is called `recipes.subdomain.conf.sample` which you can adapt for your instance +It also contains templates for popular apps, including Tandoor Recipes, so you don't have to manually configure nginx and discard the template provided in Tandoor repo. Tandoor config is called `recipes.subdomain.conf.sample` which you can adapt for your instance If you're running Swag on the default port, you'll just need to change the container name to yours. -If your running Swag on a custom port, some headers must be changed. To do this, +If your running Swag on a custom port, some headers must be changed. To do this, -- Create a copy of `proxy.conf` -- Replace `proxy_set_header X-Forwarded-Host $host;` and `proxy_set_header Host $host;` to - - `proxy_set_header X-Forwarded-Host $http_host;` and `proxy_set_header Host $http_host;` -- Update `recipes.subdomain.conf` to use the new file -- Restart the linuxserver/swag container and Recipes will work +- Create a copy of `proxy.conf` +- Replace `proxy_set_header X-Forwarded-Host $host;` and `proxy_set_header Host $host;` to + - `proxy_set_header X-Forwarded-Host $http_host;` and `proxy_set_header Host $http_host;` +- Update `recipes.subdomain.conf` to use the new file +- Restart the linuxserver/swag container and Recipes will work More information [here](https://github.com/TandoorRecipes/recipes/issues/959#issuecomment-962648627). - In both cases, also make sure to mount `/media/` in your swag container to point to your Tandoor Recipes Media directory. Please refer to the [appropriate documentation](https://github.com/linuxserver/docker-swag#usage) for the container setup. diff --git a/vue/src/apps/RecipeEditView/RecipeEditView.vue b/vue/src/apps/RecipeEditView/RecipeEditView.vue index 3b98745e..f4810026 100644 --- a/vue/src/apps/RecipeEditView/RecipeEditView.vue +++ b/vue/src/apps/RecipeEditView/RecipeEditView.vue @@ -49,13 +49,13 @@