Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(UpdateHandler): prepare to next doryphore release #1

Open
wants to merge 2 commits into
base: doryphore
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Dans la page `GererMisesAJour` de votre YesWiki, recherchez l'extension bénévo

## Utilisation

Connecté en tant qu'administrateur, administratrice du YesWiki, cliquer sur le bouton `Gérer l'extension bénévolat` en fin de mise à jour (handler `/update`). Vous pouvez retrouver cette interface de gestion avec le handler `/gestionbenevolat`.
Connecté en tant qu'administrateur, administratrice du YesWiki, cliquer sur le bouton `Gérer l'extension bénévolat` en fin de mise à jour (lien `?GererMisesAJour&action=post_install`). Vous pouvez retrouver cette interface de gestion avec le handler `/gestionbenevolat`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passer par un handler pour gérer la post-install est un peu "bancal" : si l'usagere ne lit pas la doc, elle ne connait pas l'existence de ce handler, et ne pourra pas finaliser la mise a jour de son yeswiki.

Je pense que ce serait mieux de ne pas permettre de choisir ses noms de pages, mais d'avoir une convention de nommage des pages ou on est presque surs que personne ne reprend ses nom et le les creer directement dans une migration.

(dans les versions futures de yeswiki on pourra sans doute reserver des routes comme pour les api)


Sur cette interface de gestion, vous pouvez installer les listes, pages, formulaires nécessaires. Vous pouvez aussi changer leur nom.

Expand All @@ -23,6 +23,6 @@ Into page `GererMisesAJour` of your YesWiki, seek "bénévolat" extension and in

## Usage

Logged as administrator of the YesWiki, click on the button `'Manage \'Benevolat\' extension (Voluntary work)` at the end of the update (handler `/update`). You can find this management interface with handler `/gestionbenevolat`.
Logged as administrator of the YesWiki, click on the button `'Manage \'Benevolat\' extension (Voluntary work)` at the end of the update (link `?GererMisesAJour&action=post_install`). You can find this management interface with handler `/gestionbenevolat`.

In this management interface,you can install necessaries lists, pages, forms. You can also change their name.
54 changes: 54 additions & 0 deletions actions/UpdateAction__.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

namespace YesWiki\Benevolat;

use YesWiki\Core\YesWikiAction;

class UpdateAction__ extends YesWikiAction
{
public function run()
{
if (!$this->isWikiHibernated()
&& $this->wiki->UserIsAdmin()
&& !empty($_GET['action'])
&& $_GET['action'] === 'post_install'
) {
$version = $this->params->get('yeswiki_version');
if (!is_string($version)) {
$version = '';
}
$release = $this->params->get('yeswiki_release');
if (!is_string($release)) {
$release = '';
}
$matches = [];
if (
$version !== 'doryphore'
|| !preg_match("/^(\d+)\.(\d+)\.(\d+)\$/", $release, $matches)
|| intval($matches[1]) > 4
|| (
intval($matches[1]) === 4
&& (
intval($matches[2]) > 4
|| (
intval($matches[2]) === 4
&& intval($matches[3]) > 4
)
)
)
) {
$anchor = '<span class="update-hint">' . _t('UPDATE_ADMIN_PAGES_HINT') . '</span><br />';
$this->output = str_replace(
$anchor,
<<<HTML
$anchor
<br/>
{$this->wiki->render('@benevolat/update-handler.twig', [])}
HTML,
$this->output
);
}
}
}

}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

il vaut mieux pas intervenir sur la page de post install, les migrations ont été créées pour etre lancées en fin d'install et maj, afin d'eviter des clics qui sont parfois oubliés par les usager.es et c'est pas forcement le bon endroit pour rajouter des boutons car tres peu visibles

29 changes: 0 additions & 29 deletions handlers/UpdateHandler__.php
Copy link

@mrflos mrflos Aug 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peut être pas les supprimer avant ectoplasme, pour permettre d'installer sur des versions plus anciennes

This file was deleted.