Aggiunta creazione conti di secondo livello da Piano dei conti

This commit is contained in:
MatteoPistorello 2021-07-02 10:20:07 +02:00
parent 983a62c535
commit 91a0667aec
4 changed files with 61 additions and 26 deletions

View File

@ -44,6 +44,7 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
- Sostituito plugin **Componenti** nel modulo Impianti con la possibilità di inserire gli articoli di magazzino - Sostituito plugin **Componenti** nel modulo Impianti con la possibilità di inserire gli articoli di magazzino
- Aggiunta colonna Scaduto nel modulo Scadenzario - Aggiunta colonna Scaduto nel modulo Scadenzario
- Aggiunto campi confermato, data e ora evasione nel modulo **Preventivi** - Aggiunto campi confermato, data e ora evasione nel modulo **Preventivi**
- Aggiunta possibilità di creare un nuovi conti di secondo livello dal modulo **Piano dei conti**
### Fixed ### Fixed
- -

View File

@ -25,23 +25,34 @@ use Modules\PrimaNota\Movimento;
switch (post('op')) { switch (post('op')) {
// Aggiunta nuovo conto nel partitario // Aggiunta nuovo conto nel partitario
case 'add': case 'add':
$idpianodeiconti2 = post('idpianodeiconti2'); $id_conto = post('id_conto');
$numero = post('numero'); $numero = post('numero');
$descrizione = post('descrizione'); $descrizione = post('descrizione');
$lvl = post('lvl');
if (post('idpianodeiconti2') !== null) { if (post('id_conto') !== null) {
// Controllo che non sia stato usato un numero non valido del conto if($lvl=='2'){
$query = 'SELECT idpianodeiconti2, numero FROM co_pianodeiconti3 WHERE numero='.prepare($numero).' AND idpianodeiconti2='.prepare($idpianodeiconti2); // Controllo che non sia stato usato un numero non valido del conto
$rs = $dbo->fetchArray($query); $query = 'SELECT idpianodeiconti1, numero FROM co_pianodeiconti2 WHERE numero='.prepare($numero).' AND idpianodeiconti1='.prepare($id_conto);
$rs = $dbo->fetchArray($query);
if (sizeof($rs) == 0) { if (sizeof($rs) == 0) {
$query = 'INSERT INTO co_pianodeiconti3(numero, descrizione, idpianodeiconti2, dir) VALUES('.prepare($numero).', '.prepare($descrizione).', '.prepare($idpianodeiconti2).', (SELECT dir FROM co_pianodeiconti2 WHERE id='.prepare($idpianodeiconti2).'))'; $query = 'INSERT INTO co_pianodeiconti2(numero, descrizione, idpianodeiconti1) VALUES('.prepare($numero).', '.prepare($descrizione).', '.prepare($id_conto).')';
if ($dbo->query($query)) {
flash()->info(tr('Nuovo conto aggiunto!'));
} }
}else {
// Controllo che non sia stato usato un numero non valido del conto
$query = 'SELECT idpianodeiconti2, numero FROM co_pianodeiconti3 WHERE numero='.prepare($numero).' AND idpianodeiconti2='.prepare($id_conto);
$rs = $dbo->fetchArray($query);
if (sizeof($rs) == 0) {
$query = 'INSERT INTO co_pianodeiconti3(numero, descrizione, idpianodeiconti2, dir) VALUES('.prepare($numero).', '.prepare($descrizione).', '.prepare($id_conto).', (SELECT dir FROM co_pianodeiconti2 WHERE id='.prepare($id_conto).'))';
}
}
if ($dbo->query($query)) {
flash()->info(tr('Nuovo conto aggiunto!'));
} else { } else {
flash()->error(tr('Il numero scelto è già esistente!')); flash()->error(tr('Il numero scelto è già esistente!'));
} }
} }

View File

@ -19,13 +19,16 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
$id_conto_lvl2 = get('id'); $id_conto = get('id');
$lvl = get('lvl')
?><form action="<?php echo base_path(); ?>/editor.php?id_module=<?php echo Modules::get('Piano dei conti')['id']; ?>" method="post"> ?><form action="<?php echo base_path(); ?>/editor.php?id_module=<?php echo Modules::get('Piano dei conti')['id']; ?>" method="post">
<input type="hidden" name="op" value="add"> <input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-list"> <input type="hidden" name="backto" value="record-list">
<input type="hidden" name="idpianodeiconti2" value="<?php echo $id_conto_lvl2; ?>"> <input type="hidden" name="id_conto" value="<?php echo $id_conto; ?>">
<input type="hidden" name="lvl" value="<?php echo $lvl; ?>">
<div class="row"> <div class="row">

View File

@ -54,7 +54,12 @@ foreach ($primo_livello as $conto_primo) {
<hr> <hr>
<div class="box"> <div class="box">
<div class="box-header"> <div class="box-header">
<h3 class="box-title">'.$titolo.'</h3> <h3 class="box-title">
'.$titolo.'
<button type="button" class="btn btn-xs btn-primary" data-toggle="tooltip" title="'.tr('Aggiungi un nuovo conto...').'" onclick="aggiungiConto('.$conto_primo['id'].', 2)">
<i class="fa fa-plus-circle"></i>
</button>
</h3>
<div class="pull-right"> <div class="pull-right">
'.Prints::getLink('Mastrino', $conto_primo['id'], null, tr('Stampa'), null, 'lev=1').' '.Prints::getLink('Mastrino', $conto_primo['id'], null, tr('Stampa'), null, 'lev=1').'
</div> </div>
@ -77,7 +82,12 @@ foreach ($primo_livello as $conto_primo) {
</button> </button>
</div> </div>
<h5><b>'.$conto_secondo['numero'].' '.$conto_secondo['descrizione'].'</b></h5> <h5>
<b>'.$conto_secondo['numero'].' '.$conto_secondo['descrizione'].'</b>
<button type="button" class="btn btn-xs btn-primary" data-toggle="tooltip" title="'.tr('Aggiungi un nuovo conto...').'" onclick="aggiungiConto('.$conto_secondo['id'].')">
<i class="fa fa-plus-circle"></i>
</button>
</h5>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped table-hover table-condensed"> <table class="table table-striped table-hover table-condensed">
@ -136,7 +146,7 @@ foreach ($primo_livello as $conto_primo) {
// Possibilità di esplodere i movimenti del conto // Possibilità di esplodere i movimenti del conto
if (!empty($numero_movimenti)) { if (!empty($numero_movimenti)) {
echo ' echo '
<a href="javascript:;" class="btn btn-primary btn-xs plus-btn"><i class="fa fa-plus"></i></a>'; <button type="button" id="movimenti-'.$conto_terzo['id'].'" class="btn btn-default btn-xs plus-btn"><i class="fa fa-plus"></i></button>';
} }
// Span con i pulsanti // Span con i pulsanti
@ -215,13 +225,7 @@ foreach ($primo_livello as $conto_primo) {
echo ' echo '
</tr> </tr>
</tfoot> </tfoot>
</table>'; </table>
// Possibilità di inserire un nuovo conto
echo '
<button type="button" class="btn btn-xs btn-primary" data-toggle="tooltip" title="'.tr('Aggiungi un nuovo conto...').'" onclick="aggiungiConto('.$conto_secondo['id'].')">
<i class="fa fa-plus-circle"></i>
</button>
<br><br> <br><br>
</div>'; </div>';
@ -411,13 +415,29 @@ echo '
movimenti.slideToggle(); movimenti.slideToggle();
} }
$(this).find(".plus-btn i").toggleClass("fa-plus").toggleClass("fa-minus"); $(this).parent().find(".plus-btn i").toggleClass("fa-plus").toggleClass("fa-minus");
});
})
$("button[id^=movimenti-]").each(function() {
$(this).on("click", function() {
let movimenti = $(this).parent().find("div[id^=conto_]");
if(!movimenti.html()) {
let id_conto = $(this).attr("id").split("-").pop();
caricaMovimenti(movimenti.attr("id"), id_conto);
} else {
movimenti.slideToggle();
}
$(this).parent().find(".plus-btn i").toggleClass("fa-plus").toggleClass("fa-minus");
}); });
}) })
}); });
function aggiungiConto(id_conto_lvl2) { function aggiungiConto(id_conto, level = 3) {
openModal("'.tr('Nuovo conto').'", "'.$structure->fileurl('add_conto.php').'?id=" + id_conto_lvl2); openModal("'.tr('Nuovo conto').'", "'.$structure->fileurl('add_conto.php').'?id=" + id_conto + "&lvl=" + level);
} }
function modificaConto(id_conto, level = 3) { function modificaConto(id_conto, level = 3) {