Compare commits

...

11 commits

Author SHA1 Message Date
Alexandre Aubin
f578b19130 Update changelog for 12.0.2 2024-08-31 20:11:25 +02:00
axolotle
7859b221fc fix: ConfigPanel help message 2024-08-29 09:57:47 +02:00
Alexandre Aubin
2cce638d90 Merge remote-tracking branch 'origin/dev' into bookworm 2024-07-30 16:31:44 +02:00
Alexandre Aubin
dd4bedeeb4 Require yunohost >= 12.0 2024-07-30 16:13:29 +02:00
Alexandre Aubin
cc7952a454 Update changelog for 12.0.1 2024-07-26 22:32:35 +02:00
axolotle
cbea05fa9b lint 2024-03-27 00:32:18 +01:00
axolotle
1d892350cd do not logout when trying to reconnect to the server since the session should still be valid 2024-03-27 00:32:16 +01:00
Tagadda
8db7691fe2 s/bullseye/bookworm 2024-03-27 00:29:32 +01:00
Tagadda
9dd29dff18 Update changelog for 12.0.0 2024-03-27 00:29:32 +01:00
axolotle
60934cf772 args: remove current_value and remove the need for int parsing for option prop min + max 2024-03-27 00:29:32 +01:00
axolotle
06bb22f45d args: reflect pydantic visible changes 2024-03-27 00:29:32 +01:00
9 changed files with 53 additions and 35 deletions

View file

@ -217,12 +217,12 @@ export default {
const api = this
function reconnect(n) {
api
.get('logout', {}, { key: 'reconnecting' })
store
.dispatch('GET_YUNOHOST_INFOS')
.then(resolve)
.catch((err) => {
if (err.name === 'APIUnauthorizedError') {
resolve()
reject(err)
} else if (n < 1) {
reject(err)
} else {

View file

@ -12,7 +12,7 @@
<slot name="tab-top" />
<template v-if="panel.help" #disclaimer>
<div class="alert alert-info" v-html="help" />
<div class="alert alert-info" v-html="panel.help" />
</template>
<slot name="tab-before" />

View file

@ -120,18 +120,13 @@ function addEvaluationGetter(prop, obj, expr, ctx, nested) {
* @return {Object} an formated argument containing formItem props, validation and base value.
*/
export function formatYunoHostArgument(arg) {
let value =
arg.value !== undefined
? arg.value
: arg.current_value !== undefined
? arg.current_value
: null
let value = arg.value !== undefined ? arg.value : null
const validation = {}
const error = { message: null }
arg.ask = formatI18nField(arg.ask)
const field = {
is: arg.readonly ? 'ReadOnlyField' : 'FormField',
visible: [undefined, true, '"true"'].includes(arg.visible),
visible: arg.visible,
props: {
label: arg.ask,
component: undefined,
@ -168,11 +163,11 @@ export function formatYunoHostArgument(arg) {
name: 'InputItem',
props: defaultProps.concat(['type', 'min', 'max', 'step']),
callback: function () {
if (!isNaN(parseInt(arg.min))) {
validation.minValue = validators.minValue(parseInt(arg.min))
if (arg.min !== undefined) {
validation.minValue = validators.minValue(arg.min)
}
if (!isNaN(parseInt(arg.max))) {
validation.maxValue = validators.maxValue(parseInt(arg.max))
if (arg.max !== undefined) {
validation.maxValue = validators.maxValue(arg.max)
}
validation.numValue = validators.integer
},
@ -278,10 +273,9 @@ export function formatYunoHostArgument(arg) {
// Default type management if no one is filled
if (arg.type !== 'tags' && arg.choices && arg.choices.length) {
arg.type = 'select'
}
if (arg.type === undefined) {
arg.type = 'string'
arg.type = 'select'
} else if (arg.type === undefined) {
arg.type = 'string'
}
// Search the component bind to the type
@ -328,9 +322,6 @@ export function formatYunoHostArgument(arg) {
}
// Default value if still `null`
if (value === null && arg.current_value) {
value = arg.current_value
}
if (value === null && arg.default) {
value = arg.default
}
@ -433,12 +424,12 @@ export function formatYunoHostConfigPanels(data) {
const section = {
id: _section.id,
isActionSection: _section.is_action_section,
visible: [undefined, true, '"true"'].includes(_section.visible),
visible: _section.visible,
}
if (_section.help) section.help = formatI18nField(_section.help)
if (_section.name) section.name = formatI18nField(_section.name)
if (_section.visible && ![false, '"false"'].includes(_section.visible)) {
addEvaluationGetter('visible', section, _section.visible, result.forms)
if (typeof _section.visible === 'string') {
addEvaluationGetter('visible', section, section.visible, result.forms)
}
const { form, fields, validations, errors } = formatYunoHostArguments(

View file

@ -31,7 +31,7 @@
"unknown": "Connection with the server has been closed for unknown reasons.",
"upgrade_system": "Connection with the server has been closed due to YunoHost upgrade. Waiting for the server to be reachable again…"
},
"success": "The server is now reachable! You can try to login",
"session_expired": "The server is now reachable! But it looks like your session expired, please login.",
"title": "Trying to communicate with the server…"
}
},

View file

@ -179,10 +179,9 @@ export default {
return api.get('logout')
},
TRY_TO_RECONNECT({ commit, dispatch }, args = {}) {
TRY_TO_RECONNECT({ commit }, args = {}) {
// FIXME This is very ugly arguments forwarding, will use proper component way of doing this when switching to Vue 3 (teleport)
commit('SET_RECONNECTING', args)
dispatch('RESET_CONNECTED')
},
GET_YUNOHOST_INFOS({ commit }) {

View file

@ -28,8 +28,8 @@
</div>
</template>
<template v-if="status === 'success'">
<BAlert variant="success" v-t="'api.reconnecting.success'" />
<template v-if="status === 'expired'">
<BAlert variant="success" v-t="'api.reconnecting.session_expired'" />
<LoginView force-reload />
</template>
@ -66,10 +66,14 @@ export default {
api
.tryToReconnect({ ...this.reconnecting, initialDelay })
.then(() => {
this.status = 'success'
this.$store.commit('SET_RECONNECTING', null)
})
.catch(() => {
this.status = 'failed'
.catch((err) => {
if (err.name === 'APIUnauthorizedError') {
this.status = 'expired'
} else {
this.status = 'failed'
}
})
},
},

24
debian/changelog vendored
View file

@ -1,3 +1,27 @@
yunohost-admin (12.0.2) testing; urgency=low
- config panels: fix panel help message not being displayed (7859b221)
Thanks to all contributors <3 ! (axolotle)
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 31 Aug 2024 20:09:29 +0200
yunohost-admin (12.0.1) testing; urgency=low
- Reflect change in the core about pydantic/config panels (06bb22f4, 60934cf7)
- No need anymore to the server after yunohost upgrades because the session should still be valid (1d892350)
- i18n: Translations updated for Basque, Chinese (Simplified), Danish, Dutch, French, Galician, German, Indonesian, Italian, Polish, Russian, Slovak, Spanish
Thanks to all contributors <3 ! (Andreas Gammelgaard Damsbo, axolotle, Boudewijn, bruno van den bosch, cjdw, Émile, Ivan Davydov, José M, Jose Riha, Kuba Bazan, Øjvind Fritjof Arnfred, OniriCorpe, Poesty Li, rosbeef andino, Tagadda, Titus PiJean, Tommi, xabirequejo)
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 26 Jul 2024 22:30:32 +0200
yunohost (12.0.0) unstable; urgency=low
- Tmp changelog to prepare Bookworm
-- Tagada <tagada@cant.at> Fri, 12 May 2023 16:20:28 +0000
yunohost-admin (11.2.7) stable; urgency=low
- Disable sending referer when clicking on links to external websites ([#573](http://github.com/YunoHost/yunohost-admin/pull/573))

2
debian/control vendored
View file

@ -10,7 +10,7 @@ Homepage: https://yunohost.org/
Package: yunohost-admin
Architecture: all
Depends: ${misc:Depends}
, yunohost (>= 11.1)
, yunohost (>= 12.0)
Description: web administration interface for yunohost
YunoHost aims to make self-hosting accessible to everyone. It configures
an email, Web and IM server alongside a LDAP base. It also provides

2
debian/rules vendored
View file

@ -17,7 +17,7 @@ TMPDIR = $$(pwd)/debian/yunohost-admin
override_dh_auto_build:
/usr/bin/curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee /usr/share/keyrings/nodesource.gpg >/dev/null
/usr/bin/curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/yarn.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main' > /etc/apt/sources.list.d/nodesource.list
echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bookworm main' > /etc/apt/sources.list.d/nodesource.list
echo "deb [signed-by=/etc/apt/trusted.gpg.d/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
/usr/bin/apt update
/usr/bin/apt install nodejs yarn -y