added option to choose webdav path
This commit is contained in:
parent
fce293e722
commit
f1b7ed7d7a
@ -238,7 +238,7 @@ class StorageForm(forms.ModelForm):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Storage
|
model = Storage
|
||||||
fields = ('name', 'method', 'username', 'password', 'token', 'url')
|
fields = ('name', 'method', 'username', 'password', 'token', 'url', 'path')
|
||||||
|
|
||||||
help_texts = {
|
help_texts = {
|
||||||
'url': _('Leave empty for dropbox and enter only base url for nextcloud (<code>/remote.php/webdav/</code> is added automatically)'), # noqa: E501
|
'url': _('Leave empty for dropbox and enter only base url for nextcloud (<code>/remote.php/webdav/</code> is added automatically)'), # noqa: E501
|
||||||
|
18
cookbook/migrations/0101_storage_path.py
Normal file
18
cookbook/migrations/0101_storage_path.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.1.5 on 2021-01-22 18:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('cookbook', '0100_recipe_servings_text'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='storage',
|
||||||
|
name='path',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=256),
|
||||||
|
),
|
||||||
|
]
|
@ -124,6 +124,7 @@ class Storage(models.Model):
|
|||||||
password = models.CharField(max_length=128, blank=True, null=True)
|
password = models.CharField(max_length=128, blank=True, null=True)
|
||||||
token = models.CharField(max_length=512, blank=True, null=True)
|
token = models.CharField(max_length=512, blank=True, null=True)
|
||||||
url = models.URLField(blank=True, null=True)
|
url = models.URLField(blank=True, null=True)
|
||||||
|
path = models.CharField(blank=True, default='', max_length=256)
|
||||||
created_by = models.ForeignKey(User, on_delete=models.PROTECT)
|
created_by = models.ForeignKey(User, on_delete=models.PROTECT)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
@ -20,6 +20,8 @@ class Nextcloud(Provider):
|
|||||||
'webdav_password': storage.password,
|
'webdav_password': storage.password,
|
||||||
'webdav_root': '/remote.php/dav/files/' + storage.username
|
'webdav_root': '/remote.php/dav/files/' + storage.username
|
||||||
}
|
}
|
||||||
|
if storage.path != '':
|
||||||
|
options['webdav_root'] = storage.path
|
||||||
return wc.Client(options)
|
return wc.Client(options)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -402,7 +402,7 @@ def get_recipe_file(request, recipe_id):
|
|||||||
|
|
||||||
@group_required('user')
|
@group_required('user')
|
||||||
def sync_all(request):
|
def sync_all(request):
|
||||||
if DEMO or True:
|
if DEMO:
|
||||||
messages.add_message(
|
messages.add_message(
|
||||||
request, messages.ERROR, _('This feature is not available in the demo version!')
|
request, messages.ERROR, _('This feature is not available in the demo version!')
|
||||||
)
|
)
|
||||||
|
@ -10,7 +10,8 @@ This feature is now called External recipes.
|
|||||||
To use external recipes you will first need to configure a storage source. After that a synced path can be created.
|
To use external recipes you will first need to configure a storage source. After that a synced path can be created.
|
||||||
Lastly you will need to sync with the external path and import recipes you desire.
|
Lastly you will need to sync with the external path and import recipes you desire.
|
||||||
|
|
||||||
# Storage Backends
|
## Storage
|
||||||
|
|
||||||
!!! success
|
!!! success
|
||||||
Currently only Nextcloud and Dropbox are supported. There are plans to add more provider
|
Currently only Nextcloud and Dropbox are supported. There are plans to add more provider
|
||||||
|
|
||||||
@ -18,10 +19,32 @@ A `Storage Backend` is a remote storage location where files are **read** from.
|
|||||||
To add a new backend click on `Storage Data` and then on `Storage Backends`.
|
To add a new backend click on `Storage Data` and then on `Storage Backends`.
|
||||||
There click the plus button.
|
There click the plus button.
|
||||||
|
|
||||||
Enter a name (just a display name for you to identify it) and an API access Token for the account you want to use.
|
The basic configuration is the same for all providers.
|
||||||
Dropboxes API tokens can be found on the
|
|
||||||
[Dropboxes API explorer](https://dropbox.github.io/dropbox-api-v2-explorer/#auth_token/from_oauth1)
|
| Field | Value |
|
||||||
with the button on the top right. For Nextcloud, you can use an App password created in the settings.
|
|----------|-------|
|
||||||
|
| Name | Your identifier for this storage source, can be everything you want. |
|
||||||
|
| Method | The desired method. |
|
||||||
|
|
||||||
|
### Dropbox
|
||||||
|
|
||||||
|
| Field | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| Username | Dropbox username |
|
||||||
|
| Token | Dropbox API Token. Can be found [here](https://dropbox.github.io/dropbox-api-v2-explorer/#auth_token/from_oauth1)|
|
||||||
|
|
||||||
|
### Nextcloud
|
||||||
|
|
||||||
|
!!! warning "Path"
|
||||||
|
It appears that the correct webdav path varies from installation to installation (for whatever reason).
|
||||||
|
In the Nextcloud webinterface click the `Settings` button in the bottom left corner, there your WebDav Url will be displayed.
|
||||||
|
|
||||||
|
| Field | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| Username | Nextcloud username |
|
||||||
|
| Password | Nextcloud app password |
|
||||||
|
| Url | Nextcloud Server URL (e.g. `https://cloud.mydomain.com`) |
|
||||||
|
| Path | (optional) webdav path (e.g. `/remote.php/dav/files/vabene1111`). If no path is supplied `/remote.php/dav/files/` plus your username will be used. |
|
||||||
|
|
||||||
## Adding Synced Paths
|
## Adding Synced Paths
|
||||||
To add a new path from your Storage backend to the sync list, go to `Storage Data >> Configure Sync` and
|
To add a new path from your Storage backend to the sync list, go to `Storage Data >> Configure Sync` and
|
||||||
|
Loading…
Reference in New Issue
Block a user