Compare commits
5 Commits
fa6a6bd2c4
...
b16f3d0b4f
Author | SHA1 | Date |
---|---|---|
valentina | b16f3d0b4f | |
valentina | ef39995d8f | |
Beppe | db69f59526 | |
valentina | 80322de09a | |
valentina | b86f12b10f |
|
@ -100,6 +100,7 @@
|
|||
"Modules\\Scadenzario\\": ["modules/scadenzario/custom/src/", "modules/scadenzario/src/"],
|
||||
"Modules\\PrimaNota\\": ["modules/primanota/custom/src/", "modules/primanota/src/"],
|
||||
"Modules\\Utenti\\": ["modules/utenti/custom/src/", "modules/utenti/src/"],
|
||||
"Modules\\Segmenti\\": ["modules/segmenti/custom/src/", "modules/segmenti/src/"],
|
||||
"Modules\\StatoServizi\\": ["modules/stato_servizi/custom/src/", "modules/stato_servizi/src/"],
|
||||
"Modules\\StatiIntervento\\": ["modules/stati_intervento/custom/src/", "modules/stati_intervento/src/"],
|
||||
"Modules\\StatiPreventivo\\": ["modules/stati_preventivo/custom/src/", "modules/stati_preventivo/src/"],
|
||||
|
|
|
@ -48,6 +48,6 @@ class MicrosoftLogin extends Azure implements ProviderInterface
|
|||
{
|
||||
$me = $this->get('https://graph.microsoft.com/v1.0/me', $access_token);
|
||||
|
||||
return $me['mail'];
|
||||
return $me['userPrincipalName'];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,8 +77,8 @@ switch ($op) {
|
|||
case 'add':
|
||||
$idanagrafica = post('idanagrafica');
|
||||
$data = post('data');
|
||||
$idtipodocumento = post('idtipodocumento');
|
||||
$id_segment = post('id_segment');
|
||||
$idtipodocumento = post('idtipodocumento_add');
|
||||
$id_segment = post('id_segment_add');
|
||||
|
||||
if ($dir == 'uscita') {
|
||||
$numero_esterno = post('numero_esterno');
|
||||
|
@ -882,10 +882,12 @@ switch ($op) {
|
|||
$imponibile = 0;
|
||||
$sconto = 0;
|
||||
|
||||
$id_segment = post('id_segment');
|
||||
|
||||
$data = date('Y-m-d');
|
||||
$anagrafica = $fattura->anagrafica;
|
||||
$tipo = Tipo::find(post('idtipodocumento'));
|
||||
|
||||
$id_segment = post('id_segment_autofattura');
|
||||
$tipo = Tipo::find(post('idtipodocumento_autofattura'));
|
||||
$iva = Aliquota::find(setting('Iva predefinita'));
|
||||
|
||||
$imponibile = $database->table('co_righe_documenti')
|
||||
|
|
|
@ -69,11 +69,11 @@ $idtipodocumento = Tipo::where('predefined', 1)->where('dir', $dir)->first()->id
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tipo documento'); ?>", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`co_tipidocumento`.`codice_tipo_documento_fe`, ' - ', `co_tipidocumento_lang`.`title`) AS descrizione, `co_tipidocumento`.`id_segment`, `zz_segments_lang`.`title` as name_segment FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_tipidocumento`.`id_segment` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) WHERE `co_tipidocumento`.`enabled` = 1 AND `co_tipidocumento`.`dir` = '<?php echo $dir; ?>' ORDER BY `co_tipidocumento`.`codice_tipo_documento_fe`", "value": "<?php echo $idtipodocumento; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Tipo documento'); ?>", "name": "idtipodocumento_add", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`co_tipidocumento`.`codice_tipo_documento_fe`, ' - ', `co_tipidocumento_lang`.`title`) AS descrizione, `co_tipidocumento`.`id_segment`, `zz_segments_lang`.`title` as name_segment FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_tipidocumento`.`id_segment` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) WHERE `co_tipidocumento`.`enabled` = 1 AND `co_tipidocumento`.`dir` = '<?php echo $dir; ?>' ORDER BY `co_tipidocumento`.`codice_tipo_documento_fe`", "value": "<?php echo $idtipodocumento; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo Tipo::where('id', $idtipodocumento)->where('dir', $dir)->first()->id_segment; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment_add", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo Tipo::where('id', $idtipodocumento)->where('dir', $dir)->first()->id_segment; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -231,8 +231,8 @@ $(document).ready(function () {
|
|||
}
|
||||
});
|
||||
|
||||
input("idtipodocumento").change(function () {
|
||||
$("#id_segment").selectSetNew($(this).selectData().id_segment, $(this).selectData().name_segment);
|
||||
input("idtipodocumento_add").change(function () {
|
||||
$("#id_segment_add").selectSetNew($(this).selectData().id_segment, $(this).selectData().name_segment);
|
||||
|
||||
$.ajax({
|
||||
url: globals.rootdir + "/actions.php",
|
||||
|
|
|
@ -19,9 +19,12 @@
|
|||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
use Models\Module;
|
||||
use Modules\Fatture\Tipo;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
$fattura = Fattura::find($id_record);
|
||||
|
||||
$id_module_fatture_vendita = Module::where('name', 'Fatture di vendita')->first()->id;
|
||||
$id_segment = setting('Sezionale per autofatture di vendita');
|
||||
|
||||
echo '
|
||||
<form action="" method="post" id="crea-autofattura">
|
||||
|
@ -30,11 +33,10 @@ echo '
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT_WS(\" - \",`codice_tipo_documento_fe`, `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') WHERE `dir`=\"entrata\" AND `codice_tipo_documento_fe` IN(\"TD16\", \"TD17\", \"TD18\", \"TD19\", \"TD20\", \"TD21\", \"TD28\") ORDER BY `codice_tipo_documento_fe`" ]}
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento_autofattura", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`co_tipidocumento`.`codice_tipo_documento_fe`, \" - \", `co_tipidocumento_lang`.`title`) AS descrizione, `co_tipidocumento`.`id_segment`, `zz_segments_lang`.`title` as name_segment FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `fe_tipi_documento` ON `co_tipidocumento`.`codice_tipo_documento_fe` = `fe_tipi_documento`.`codice` INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_tipidocumento`.`id_segment` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dir`=\"entrata\" AND `fe_tipi_documento`.`is_autofattura` = 1 ORDER BY `fe_tipi_documento`.`codice`", "value": "'.$idtipodocumento.'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_module_fatture_vendita, 'is_sezionale' => 1]).', "value": "'.$id_segment.'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment_autofattura", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_module_fatture_vendita, 'is_sezionale' => 1]).', "value": "'.Tipo::where('id', $idtipodocumento)->where('dir', 'entrata')->first()->id_segment.'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -48,4 +50,12 @@ echo '
|
|||
</div>
|
||||
</form>
|
||||
|
||||
<script>$(document).ready(init)</script>';
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
init();
|
||||
|
||||
input("idtipodocumento_autofattura").change(function () {
|
||||
$("#id_segment_autofattura").selectSetNew($(this).selectData().id_segment, $(this).selectData().name_segment);
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
use Modules\Segmenti\Segmento;
|
||||
|
||||
switch ($resource) {
|
||||
case 'segmenti':
|
||||
|
@ -27,6 +28,9 @@ switch ($resource) {
|
|||
$is_sezionale = $superselect['is_sezionale'];
|
||||
$for_fe = $superselect['for_fe'];
|
||||
$escludi_id = $superselect['escludi_id'];
|
||||
$tipo = $dbo->fetchOne('SELECT * FROM fe_tipi_documento WHERE codice = '.prepare($superselect['tipo']));
|
||||
$predefined_accredito = Segmento::where('predefined_accredito', 1)->where('id_module', $id_module)->first();
|
||||
$predefined_addebito = Segmento::where('predefined_addebito', 1)->where('id_module', $id_module)->first();
|
||||
|
||||
if (isset($id_module)) {
|
||||
$query = 'SELECT `zz_segments`.`id`, `zz_segments_lang`.`title` AS descrizione FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `zz_group_segment` ON `zz_segments`.`id` = `zz_group_segment`.`id_segment` |where| ORDER BY `title` ASC';
|
||||
|
@ -34,19 +38,19 @@ switch ($resource) {
|
|||
$where[] = '`zz_segments`.`id_module` = '.prepare($id_module);
|
||||
$where[] = '`zz_group_segment`.`id_gruppo` = '.prepare($user->idgruppo);
|
||||
|
||||
if ($is_fiscale != null) {
|
||||
if ($is_fiscale) {
|
||||
$where[] = '`zz_segments`.`is_fiscale` = '.prepare($is_fiscale);
|
||||
}
|
||||
|
||||
if ($is_sezionale != null) {
|
||||
if ($is_sezionale) {
|
||||
$where[] = '`zz_segments`.`is_sezionale` = '.prepare($is_sezionale);
|
||||
}
|
||||
|
||||
if ($for_fe != null) {
|
||||
if ($for_fe) {
|
||||
$where[] = '`zz_segments`.`for_fe` = '.prepare($for_fe);
|
||||
}
|
||||
|
||||
if ($escludi_id != null) {
|
||||
if ($escludi_id) {
|
||||
$where[] = '`zz_segments`.`id` != '.prepare($escludi_id);
|
||||
}
|
||||
|
||||
|
@ -54,9 +58,22 @@ switch ($resource) {
|
|||
$filter[] = '`zz_segments`.`id`='.prepare($element);
|
||||
}
|
||||
|
||||
if ($tipo['is_autofattura']) {
|
||||
$where[] = '`zz_segments`.`autofatture` = 1';
|
||||
}
|
||||
|
||||
if ($tipo['is_nota_credito'] && $predefined_accredito) {
|
||||
$where[] = '`zz_segments`.`predefined_accredito` = 1';
|
||||
}
|
||||
|
||||
if ($tipo['is_nota_debito'] && $predefined_addebito) {
|
||||
$where[] = '`zz_segments`.`predefined_addebito` = 1';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = '`zz_segments_lang`.`title` LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.r.l.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Modules\Segmenti;
|
||||
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Segmento extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'zz_segments';
|
||||
}
|
|
@ -59,7 +59,7 @@ $id_module_vendite = Module::where('name', 'Fatture di vendita')->first()->id;
|
|||
echo '
|
||||
<div class="col-md-3">
|
||||
|
||||
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1]).', "value": "$id_segment$" ]}
|
||||
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1, 'tipo' => $record['codice_tipo_documento_fe']]).', "value": "$id_segment$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
|
|
|
@ -21,3 +21,19 @@ INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
|||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'id'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Nome' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'Nome'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Link' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'Link');
|
||||
|
||||
-- Rimozione impostazioni deprecate per sezionale predefinito autofatture
|
||||
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di vendita';
|
||||
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di acquisto';
|
||||
|
||||
-- Aggiunta flag is_autofattura, is_nota_debito e is_nota_credito in fe_tipi_documento
|
||||
ALTER TABLE `fe_tipi_documento` ADD `is_autofattura` INT NOT NULL DEFAULT '0' AFTER `name`, ADD `is_nota_credito` INT NOT NULL DEFAULT '0' AFTER `is_autofattura`, ADD `is_nota_debito` INT NOT NULL DEFAULT '0' AFTER `is_nota_credito`;
|
||||
UPDATE `fe_tipi_documento` SET `is_nota_credito` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD04';
|
||||
UPDATE `fe_tipi_documento` SET `is_nota_debito` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD05';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD16';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD17';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD18';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD19';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD20';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD21';
|
||||
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD28';
|
Loading…
Reference in New Issue