This commit is contained in:
MatteoPistorello 2023-03-08 16:47:00 +01:00
commit 41c2c6cd63
7 changed files with 81 additions and 9 deletions

View File

@ -97,9 +97,11 @@ switch (post('op')) {
} }
flash()->info(tr('Prezzi di vendita aggiornati!')); flash()->info(tr('Prezzi di vendita aggiornati!'));
if ($articoli_coeff > 0) {
flash()->warning(tr('_NUM_ prezzi di vendita non aggiornati per coefficiente impostato!', [ flash()->warning(tr('_NUM_ prezzi di vendita non aggiornati per coefficiente impostato!', [
'_NUM_' => $articoli_coeff, '_NUM_' => $articoli_coeff,
])); ]));
}
break; break;

View File

@ -144,7 +144,7 @@ if ($dir == 'entrata') {
</div>'; </div>';
} }
$module_fatture = Modules::get('Fatture di acqusito')['id']; $module_fatture = Modules::get('Fatture di acquisto')['id'];
echo ' echo '
<br> <br>
<div class="alert alert-warning text-center has_serial hidden"> <div class="alert alert-warning text-center has_serial hidden">

View File

@ -242,7 +242,7 @@ foreach ($righe as $riga) {
echo ' echo '
<td class="text-center">'; <td class="text-center">';
if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') { if ($dir == 'uscita'){
echo ' echo '
<div class="input-group-btn">'; <div class="input-group-btn">';
@ -252,6 +252,20 @@ foreach ($righe as $riga) {
<i class="fa fa-barcode"></i> <i class="fa fa-barcode"></i>
</a>'; </a>';
} }
} else if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
echo '
<div class="input-group-btn">';
if ($riga->isArticolo() && !empty($riga->abilita_serial)) {
echo '
<a class="btn btn-primary btn-xs" title="'.tr('Modifica seriali della riga').'" onclick="modificaSeriali(this)">
<i class="fa fa-barcode"></i>
</a>';
}
}
if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
if ($riga->id != $fattura->rigaBollo->id) { if ($riga->id != $fattura->rigaBollo->id) {
echo ' echo '

View File

@ -86,6 +86,10 @@ switch (filter('op')) {
$id_anagrafica = filter('idanag'); $id_anagrafica = filter('idanag');
$utente->id_anagrafica = $id_anagrafica; $utente->id_anagrafica = $id_anagrafica;
// Gruppo
$id_gruppo = filter('idgruppo');
$utente->idgruppo = $id_gruppo;
$utente->save(); $utente->save();
$dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente)); $dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente));
@ -96,8 +100,17 @@ switch (filter('op')) {
foreach ($sedi as $id_sede) { foreach ($sedi as $id_sede) {
$dbo->query('INSERT INTO `zz_user_sedi` (`id_user`,`idsede`) VALUES ('.prepare($id_utente).', '.prepare($id_sede).')'); $dbo->query('INSERT INTO `zz_user_sedi` (`id_user`,`idsede`) VALUES ('.prepare($id_utente).', '.prepare($id_sede).')');
} }
flash()->info(tr("Informazioni per l'utente _USERNAME_ salvate correttamente!", [
'_USERNAME_' => $utente->username,
]));
} else { } else {
flash()->error(tr('Utente già esistente!'));
flash()->error(tr("Utente _USERNAME_ già esistente!", [
'_USERNAME_' => $username,
]));
} }
break; break;

View File

@ -112,6 +112,19 @@ switch ($resource) {
break; break;
case 'gruppi':
$query = "SELECT zz_groups.id, zz_groups.nome AS descrizione FROM zz_groups |where| ORDER BY descrizione";
foreach ($elements as $element) {
$filter[] = 'zz_groups.id='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = 'zz_groups.nome LIKE '.prepare('%'.$search.'%');
}
break;
case 'moduli_gruppo': case 'moduli_gruppo':
$query = "SELECT zz_modules.id, zz_modules.title AS descrizione FROM zz_modules LEFT JOIN zz_permissions ON zz_permissions.idmodule=zz_modules.id |where| GROUP BY id ORDER BY descrizione"; $query = "SELECT zz_modules.id, zz_modules.title AS descrizione FROM zz_modules LEFT JOIN zz_permissions ON zz_permissions.idmodule=zz_modules.id |where| GROUP BY id ORDER BY descrizione";

View File

@ -21,8 +21,18 @@ include_once __DIR__.'/../../core.php';
if (!empty(filter('idanagrafica'))) { if (!empty(filter('idanagrafica'))) {
$utente['id_anagrafica'] = filter('idanagrafica'); $utente['id_anagrafica'] = filter('idanagrafica');
}else{
$current_idgruppo = $dbo->fetchOne('SELECT `id` FROM `zz_groups` WHERE `id` = '.prepare($id_record))['id'];
} }
echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Gruppo di appartenenza').'", "name": "idgruppo", "required": 1, "ajax-source": "gruppi", "value": "'.(!empty($utente['idgruppo']) ? $utente['idgruppo'] : $current_idgruppo ).'", "icon-after": "add|'.Modules::get('Utenti e permessi')['id'].'", "readonly": "'.(($utente['id'] == '1') ? 1 : 0).'" ]}
</div>
</div>';
echo ' echo '
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">

View File

@ -101,10 +101,30 @@ class DefaultHandler implements HandlerInterface
*/ */
protected function password(&$values, &$extras) protected function password(&$values, &$extras)
{ {
$values['icon-after'] = '<i onclick="togglePassword_'.$values['id'].'()" class="clickable fa" id="'.$values['id'].'_toggle"></i>'; $values['icon-after'] = '<i onclick="generatePassword_'.$values['id'].'()" class="clickable fa fa-cog" id="'.$values['id'].'_generate"></i> | <i onclick="togglePassword_'.$values['id'].'()" class="clickable fa" id="'.$values['id'].'_toggle"></i>';
$result = ' $result = '
<script> <script>
const characters ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
function generateString(length) {
let result = " ";
const charactersLength = characters.length;
for ( let i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
function generatePassword_'.$values['id'].'() {
var button = $("#'.$values['id'].'_generate");
button.attr("title", "'.tr('Genera password').'");
$("#'.$values['id'].'").val(generateString(10));
}
function togglePassword_'.$values['id'].'() { function togglePassword_'.$values['id'].'() {
var button = $("#'.$values['id'].'_toggle"); var button = $("#'.$values['id'].'_toggle");