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()->warning(tr('_NUM_ prezzi di vendita non aggiornati per coefficiente impostato!', [
'_NUM_' => $articoli_coeff,
]));
if ($articoli_coeff > 0) {
flash()->warning(tr('_NUM_ prezzi di vendita non aggiornati per coefficiente impostato!', [
'_NUM_' => $articoli_coeff,
]));
}
break;

View File

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

View File

@ -242,9 +242,20 @@ foreach ($righe as $riga) {
echo '
<td class="text-center">';
if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
if ($dir == 'uscita'){
echo '
<div class="input-group-btn">';
<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>';
}
} else if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
echo '
<div class="input-group-btn">';
if ($riga->isArticolo() && !empty($riga->abilita_serial)) {
echo '
@ -252,7 +263,10 @@ foreach ($righe as $riga) {
<i class="fa fa-barcode"></i>
</a>';
}
}
if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
if ($riga->id != $fattura->rigaBollo->id) {
echo '
<a class="btn btn-xs btn-info" title="'.tr('Aggiungi informazioni FE per questa riga').'" onclick="apriInformazioniFE(this)">

View File

@ -86,6 +86,10 @@ switch (filter('op')) {
$id_anagrafica = filter('idanag');
$utente->id_anagrafica = $id_anagrafica;
// Gruppo
$id_gruppo = filter('idgruppo');
$utente->idgruppo = $id_gruppo;
$utente->save();
$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) {
$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 {
flash()->error(tr('Utente già esistente!'));
flash()->error(tr("Utente _USERNAME_ già esistente!", [
'_USERNAME_' => $username,
]));
}
break;

View File

@ -111,6 +111,19 @@ switch ($resource) {
}
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':

View File

@ -20,9 +20,19 @@
include_once __DIR__.'/../../core.php';
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 '
<div class="row">
<div class="col-md-12">

View File

@ -101,10 +101,30 @@ class DefaultHandler implements HandlerInterface
*/
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 = '
<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'].'() {
var button = $("#'.$values['id'].'_toggle");