Overview
Comment: | Fix user details page, display number of services |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
e9afce499d280c76ce84df2c7d56c08c |
User & Date: | bohwaz on 2020-11-07 20:19:50 |
Other Links: | branch diff | manifest | tags |
Context
2020-11-08
| ||
00:50 | Implement list of services per user check-in: 18fdb56468 user: bohwaz tags: dev | |
2020-11-07
| ||
20:19 | Fix user details page, display number of services check-in: e9afce499d user: bohwaz tags: dev | |
17:01 | Saving a service for a user is working \o/ check-in: c4ed8acc1d user: bohwaz tags: dev | |
Changes
Modified src/include/lib/Garradin/Services/Services.php from [89f45ea0ac] to [f203184d7c].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php namespace Garradin\Services; use Garradin\Config; use Garradin\DB; use Garradin\Entities\Services\Service; use KD2\DB\EntityManager; class Services { static public function get(int $id) { return EntityManager::findOneById(Service::class, $id); } static public function listAssoc() { return DB::getInstance()->getAssoc('SELECT id, label FROM services ORDER BY label COLLATE NOCASE;'); } static public function listGroupedWithFees(?int $user_id = null) { $services = DB::getInstance()->getGrouped('SELECT id, label, duration, start_date, end_date, description FROM services;'); $fees = Fees::listAllByService($user_id); $out = []; | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php namespace Garradin\Services; use Garradin\Config; use Garradin\DB; use Garradin\Entities\Services\Service; use Garradin\Entities\Services\Service_User; use KD2\DB\EntityManager; class Services { static public function get(int $id) { return EntityManager::findOneById(Service::class, $id); } static public function listAssoc() { return DB::getInstance()->getAssoc('SELECT id, label FROM services ORDER BY label COLLATE NOCASE;'); } static public function countForUser(int $user_id) { return DB::getInstance()->count(Service_User::TABLE, 'id_user = ?', $user_id); } static public function listGroupedWithFees(?int $user_id = null) { $services = DB::getInstance()->getGrouped('SELECT id, label, duration, start_date, end_date, description FROM services;'); $fees = Fees::listAllByService($user_id); $out = []; |
︙ | ︙ |
Modified src/templates/admin/membres/fiche.tpl from [2694db1aec] to [b44e351993].
1 2 3 4 5 6 7 8 9 | {include file="admin/_head.tpl" title="%s (%s)"|args:$membre.identite:$categorie.nom current="membres"} <nav class="tabs"> <ul> <li class="current"><a href="{$admin_url}membres/fiche.php?id={$membre.id}">{$membre.identite}</a></li> {if $session->canAccess('membres', Membres::DROIT_ECRITURE)}<li><a href="{$admin_url}membres/modifier.php?id={$membre.id}">Modifier</a></li>{/if} {if $session->canAccess('membres', Membres::DROIT_ADMIN) && $user.id != $membre.id} <li><a href="{$admin_url}membres/supprimer.php?id={$membre.id}">Supprimer</a></li> {/if} | < > | | | | | < < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | {include file="admin/_head.tpl" title="%s (%s)"|args:$membre.identite:$categorie.nom current="membres"} <nav class="tabs"> <ul> <li class="current"><a href="{$admin_url}membres/fiche.php?id={$membre.id}">{$membre.identite}</a></li> {if $session->canAccess('membres', Membres::DROIT_ECRITURE)}<li><a href="{$admin_url}membres/modifier.php?id={$membre.id}">Modifier</a></li>{/if} {if $session->canAccess('membres', Membres::DROIT_ADMIN) && $user.id != $membre.id} <li><a href="{$admin_url}membres/supprimer.php?id={$membre.id}">Supprimer</a></li> {/if} </ul> </nav> <dl class="cotisation"> <dt>Activités et cotisations</dt> <dd> {if $nb_services == 1} Inscrit à <strong>{$nb_services}</strong> activité {elseif $nb_activites} Inscrit à <strong>{$nb_services}</strong> activités {else} N'est inscrit à aucune activité {/if} — <a href="{$admin_url}services/user.php?id={$membre.id}">Voir les inscriptions et règlements des activités</a> </dd> {if $session->canAccess('membres', Membres::DROIT_ECRITURE)} <dd>{linkbutton href="services/save.php?user=%d"|args:$membre.id label="Enregistrer une activité" shape="plus"}</dd> {/if} {if $session->canAccess('membres', Membres::DROIT_ACCES)} {if !empty($transactions_linked)} <dt>Écritures comptables liées</dt> <dd><a href="{$admin_url}acc/transactions/user.php?id={$membre.id}">{$transactions_linked} écritures comptables liées à ce membre</a></dd> {/if} {if !empty($transactions_created)} |
︙ | ︙ |
Modified src/www/admin/membres/fiche.php from [1ff0192a35] to [d7be312f13].
1 2 3 4 5 6 7 8 9 10 11 | <?php namespace Garradin; use Garradin\Accounting\Transactions; require_once __DIR__ . '/_inc.php'; qv(['id' => 'required|numeric']); $id = (int) qg('id'); | > | 1 2 3 4 5 6 7 8 9 10 11 12 | <?php namespace Garradin; use Garradin\Accounting\Transactions; use Garradin\Services\Services; require_once __DIR__ . '/_inc.php'; qv(['id' => 'required|numeric']); $id = (int) qg('id'); |
︙ | ︙ | |||
20 21 22 23 24 25 26 | $tpl->assign('champs', $champs->getList()); $cats = new Membres\Categories; $categorie = $cats->get($membre->id_categorie); $tpl->assign('categorie', $categorie); | < | < | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | $tpl->assign('champs', $champs->getList()); $cats = new Membres\Categories; $categorie = $cats->get($membre->id_categorie); $tpl->assign('categorie', $categorie); $tpl->assign('nb_services', Services::countForUser($membre->id)); if ($session->canAccess('compta', Membres::DROIT_ACCES)) { $tpl->assign('transactions_linked', Transactions::countForUser($membre->id)); $tpl->assign('transactions_created', Transactions::countForCreator($membre->id)); } $tpl->assign('membre', $membre); $tpl->display('admin/membres/fiche.tpl'); |
Deleted src/www/admin/membres/services.php version [3c5966921b].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |