Overview
Comment: | Revert [729057f07841eaadbd94bae443f9f141447ad0360b9ea125b8e6090314ddc292] as it breaks |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
fc0e659ec564bc6d627d08d5c01520fb |
User & Date: | bohwaz on 2023-01-28 01:25:14 |
Other Links: | manifest | tags |
Context
2023-01-28
| ||
01:39 | Improve error message if date does not fit with the selected year, see [9e9e996dcc] check-in: 859f52234c user: bohwaz tags: trunk | |
01:25 | Revert [729057f07841eaadbd94bae443f9f141447ad0360b9ea125b8e6090314ddc292] as it breaks check-in: fc0e659ec5 user: bohwaz tags: trunk | |
2023-01-27
| ||
23:47 | Revert [c6ca249370] while waiting for a proper fix check-in: 2fc0cf9c4f user: bohwaz tags: trunk | |
17:53 | Fix User interface while trying to subscribe a member to a service - and using accounting - with a fee not corresponding the current year check-in: 729057f078 user: alinaar tags: trunk | |
Changes
Modified src/templates/services/user/_service_user_form.tpl from [bd05dc259f] to [6e259c61e9].
︙ | ︙ | |||
93 94 95 96 97 98 99 | {foreach from=$grouped_services item="service"} <?php if (!count($service->fees)) { continue; } ?> <dl data-service="s{$service.id}"> <dt><label for="f_fee">Tarif</label> <b>(obligatoire)</b></dt> {foreach from=$service.fees key="service_id" item="fee"} <dd class="radio-btn"> | < < < < < < < | < < < | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | {foreach from=$grouped_services item="service"} <?php if (!count($service->fees)) { continue; } ?> <dl data-service="s{$service.id}"> <dt><label for="f_fee">Tarif</label> <b>(obligatoire)</b></dt> {foreach from=$service.fees key="service_id" item="fee"} <dd class="radio-btn"> {input type="radio" name="id_fee" value=$fee.id data-user-amount=$fee.user_amount data-account=$fee.id_account data-year=$fee.id_year label=null data-project=$fee.id_project source=$service_user } <label for="f_id_fee_{$fee.id}"> <div> <h3>{$fee.label}</h3> <p> {if $fee.user_amount && $fee.formula} <strong>{$fee.user_amount|raw|money_currency}</strong> (montant calculé) {elseif $fee.formula} montant calculé, variable selon les membres {elseif $fee.user_amount} <strong>{$fee.user_amount|raw|money_currency}</strong> {else} prix libre ou gratuit {/if} </p> {if $fee.description} <p class="help"> {$fee.description|escape|nl2br} </p> {/if} </div> </label> </dd> {/foreach} </dl> {/foreach} |
︙ | ︙ | |||
148 149 150 151 152 153 154 | <dd class="help">Décocher cette case pour pouvoir suivre les règlements de personnes qui payent en plusieurs fois. Il sera possible de cocher cette case lorsque le solde aura été réglé.</dd> </dl> </fieldset> {if $create} <fieldset class="accounting"> <legend>{input type="checkbox" name="create_payment" value=1 default=1 label="Enregistrer en comptabilité"}</legend> | | < < < < < | | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | <dd class="help">Décocher cette case pour pouvoir suivre les règlements de personnes qui payent en plusieurs fois. Il sera possible de cocher cette case lorsque le solde aura été réglé.</dd> </dl> </fieldset> {if $create} <fieldset class="accounting"> <legend>{input type="checkbox" name="create_payment" value=1 default=1 label="Enregistrer en comptabilité"}</legend> <dl> {if !empty($users)} <dd class="help">Une écriture sera créée pour chaque membre inscrit.</dd> {/if} {input type="money" name="amount" label="Montant réglé par le membre" required=true help="En cas de règlement en plusieurs fois il sera possible d'ajouter des règlements via la page de suivi des activités de ce membre."} {input type="list" target="!acc/charts/accounts/selector.php?targets=%s&year=0"|args:$account_targets name="account_selector" label="Compte de règlement" required=true} {input type="text" name="reference" label="Numéro de pièce comptable" help="Numéro de facture, de reçu, de note de frais, etc."} {input type="text" name="payment_reference" label="Référence de paiement" help="Numéro de chèque, numéro de transaction CB, etc."} {input type="textarea" name="notes" label="Remarques"} {if count($projects) > 1} |
︙ | ︙ |
Modified src/www/admin/services/user/_form.php from [bacbc42c87] to [148f0505cd].
1 2 3 4 5 6 | <?php namespace Garradin; use Garradin\Accounting\Projects; use Garradin\Services\Services; | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php namespace Garradin; use Garradin\Accounting\Projects; use Garradin\Services\Services; if (!defined('\Garradin\ROOT')) { die(); } assert(isset($tpl, $form_url, $create)); |
︙ | ︙ | |||
40 41 42 43 44 45 46 | $tpl->assign([ 'custom_js' => ['service_form.js'], ]); $tpl->assign(compact('form_url', 'today', 'grouped_services', 'current_only', 'has_past_services', 'create', 'copy_service', 'copy_service_only_paid', 'users')); | < < < < < < < < < < < < < < < < | 38 39 40 41 42 43 44 45 | $tpl->assign([ 'custom_js' => ['service_form.js'], ]); $tpl->assign(compact('form_url', 'today', 'grouped_services', 'current_only', 'has_past_services', 'create', 'copy_service', 'copy_service_only_paid', 'users')); $tpl->assign('projects', Projects::listAssocWithEmpty()); |
Modified src/www/admin/static/scripts/service_form.js from [1131c2589a] to [d3a768cf39].
︙ | ︙ | |||
24 25 26 27 28 29 30 | fee = first; } else if (!first) { document.querySelector('input[name=id_fee]:checked').checked = false; } if (fee) { | | | < < < < < < | < < < | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | fee = first; } else if (!first) { document.querySelector('input[name=id_fee]:checked').checked = false; } if (fee) { selectFee(fee); } } function selectFee(elm) { var amount = parseInt(elm.getAttribute('data-user-amount'), 10); // Toggle accounting part of the form var accounting = elm.getAttribute('data-account') ? true : false; g.toggle('.accounting', accounting); if (accounting && create) { $('#f_create_payment_1').checked = true; let btn = $('#f_account_selector_container').querySelector('button'); btn.value = btn.value.replace(/&year=\d+/, '') + '&year=' + elm.getAttribute('data-year'); } // Fill the amount paid by the user if (amount && create) { $('#f_amount').value = g.formatMoney(amount); } if (elm.dataset.project) { $('#f_id_project').value = elm.dataset.project; } } function initForm() { $('input[name=id_service]').forEach((e) => { e.onchange = () => { selectService(e); }; }); $('input[name=id_fee]').forEach((e) => { e.onchange = () => { selectFee(e); }; }); selected = document.querySelector('input[name="id_service"]:checked') || document.querySelector('input[name="id_service"]'); selected.checked = true; let date_input = $('#f_date'); create = date_input.form.dataset.create == 'true'; |
︙ | ︙ |