Galette bugs & features: Demandeshttp://redmine.ulysses.fr/http://redmine.ulysses.fr/themes/PurpleMine2/favicon/favicon.ico?16318893672024-03-25T11:06:58ZGalette bugs & features
Redmine Galette - Anomalie #1814 (Résolu): Members card preferences, color for member of the commitee, do...http://redmine.ulysses.fr/issues/18142024-03-25T11:06:58ZFabrice Santoni
<p>The color set by preferences in PdfMembersCards.php is set based on the status ID, it might be based on the status priority < 30 :<br />the following part might be modified<br /> // Select strip color according to status<br /> switch ($member->status) {<br /> case 1:<br /> case 2:<br /> case 3:<br /> case 10:<br /> case 11:<br /> case 13: <br /> $fcol = $this->bcol;<br /> break;<br /> case 5:<br /> case 6:<br /> $fcol = $this->hcol;<br /> break;<br /> default:<br /> $fcol = $this->scol;</p> Galette - Anomalie #1813 (Nouveau): Manually added documents types are not proposed adding a new ...http://redmine.ulysses.fr/issues/18132024-03-24T18:46:27ZJohan Cwiklinskijohan@x-tnd.beGalette - Anomalie #1811 (Fermé): Cehck version has been bumped in configuration file when releasinghttp://redmine.ulysses.fr/issues/18112024-03-24T17:31:55ZJohan Cwiklinskijohan@x-tnd.be
<p>Several times, I forget to bump the release version in the configuration file.</p>
<p>It's currently not a real issue, user just cannot know which release is used. But in Galette 1.1; I've implemented a version checking to display to users a new release is available; and this feature relies on GALETE_VERSION.</p>
<p>The only place to check if tag and declared GALETTE_VERSION matches is in the release script.</p> Évènements - Anomalie #1810 (Fermé): Calendrier : les évènements de plusieurs jours ne s'affichen...http://redmine.ulysses.fr/issues/18102024-03-23T14:01:06ZAntoine S
<p>Lorsqu'un évènement dure N jours, le calendrier n'affiche l'évènement que sur N-1 jours. Le dernier jour n'est pas couvert.</p>
<p>Un évènement de 1 jour (date de debut == date de fin) s'affiche correctement sur 1 case du calendrier.</p>
<p>Pour un évènement de plusieurs jours (date de début < date de fin), la case de la date de fin n'est pas remplie.</p>
<p>Ainsi, un évènement de 2 jours s'affichera de manière identique qu'un évènement de 1 jour.</p>
<p>C'est vraisemblablement un bug dans le JavaScript du calendrier car l'appel à plugins/events/ajax/events/calendar renvoie les bonnes date dans begin_date et end_date.</p> Galette - Evolution #1808 (Fermé): Add pref_footer as replacement variablehttp://redmine.ulysses.fr/issues/18082024-03-23T09:43:30ZJohan Cwiklinskijohan@x-tnd.be
<p>This can be of interest for PDF.</p> Galette - Anomalie #1806 (Fermé): Should not select a member as its own parenthttp://redmine.ulysses.fr/issues/18062024-03-13T16:54:50ZJohan Cwiklinskijohan@x-tnd.be
<p>It is possible to make the member its own parent; it should not be allowed.</p>
<p>The only issue I saw on a quck test is a display "issue", like:<br /><img src="http://redmine.ulysses.fr/attachments/download/583/clipboard-202403131753-knjxb.png" alt="" loading="lazy" /></p>
<p>But this could lend to infinite loops when trying to retrieve missing information from a parent (like address parts, etc).<br />Anyway, that makes no sense and should not be allowed.</p> Galette - Anomalie #1803 (Fermé): Number of show member automatically set to "all"http://redmine.ulysses.fr/issues/18032024-03-09T07:38:44ZJohan Cwiklinskijohan@x-tnd.be
<p>If you've selected a number of records per page on members list (other than "all"); when you view or edit a member, and then come back to list; number of records per page has been set to "all".</p> Galette - Evolution #1798 (Fermé): Same permissions for core and dynamic fieldshttp://redmine.ulysses.fr/issues/17982024-03-03T18:30:39ZJohan Cwiklinskijohan@x-tnd.be
<p>Both core and dynamic fields have a "permission" notion, with similar values... But not at all the same in database :/</p>
<p>For core fields; this is hardcoded directly in <code>pages/edit_core_fields.html.twig</code> template:<br /><pre>
[
FieldsConfig::NOBODY => "Inaccessible", // 0
FieldsConfig::ADMIN => "Administrator", // 2
FieldsConfig::STAFF => "Staff member", // 3
FieldsConfig::MANAGER => "Group manager", // 4
FieldsConfig::USER_READ => "Read only", // 5
FieldsConfig::USER_WRITE => "Read/Write" // 1
</pre></p>
<p>For dynamic fields, it's retrieved from <code>Galette\DynamicFields\DynamicField::getPermsNames()</code>:<br /><pre>
[
DynamicField::PERM_USER_WRITE => _T("User, read/write"), // 0
DynamicField::PERM_STAFF => _T("Staff member"), // 2
DynamicField::PERM_ADMIN => _T("Administrator"), // 1
DynamicField::PERM_MANAGER => _T("Group manager"), // 3
DynamicField::PERM_USER_READ => _T("User, read only") // 4
]
</pre></p>
<p>It has to be changed to take the same arguments. Migration must be done PHP side; we cannot achieve something correct using SQL queries.</p>
<p>Also, it could be useful for future usages to have a "Public" permission (not reliable for core/dynamic fields).</p> Galette - Anomalie #1797 (Fermé): Timeout when checking new releasehttp://redmine.ulysses.fr/issues/17972024-03-02T11:47:01ZGuillaume AGNIERAY
<pre>
Détails
Type : Twig\Error\RuntimeError
Code : 0
Message : An exception has been thrown during the rendering of a template ("cURL error 28: Resolving timed out after 2000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://download.tuxfamily.org/galette/").
Fichier : /var/html/galette/galette/templates/default/elements/footer.html.twig
Ligne : 21
Trace
#0 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#1 /var/html/galette/galette/data/cache/v1.1.0-dev/templates/4f/4fb0d2cf9d539a13c6a67359c0c6cbb0.php(206): Twig\Template->display()
#2 /var/html/galette/galette/vendor/twig/twig/src/Template.php(394): __TwigTemplate_5dfc1c38fddf2e015e7edf1b92b8e309->doDisplay()
#3 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#4 /var/html/galette/galette/data/cache/v1.1.0-dev/templates/c6/c6f8104a0fb952f8de1e7736e49084a7.php(46): Twig\Template->display()
#5 /var/html/galette/galette/vendor/twig/twig/src/Template.php(394): __TwigTemplate_494d58f3b86af195ce0aa70de67e0c21->doDisplay()
#6 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#7 /var/html/galette/galette/vendor/twig/twig/src/Template.php(379): Twig\Template->display()
#8 /var/html/galette/galette/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render()
#9 /var/html/galette/galette/vendor/twig/twig/src/Environment.php(280): Twig\TemplateWrapper->render()
#10 /var/html/galette/galette/vendor/slim/twig-view/src/Twig.php(154): Twig\Environment->render()
#11 /var/html/galette/galette/vendor/slim/twig-view/src/Twig.php(210): Slim\Views\Twig->fetch()
#12 /var/html/galette/galette/lib/Galette/Controllers/GaletteController.php(129): Slim\Views\Twig->render()
#13 [internal function]: Galette\Controllers\GaletteController->dashboard()
#14 /var/html/galette/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array()
#15 /var/html/galette/galette/vendor/php-di/slim-bridge/src/ControllerInvoker.php(47): Invoker\Invoker->call()
#16 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/Route.php(358): DI\Bridge\Slim\ControllerInvoker->__invoke()
#17 /var/html/galette/galette/lib/Galette/Middleware/Authenticate.php(176): Slim\Routing\Route->handle()
#18 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Galette\Middleware\Authenticate->__invoke()
#19 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#20 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\MiddlewareDispatcher->handle()
#21 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/Route.php(315): Slim\MiddlewareDispatcher->handle()
#22 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/RouteRunner.php(68): Slim\Routing\Route->run()
#23 /var/html/galette/galette/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(66): Slim\Routing\RouteRunner->handle()
#24 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): RKA\SessionMiddleware->process()
#25 /var/html/galette/galette/vendor/slim/csrf/src/Guard.php(476): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#26 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Csrf\Guard->process()
#27 /var/html/galette/galette/lib/Galette/Middleware/Language.php(66): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#28 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(168): Galette\Middleware\Language->__invoke()
#29 /var/html/galette/galette/lib/Galette/Middleware/Telemetry.php(67): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#30 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(168): Galette\Middleware\Telemetry->__invoke()
#31 /var/html/galette/galette/includes/main.inc.php(173): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#32 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Closure->{closure}()
#33 /var/html/galette/galette/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#34 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\RoutingMiddleware->process()
#35 /var/html/galette/galette/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#36 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process()
#37 /var/html/galette/galette/vendor/slim/twig-view/src/TwigMiddleware.php(115): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#38 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Views\TwigMiddleware->process()
#39 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#40 /var/html/galette/galette/vendor/slim/slim/Slim/App.php(199): Slim\MiddlewareDispatcher->handle()
#41 /var/html/galette/galette/vendor/slim/slim/Slim/App.php(183): Slim\App->handle()
#42 /var/html/galette/galette/includes/main.inc.php(205): Slim\App->run()
#43 /var/html/galette/galette/webroot/index.php(48): require_once('...')
#44 {main}
</pre>
<pre>
Détails
Type : GuzzleHttp\Exception\ConnectException
Code : 0
Message : cURL error 28: Resolving timed out after 2000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://download.tuxfamily.org/galette/
Fichier : /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
Ligne : 210
Trace
#0 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection()
#1 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError()
#2 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish()
#3 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()
#4 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(48): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#5 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#6 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#7 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#8 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\RedirectMiddleware->__invoke()
#9 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#10 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Client.php(333): GuzzleHttp\HandlerStack->__invoke()
#11 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Client.php(169): GuzzleHttp\Client->transfer()
#12 /var/html/galette/galette/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Client->requestAsync()
#13 /var/html/galette/galette/lib/Galette/Util/Release.php(104): GuzzleHttp\Client->request()
#14 /var/html/galette/galette/lib/Galette/Util/Release.php(85): Galette\Util\Release->findLatestRelease()
#15 /var/html/galette/galette/lib/Galette/Core/Galette.php(85): Galette\Util\Release->getLatestRelease()
#16 [internal function]: Galette\Core\Galette::getNewRelease()
#17 /var/html/galette/galette/includes/dependencies.php(132): forward_static_call_array()
#18 /var/html/galette/galette/data/cache/v1.1.0-dev/templates/0f/0f27cddeaaa0b92b31420aa4713f8d89.php(37): {closure}()
#19 /var/html/galette/galette/vendor/twig/twig/src/Template.php(394): __TwigTemplate_f16b52a7f77047474fd07417b277e804->doDisplay()
#20 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#21 /var/html/galette/galette/data/cache/v1.1.0-dev/templates/4f/4fb0d2cf9d539a13c6a67359c0c6cbb0.php(206): Twig\Template->display()
#22 /var/html/galette/galette/vendor/twig/twig/src/Template.php(394): __TwigTemplate_5dfc1c38fddf2e015e7edf1b92b8e309->doDisplay()
#23 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#24 /var/html/galette/galette/data/cache/v1.1.0-dev/templates/c6/c6f8104a0fb952f8de1e7736e49084a7.php(46): Twig\Template->display()
#25 /var/html/galette/galette/vendor/twig/twig/src/Template.php(394): __TwigTemplate_494d58f3b86af195ce0aa70de67e0c21->doDisplay()
#26 /var/html/galette/galette/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
#27 /var/html/galette/galette/vendor/twig/twig/src/Template.php(379): Twig\Template->display()
#28 /var/html/galette/galette/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render()
#29 /var/html/galette/galette/vendor/twig/twig/src/Environment.php(280): Twig\TemplateWrapper->render()
#30 /var/html/galette/galette/vendor/slim/twig-view/src/Twig.php(154): Twig\Environment->render()
#31 /var/html/galette/galette/vendor/slim/twig-view/src/Twig.php(210): Slim\Views\Twig->fetch()
#32 /var/html/galette/galette/lib/Galette/Controllers/GaletteController.php(129): Slim\Views\Twig->render()
#33 [internal function]: Galette\Controllers\GaletteController->dashboard()
#34 /var/html/galette/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array()
#35 /var/html/galette/galette/vendor/php-di/slim-bridge/src/ControllerInvoker.php(47): Invoker\Invoker->call()
#36 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/Route.php(358): DI\Bridge\Slim\ControllerInvoker->__invoke()
#37 /var/html/galette/galette/lib/Galette/Middleware/Authenticate.php(176): Slim\Routing\Route->handle()
#38 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Galette\Middleware\Authenticate->__invoke()
#39 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#40 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\MiddlewareDispatcher->handle()
#41 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/Route.php(315): Slim\MiddlewareDispatcher->handle()
#42 /var/html/galette/galette/vendor/slim/slim/Slim/Routing/RouteRunner.php(68): Slim\Routing\Route->run()
#43 /var/html/galette/galette/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(66): Slim\Routing\RouteRunner->handle()
#44 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): RKA\SessionMiddleware->process()
#45 /var/html/galette/galette/vendor/slim/csrf/src/Guard.php(476): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#46 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Csrf\Guard->process()
#47 /var/html/galette/galette/lib/Galette/Middleware/Language.php(66): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#48 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(168): Galette\Middleware\Language->__invoke()
#49 /var/html/galette/galette/lib/Galette/Middleware/Telemetry.php(67): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#50 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(168): Galette\Middleware\Telemetry->__invoke()
#51 /var/html/galette/galette/includes/main.inc.php(173): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#52 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Closure->{closure}()
#53 /var/html/galette/galette/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#54 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\RoutingMiddleware->process()
#55 /var/html/galette/galette/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#56 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process()
#57 /var/html/galette/galette/vendor/slim/twig-view/src/TwigMiddleware.php(115): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#58 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Views\TwigMiddleware->process()
#59 /var/html/galette/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#60 /var/html/galette/galette/vendor/slim/slim/Slim/App.php(199): Slim\MiddlewareDispatcher->handle()
#61 /var/html/galette/galette/vendor/slim/slim/Slim/App.php(183): Slim\App->handle()
#62 /var/html/galette/galette/includes/main.inc.php(205): Slim\App->run()
#63 /var/html/galette/galette/webroot/index.php(48): require_once('...')
#64 {main}
</pre> Galette - Evolution #1794 (Fermé): Change MySQL and MariaDB encodinghttp://redmine.ulysses.fr/issues/17942024-02-24T08:07:31ZJohan Cwiklinskijohan@x-tnd.be
<p>On MySQL and MariaDB <code>utf8</code> is an alias for <code>utf8mb3</code> - which uses 3 bytes for character storage. <code>utf8mb4</code> uses 4 bytes, and therefore, can store many much characters.</p>
<p>While this is not an issue most of the time, it could be for some languages, emoticons, etc. On that page: <a class="external" href="https://codepoints.net/planes">https://codepoints.net/planes</a>, only the "Basic Multilingual Plane" is handled by <code>utf8mb3</code>.</p>
You will certainly be very, very happy to known that Galette will be able to store all those useful characters:
<ul>
<li><a class="external" href="https://codepoints.net/supplemental_symbols_and_pictographs">https://codepoints.net/supplemental_symbols_and_pictographs</a></li>
<li><a class="external" href="https://codepoints.net/chess_symbols">https://codepoints.net/chess_symbols</a></li>
<li><a class="external" href="https://codepoints.net/symbols_and_pictographs_extended-a">https://codepoints.net/symbols_and_pictographs_extended-a</a></li>
<li><a class="external" href="https://codepoints.net/emoticons">https://codepoints.net/emoticons</a></li>
</ul>
<p>Note that PostgreSQL does not need any further migration; everything is already working as expected.</p> Galette - Souhaits #1785 (Fermé): Check and display a message when a new version is availablehttp://redmine.ulysses.fr/issues/17852024-02-15T09:03:19ZJohan Cwiklinskijohan@x-tnd.be
<p>From a discussion on mailing list; it may be useful to diplay a message on Galette when a new version is available; probably for (super)admins (and maybe staff members?).</p> Galette - Souhaits #1216 (Résolu): Manage "administrative" documentshttp://redmine.ulysses.fr/issues/12162018-11-21T20:02:11ZFrédéric MASSON
<p>Adhérent d'une association de photo, en charge du "numérique", je souhaiterais proposer l'évolution suivante :</p>
<p>La mise en œuvre de la gestion de tous les documents liés à la gestion de l'association (compte-rendus de réunions ordinaires et extraordinaires archivés, documents comptables, statuts, contrats éventuels avec des tiers, documents liés aux accréditations et au droits de l'image en cours et archivés (dans notre cas), le règlement intérieur, les fiches d'inscriptions.<br />Nous cherchons aussi a offrir à nos adhérents la possibilité d'accéder à des "fiches techniques" réalisées dans le cadre de nos atelier pour qu'ils puissent les télécharge et les retrouver facilement</p>
<p>Le but est de garder la structuration d'accès existante: le bureau aura besoin des documents dans leur intégralité, les adhérents uniquement des "fiches techniques", du Règlement Intérieur, des comptes-rendus de réunion ordinaire et de quelques documents vierges a faire remplir dans le cadre de la prise de photos dans des lieux publics</p>
<p>Merci.</p> Galette - Souhaits #1193 (In Progress): Dispatch contribution into scheduled paymentshttp://redmine.ulysses.fr/issues/11932018-07-22T17:09:09ZFrédéric LASSAVE
<p>Bonjour,</p>
<p>Une fonction pourrait être intéressante, si possible à gérer :<br />Pouvoir enregistrer une contribution, se composant de plusieurs transactions. Intégrer une sorte d'échéancier de paiements pour une contribution, en quelque sorte, sans que cela ne prolonge forcément la date de fin d'adhésion !?</p>
<p>Merci.</p> Galette - Souhaits #583 (Fermé): champ Régionhttp://redmine.ulysses.fr/issues/5832013-03-17T06:47:30ZAndré LEFRANCa.lefranc@laposte.net
<p>pour le moment, je détourne le champ "pseudo" en champ "région".<br />mais il ne s'affiche pas de façon cohérente avec les données de galette. (mauvaise place dans l'affichage en dehors des données de contact)<br />peut envisager un champ nouveau "*région"* dans les adresses .</p>
<p>De nombreuses associations nationales ont des dépendances administratives avec chacune des collectivité locales (régions administratives françaises).</p> Galette - Souhaits #273 (Fermé): Montants des types de cotisationhttp://redmine.ulysses.fr/issues/2732012-06-29T14:46:59ZJohan Cwiklinskijohan@x-tnd.be
<p>Dans le paramétrage des contributions, avoir la possibilité de fixer les montants par type de cotisation (adhésion Adulte/enfants/chômeur... par type d'assurance...) et garder un historique d'une année sur l'autre.</p>