1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/vikunja_ynh.git synced 2024-09-03 18:06:26 +02:00

Merge pull request #40 from AvocatDuDiable/vnext

API update + Config Panel
This commit is contained in:
Éric Gaspar 2022-08-28 11:36:38 +02:00 committed by GitHub
commit af224e4e1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 169 additions and 20 deletions

View file

@ -26,7 +26,7 @@ Vikunja is a self-hosted open-source to-do list application for all platforms.
- CalDAV - CalDAV
- Links - Links
**Shipped version:** 0.19.0~ynh1 **Shipped version:** 0.19.2~ynh1
**Demo:** https://try.vikunja.io/login **Demo:** https://try.vikunja.io/login
@ -47,10 +47,13 @@ The API is accesible with this path: https://domain.ltd/api/v1/docs
* Official app website: <https://vikunja.io/> * Official app website: <https://vikunja.io/>
* Official admin documentation: <https://vikunja.io/docs/> * Official admin documentation: <https://vikunja.io/docs/>
* Official download portal: <https://dl.vikunja.io/>
* Official blog (usefull for release note): <https://vikunja.io/blog/>
* Upstream app code repository: <https://kolaente.dev/vikunja/> * Upstream app code repository: <https://kolaente.dev/vikunja/>
* YunoHost documentation for this app: <https://yunohost.org/app_vikunja> * YunoHost documentation for this app: <https://yunohost.org/app_vikunja>
* Report a bug: <https://github.com/YunoHost-Apps/vikunja_ynh/issues> * Report a bug: <https://github.com/YunoHost-Apps/vikunja_ynh/issues>
## Developer info ## Developer info
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/vikunja_ynh/tree/testing). Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/vikunja_ynh/tree/testing).

View file

@ -26,8 +26,8 @@ Vikunja est une application de liste de tâches Open Source auto-hébergée pour
- CalDAV - CalDAV
- Links - Links
**Version incluse :** 0.19.0~ynh1
**Version incluse :** 0.19.2~ynh1
**Démo :** https://try.vikunja.io/login **Démo :** https://try.vikunja.io/login
@ -44,6 +44,8 @@ Vous pouvez configurer Vikunja en modifiant le fichier `/opt/vikunja/config.yml`
* Site officiel de l'app : <https://vikunja.io/> * Site officiel de l'app : <https://vikunja.io/>
* Documentation officielle de l'admin : <https://vikunja.io/docs/> * Documentation officielle de l'admin : <https://vikunja.io/docs/>
* Portail de téléchargement officiel: <https://dl.vikunja.io/>
* Blog officiel (utile pour avoir les changements de chaque version): <https://vikunja.io/blog/>
* Dépôt de code officiel de l'app : <https://kolaente.dev/vikunja/> * Dépôt de code officiel de l'app : <https://kolaente.dev/vikunja/>
* Documentation YunoHost pour cette app : <https://yunohost.org/app_vikunja> * Documentation YunoHost pour cette app : <https://yunohost.org/app_vikunja>
* Signaler un bug : <https://github.com/YunoHost-Apps/vikunja_ynh/issues> * Signaler un bug : <https://github.com/YunoHost-Apps/vikunja_ynh/issues>

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-amd64-full SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-amd64-full
SOURCE_SUM=D005FD544862B6D01402B7AFA5CAE5A9E5E634112D90EECF6F2781DA83A7A524 SOURCE_SUM=16F4483929C659021A8F61465FA5A10C9EDCC3CBB6F0D8AC8ED96570034CB50C
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_IN_SUBDIR=false SOURCE_IN_SUBDIR=false
SOURCE_FORMAT=zip SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-arm64-full SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-arm64-full
SOURCE_SUM=CB457F651DE3E4551F36F20389161C0407D10D9821F520357ECE5ED669311943 SOURCE_SUM=9C3104D42F9B7448D045208C0C5DBF5AC8648B78E7907697264A3031972926EA
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_IN_SUBDIR=false SOURCE_IN_SUBDIR=false
SOURCE_FORMAT=zip SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-arm-7-full SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-arm-7-full
SOURCE_SUM=A5B393C7900C6A77E1887A496E9A66E2762972DA76C961CA8264EF469B24177B SOURCE_SUM=F82B9DF0DE4F36AEF6535DC5425CF45151815E67DBC8BAF9921E38C454AFD724
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_IN_SUBDIR=false SOURCE_IN_SUBDIR=false
SOURCE_FORMAT=zip SOURCE_FORMAT=zip

View file

@ -12,21 +12,21 @@ service:
# with a config file which will then be used. # with a config file which will then be used.
rootpath: "/opt/vikunja/" rootpath: "/opt/vikunja/"
# The max number of items which can be returned per page # The max number of items which can be returned per page
maxitemsperpage: 50 maxitemsperpage: __MAXITEMSPERPAGE__
# Enable the caldav endpoint, see the docs for more details # Enable the caldav endpoint, see the docs for more details
enablecaldav: true enablecaldav: true
# Set the motd message, available from the /info endpoint # Set the motd message, available from the /info endpoint
motd: __SET_MOTD__ motd: __SET_MOTD__
# Enable sharing of lists via a link # Enable sharing of lists via a link
enablelinksharing: true enablelinksharing: __ENABLE_LINKSHARING__
# Whether to let new users registering themselves or not # Whether to let new users registering themselves or not
enableregistration: __ENABLE_REGISTRATION__ enableregistration: __ENABLE_REGISTRATION__
# Whether to enable task attachments or not # Whether to enable task attachments or not
enabletaskattachments: true enabletaskattachments: __ENABLE_TASKATTACHMENTS__
# The time zone all timestamps are in. Please note that time zones have to use [the official tz database names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). UTC or GMT offsets won't work. # The time zone all timestamps are in. Please note that time zones have to use [the official tz database names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). UTC or GMT offsets won't work.
timezone: __TIMEZONE__ timezone: __TIMEZONE__
# Whether task comments should be enabled or not # Whether task comments should be enabled or not
enabletaskcomments: true enabletaskcomments: __ENABLE_TASKCOMMENTS__
# Whether totp is enabled. In most cases you want to leave that enabled. # Whether totp is enabled. In most cases you want to leave that enabled.
enabletotp: true enabletotp: true
# If not empty, enables logging of crashes and unhandled errors in sentry. # If not empty, enables logging of crashes and unhandled errors in sentry.
@ -38,7 +38,14 @@ service:
testingtoken: '' testingtoken: ''
# If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder # If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder
# is due. # is due.
enableemailreminders: true enableemailreminders: __ENABLE_EMAILREMINDERS__
# If true, will allow users to request the complete deletion of their account. When using external authentication methods
# it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands
# for user deletion.
enableuserdeletion: __ENABLE_USERDELETION__
# The maximum size clients will be able to request for user avatars.
# If clients request a size bigger than this, it will be changed on the fly.
maxavatarsize: __MAXAVATARSIZE__
database: database:
# Database type to use. Supported types are mysql, postgres and sqlite. # Database type to use. Supported types are mysql, postgres and sqlite.

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://dl.vikunja.io/frontend/vikunja-frontend-0.19.0.zip SOURCE_URL=https://dl.vikunja.io/frontend/vikunja-frontend-0.19.1.zip
SOURCE_SUM=A5D50D3DF1A06D23325DC4B61CA31E908888CC9DC6BAD1C2B348055641CDF727 SOURCE_SUM=29FE793359BF34142181ABA5FF8B1E0CC74F154F238603B04CD033760560D8E4
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=false SOURCE_IN_SUBDIR=false

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-386-full SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-386-full
SOURCE_SUM=66C21ED000B084B9268E2A0783BE49EC982782F9417050D38683D979555F6E95 SOURCE_SUM=6D532EEA15A966446F1B975A8F1D7B64F75AFB2148C09680728C0060FACB5608
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_IN_SUBDIR=false SOURCE_IN_SUBDIR=false
SOURCE_FORMAT=zip SOURCE_FORMAT=zip

View file

@ -2,22 +2,84 @@ version = "1.0"
[main] [main]
name = "Vikunja configuration" name = "Vikunja configuration"
services = ["__APP__"] services = ["__APP__"]
[main.config] [main.config]
name = "Configuration Options" name = "Configuration Options"
[main.config.set_motd] [main.config.set_motd]
ask = "Set MOTD" ask.en = "Set MOTD"
ask.fr = "Définir MOTD"
type = "string" type = "string"
help = "Set the MOTD message shown in Vikunja login page" help = "Set the MOTD message shown in Vikunja login page"
bind = "motd:/opt/__APP__/config.yml" bind = "motd:/opt/__APP__/config.yml"
[main.config.enable_registration] [main.config.enable_registration]
ask = "Enable registration" ask.en = "Enable registration"
ask.fr = "Activer la création de comptes"
type = "boolean" type = "boolean"
yes = "true" yes = "true"
no = "false" no = "false"
help = "Whether to let new users registering themselves or not" help = "Whether to let new users registering themselves or not"
bind = "enableregistration:/opt/__APP__/config.yml" bind = "enableregistration:/opt/__APP__/config.yml"
[main.config.enable_linksharing]
ask.en = "Enable links sharing"
ask.fr = "Activer liens de partage"
type = "boolean"
yes = "true"
no = "false"
help = "Enable sharing of lists via a link"
bind = "enablelinksharing:/opt/__APP__/config.yml"
[main.config.enable_taskattachments]
ask.en = "Enable tasks attachments"
ask.fr = "Activer les pièces jointes de tâches"
type = "boolean"
yes = "true"
no = "false"
help = "Whether to enable task attachments or not"
bind = "enabletaskattachments:/opt/__APP__/config.yml"
[main.config.enable_taskcomments]
ask.en = "Enable task comments"
ask.fr = "Activer les commentaires de tâches"
type = "boolean"
yes = "true"
no = "false"
help = "Whether task comments should be enabled or not"
bind = "enabletaskcomments:/opt/__APP__/config.yml"
[main.config.enable_emailreminders]
ask.en = "Enable email reminders"
ask.fr = "Activer les mails de rappels"
type = "boolean"
yes = "true"
no = "false"
help = "If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder is due."
bind = "enableemailreminders:/opt/__APP__/config.yml"
[main.config.enable_userdeletion]
ask.en = "Enable user deletion"
ask.fr = "Activer la suppression de compte"
type = "boolean"
yes = "true"
no = "false"
help = "If true, will allow users to request the complete deletion of their account. When using external authentication methods it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands for user deletion"
bind = "enableuserdeletion:/opt/__APP__/config.yml"
[main.config.maxavatarsize]
ask.en = "Max avatar size"
ask.fr = "Taille maximum de l'avatar"
type = "number"
help = "The maximum size clients will be able to request for user avatars. If clients request a size bigger than this, it will be changed on the fly"
bind = "maxavatarsize:/opt/__APP__/config.yml"
[main.config.maxitemsperpage]
ask.en = "Max items per page"
ask.fr = "Nombre d'éléments maximum par page"
type = "number"
help = "The max number of items which can be returned per page"
bind = "maxitemsperpage:/opt/__APP__/config.yml"

View file

@ -6,7 +6,7 @@
"en": "Self-hosted To-Do list application", "en": "Self-hosted To-Do list application",
"fr": "Application de liste de tâches auto-hébergée" "fr": "Application de liste de tâches auto-hébergée"
}, },
"version": "0.19.0~ynh1", "version": "0.19.2~ynh1",
"url": "https://vikunja.io/", "url": "https://vikunja.io/",
"upstream": { "upstream": {
"license": "GPL-3.0", "license": "GPL-3.0",

View file

@ -38,6 +38,13 @@ timezone="$(cat /etc/timezone)"
set_motd=$(ynh_app_setting_get --app=$app --key=set_motd) set_motd=$(ynh_app_setting_get --app=$app --key=set_motd)
enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration) enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration)
enable_linksharing=$(ynh_app_setting_get --app=$app --key=enable_linksharing)
enable_taskattachments=$(ynh_app_setting_get --app=$app --key=enable_taskattachments)
enable_taskcomments=$(ynh_app_setting_get --app=$app --key=enable_taskcomments)
enable_emailreminders=$(ynh_app_setting_get --app=$app --key=enable_emailreminders)
enable_userdeletion=$(ynh_app_setting_get --app=$app --key=enable_userdeletion)
maxavatarsize=$(ynh_app_setting_get --app=$app --key=maxavatarsize)
maxitemsperpage=$(ynh_app_setting_get --app=$app --key=maxitemsperpage)
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP

View file

@ -30,6 +30,13 @@ app=$YNH_APP_INSTANCE_NAME
set_motd="" set_motd=""
enable_registration="true" enable_registration="true"
enable_linksharing="true"
enable_taskattachments="true"
enable_taskcomments="true"
enable_emailreminders="true"
enable_userdeletion="true"
maxavatarsize=1024
maxitemsperpage=50
#================================================= #=================================================
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
@ -52,6 +59,13 @@ ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=set_motd --value=$set_motd ynh_app_setting_set --app=$app --key=set_motd --value=$set_motd
ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration
ynh_app_setting_set --app=$app --key=enable_linksharing --value=$enable_linksharing
ynh_app_setting_set --app=$app --key=enable_taskattachments --value=$enable_taskattachments
ynh_app_setting_set --app=$app --key=enable_taskcomments --value=$enable_taskcomments
ynh_app_setting_set --app=$app --key=enable_emailreminders --value=$enable_emailreminders
ynh_app_setting_set --app=$app --key=enable_userdeletion --value=$enable_userdeletion
ynh_app_setting_set --app=$app --key=maxavatarsize --value=$maxavatarsize
ynh_app_setting_set --app=$app --key=maxitemsperpage --value=$maxitemsperpage
#================================================= #=================================================
# STANDARD MODIFICATIONS # STANDARD MODIFICATIONS

View file

@ -29,6 +29,14 @@ secret=$(ynh_string_random --length=32)
set_motd=$(ynh_app_setting_get --app=$app --key=set_motd) set_motd=$(ynh_app_setting_get --app=$app --key=set_motd)
enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration) enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration)
enable_linksharing=$(ynh_app_setting_get --app=$app --key=enable_linksharing)
enable_taskattachments=$(ynh_app_setting_get --app=$app --key=enable_taskattachments)
enable_taskcomments=$(ynh_app_setting_get --app=$app --key=enable_taskcomments)
enable_emailreminders=$(ynh_app_setting_get --app=$app --key=enable_emailreminders)
enable_userdeletion=$(ynh_app_setting_get --app=$app --key=enable_userdeletion)
maxavatarsize=$(ynh_app_setting_get --app=$app --key=maxavatarsize)
maxitemsperpage=$(ynh_app_setting_get --app=$app --key=maxitemsperpage)
#================================================= #=================================================
# CHECK VERSION # CHECK VERSION
@ -71,6 +79,41 @@ if [ -z "$enable_registration" ]; then
ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration
fi fi
if [ -z "$enable_linksharing" ]; then
enable_linksharing="true"
ynh_app_setting_set --app=$app --key=enable_linksharing --value=$enable_linksharing
fi
if [ -z "$enable_taskattachments" ]; then
enable_taskattachments="true"
ynh_app_setting_set --app=$app --key=enable_taskattachments --value=$enable_taskattachments
fi
if [ -z "$enable_taskcomments" ]; then
enable_taskcomments="true"
ynh_app_setting_set --app=$app --key=enable_taskcomments --value=$enable_taskcomments
fi
if [ -z "$enable_emailreminders" ]; then
enable_emailreminders="true"
ynh_app_setting_set --app=$app --key=enable_emailreminders --value=$enable_emailreminders
fi
if [ -z "$enable_userdeletion" ]; then
enable_userdeletion="true"
ynh_app_setting_set --app=$app --key=enable_userdeletion --value=$enable_userdeletion
fi
if [ -z "$maxavatarsize" ]; then
maxavatarsize=1024
ynh_app_setting_set --app=$app --key=maxavatarsize --value=$maxavatarsize
fi
if [ -z "$maxitemsperpage" ]; then
maxitemsperpage=50
ynh_app_setting_set --app=$app --key=maxitemsperpage --value=$maxitemsperpage
fi
# Cleaning legacy permissions # Cleaning legacy permissions
if ynh_legacy_permissions_exists; then if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all ynh_legacy_permissions_delete_all
@ -126,6 +169,17 @@ chown -R $app:www-data "$final_path"
chmod +x "$backend_path/vikunja" chmod +x "$backend_path/vikunja"
chown -R $app:www-data "$backend_path/files" chown -R $app:www-data "$backend_path/files"
#=================================================
# UPGRADE A CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading a configuration file..." --weight=1
redis_db=$(ynh_redis_get_free_db)
ynh_add_config --template="../conf/config.yml" --destination="$backend_path/config.yml"
chmod 400 "$backend_path/config.yml"
chown $app:$app "$backend_path/config.yml"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================