Compare commits

...

739 Commits

Author SHA1 Message Date
5cfa3b58f2 Merge branch 'hotfix/Hotfix-14'
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-11 12:57:52 +02:00
0c5d1fce04 rimosso vincolo su variazione del 20% in accettazione merce da campo 2025-04-11 12:56:45 +02:00
df5f80e35e Finish FixGetAuthorization
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-04-09 12:23:46 +02:00
87b218d3e4 Fix metodo getAuthorization per campi boolean 2025-04-09 12:23:19 +02:00
aec2529a82 Merge branch 'hotfix/Hotfix-13'
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-08 13:28:14 +02:00
d52890fe5c modificata la gestione della modalita di raccolta dei carciofi 2025-04-08 13:27:17 +02:00
d17be287e4 Finish FixMES
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-07 13:09:35 +02:00
1df33501f4 Fix timer mes disattivato 2025-04-07 13:09:15 +02:00
e3975173fd Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-07 11:56:57 +02:00
6b7181328e Fix aggiunta module in js globale 2025-04-07 11:56:42 +02:00
f4bd50c09c Finish FixBuildUglify
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-07 11:32:38 +02:00
53e7a2ca7a Fix aggiunta module in application.min.js 2025-04-07 11:32:20 +02:00
66cf2f2abb Finish PermessiMES
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-04 19:12:47 +02:00
76d3cfd949 Merge branch 'develop' into feature/PermessiMES 2025-04-04 19:12:40 +02:00
04cbcc6a6f Aggiunto fornitore in contratti di acquisto e fix lista ordini v in popup ord prod 2025-04-04 19:12:23 +02:00
f149fd4063 rimosso blocco su salvataggio numero bin calibrati
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-03 12:05:55 +02:00
1f57c324b7 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-03 10:34:38 +02:00
57426b16b1 Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-03 10:34:37 +02:00
4e1740c909 [ROSSOGARGANO - Accettzione da campo]
- aggiunto controllo su numero certificato = 0
2025-04-03 10:29:26 +02:00
3bd8b10c83 Merge branch 'develop' into feature/PermessiMES 2025-04-03 09:52:33 +02:00
2799dd9212 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-03 09:34:14 +02:00
e9311c0346 Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-03 09:34:13 +02:00
15d88302b0 [kendo]
spostata libreria icone kendo in locale da cdn
2025-04-03 09:33:29 +02:00
b0f2b488b7 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-02 19:29:08 +02:00
aadb70c59d Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-02 19:29:06 +02:00
296f3fac2c [Rossogargano]
- allineato rientro versamento con procedura versamento
2025-04-02 19:18:49 +02:00
49b33d3d7d [ROSSOGARGANO]
- modifiche in accettazione da campo
- gestita partitaMagProd in campi raccolta e accettazione da campo
- nuovo versamento materiale su ordine
2025-04-02 17:44:11 +02:00
161711ac4f Rimosso uso setup ABILITA_MODIFICA_ARTICOLI
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-01 13:12:42 +02:00
2d3c10f66c Spostato stash per feature
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-04-01 09:43:44 +02:00
783bec8ee8 Rimosso permesso btnModificaLotto in favore della setup abilitaCreaDuplicaOrdine
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-31 18:57:26 +02:00
f3f6bee546 Merge branch 'develop' into feature/PermessiMES 2025-03-31 17:12:57 +02:00
eb63cfa503 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 17:10:20 +02:00
f874c9f567 Finish FixJenkins
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 17:10:19 +02:00
7e3044c605 Fix pubblicazione pvm 2025-03-31 17:10:06 +02:00
ade7b82364 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit is unstable
2025-03-31 16:31:15 +02:00
23eb528a7e Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit is unstable
2025-03-31 16:31:14 +02:00
7a4f75f3d3 Gestito filtro data cons in mrp, descrizione estesa in popup nuovo articolo piano arrivi e fix undefined sugli sconti 2025-03-31 16:30:58 +02:00
530c064d04 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 13:40:20 +02:00
8b95ba2061 Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 13:40:20 +02:00
8281ced43b Test Jenkinsfile 2025-03-31 13:40:06 +02:00
54e4ac19f9 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit is unstable
2025-03-31 13:26:27 +02:00
bcb4f73ada Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 13:26:26 +02:00
cfaf4256f7 Esclusa cartella cache da ftpPublisher 2025-03-31 13:26:11 +02:00
c3283d9a3f Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 12:32:11 +02:00
a72d0d7a90 Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit is unstable
2025-03-31 12:32:10 +02:00
117e24159c rimessa la cdn su incone kendo 2025-03-31 12:31:51 +02:00
57d2dc41d4 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 12:20:54 +02:00
46bcc933af Finish Hotfix-13
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-31 12:20:53 +02:00
5177548288 [Rossogargano]
- corrette query accettazione da campo
- rimossa CDN icone kendo
2025-03-31 12:20:23 +02:00
fe2ef2688c [Rossogargano]
- corrette query accettazione da campo
- rimossa CDN icone kendo
2025-03-31 12:19:27 +02:00
b2f76ff8f8 Aggiunto tasto jsonEditor in popup depositi
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-28 16:55:05 +01:00
87e38f194e Aggiunti totali e rimossi sconti aggiuntivi in popup ordine piano arrivi
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-28 12:07:24 +01:00
1c245d882a Impostata chiamata load_step2 in post in accettazione
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-28 09:56:46 +01:00
6d5e667072 Cambio permesso btn nuovo ordine in mes
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-27 17:45:31 +01:00
23f9608ba0 Gestiti nuovi permessi ed implementati sul mes
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-27 16:34:10 +01:00
2f7259cbab Fix errore in invio email con rag. soc. con virgola
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-27 16:30:47 +01:00
16b9a842db Fix ora mancante in stampa etichette carciofi
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-26 16:50:40 +01:00
79108cdf4f Mantenuto il keypair in fase di login per non invalidare le richieste da js
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-26 12:13:01 +01:00
7eae1328f1 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-25 13:11:50 +01:00
103646d845 Finish FixDescrizionePopOrdDP 2025-03-25 13:11:50 +01:00
9a074d30ff Fix descrizione articolo mancante in popup ordine delivery plan 2025-03-25 13:10:44 +01:00
2e01c612c3 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-25 12:26:41 +01:00
3644067476 Finish AggCal100Report 2025-03-25 12:26:41 +01:00
b8026fb947 Aggiunto calibro 100 in report carciofi 2025-03-25 12:26:26 +01:00
a66678587d Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-25 12:13:58 +01:00
8a219a7e2e Finish Hotfix-13 2025-03-25 12:13:57 +01:00
d3bd9b05b8 [CARELLI - accettazione]
- fix data max accettazione
[GRAMM - MES]
- corretta gestione setup suggest data scad
[ROSSOGARGANO - Carciofi]
- corretta gestione calcolo min/max prezzo
2025-03-25 12:05:56 +01:00
ea19359fe2 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-25 11:36:40 +01:00
c14e1bda6a Finish FixInitAsListino 2025-03-25 11:36:40 +01:00
0ebe899735 Fix pedane vuote in apertura ordine da listino con righe 2025-03-25 11:36:25 +01:00
d3e63c6028 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-25 09:53:03 +01:00
7a56eea14c Finish AggCal100 2025-03-25 09:53:02 +01:00
7f81a45fec Aggiunto calibro 100 in carciofi 2025-03-25 09:52:47 +01:00
b8b1627e01 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-24 17:27:00 +01:00
34b8a2f4d4 Finish Hotfix-13 2025-03-24 17:26:59 +01:00
6622e5b398 [CMMS]
corretta condizione su convalida manutenzione in apertura popup
2025-03-24 17:23:38 +01:00
07c71c2c4c Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-24 16:21:21 +01:00
dd60cea2d3 Finish Hotfix-13 2025-03-24 16:21:20 +01:00
7be43ec324 [BIOLEVANTE - CMMS]
gestita convalidazione manutenzioni
2025-03-24 16:20:48 +01:00
88ab7dc456 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-24 12:10:11 +01:00
c31a1ce31e Finish Hotfix-13 2025-03-24 12:10:10 +01:00
498622e889 [CARELLI - ACCETTAZIONE]
aggiunto popup di avviso in caso di accettazione di merce a 0 con qta documento > 0
2025-03-24 12:09:35 +01:00
034e79e579 Fix tipo variabile "flagFirmato"
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-21 15:43:07 +01:00
cd17fe5a8b Finish GestRiepConsegne
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-21 10:03:46 +01:00
d02b6e4142 Creata gestione Riepilogo Consegne VG 2025-03-21 10:03:39 +01:00
e2c9c2e8bd Fix controllo su linee da escludere per cliente
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-19 17:36:54 +01:00
0f7457e406 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit is unstable
2025-03-19 12:35:05 +01:00
b9b8fb0742 Finish Hotfix-13 2025-03-19 12:35:04 +01:00
079a1522b7 sistemata query accettazione 2025-03-19 11:35:56 +01:00
55b30c852d Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-18 16:25:43 +01:00
750445fea8 Finish FixCreaUdc 2025-03-18 16:25:42 +01:00
763e6ee6a7 Fix undefined index in caricoProdFinJson al creaUdc 2025-03-18 16:25:28 +01:00
401406cb55 Fix utente in docker
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-18 15:58:52 +01:00
7fed8367f4 Finish FixAddDP 2025-03-18 12:43:35 +01:00
cf9ea3ba89 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-18 12:43:35 +01:00
b1eec147ce Fix inserimento articoli da contratto in delivery plan 2025-03-18 12:43:20 +01:00
d7c324012f Aggiunta build version
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-18 11:38:22 +01:00
c89c9fd52d Aggiunta build version
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-18 10:20:39 +01:00
7bd7f8eb96 Aggiunta build version
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-18 10:10:00 +01:00
48c37be4d7 Aggiunta build version
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-18 10:05:20 +01:00
8fd5114895 Aggiunta build version
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-18 10:01:22 +01:00
de79e99cc2 Aggiunta build version
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-18 09:57:43 +01:00
48bf1abab9 Aggiunto controllo flag_escludi_lav in mvw_articoli_esclusi_wms
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-17 18:49:45 +01:00
61ff4f0ae7 Rimosso stage build se su feature
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-17 12:29:08 +01:00
5e64f0eee9 Rimossa possibile riga inutile 2025-03-17 12:20:02 +01:00
b1a26fea94 Merge branch 'master' into develop 2025-03-17 12:16:04 +01:00
4df084f4b5 Finish FixJenkins 2025-03-17 12:16:03 +01:00
dec8e7db8b Aggiunto gitattributes 2025-03-17 12:15:49 +01:00
1b86866508 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-14 19:10:14 +01:00
6f91564876 Finish AggiuntoGruntIntegry
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 19:10:14 +01:00
ba4fe71658 Aggiunto integry in gruntfile.js 2025-03-14 19:09:55 +01:00
15e638e408 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-14 18:54:34 +01:00
0f90277550 Aggiunto pulsante Invia CU all'interno della gestione delle paghe 2025-03-14 18:53:59 +01:00
ab9a5610e6 Merge branch 'master' into develop
All checks were successful
PVM (new)/pipeline/head This commit looks good
2025-03-14 18:47:24 +01:00
b404991647 Finish FixFileBuild
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 18:47:23 +01:00
9ec819c090 Fix build.sh line endings 2025-03-14 18:47:09 +01:00
a76400d06f Merge branch 'master' into develop
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 18:36:39 +01:00
07d7a5b267 Finish RevertBuildsh
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 18:36:39 +01:00
26552017c6 Revert modifica build.sh 2025-03-14 18:36:24 +01:00
3e9af97f7b Merge branch 'master' into develop
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 18:21:38 +01:00
357cc55cce Finish JenkinsPipeline
Some checks failed
PVM (new)/pipeline/head There was a failure building this commit
2025-03-14 18:21:37 +01:00
f24713e865 Aggiunto Jenkinsfile 2025-03-14 18:21:22 +01:00
06caa88f27 Gestite note incoterms e spostati i dati dell'ordine del cliente vicino al rif nel popup ordine 2025-03-14 18:05:57 +01:00
9b6e7c5ec9 Gestiti sconti e calcolo importo in piano arrivi 2025-03-14 18:05:57 +01:00
086e81917b Miglioramenti, fix e gestito cambio listino in popup ordine ed aggiunte note incoterms in creazione viaggio 2025-03-14 18:05:57 +01:00
a8512fb7b1 Merge remote-tracking branch 'origin/develop' into develop 2025-03-14 17:56:02 +01:00
de343ce988 AGGIUNTA MIGRATION 2025-03-14 17:43:45 +01:00
c7dbde718c Fix salvataggio codvdes null in salvataggio contratti di vendita 2025-03-14 17:30:22 +01:00
643c29ea3e Merge branch 'master' into develop 2025-03-14 11:26:22 +01:00
c777916744 Finish FixListaContrAcqMRPV2 2025-03-14 11:26:21 +01:00
7794c05455 Fix get lista contratti di acquisto mancante in mrpv2 2025-03-14 11:26:01 +01:00
40d7f2938c Revert modifica build.sh 2025-03-13 16:52:53 +01:00
0060c5b20e Merge remote-tracking branch 'origin/develop' into develop 2025-03-12 11:25:13 +01:00
c389f1dd0a [GRAMM]
- ricerca moduli da mebnù laterale
2025-03-12 11:24:34 +01:00
93ec7181cc Gestita creazione ordine su linea terzista e tipo doc in base ad ordine terzista o no in termina ordine mes 2025-03-11 17:47:36 +01:00
b461b293b9 Gestito cambio articolo per articoli da contratto in ordine delivery plan 2025-03-11 17:44:54 +01:00
c14d81e7a0 Creato script per eseguire un container al branch corrente 2025-03-10 10:40:19 +01:00
05436f0e06 Fix reset note se assente in save ordine delivery plan 2025-03-07 18:33:00 +01:00
56bb43a655 Ricerca ord prod in produzione planning per gestione A 2025-03-07 10:08:34 +01:00
f91d8acb2f Aggiunta lista mail cc interne in lista invio mail ordine delivery plan e piano arrivi 2025-03-07 10:07:03 +01:00
9a95c1a6d8 [GRAMM]
- aggiunto possibilita di proporre la data scadenza lotto di produzione in base alla data ordine
- limitata modifica udc solo a colli senza documento
2025-03-06 16:43:18 +01:00
dad0aa7b83 Merge remote-tracking branch 'origin/develop' into develop 2025-03-06 11:45:11 +01:00
47ad30dd0d [CARELLI]
- inserito vincolo data minima da doc consegna in accettazione merce
2025-03-06 11:44:46 +01:00
c145113cc5 Migliorie gestione menu 2025-03-05 16:24:30 +01:00
7b0de25f93 Gestita scelta prefisso in creazione menu e gestione opzionale 2025-03-05 15:09:30 +01:00
fc386f2ba0 Migliorie gestione menu 2025-03-05 12:58:20 +01:00
2737b36d60 Merge branch 'master' into develop 2025-03-05 10:17:31 +01:00
d601e940a3 Finish Hotfix-13 2025-03-05 10:17:30 +01:00
7f835e56d7 Resa sempre visibile l'unità di misura nelle tile delle macchine nel MES 2025-03-05 10:17:13 +01:00
1e537a888d Merge branch 'master' into develop 2025-03-04 11:31:35 +01:00
f876de96e0 Finish Hotfix-13 2025-03-04 11:31:34 +01:00
6aadb844c8 [INTEGRY]
- gestiti risultati da query in parametri report collection

[GRAMM]
- rimossi controlli su operazioni in MES
2025-03-04 11:29:38 +01:00
7bf6b2c70f Aggiunto controllo su linee da escludere per cliente 2025-03-04 09:54:09 +01:00
af91c8c80c Finish Hotfix-13 2025-03-04 09:52:22 +01:00
bc571e33ef Merge branch 'master' into develop 2025-03-04 09:52:22 +01:00
3309afa1bc modificato controllo su esistenza griglia di acquisto su articolo del fornitore 2025-03-04 09:51:47 +01:00
da78f31409 Finish Hotfix-13 2025-03-03 11:32:38 +01:00
99dc8849cc Merge branch 'master' into develop 2025-03-03 11:32:38 +01:00
090814c54b [CMMS]
- corretto caricamentio stampa manutenzione
2025-03-03 11:31:56 +01:00
2a699c4039 Finish Hotfix-13 2025-03-03 11:15:46 +01:00
970d4d6935 Merge branch 'master' into develop 2025-03-03 11:15:46 +01:00
9c41fb914c [CMMS]
- corretti parametri stampa manutenzione
2025-03-03 11:14:58 +01:00
00c05802a0 Aggiunto valore richiesto di xdebug in base all'env 2025-03-03 11:14:20 +01:00
4b6f3afbc5 Merge branch 'master' into develop 2025-03-03 10:28:56 +01:00
7a728f196b Finish Hotfix-13 2025-03-03 10:28:55 +01:00
196c806e07 [CMMS]
- gestione allegati manutenzione
- nuovi campi manutenzione
[ricambi]
- stampe in contextMenu
- importazione posizione default articolo da ul
2025-03-03 10:27:05 +01:00
4ae1eb88b7 Gestita build docker multiplatform 2025-03-03 09:45:36 +01:00
11723e26ad Fix righe listino duplicate con viewRigheListino in popup ordine delivery plan 2025-02-26 18:49:09 +01:00
8d7bb217ad Aggiunto tipo pagamento e rif documenti in riep scadenze delivery plan 2025-02-26 12:41:08 +01:00
d74c0ce6da Corretto cod_jfas in testata ed impostata planning date predefinita 2025-02-26 12:13:27 +01:00
9f6b864a0b Revert "Revert "Reso destinatario opzionale in popup contratti di vendita e rimossa data cons prod in produzione planning"
This reverts commit 89e88e3c73a689be5cde798fb9206c3da1b3c77d."

This reverts commit 0bb7575993.
2025-02-25 16:40:43 +01:00
90b38e2198 Aggiunti messaggi di errore nelle verifiche registrazioni follie 2025-02-25 13:23:57 +01:00
3c0b371bb8 Merge branch 'master' into develop 2025-02-24 17:38:40 +01:00
2fa533167d Finish Hotfix-13 2025-02-24 17:38:40 +01:00
e0333ee94e [GRAMM]
- annullamento partita ordine in ripianificazione
[INTEGRY]
- corrette funzioni varie
2025-02-24 17:36:17 +01:00
9de0b77ef8 Merge branch 'master' into develop 2025-02-24 11:14:28 +01:00
c28f22aff4 Finish FixSetDate 2025-02-24 11:14:27 +01:00
7ca92af396 Fix set date e datetime in entityitem 2025-02-24 11:14:16 +01:00
fabaa4b64c Debounce salvataggio date a 20s e fix cancellazione cq gramm 2025-02-21 19:03:46 +01:00
4162bd82d5 [CONTROLLO GIACENZE]
aggiunto controllo su deposito partenza != deposito di arrivo in trasferimento ul
2025-02-20 19:25:47 +01:00
4ad18e8348 Merge remote-tracking branch 'origin/develop' into develop 2025-02-20 18:30:19 +01:00
7b786ad79f [ROSSOGARGANO]
- creazione on the fly di una udc in fase di versamento su ordine
2025-02-20 18:25:37 +01:00
eb5e7a993d Fix check allowedMimeTypes, public url twob e val_unt list spese 2025-02-20 09:40:33 +01:00
3ee60a4e30 Merge remote-tracking branch 'origin/develop' into develop 2025-02-18 16:22:39 +01:00
4dd65bf2a0 [ROSSOGARGANO]
- corretti tab accettazione pomodiori
- aggiunti tag php estesi in popup dettagli ordine

- corretta gestione allegati
2025-02-18 16:22:08 +01:00
780134bbbb Merge branch 'master' into develop 2025-02-18 09:57:45 +01:00
9a044d4c7f Finish RevertProdPlanning 2025-02-18 09:57:45 +01:00
0bb7575993 Revert "Reso destinatario opzionale in popup contratti di vendita e rimossa data cons prod in produzione planning"
This reverts commit 89e88e3c73.
2025-02-18 09:56:12 +01:00
8333476992 Merge branch 'master' into develop 2025-02-18 09:53:45 +01:00
b3be7ce942 Finish FixBooking 2025-02-18 09:53:45 +01:00
2799fc809e Fix stampa targa e booking in popup riep giorno 2025-02-18 09:53:31 +01:00
186bdc1823 Merge branch 'master' into develop 2025-02-17 16:44:51 +01:00
e3a05e6aa9 Finish FixPublicUrl 2025-02-17 16:44:50 +01:00
7d8978b9d0 Fix lettura public url da config aziende 2025-02-17 16:44:28 +01:00
8d55534c0c [ROSSOGARGANO]
- corretta query materiali di ricambio
2025-02-17 15:43:59 +01:00
2064905ebd Merge branch 'master' into develop 2025-02-17 11:05:58 +01:00
373b703847 Finish Hotfix-13 2025-02-17 11:05:57 +01:00
fa82bd2d32 spostata lettura barcode_ul su mtb_colt per assenza temporanea da vista inventario 2025-02-17 11:05:37 +01:00
a3a11c81f3 Merge branch 'master' into develop 2025-02-17 10:38:31 +01:00
4224bf2b0d Finish Hotfix-13 2025-02-17 10:38:30 +01:00
cda9c368b7 correzioni popup scarichi mes 2025-02-17 10:37:41 +01:00
318cbe72ca Merge branch 'master' into develop 2025-02-17 09:56:13 +01:00
83be7ad1f1 Finish Hotfix-13 2025-02-17 09:56:13 +01:00
12c79e5774 Bugfixes apertura popup scarichi e invio fattura c.to deposito 2025-02-17 09:53:39 +01:00
e936e5d494 Aggiunta selezione nulla in magazzino piano di carico 2025-02-17 09:48:44 +01:00
89462f872e Fix numeri in esportazione excel mrp, fix rimozione cliente in listini di vendita e aggiunto booking sempre in viaggi 2025-02-14 19:31:56 +01:00
89e88e3c73 Reso destinatario opzionale in popup contratti di vendita e rimossa data cons prod in produzione planning 2025-02-14 18:45:22 +01:00
d99d564f1b [ROSSOGARGANO]
- Nel pop-up 'Nuovo Scarico' creare un pulsante per riportare tutta la giacenza delle UDC nella colonna 'Qta da scaricare' e aggiungere dei totali. Inoltre aggiungere barcodeul, progressivo, data e ora
2025-02-14 16:15:18 +01:00
3198ebbe33 Merge remote-tracking branch 'origin/develop' into develop 2025-02-13 18:31:34 +01:00
450f9e2a87 [ROSSOGARGANO]
- caricamento/modifica/eliminazione udc da popup dettagli ordine
- modifiche grafiche per identificazione ul tramite barcode in dettaglio ordine
- gestione permessi fatturazione C.to deposito
[INTEGRY]
- correzione gestione setup
2025-02-13 18:29:11 +01:00
a11f22405a Aggiunto pulsante per esportazione in excel prodotti segnalati 2025-02-13 18:03:41 +01:00
28f05bc99f Merge branch 'master' into develop 2025-02-13 11:44:48 +01:00
e5bf5fee00 Finish FixPopupOff 2025-02-13 11:44:48 +01:00
2a32c3c271 Fix errore ret mancante in popup offerta contratti di vendita 2025-02-13 11:44:06 +01:00
a15dc78b71 Fix culture kendo, aggiunto signals-core, gestita risposta diretta in IMSApi e gestita firma in impostazioni 2025-02-13 11:36:12 +01:00
7d2ed63198 Miglioramenti modifiche per tipo json in impostazioni e gestita setup CONFIG_STAMPE_POPUP_ORD in delivery plan 2025-02-07 18:38:34 +01:00
3845c34386 Merge remote-tracking branch 'origin/develop' into develop 2025-02-07 13:25:40 +01:00
c2ac3b34e3 [ROSSOGARGANO]
- correzioni conto deposito
2025-02-07 13:25:12 +01:00
4952afc0df Gestita qta e val_unt in spese accessorie, aggiunto sconto 3 e 4 ed impostato filtro porti 2025-02-07 11:35:48 +01:00
a796f18e19 Fix datasource gruppi in popup aggiungi forn 2025-02-05 16:59:04 +01:00
5df6fd32f5 [florapulia]
- corrette condizioni intervallo temporale blocco ordini
2025-02-05 16:38:13 +01:00
9dae5616e6 Merge remote-tracking branch 'origin/develop' into develop 2025-02-05 12:27:51 +01:00
a7e69a9676 [ROSSOGARGANO]
- correzione calcolo qtaResidura in contratti di vendita
2025-02-05 12:27:23 +01:00
21e91f4cd2 Attivato noImplicitOverride ed impostato su tutti 2025-02-05 09:27:52 +01:00
61237ce28f Merge branch 'master' into develop 2025-02-04 12:55:12 +01:00
966dac4825 Finish FixFormPopup 2025-02-04 12:55:12 +01:00
f5f6bba1fc Fix eventi non funzionanti in FormPopup 2025-02-04 12:54:54 +01:00
5730d3df03 [ROSSOGARGANO]
- Fattura conto deposito da contratto di vendita
2025-02-04 10:03:39 +01:00
b43dafb707 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	public_html/gest-lib/monitoraggio_linee_v2/js/ordini.module.js
2025-02-04 10:02:42 +01:00
77f03d9cba aggiunta possibilità di customizzare il timeout alle chiamate alle macchine 2025-02-04 10:01:47 +01:00
610501227d Merge branch 'master' into develop 2025-02-03 18:58:14 +01:00
52c7f53e23 Finish AggBilanceDulciar 2025-02-03 18:58:13 +01:00
efdf13b52d Gestito selettore bilancia per Dulciar nel MES 2025-02-03 18:57:59 +01:00
5ef8ae95ee Aggiunto .editorconfig 2025-02-03 17:29:06 +01:00
c3238df48b Finish FixCalcImpRigaDP 2025-02-03 17:26:40 +01:00
b763519cc0 Merge branch 'master' into develop 2025-02-03 17:26:40 +01:00
660632eb40 Fix errore se articolo non presente in listino in popup ordine delivery plan 2025-02-03 17:26:26 +01:00
93ce4eed47 Merge branch 'master' into develop 2025-02-03 17:24:26 +01:00
e3de10d26a Finish AggFornPianoArrivi 2025-02-03 17:24:25 +01:00
14a65177c8 Gestito inserimento nuovo fornitore in piano arrivi 2025-02-03 17:24:12 +01:00
3f84241761 Fix query controllo giacenze, correzione calcolo importo in popup ordine delivery plan e salvataggio viaggio prima della stampa in popup 2025-01-31 15:55:31 +01:00
77ed963481 Fix request uri too long in PopupSchedaCosti 2025-01-31 10:59:54 +01:00
8510f94e73 Corretta gestione errore BadRequest 2025-01-31 10:49:56 +01:00
fc695daa4f Merge branch 'master' into develop 2025-01-30 16:49:08 +01:00
377b8f6229 Finish Hotfix-13 2025-01-30 16:49:07 +01:00
6720a4bde4 [GESTIONE RICAMBI]
- corretta gestione flagQtaCnfFissa in creazione articolo
[PIANO ARRIVI]
 - corretta join su listino di acquisti in lista fornitori
2025-01-30 16:48:36 +01:00
838bfed74a Merge remote-tracking branch 'origin/develop' into develop 2025-01-30 12:21:48 +01:00
aa4de20c3a [ROSSOGARGANO]
- modifica dati partita di magazzino lavorazione
[CARELLI]
- correzioni campi modellini
2025-01-30 12:21:22 +01:00
7681fda859 sistemato filtro articoli equivalenti su listini 2025-01-29 15:48:19 +01:00
842c20b563 sistemato controllo su qta multiple 2025-01-29 12:45:20 +01:00
40869ff58a Merge branch 'master' into develop 2025-01-29 11:23:17 +01:00
227b87822d Finish FixCheckPedaneAcc 2025-01-29 11:23:16 +01:00
3b7ed4a65b Rimosso check pedane per tipo ACC 2025-01-29 11:22:56 +01:00
645ec839e1 [Marco & Peppe]
modifica allegati
2025-01-27 17:11:16 +01:00
10463a3789 Merge branch 'master' into develop 2025-01-27 16:50:53 +01:00
8329845e5a Finish FixLisiniForn 2025-01-27 16:50:52 +01:00
4e6702a35e Riaggunta modifica errata 2025-01-27 16:50:34 +01:00
be18eb743a Merge branch 'master' into develop 2025-01-27 16:02:46 +01:00
359fee5ab2 Finish FixListiniForn 2025-01-27 16:02:45 +01:00
0e7fae6210 Corretta query listini fornitori in piano arrivi 2025-01-27 16:02:25 +01:00
bcc900b3d8 Merge branch 'master' into develop 2025-01-27 13:12:41 +01:00
19be7cba64 Finish FixRicercaArt 2025-01-27 13:12:40 +01:00
fced89daa2 Fix contains in cerca articoli piano arrivi 2025-01-27 13:11:35 +01:00
adb6f303f7 Merge branch 'master' into develop 2025-01-27 11:13:24 +01:00
a1251216a0 Finish FixErrori 2025-01-27 11:13:23 +01:00
0e2d3b5195 Fix dati gruppi in popup form articoli e ricerca articoli in piano arrivi 2025-01-27 11:13:10 +01:00
c5f190f6b9 Gestita compilazione multistage in docker 2025-01-27 09:49:20 +01:00
553c5e655d Ordinamento gruppo_cons desc in PopupRiepGiorno 2025-01-23 18:06:10 +01:00
5ccb33ae12 Merge branch 'master' into develop 2025-01-23 17:52:33 +01:00
f75e30b30a Finish FixDeliveryPlan 2025-01-23 17:52:32 +01:00
15be0918c3 Fix viaggi delivery plan
(cherry picked from commit 818d2ea1c3)
2025-01-23 17:52:23 +01:00
967880e5ee Fix ricerca articoli in piano arrivi 2025-01-23 17:15:09 +01:00
d9870595c5 Finish PulsanteCopiaCodmart 2025-01-23 14:44:02 +01:00
fb8ce9d7f7 Merge branch 'master' into develop 2025-01-23 14:44:02 +01:00
966748b968 Aggiunto pulsante copia codmart in popup aggiungi listino piano arrivi e fix pulsante duplica in delivery plan
(cherry picked from commit 8f6c8ced2d)
2025-01-23 14:43:50 +01:00
6f7c090d5f Aggiunto pulsante di stampa in popup crea viaggio 2025-01-23 10:46:09 +01:00
d23b598513 Finish Hotfix-13 2025-01-23 09:33:37 +01:00
2152416fca Merge branch 'master' into develop 2025-01-23 09:33:37 +01:00
8e78d1ba0f [Gestione Ricambistica]
- aggiunto pulsante proposta barcode
2025-01-23 09:33:13 +01:00
8f6c8ced2d Aggiunto pulsante copia codmart in popup aggiungi listino piano arrivi e fix pulsante duplica in delivery plan 2025-01-22 15:42:12 +01:00
a8336892f7 Merge branch 'master' into develop 2025-01-21 18:48:00 +01:00
97da34cf60 Finish FixPopupOrdineDP 2025-01-21 18:47:59 +01:00
e0a1f58bad Aggiunto controllo per inserimento dataAttributes in bsautocomplete 2025-01-21 18:47:45 +01:00
818d2ea1c3 Fix viaggi delivery plan 2025-01-21 17:07:44 +01:00
6ec4099a99 Fix errore risorsa non valida 2025-01-20 17:03:03 +01:00
5a8c1c3822 Fix riepiloghi viaggi, corretto controllo disponibilità ordini lav mrp e controllo scarichi in mes 2025-01-17 19:00:31 +01:00
d94cd49070 Merge remote-tracking branch 'origin/develop' into develop 2025-01-17 12:08:43 +01:00
a6e400cf37 eliminati kit 2025-01-17 12:08:25 +01:00
437b7add18 aggiunta persona di riferimento 2025-01-17 12:05:52 +01:00
5a09b91519 Refresh riepiloghi al cambio dati su righe viaggi 2025-01-16 18:32:58 +01:00
6a9f1688bd Aggiunte colonne colli e prezzo medio e selettore tipo costo in statistiche listini di vendita 2025-01-16 17:56:37 +01:00
16721e4ccc Fix table spese in nuovo ordine delivery plan 2025-01-16 12:48:16 +01:00
8b5e77591d Mostro fornitori con listini di acquisto vuoti in piano arrivi 2025-01-16 12:03:02 +01:00
f20b61f00a Modificata colonna data cons in data part in popup fabbisogno 2025-01-16 10:17:00 +01:00
80f5628ab4 Gestita visualizzazione pedane in viaggio DP e versioni costi di trasporto in listini vendita 2025-01-15 18:25:36 +01:00
b8ef81a2b3 Merge branch 'master' into develop 2025-01-15 16:26:29 +01:00
5a71f08905 Finish Hotfix-13 2025-01-15 16:26:29 +01:00
fc9de83edb Completati todo in PopupNuovoMaterialeOrdine 2025-01-15 16:26:14 +01:00
e3b1917585 Merge branch 'master' into develop 2025-01-15 13:08:46 +01:00
29eb94fda3 Finish Hotfix-13 2025-01-15 13:08:45 +01:00
48188fd297 correzione su modellini:
aggiunto nuovamente reparto
  disabilitata la cancellazione se l'attività è stata inserita da un altro utente
sistemata query accettazione
2025-01-15 13:06:39 +01:00
090906bd0d [ROSSOGARGANO - MES]
- aggiunta/modifica/eliminazione materiali da ordine di lavoro
2025-01-14 19:57:32 +01:00
9a3422dfb2 Merge branch 'master' into develop 2025-01-13 17:51:39 +01:00
cb126274d5 Finish Hotfix-13 2025-01-13 17:51:38 +01:00
14c1497e6e [CARELLI]
- corretto caricamento module
 - permessa modifica qtà check n accettazione merce
 - Corretta gestione data inserimento attività da ispezione
[ROSSOGARGANO]
 - aggiunti campi pedana in controllo giacenze
2025-01-13 17:51:03 +01:00
c095e70800 [ROSSOGARGANO]
- aggiunto dettaglio numero confezioni in documento di trasferimento deposito
2025-01-10 17:51:16 +01:00
db6f7ed2a6 Merge remote-tracking branch 'origin/develop' into develop 2025-01-10 17:44:40 +01:00
bef8878b95 [CARELLI]
- nascosto campo reparto in attività di ispezione
 - salvato campo protocollo in attività di ispezione
 [MES]
 - corretta query materiali in giacenza
2025-01-10 17:44:10 +01:00
092d015223 Fix campo confermato eliminato in vtb_viaggi 2025-01-10 16:18:24 +01:00
990b590784 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	public_html/gest-lib/controllo_giacenze/sql/list-articoli.sql
2025-01-10 10:17:59 +01:00
b07903fd65 Aggiunto cliente in gestione Controllo Giacenze 2025-01-10 10:16:27 +01:00
b03487ddfc Modifica query statistiche in listini vendita 2025-01-09 16:29:33 +01:00
119d9603d9 Merge branch 'master' into develop 2025-01-09 13:00:28 +01:00
ee6f7eab5c Finish Hotfix-13 2025-01-09 13:00:28 +01:00
a27aea8f75 rimossa temporaneamente query dashboard da CMMS ed aggiustata navbar per conflitto con colori azienda personalizzati 2025-01-09 13:00:03 +01:00
76ef7347ff [BIOLEVANTE]
impostazione tara in chiusura ordine di lavorazione
2025-01-09 12:58:52 +01:00
41165f3afa [CARELLI]
luogo segnalazione compilato automaticamente dai pv
2025-01-09 12:49:30 +01:00
6041e877fc Corretta definizione di mezzo in VtbViaggi 2025-01-09 11:45:05 +01:00
66a2fa2dc9 Rimosso controllo su ore in salvataggio date cq 2025-01-09 09:22:27 +01:00
ab178ad255 Gestite spese accessorie in popup ordine delivery plan 2025-01-07 16:17:57 +01:00
d64f43a194 Riattivato timer in delivery plan 2025-01-02 17:31:39 +01:00
573a04280c sistemato controllo su qta_cnf dell'ordine 2025-01-02 17:08:51 +01:00
08a005d8c2 Merge branch 'master' into develop 2024-12-30 17:08:41 +01:00
ea787ac0d2 Finish FormVettore 2024-12-30 17:08:40 +01:00
9003ae48d0 Miglioramento gestione module in BaseModule e creato FormViewModule 2024-12-30 17:08:26 +01:00
e4e1e4154d [ROSSOGARGANO]
- abilitato trasferimento di UL multiple in ControlloGiacenze.class.php
2024-12-30 12:51:03 +01:00
3b1f91f577 [delivery-plan]
unificata chiamata fuori fido clienti
2024-12-19 19:15:16 +01:00
01bb0077fc [ROSSOGRAGANO]
servizio di trasferimento UL da controllo giacenze
2024-12-19 18:18:13 +01:00
da4a4c6fdc Merge branch 'master' into develop 2024-12-18 12:02:00 +01:00
27bf83bb55 Finish Hotfix-13 2024-12-18 12:01:59 +01:00
32e6c856f9 [MES]
- aggiunto controllo su flag showInTile per mostrare dati macchina in Monitoraggio linee
2024-12-18 12:00:04 +01:00
0f5380161b Merge branch 'master' into develop 2024-12-17 16:37:51 +01:00
fe88c31599 Finish Hotfix-13 2024-12-17 16:37:50 +01:00
f81d1b8d2f controllo minimo d'ordine bloccante 2024-12-17 16:36:38 +01:00
c4c365facd Merge branch 'master' into develop 2024-12-16 18:50:12 +01:00
6b14b74b3b Finish Hotfix-13 2024-12-16 18:50:12 +01:00
1139cb768a [ROSSOGARGANO]
- ordinamento campi tabella articoli ricambi
- aggiunti campi barcode e progressivo ul in tabella giacenze
2024-12-16 18:49:46 +01:00
947c7c9d25 Merge branch 'master' into develop 2024-12-16 15:46:24 +01:00
b143cf7714 Finish Hotfix-13 2024-12-16 15:46:24 +01:00
564402af40 [ROSSOGARGANO]
- Gestione rientro merce versata in mes
- aggiunta giacenza articoli in gestione merce ricambi
2024-12-16 15:45:29 +01:00
f62b61959d sistemato controllo su valore minimo ordine 2024-12-11 17:54:27 +01:00
1ec1b37fc3 Merge branch 'master' into develop 2024-12-10 18:17:18 +01:00
09179a159f Finish Hotfix-13 2024-12-10 18:17:17 +01:00
74b19a27ef [PEPPE]
modifiche in gestione exchange per visualizzazione errore
2024-12-10 18:16:53 +01:00
31597c8e54 Merge branch 'master' into develop 2024-12-10 17:32:47 +01:00
f33a7d2ac7 Finish MRPSoloConDati 2024-12-10 17:32:47 +01:00
d25c6f49ff Aggiunto filtro solo con dati 2024-12-10 17:32:26 +01:00
8367a51985 Merge branch 'master' into develop 2024-12-10 12:53:05 +01:00
f7653e4017 Finish Hotfix-13 2024-12-10 12:53:04 +01:00
4a6f9ff627 [ROSSOGARGANO]
corretta visualizzazione campi barcode e posizione in gestione ricambistica
2024-12-10 12:52:25 +01:00
08b24cc892 Merge branch 'master' into develop 2024-12-10 12:11:42 +01:00
20588ce004 Finish MRPSoloArtDis 2024-12-10 12:11:42 +01:00
ca92d28825 Gestita visualizzazione di articoli disattivi in MRP 2024-12-10 12:11:27 +01:00
b4e23b8efb Gestito Cache-Control per file js, mjs e css 2024-12-10 12:10:20 +01:00
64cb1c48e7 Merge branch 'master' into develop 2024-12-10 10:20:53 +01:00
e2d6047514 Finish Hotfix-13 2024-12-10 10:20:52 +01:00
1e3c36d0b1 corretta incompatibilità php5.6 in classe module 2024-12-10 10:19:49 +01:00
e3b495cd92 Fix aggiunta stesso articolo con prezzo diverso in delivery plan 2024-12-09 18:46:49 +01:00
d5513052d4 Merge branch 'master' into develop 2024-12-09 16:14:36 +01:00
fc4e5b2c08 Finish Hotfix-13 2024-12-09 16:14:35 +01:00
e651819304 fix orderby kendo query 2024-12-09 16:12:57 +01:00
d9e041e63b Merge branch 'master' into develop 2024-12-09 12:20:55 +01:00
125ae6b1b2 Finish Hotfix-13 2024-12-09 12:20:55 +01:00
b8854c5521 risolto problema funzioni tipizzate con parametro nullable 2024-12-09 12:20:34 +01:00
a98b9dd96b Merge branch 'master' into develop 2024-12-09 11:41:33 +01:00
bd65924be9 Finish Hotfix-13 2024-12-09 11:41:33 +01:00
47227d271d [KENDO]
- corretta gestione query senza template (ma con template duplicato)
2024-12-09 11:41:12 +01:00
ae48775bcb Modificato parametro lang listino e offerte 2024-12-06 18:40:24 +01:00
61371be465 - filtrati formati e famiglie in analisi budget rossoG
- configurato nuovo endpoint RossoG

- resettato formato in selezione famiglia in analisiBudget
2024-12-06 18:31:19 +01:00
7c9ee2e692 Gestito caso ricevuto e parzialmente evaso in piano arrivi 2024-12-06 17:44:46 +01:00
666cd601dc Gestito parametro lang in getPdfListino listini e offerte 2024-12-06 17:33:27 +01:00
b478643561 - Modifiche alla pagina controllo giacenze
- aggiunta possibilità di inserire un articolo nel listino di acquisto al volo in piano arrivi
2024-12-06 14:55:48 +01:00
716600596a Gestiti campi nuovo in creazione viaggio 2024-12-06 10:32:49 +01:00
351a87cd2c Fix problema di memoria e migliorato context menu tabella costi in listini di vendita 2024-12-04 18:22:26 +01:00
6b254c655b Merge branch 'master' into develop 2024-12-04 10:30:11 +01:00
d8fb9a0064 Finish Hotfix-13 2024-12-04 10:30:10 +01:00
fef66a5ac6 Monitoraggio linee -> Manufacturing Execution System
impostato caricamento primi risultati in pagina controllo giacenze solo all'inserimento di un filtro
2024-12-04 10:29:37 +01:00
822e3779cd Fix note null 2024-12-03 17:24:45 +01:00
a29a47325c Gestito editor html in note del giorno piano carico 2024-12-03 16:45:22 +01:00
c461f0fc07 Gestite note del giorno in piano carico rosso gargano 2024-12-03 12:56:35 +01:00
d12d98f150 Fix ceil su totale 2024-12-03 11:33:41 +01:00
4006078cf2 Merge branch 'master' into develop 2024-12-02 19:45:31 +01:00
439d1cc8cd Finish FixCQDate 2024-12-02 19:45:30 +01:00
a20eb97b5f Fix nuova riga cq e include su magazzino_prod 2024-12-02 19:44:58 +01:00
2879778585 [ROSSOGARGANO]
- corretta configurazione nuovo server su profilo principale
2024-12-02 10:25:24 +01:00
9b1afad91b Merge branch 'master' into develop 2024-12-02 10:24:04 +01:00
4da7db8123 Finish Hotfix-13 2024-12-02 10:24:03 +01:00
e0a5ad1310 [ROSSOGARGANO]
- corretta configurazione nuovo server su profilo contabilità
2024-12-02 10:23:41 +01:00
f6d528ecda Correzioni per strictNullChecks 2024-12-02 09:29:04 +01:00
254c49f2af - filtrati formati e famiglie in analisi budget rossoG
- configurato nuovo endpoint RossoG

- resettato formato in selezione famiglia in analisiBudget
2024-11-29 17:22:48 +01:00
6104a80d98 - Rimossa chiamata ridondante alle impostazioni delle linee
- Aggiunto nuovo calcolo dimensioni popup per problemi su mobile

- abbassato intervallo minuti select fermi macchina a 5 minuti
2024-11-29 16:10:04 +01:00
9e14ab3ca8 Gestito tipo generico in getModel 2024-11-27 17:24:18 +01:00
f8ffd0eef6 Finish MiglioramentiTabArt 2024-11-27 17:21:05 +01:00
a4348a9e90 Gestita lista articoli da servizio e nuovi dto 2024-11-27 17:20:39 +01:00
e09a9807e5 Merge branch 'develop' into feature/MiglioramentiTabArt 2024-11-27 17:09:59 +01:00
d05ca43f2e Aggiunte config Rossogarganocont 2024-11-27 17:06:47 +01:00
35d06db94f aggiunto nella compilazione 2024-11-27 13:24:58 +01:00
af4e4c8728 Migliorato salvataggio date in cq gramm 2024-11-27 11:42:31 +01:00
3b7b4ff394 Merge branch 'master' into develop 2024-11-27 10:10:18 +01:00
675e87d71b Finish Hotfix-13 2024-11-27 10:10:17 +01:00
205af66294 Aggiunto Rossogarganocont 2024-11-27 10:09:59 +01:00
3c2346ce63 Merge branch 'master' into develop 2024-11-26 16:25:24 +01:00
aebfdef60f Finish Hotfix-13 2024-11-26 16:25:23 +01:00
fe5583ca73 [GRAMM]
- revert a gestione sessione classica di php
- rimossa privatizzazione costanti per compatibilità con PHP 5.6
2024-11-26 16:22:12 +01:00
9efc88aed8 Lettura da get_commesse se arr_commesse vuoto in catalogo 2024-11-25 18:11:17 +01:00
1cd3145eeb Merge branch 'master' into develop 2024-11-25 17:06:33 +01:00
ee0940b552 Finish FixOrdineDeliveryPlan 2024-11-25 17:06:32 +01:00
01e995c761 Aggiunto avviso al salvataggio ordine del delivery plan 2024-11-25 17:06:14 +01:00
0bc9a65958 Merge branch 'master' into develop 2024-11-25 09:41:03 +01:00
114329ee25 Finish FixNamespace 2024-11-25 09:41:02 +01:00
9ad1c1866f Fix errore class not found 2024-11-25 09:40:44 +01:00
e16d09e3a5 Modifica get articoli in gestione ricambistica 2024-11-22 19:13:47 +01:00
3a212f744a Gestito formato come figlio di famiglia in analisi budget rosso gargano 2024-11-22 19:04:17 +01:00
5f4fd9afec Merge branch 'master' into develop 2024-11-21 12:15:40 +01:00
0b314a7f56 Finish Hotfix-13 2024-11-21 12:15:40 +01:00
007a99a9da aggiunta lettura di qta cnd da listino in data 2024-11-21 12:15:16 +01:00
a1548d30a3 Fix errore namespace 2024-11-21 11:38:38 +01:00
4c50c46cb3 Fix calcolo posti pallet e controllo cambio pedane 2024-11-20 18:40:54 +01:00
ebf4c3b54d Fix classe inesistente in piano produzione giornaliera 2024-11-20 16:52:23 +01:00
133e0c057c Merge branch 'master' into develop 2024-11-20 13:30:17 +01:00
e32f28970d Finish PubbRicambiRG 2024-11-20 13:30:16 +01:00
7ba85ab542 Fix pulsanti modal su mobile
(cherry picked from commit 6f8ba5ab80)
2024-11-20 13:29:59 +01:00
6f8ba5ab80 Fix pulsanti modal su mobile 2024-11-20 13:24:09 +01:00
f60465ea91 Conversione flag in boolean 2024-11-20 11:17:15 +01:00
25f564a580 Finish Rossogargano_ricambi 2024-11-20 10:10:47 +01:00
5dae39738c Gestito input dropdownlist per gruppo, sottogruppo, famiglia, unt mis e aliquota 2024-11-20 10:10:33 +01:00
a9636f2881 Merge branch 'develop' into feature/Rossogargano_ricambi 2024-11-19 09:43:20 +01:00
0c78ac80ca Merge branch 'master' into develop 2024-11-19 09:39:17 +01:00
453334a4ad Finish FixReportArea 2024-11-19 09:39:16 +01:00
c4c103a91a Fix errore unexpected end of file area report 2024-11-19 09:39:01 +01:00
584fa0f600 [ROSSOGARGANO]
servizio di creazione articoli ricambio
2024-11-18 19:35:34 +01:00
6551daec65 Merge branch 'master' into develop 2024-11-18 17:09:37 +01:00
7bc37eaacd Finish Hotfix-13 2024-11-18 17:09:36 +01:00
6b5d5b51ff [CARELLI]
-correzioni modellini
[smetar]
corretta stampa estimated_time quando null
[biolevante]
corretta gestione wherecond in setting  quando la keysection contiene where
2024-11-18 17:09:15 +01:00
baab9ccd38 Merge branch 'master' into develop 2024-11-18 10:53:30 +01:00
63a8a50dac Finish FixMonOrd 2024-11-18 10:53:30 +01:00
9343d4c90b Fix query scarichi e setup nome report rientro come boolean 2024-11-18 10:53:14 +01:00
5015cf03f5 Aggiunto pulsante importa trasferimenti in doc interni 2024-11-15 18:28:06 +01:00
fadb9cd6d4 Fix conteggio resi da ordini non più validi 2024-11-15 18:27:19 +01:00
0163a6541d Lettura da da exchange in riep prodotti rosso gargano 2024-11-15 18:26:32 +01:00
29da106ae4 Rimosso default driver query 2024-11-15 18:25:25 +01:00
839461ac31 Fix dati analisi costi 2024-11-15 18:22:39 +01:00
4a74dae200 Rimossi tutti gli short open tag 2024-11-13 16:23:18 +01:00
d93adc5052 Impostati include come include_once e rimossi tutti gli include di classi 2024-11-12 15:36:17 +01:00
8e66a7c349 Merge branch 'master' into develop 2024-11-12 15:28:31 +01:00
a867132e0a Finish FixPreventivieStoricoOrd 2024-11-12 15:28:31 +01:00
03a42e25c9 Corretta importazione da commessa in catalogo e fix tabella storico in monitoraggio ordini 2024-11-12 15:28:17 +01:00
275af49d5e Fix metodo mancante ed aggiunto endpoint per ottenimento dati server 2024-11-12 15:23:59 +01:00
de99cd83f4 Finish Feature-ListiniRossoGargano 2024-11-12 09:45:04 +01:00
040c7d3909 Merge branch 'develop' into feature/Feature-ListiniRossoGargano 2024-11-12 09:44:19 +01:00
5f76f1bf51 Merge remote-tracking branch 'origin/develop' into develop 2024-11-11 18:33:03 +01:00
dcdf6b20e8 - Gestito nuovo campo note su macchinari di produzione
- Gestita compilazione report in upload Jrxml
2024-11-11 18:32:37 +01:00
91db00ac76 Gestito il tipo valore in cq gramm 2024-11-11 18:09:12 +01:00
329882b7ef Finish FixDettStorico 2024-11-11 12:48:28 +01:00
5174e4e7b7 Merge branch 'master' into develop 2024-11-11 12:48:28 +01:00
14e5c112ed Fix pulsante dettagli in storico monitoraggio ordini 2024-11-11 12:47:23 +01:00
bba46aa8e6 Merge branch 'develop' into feature/Feature-ListiniRossoGargano 2024-11-11 11:55:38 +01:00
284570a60a correzioni gestione variabili collection per errore in MRP 2024-11-08 18:42:21 +01:00
0bd51e89c6 modifiche su listini Rosso Gargano 2024-11-08 13:54:18 +01:00
9353057831 In accettazione visualizzati articoli con cod_mart null 2024-11-08 13:51:33 +01:00
fb09d92150 corretto upload stbFilesAttached 2024-11-08 13:38:00 +01:00
3352924d17 corretto gestito profilo integry a sfavore del profilo studioml 2024-11-08 10:52:25 +01:00
b37cffb40e Merge branch 'master' into develop 2024-11-06 15:42:33 +01:00
e83b794d05 Finish Hotfix-13 2024-11-06 15:42:32 +01:00
deb2dd8733 risolta import popupbarcode in monitoraggio linee 2024-11-06 15:42:09 +01:00
47d28aed64 Merge branch 'master' into develop 2024-11-06 12:20:36 +01:00
81de53393f Finish Hotfix-13 2024-11-06 12:20:35 +01:00
fa8bd1abb0 corretta import file numberStyle 2024-11-06 12:20:16 +01:00
2d9416fc9b Merge branch 'master' into develop 2024-11-06 11:52:38 +01:00
06ffa394d8 Finish Hotfix-13 2024-11-06 11:52:37 +01:00
f3b2a68e3e [ROSSOGARGANO]
- gestione excel in modal iframe
- fix in pagina accettazione pomodori
- gestione versamento su ordine da MES
[CARELLI]
gestita visualizzazione campi modellini
2024-11-06 11:52:15 +01:00
44d1abb8be Gestito stato viaggio, rimosso confermato e gestito colore per ordini evasi 2024-10-31 11:24:48 +01:00
6f51e9bd4b Merge branch 'master' into develop 2024-10-29 16:53:14 +01:00
01a13fe98f Finish ModifAnalisiCosti 2024-10-29 16:53:14 +01:00
a018bc09df Fix errori analisi costi 2024-10-29 16:52:57 +01:00
4faa338588 Aggiunto controllo uds scaricati in monitoraggio ordini, fix excel mrp v2 ed errore pedane in aggiungi articolo listino delivery plan 2024-10-29 16:51:18 +01:00
2e1cbde6c2 Merge branch 'master' into develop 2024-10-28 09:36:07 +01:00
3b84390521 Finish FixImportFont 2024-10-28 09:36:06 +01:00
58358b4799 Aggiornata versione grunt-contrib-cssmin 2024-10-28 09:35:24 +01:00
7555604468 Miglioramenti analisi costi gramm 2024-10-25 18:49:59 +02:00
97ef16a7cd Aggiunto filtro userName in get commesse catalogo 2024-10-23 17:54:35 +02:00
25160e8b50 rimossa azienda studioml 2024-10-23 11:47:03 +02:00
ecc7a0d673 Merge remote-tracking branch 'origin/develop' into develop 2024-10-23 11:26:33 +02:00
8a2f1c0101 test compilazione automatica 2024-10-23 11:26:07 +02:00
948b1a7963 Aggiunti personalizzazione colore materica 2024-10-22 17:11:27 +02:00
a43c20ae2a Fix valore con virgola in popup ordine delivery plan 2024-10-22 17:10:11 +02:00
575f3d9b5c Corretto debounce su keyup in popup ordine delivery plan 2024-10-22 13:03:02 +02:00
70d9ad3780 Nascosti articoli senza codice in analisi budget rosso gargano 2024-10-21 15:12:06 +02:00
9ef4c4a6e3 Aggiornato logo integry e restyle menu tradizionale 2024-10-21 13:12:58 +02:00
3583744224 Aggiunto checkbox per nascondere partite con qta residua a 0 in campi di raccolta 2024-10-17 12:05:26 +02:00
e24f1f9556 Aggiunto cod_mart_stat in get-articoli budget rosso gargano 2024-10-16 16:44:59 +02:00
30dda05065 Merge branch 'master' into develop 2024-10-16 16:27:47 +02:00
e4f55e8de2 Finish FixAllegatiOrdWeb 2024-10-16 16:27:46 +02:00
59315247ea Aggiunti allegati ordini web mancanti 2024-10-16 16:27:28 +02:00
7d9361b85a Merge branch 'master' into develop 2024-10-16 15:43:25 +02:00
c2165a8f2c Finish CreaCommInPrev 2024-10-16 15:43:25 +02:00
64c95e1731 Gestita creazione commessa in modifica preventivo 2024-10-16 15:42:41 +02:00
5e54e97318 Fix filtro qta vuote in detail budget rosso gargano 2024-10-16 11:43:27 +02:00
d5ef247f9d Modifica query budget rosso gargano 2024-10-16 10:49:56 +02:00
620da7dfb7 Riattivato refresh automatico weeklyPlanner delivery plan 2024-10-15 11:48:02 +02:00
bdaf398210 Gestiti posti pallet come pedane in PopupListino delivery plan 2024-10-15 11:39:57 +02:00
9b6a98cd1a Aggiunto controllo cod mart in get_udc 2024-10-11 16:32:51 +02:00
ec46ddeb02 Aggiunto controllo segno_qta_scar e segno_val_scar nel tipo del documento ordini delivery plan 2024-10-10 17:28:27 +02:00
f7fb613765 Gestita creazione documenti per terzista smetar e fix vari 2024-10-10 15:59:06 +02:00
ccf705b566 Merge remote-tracking branch 'origin/develop' into develop 2024-10-10 10:37:03 +02:00
195d5a709c Aggiunta SUIT_PUGLIA 2024-10-10 10:36:35 +02:00
07491c6b1d Merge branch 'master' into develop 2024-10-09 13:08:45 +02:00
09eaa2ac6f Finish Hotfix-13 2024-10-09 13:08:44 +02:00
1b9c6cbfc0 [ROSSOGARGANO]
- Aggiunta gestione parametri di tipo collection in area report
- correzioni in accettzione da campo
2024-10-09 13:08:10 +02:00
c722f7f677 Fix commesse multiple e modifica destinatario esistente 2024-10-08 16:16:36 +02:00
62bac32c91 Merge branch 'master' into develop 2024-10-07 15:24:28 +02:00
c82a5a922a Finish FixDestDeliveryPlan 2024-10-07 15:24:27 +02:00
bb91c3a221 Disattivato controllo su destinatari per aziende con view righe listino in delivery plan 2024-10-07 15:23:49 +02:00
cf984c3f8a Merge branch 'master' into develop 2024-10-02 14:59:11 +02:00
801acd49f4 Finish Hotfix-13 2024-10-02 14:59:11 +02:00
fba4780d23 [MATERICA]
Aggiunti pdf documenti in esportazione zip
2024-10-02 14:58:45 +02:00
b84bdc2630 Merge branch 'master' into develop 2024-09-30 12:46:51 +02:00
8e962df792 Finish Hotfix-13 2024-09-30 12:46:50 +02:00
61c6704d27 [ROSSOGARGANO]
- corretta importazione popup cambio ordine raccolta
2024-09-30 12:46:30 +02:00
3b5faecd40 Merge branch 'master' into develop 2024-09-30 09:58:50 +02:00
19ec7e72f6 Finish Hotfix-13 2024-09-30 09:58:48 +02:00
55a765a1c0 [ROSSOGARGANO]
- eliminazione certificato non versato
- cambio ordine di raccolta su certificato
2024-09-30 09:57:49 +02:00
2377b88612 Merge branch 'master' into develop 2024-09-26 11:25:38 +02:00
1f9f83659a Finish Hotfix-14 2024-09-26 11:25:38 +02:00
e2d51c56de [BIOLEVANTE]
fix query getMaterialiDistinta
2024-09-26 11:25:18 +02:00
e513064162 Merge branch 'master' into develop
# Conflicts:
#	public_html/gest-lib/pian_acc_rossg/classes/PianAccRossg.class.php
#	public_html/gest-lib/pian_acc_rossg/ts/GenDocAccettazioneTabView.ts
2024-09-25 09:52:39 +02:00
870d2ac8e7 Finish Hotfix-13 2024-09-25 09:50:22 +02:00
4fe2f4d99f [GLOBAL]
- aggiornata gestione sessione
[ROSSOGARGANO]
- aggiunti report filtrati certificati
- aggiunta cancellazione certificati non versati
- aggiunti totali in tabella valorizzazioni
2024-09-25 09:49:38 +02:00
7db1c81915 [ROSSOGARGANO]
modifiche accettazione pomodori
2024-09-25 09:48:17 +02:00
9b2d307071 Merge remote-tracking branch 'origin/develop' into develop 2024-09-23 16:28:03 +02:00
f7227875f8 [ROSSOGARGANO]
modifiche accettazione pomodori
2024-09-23 15:44:21 +02:00
99cc225749 Gestito destinatario in contratti di vendita 2024-09-20 18:47:44 +02:00
9e9246d2e5 Merge remote-tracking branch 'origin/develop' into develop 2024-09-20 15:01:25 +02:00
9d69d7ca37 sistemata query affinchè escano le categorie nuove 2024-09-20 14:59:22 +02:00
b8d30eb4bd Merge remote-tracking branch 'origin/develop' into develop 2024-09-20 11:17:18 +02:00
a93ebf9eeb Modifica per errore al rientro da modifca scheda prodotto auricchio 2024-09-20 11:17:02 +02:00
fb2b4601c5 Fix invio null in PriceListUpdate, fix calcolo delta kpi e rimoss localpvm 2024-09-20 10:13:46 +02:00
84919d3979 Merge branch 'master' into develop 2024-09-20 09:48:23 +02:00
0a6b5bf696 Finish Hotfix-13 2024-09-20 09:48:21 +02:00
1c9dfd87c5 [Rossogargano]
corretta importazione file js
2024-09-20 09:47:53 +02:00
c8ce447c42 Merge branch 'master' into develop 2024-09-19 19:00:11 +02:00
159165bd6b Finish Hotfix-13 2024-09-19 19:00:11 +02:00
b8d5040fd3 [ROSSOGARGANO]
corrette query
aggiunta modifica indice variazione in valorizzazione certificati
2024-09-19 18:59:48 +02:00
524cd55999 Fix ordinamento per qta in tabella ordini campi di raccolta 2024-09-18 18:16:28 +02:00
9c26cdd192 Merge branch 'master' into develop 2024-09-18 16:42:26 +02:00
c096efd925 Finish Hotfix-13 2024-09-18 16:42:24 +02:00
f04483f41a [ROSSOGARGANO]
corretta query colli da bollettare
2024-09-18 16:41:23 +02:00
8c7609fd40 Resa session private in BaseModule 2024-09-18 13:12:14 +02:00
78eb6173f9 [ROSSOGARGANO]
corretta importazione certificati da sinfo1
corretta query certificati da bollettare
2024-09-18 12:58:28 +02:00
c57929cacd Fix datasource sbagliata in catalogo 2024-09-18 12:53:19 +02:00
3f0ea0deb3 Merge branch 'master' into develop 2024-09-18 10:08:41 +02:00
c73133f861 Finish Hotfix-13 2024-09-18 10:08:40 +02:00
d2f2e9504f Gestita setup nome report per etichetta rientro in mes, mostrate solo destinazioni attive in contatti commesse ed input lg in popup crea udc 2024-09-18 10:06:59 +02:00
3cbd2ddcdf Fix: pulsante crea udc duplicato
fix: query carico rossogargano
2024-09-18 10:06:02 +02:00
3a967678b7 Gestita setup nome report per etichetta rientro in mes, mostrate solo destinazioni attive in contatti commesse ed input lg in popup crea udc 2024-09-17 17:58:52 +02:00
9bebd8fc3b Calcolo valore merce solo per righe con id viaggio 2024-09-17 16:25:55 +02:00
2eae15801a Merge branch 'master' into develop 2024-09-17 13:05:12 +02:00
c6c4324aaf Finish Hotfix-13 2024-09-17 13:05:11 +02:00
57f6e86c36 [ROSSOGARGANO]
corretto ordinamento colli cq
modifiche valorizzazione certificati
2024-09-17 11:22:39 +02:00
a1c2e26e17 Merge branch 'master' into develop 2024-09-16 12:55:27 +02:00
76845a3cb0 Finish FixCQMesDulciar 2024-09-16 12:55:27 +02:00
2451af6c49 Fix errore apertura php senza contenuto 2024-09-16 12:54:45 +02:00
c95158e006 Merge branch 'master' into develop 2024-09-16 10:06:07 +02:00
f5e22749d9 Finish FixStampaOrdine 2024-09-16 10:06:06 +02:00
f1f35b2449 Fix check configurazione di stampa in stampa ordine MES 2024-09-16 10:05:51 +02:00
6185c9987b Fix pulsanti genera per tipi non allegabili e gestiti pulsanti genera multipli 2024-09-11 17:15:18 +02:00
cb4e7c2275 Rimosso join su jtb_dist_mate in catalogo ime te 2024-09-11 15:58:33 +02:00
ee9dc57656 Corretto deposito in stampa ordine monitoraggio linee e reso close di modalbox promise 2024-09-11 15:33:01 +02:00
477b2ed20f Merge branch 'master' into develop 2024-09-10 17:59:30 +02:00
bb89d7756a Finish FixPreventivi 2024-09-10 17:59:30 +02:00
3668f6fd07 Fix salvataggio commessa in modifica preventivo 2024-09-10 17:59:15 +02:00
9cd9186d97 Fix calcolo qtaCnf in popup rientro monitoraggio linee 2024-09-10 17:34:56 +02:00
95276e6804 Merge branch 'master' into develop 2024-09-09 13:07:08 +02:00
46bd5fa04d Finish Hotfix-13 2024-09-09 13:07:07 +02:00
5ea3a4e469 aggiunto valore default filtri in getlistzone 2024-09-09 13:06:45 +02:00
9871a6a1d7 Gestita generazione report in modal allegati e contatti commesse 2024-09-06 16:47:55 +02:00
8c6c2fdac3 [MES]
corretta visualizzazione in assenza di data fine lavorazione in storico ordini
2024-09-06 09:47:56 +02:00
c1ef084168 Merge branch 'master' into develop 2024-09-05 10:31:04 +02:00
dfd58c41a1 Finish Hotfix-13 2024-09-05 10:31:03 +02:00
e00bf8d9b2 [ROSSOGARGANO]
- Gestito campo zona raccolta in accettazione pomodori
- corretta gestione scarichi multipli su singola linea
2024-09-05 10:30:47 +02:00
4731d21765 Aggiunta qta iniz in kpi analisi budget rosso gargano 2024-09-03 17:53:33 +02:00
5e51fec5af Aggiunto tipo anag "P" in creazione ordine web catalogo ime ba 2024-09-03 17:17:03 +02:00
7e42be85bc sistemata condizione che obbliga ad avere le variazioni in data 2024-09-02 17:58:48 +02:00
ad15697e6c Merge branch 'master' into develop 2024-09-02 17:20:07 +02:00
23a1d897c9 Finish Hotfix-13 2024-09-02 17:20:06 +02:00
2a6a0bd31d aggiunto segnale raccolta manuale in lavorazioni giornaliere 2024-09-02 17:17:14 +02:00
89f38a1602 Merge branch 'master' into develop 2024-09-02 16:42:32 +02:00
21240cbf79 Finish Hotfix-13 2024-09-02 16:42:31 +02:00
d5a71d24fd [ROSSOGARGANO]
correzioni accettazione pomodori
2024-09-02 16:41:28 +02:00
4125ef7eef Refactor TabImpl a TabView 2024-09-02 15:52:20 +02:00
93124866fa Rimosso systemjs 2024-08-30 12:10:44 +02:00
03b60fc2de Aggiunta esportazione in excel su analisi budget Agricoper 2024-08-30 09:51:59 +02:00
fe7501a206 Spostata navbar notification in notifiche 2024-08-29 16:51:30 +02:00
ac525a5476 [ROSSOGARGANO]
corretta query ordinamento lavorazioni in accettazione pomodori
2024-08-29 15:39:52 +02:00
926806629c Esclusi file ts da gest-lib in build 2024-08-29 12:12:01 +02:00
e9ee95b0fb Fix destinazione esistente in preventivi e corretta esportazione excel lavorazioni giornaliere 2024-08-29 11:57:36 +02:00
42e2fc40d6 Merge branch 'master' into develop 2024-08-28 12:13:40 +02:00
33a06ff4e0 Finish ModifAccRossG 2024-08-28 12:13:40 +02:00
bd27569959 Rinominati file tab, aggiunta stampa in excel e miglioramenti definizione context menu 2024-08-28 12:13:27 +02:00
2ce266eec5 Gestito report jasper in xlsx e fix calcolo settimana campi di raccolta 2024-08-28 12:11:10 +02:00
dc5013b513 Modificata query get-stato-versamenti e get-stato-lavorazioni 2024-08-23 18:00:12 +02:00
f3c5d62614 Aggiustamenti frasi lavorazioni giorno piano acc 2024-08-23 15:26:52 +02:00
fb79b8949d Modifiche pian acc rosso gargano, aggiunta sessione in BaseModule ed apertura ordini senza posizione in campi di raccolta 2024-08-23 13:53:01 +02:00
6b88952eba Creata nuova gestione analisi costi per gramm 2024-08-23 12:58:01 +02:00
415399745d Creata config azienda Integry 2024-08-23 11:43:57 +02:00
9df72c2cdb Gestito flagMultiValue e creazione migration al posto di sql in impostazioni 2024-08-13 13:07:10 +02:00
81ea56a895 Aggiunta ricerca e corretto salvataggio multiplo in gestione menu 2024-08-12 15:58:39 +02:00
920aea1226 Merge remote-tracking branch 'origin/develop' into develop 2024-08-11 20:46:01 +02:00
d4297b6caa [ROSSOGARGANO]
in lavorazioni del giorno ogni raggruppamento deve mostrare:
- totale camion  (di cui quanti di oggi e quanti precedenti)
- totale (kg e casse)

Nelle lavorazioni del giorno far in modo di leggere la linea dai colli così da poterli vedere a video in quella linguetta (dai colli L+ prima del versamento e dai colli L- dopo)
Nelle lavorazioni del giorno aggiungere in numero di casse come per lo scarico prodotto (se non c'è spazio si potrebbe ridurre la colonna del DDT o andare a capo nella colonna Durata)
2024-08-11 20:45:13 +02:00
0755466231 Diviso cod mart da articolo in esportazione excel mrp 2024-08-08 16:31:16 +02:00
c438efa949 Articolo a sinistra e ordinamento per articolo in magazzino_prod 2024-08-08 15:37:52 +02:00
4f5f463a9c Possibilità di salvare preventivo in allegato commessa in catalogo 2024-08-08 09:41:24 +02:00
77401c7533 Aggiunto id lotto in tab storico e pulsante cambio linea per ordini in pausa in monitoraggio ordini 2024-08-06 17:59:06 +02:00
54446a4bf5 Aggiunta scelta orientamento in configurazioni di stampa e gestito report type STAMPA_ORDINE_LAVORAZIONE 2024-08-06 12:04:53 +02:00
4b71113377 Aggiunto valore merce per giorno in delivery plan 2024-08-05 15:31:06 +02:00
2074cfaad0 [ROSSOGARGANO]
Aggiunta qta impegnata in riepilogo prodotti viaggi in delivery plan
2024-08-05 11:23:07 +02:00
96a0229a2b Merge branch 'master' into develop 2024-08-02 10:16:48 +02:00
289936a27c Finish Hotfix-13 2024-08-02 10:16:47 +02:00
d7b891e218 [IME-TE]
corretti errori in preventivi
[rossogargano]
corrette query lavorazione e scarico
2024-08-02 10:12:57 +02:00
76d71107dc Merge branch 'master' into develop 2024-08-01 13:20:06 +02:00
cdb5b37c74 Finish Hotfix-13 2024-08-01 13:20:06 +02:00
fee54f876b [ROSSOGARGANO]
- Nella linguetta Scarico Prodotto i kg non si aggiornano ma sono sempre 0
- Nelle lavorazioni del giorno far in modo di leggere la linea dai colli così da poterli vedere a video in quella linguetta (dai colli L+ prima del versamento e dai colli L- dopo)
- il filtro sul DDT non funziona
- il filtro Socio / Produttore nel popup per creare un campo di raccolta deve agire anche sul produttore (ad oggi filtra solo sul socio) e il produttore deve essere messo anche a video
2024-08-01 13:19:41 +02:00
f74de3e86c Merge branch 'master' into develop 2024-07-31 17:09:55 +02:00
f70b1a9f9e Finish Hotfix-13 2024-07-31 17:09:54 +02:00
b5f4b1c120 [ROSSOGARGANO]
correzioni entrata pomodori
2024-07-31 17:09:21 +02:00
32687bfbca Merge branch 'master' into develop 2024-07-31 10:14:17 +02:00
e9610c9c5a Finish Hotfix-13 2024-07-31 10:14:16 +02:00
301142173b [ROSSOGARGANO]
- corretta query import certificati
2024-07-31 10:13:53 +02:00
c8ffc84f5d Merge branch 'master' into develop 2024-07-30 23:48:11 +02:00
5fde937d22 Finish Hotfix-13 2024-07-30 23:48:10 +02:00
5775723662 [ROSSOGARGANO]
- gestita varieta come caratteristica del singolo carico e non del campo
- spostata generazione campi di raccolta in servizio ad hoc
[IME BA]
- gestito download allegati da MtbAartLink
2024-07-30 23:47:40 +02:00
5ddd8e1f76 Merge remote-tracking branch 'origin/develop' into develop 2024-07-25 16:40:44 +02:00
7daada0c08 PriceListUpdate: filtro su listini disattivati 2024-07-25 16:40:21 +02:00
4d59fa3998 Merge branch 'master' into develop 2024-07-25 16:36:54 +02:00
a176945d22 Finish Hotfix-13 2024-07-25 16:36:53 +02:00
f5dbb6d4ca modifiche accettazione pomodori 2024-07-25 16:36:18 +02:00
0fa3b9fa6a Miglioramento get righe ordini per lentezza da Agricoper 2024-07-25 15:09:13 +02:00
178f551df9 Aggiunta l'informativa sulla privacy in invio mail preventivi 2024-07-25 11:12:39 +02:00
f915d37745 Aggiunto checkbox per segnare un collo in quarantena 2024-07-24 15:26:16 +02:00
bc07959554 Finish Hotfix-13 2024-07-23 18:13:37 +02:00
3b63002412 Merge branch 'master' into develop 2024-07-23 18:13:37 +02:00
cbf21a8f2a [ROSSOGARGANO]
aggiunte stampe riepiloghi trasporti e CqPomodori
2024-07-23 18:13:13 +02:00
9121485fa6 Merge branch 'master' into develop 2024-07-23 17:25:20 +02:00
42b6ce6aeb Finish Hotfix-13 2024-07-23 17:25:19 +02:00
d70f91fbd7 [ROSSOGARGANO]
gestiti permessi per utente
2024-07-23 17:24:41 +02:00
1cf1e4bb57 Fix data minima viaggio rosso gargano ed aggiunti cq fermi macchine su tutti gli articoli 2024-07-23 16:24:14 +02:00
f85febb775 Merge remote-tracking branch 'origin/develop' into develop 2024-07-22 18:46:02 +02:00
39083f2e67 Aggiunta configurazione SUIT_PUFLIA 2024-07-22 18:45:34 +02:00
1d8d53ee99 Finish ModifCreateZipFromFiles 2024-07-22 10:20:44 +02:00
cfae16f285 Merge branch 'master' into develop 2024-07-22 10:20:44 +02:00
6fccc8c236 Gestita creazione zip da MtbAartLink 2024-07-22 10:20:29 +02:00
7dde9ae8d6 Merge remote-tracking branch 'origin/develop' into develop 2024-07-19 19:25:41 +02:00
ac460f83d1 [ROSSOGARGANO]
Nuova tab lavorazioni in accettazione pommorolo
2024-07-19 19:25:12 +02:00
38b768c08b Aggiunti allegati articoli in contatti_commesse 2024-07-19 19:08:16 +02:00
40e64a5bb1 Aggiunto storico variazioni data scadenza e filtro su data segnalazione e data inserimento in modellini 2024-07-18 09:51:10 +02:00
17b90fe320 Merge branch 'master' into develop 2024-07-17 16:35:13 +02:00
a41017a083 Finish Hotfix-13 2024-07-17 16:35:13 +02:00
5e503c84fa [ROSSOGARGANO]
gestione pianificate di exchange
2024-07-17 16:28:42 +02:00
ad60ec5777 Finish Carelli_InvioVariazioniPrezzi_FixCaricamento&ModificheInviaVariazioni 2024-07-17 13:09:33 +02:00
d59bba9e78 Merge branch 'develop' into feature/Carelli_InvioVariazioniPrezzi_FixCaricamento&ModificheInviaVariazioni 2024-07-17 13:09:15 +02:00
92cb627266 cambiato servizio 2024-07-17 13:08:46 +02:00
47d69461fd Merge branch 'master' into develop 2024-07-17 11:56:25 +02:00
5b34236d7e Finish Hotfix-13 2024-07-17 11:56:24 +02:00
1828102462 [ROSSOGARGANO
corretta gestione ordinamento scarichi
2024-07-17 11:55:53 +02:00
9d708e8110 Merge branch 'master' into develop 2024-07-17 10:46:43 +02:00
15c5196a79 Finish GetRiepRGExch 2024-07-17 10:46:43 +02:00
ebade4649f Lettura giacenza da rosso gargano exchange in delivery plan
(cherry picked from commit 5d91b5e337)
2024-07-17 10:42:54 +02:00
990d13f70c Merge branch 'master' into develop 2024-07-16 20:26:12 +02:00
0b0c3393d4 Finish Hotfix-13 2024-07-16 20:26:11 +02:00
ab002cf5ad [rossogargano]
aggiunto vettore e varieta in partita
2024-07-16 20:25:46 +02:00
1a30e0af78 Merge branch 'develop' into feature/Carelli_InvioVariazioniPrezzi_FixCaricamento&ModificheInviaVariazioni 2024-07-16 17:36:18 +02:00
96557376e2 - Pulizia codice
- fix minori
2024-07-16 17:34:20 +02:00
b6c40ae676 [Invio Variazioni Prezzi]
- Fix caricamento storico variazioni
- Fix apertura popup invia a selezionati
- Modifiche minori
2024-07-16 17:32:44 +02:00
80ffbc570c Unito pulsante stampa listino range pedane in listini vendita 2024-07-16 12:11:34 +02:00
5d91b5e337 Lettura giacenza da rosso gargano exchange in delivery plan 2024-07-16 10:42:50 +02:00
ff9aabd43d Merge branch 'master' into develop 2024-07-12 17:54:08 +02:00
2aa32ee93c Finish Hotfix-13 2024-07-12 17:54:07 +02:00
e745457ed3 [Rossogargano] 2024-07-12 17:53:27 +02:00
cdfe5a7276 Merge branch 'master' into develop 2024-07-12 12:49:48 +02:00
c40dd1f53a Finish Hotfix-13 2024-07-12 12:49:48 +02:00
2fbaf2b09c corretti import moduli ts 2024-07-12 12:49:23 +02:00
ebb8fc12e1 Merge branch 'master' into develop 2024-07-12 12:46:46 +02:00
00ac375b6d Finish Hotfix-13 2024-07-12 12:46:45 +02:00
ab7b63374e [ROSSOGARGANO - Accettazione pomodori]
start importazione certificati
2024-07-12 12:46:01 +02:00
0ccb207e26 Merge branch 'master' into develop 2024-07-09 12:31:11 +02:00
875b01314c Finish Hotfix-13 2024-07-09 12:31:10 +02:00
5dc69249d1 [ROSSOGARGANO - accettazione]
modifiche accettazione pomodori
2024-07-09 12:31:01 +02:00
ab29823172 Merge remote-tracking branch 'origin/develop' into develop 2024-07-09 12:25:54 +02:00
jenkins
f5348ccd5e Merge branch 'master' into develop 2024-07-07 07:22:20 +02:00
f6fa2c69cd Gestita chiusura senza verifica ed aggiunto persona rif in sollecito 2024-07-05 16:53:51 +02:00
a624b5bc76 Aggiunta data inserimento e protocollo in popup segnalazione 2024-07-05 12:01:12 +02:00
c14f721569 Spostata commessa sopra in catalogo 2024-07-04 17:12:32 +02:00
ba813dc32e Visualizzata solo ultima settimana in delivery plan 2024-07-04 16:21:02 +02:00
4c665287a9 Merge branch 'refs/heads/master' into develop 2024-07-04 13:24:15 +02:00
24318a9183 [Gramm - MonitoraggioLinee]
- Fix saveCaratInput non funzionante
- Rimossa la chiusura del popup al saveCaratInput
2024-07-04 13:20:33 +02:00
bb887e92fd [MRP]
- Fix deposito mancante alla modifica di un ordine di lavorazione
- Fix funzioni await
- Fix salvataggio quantità aggiornata (rimesso l'update sulla ordProd)
2024-07-04 13:20:32 +02:00
9fe69e5811 Cambiata configurazione risto cash 2024-07-04 09:28:05 +02:00
aca0d580e1 Merge branch 'master' into develop 2024-07-03 18:11:47 +02:00
d232cb1114 Finish ModifPianProd 2024-07-03 18:11:46 +02:00
a95792841b Aggiunta data esportazione in DtbOrdrPianProd e gestita esportazione per linea 2024-07-03 18:11:25 +02:00
4901c4a25a Aggiunti colori custom per materica e considerato giorno inizio settimana in campi di raccolta 2024-07-03 17:40:58 +02:00
cc00538d30 Finish Integry_Impostazioni_FixCancellaValore 2024-07-01 15:58:32 +02:00
23fd661d11 Merge tag 'Integry_Impostazioni_FixCancellaValore' into develop
Finish Integry_Impostazioni_FixCancellaValore
2024-07-01 15:58:32 +02:00
6f1ce2d29c [Impostazioni]
- Fix null value alla cancellazione del valore
2024-07-01 15:57:21 +02:00
19f2a0518e Merge branch 'master' into develop 2024-07-01 12:48:09 +02:00
64eaf36e11 Finish EsportazFoodProcess 2024-07-01 12:48:08 +02:00
de3036f205 Gestita esportazione FoodProcess in pianificazione produzione orto e creazione attività processo trattativa 2024-07-01 12:47:53 +02:00
56a25c9669 [Gramm - MonitoraggioLinee]
- Fix saveCaratInput non funzionante
- Rimossa la chiusura del popup al saveCaratInput
2024-06-28 17:33:20 +02:00
386a4cafd0 [MRP]
- Fix deposito mancante alla modifica di un ordine di lavorazione
- Fix funzioni await
- Fix salvataggio quantità aggiornata (rimesso l'update sulla ordProd)
2024-06-28 17:02:42 +02:00
034a2dc235 Merge branch 'master' into develop 2024-06-26 11:56:00 +02:00
cc8a5b900c Finish Hotfix-13 2024-06-26 11:55:59 +02:00
e976572127 corrette import ts 2024-06-26 11:52:27 +02:00
5124a9f05c Merge branch 'master' into develop 2024-06-26 10:56:54 +02:00
36db1e78cd Finish Hotfix-13 2024-06-26 10:56:54 +02:00
ceee8bba8d [ROSSOGARGANO - Accettazione raccolta]
gestione scarichi
2024-06-26 10:56:29 +02:00
4547c81028 Aggiunto comando nuovo modulo 2024-06-25 17:33:36 +02:00
17979e0a15 Merge branch 'master' into develop 2024-06-25 10:42:59 +02:00
0954c8c034 Finish Hotfix-13 2024-06-25 10:42:58 +02:00
c73070ba2b corretto errore sodium in pagina grafici macchinari 2024-06-25 10:42:44 +02:00
8abb489c1e Merge tag 'Gramm_MonitoraggioLinee_FixDatePickerCQ' into develop
Finish Gramm_MonitoraggioLinee_FixDatePickerCQ
2024-06-24 16:03:53 +02:00
66c33d00ec Finish Gramm_MonitoraggioLinee_FixDatePickerCQ 2024-06-24 16:03:52 +02:00
4c7fade63b [Monitoraggio Linee]
- Fix datepicker controlli qualità
2024-06-24 16:03:05 +02:00
9b914d42e1 Merge branch 'master' into develop 2024-06-24 13:34:01 +02:00
884cd517d3 Finish Hotfix-13 2024-06-24 13:34:01 +02:00
340c045bdd Correzioni grafiche su stato macchina nel caso di macchine con Velocità in percentuale 2024-06-24 13:33:42 +02:00
ecfc1e6b99 Merge tag 'Biolevante_MRP_FixFiltroArticolo' into develop
Finish Biolevante_MRP_FixFiltroArticolo
2024-06-24 12:59:20 +02:00
37d2ed41b9 Finish Biolevante_MRP_FixFiltroArticolo 2024-06-24 12:59:19 +02:00
ea382e25bf [MRP]
- Fix filtro articolo
2024-06-24 12:51:58 +02:00
daef9e0d2b Finish Gramm_MagazzinoProd_AzzeraRimacinaPercentuale 2024-06-21 18:06:14 +02:00
733c185026 [Conto Economico Prodotto]
- modifiche minori e pulizia codice
2024-06-21 18:05:42 +02:00
3b585bae9c [Magazzino Prod]
- Popup Azzera Selezionati, possibilità di azzerare con le percentuali la rimacina
2024-06-21 10:06:33 +02:00
82d904ec17 Merge tag 'Integry_Impostazioni_FixPopupTabella' into develop
Finish Integry_Impostazioni_FixPopupTabella
2024-06-19 10:38:30 +02:00
2770279149 Finish Integry_Impostazioni_FixPopupTabella 2024-06-19 10:38:29 +02:00
15cdae061f [Impostazioni]
- Fix popup per tabelle (ingranaggi)
2024-06-19 10:31:08 +02:00
49d910f2cc Merge tag 'Gramm_MonitoraggioLineeV2_FixPulsante' into develop
Finish Gramm_MonitoraggioLineeV2_FixPulsante
2024-06-17 17:35:47 +02:00
790eaca86e Impostata l'operazione dell'ord prod in update a no_op in mrp 2024-06-17 16:37:56 +02:00
7f5a5ca3e8 Gestita esportazione excel con u.m. configurabili 2024-06-17 16:23:56 +02:00
df899f8620 Merge tag 'Carelli_Accettazione_FixData' into develop
Finish Carelli_Accettazione_FixData
2024-06-17 12:20:40 +02:00
aa0492df2a Merge tag 'Biolevante_ListiniEOfferte_FixGrafici' into develop
Finish Biolevante_ListiniEOfferte_FixGrafici
2024-06-17 11:59:00 +02:00
1186 changed files with 85382 additions and 36939 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
.git*
.idea
.env
.eslint*
**/node_modules/
**/dist
**/cache
docker-compose.yml
run-docker.ps1

840
.editorconfig Normal file
View File

@@ -0,0 +1,840 @@
[*]
charset = utf-8
end_of_line = crlf
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 120
tab_width = 4
trim_trailing_whitespace = true
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides =
ij_wrap_on_typing = false
[*.blade.php]
ij_blade_keep_indents_on_empty_lines = false
[*.css]
ij_css_align_closing_brace_with_properties = false
ij_css_blank_lines_around_nested_selector = 1
ij_css_blank_lines_between_blocks = 1
ij_css_block_comment_add_space = false
ij_css_brace_placement = end_of_line
ij_css_enforce_quotes_on_format = false
ij_css_hex_color_long_format = false
ij_css_hex_color_lower_case = false
ij_css_hex_color_short_format = false
ij_css_hex_color_upper_case = false
ij_css_keep_blank_lines_in_code = 2
ij_css_keep_indents_on_empty_lines = false
ij_css_keep_single_line_blocks = false
ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
ij_css_space_after_colon = true
ij_css_space_before_opening_brace = true
ij_css_use_double_quotes = true
ij_css_value_alignment = do_not_align
[*.feature]
indent_size = 2
ij_gherkin_keep_indents_on_empty_lines = false
[*.less]
indent_size = 2
ij_less_align_closing_brace_with_properties = false
ij_less_blank_lines_around_nested_selector = 1
ij_less_blank_lines_between_blocks = 1
ij_less_block_comment_add_space = false
ij_less_brace_placement = 0
ij_less_enforce_quotes_on_format = false
ij_less_hex_color_long_format = false
ij_less_hex_color_lower_case = false
ij_less_hex_color_short_format = false
ij_less_hex_color_upper_case = false
ij_less_keep_blank_lines_in_code = 2
ij_less_keep_indents_on_empty_lines = false
ij_less_keep_single_line_blocks = false
ij_less_line_comment_add_space = false
ij_less_line_comment_at_first_column = false
ij_less_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
ij_less_space_after_colon = true
ij_less_space_before_opening_brace = true
ij_less_use_double_quotes = true
ij_less_value_alignment = 0
[*.sass]
indent_size = 2
ij_sass_align_closing_brace_with_properties = false
ij_sass_blank_lines_around_nested_selector = 1
ij_sass_blank_lines_between_blocks = 1
ij_sass_brace_placement = 0
ij_sass_enforce_quotes_on_format = false
ij_sass_hex_color_long_format = false
ij_sass_hex_color_lower_case = false
ij_sass_hex_color_short_format = false
ij_sass_hex_color_upper_case = false
ij_sass_keep_blank_lines_in_code = 2
ij_sass_keep_indents_on_empty_lines = false
ij_sass_keep_single_line_blocks = false
ij_sass_line_comment_add_space = false
ij_sass_line_comment_at_first_column = false
ij_sass_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
ij_sass_space_after_colon = true
ij_sass_space_before_opening_brace = true
ij_sass_use_double_quotes = true
ij_sass_value_alignment = 0
[*.scss]
indent_size = 2
ij_scss_align_closing_brace_with_properties = false
ij_scss_blank_lines_around_nested_selector = 1
ij_scss_blank_lines_between_blocks = 1
ij_scss_block_comment_add_space = false
ij_scss_brace_placement = 0
ij_scss_enforce_quotes_on_format = false
ij_scss_hex_color_long_format = false
ij_scss_hex_color_lower_case = false
ij_scss_hex_color_short_format = false
ij_scss_hex_color_upper_case = false
ij_scss_keep_blank_lines_in_code = 2
ij_scss_keep_indents_on_empty_lines = false
ij_scss_keep_single_line_blocks = false
ij_scss_line_comment_add_space = false
ij_scss_line_comment_at_first_column = false
ij_scss_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
ij_scss_space_after_colon = true
ij_scss_space_before_opening_brace = true
ij_scss_use_double_quotes = true
ij_scss_value_alignment = 0
[*.twig]
ij_twig_keep_indents_on_empty_lines = false
ij_twig_spaces_inside_comments_delimiters = true
ij_twig_spaces_inside_delimiters = true
ij_twig_spaces_inside_variable_delimiters = true
[*.vue]
indent_size = 2
tab_width = 2
ij_continuation_indent_size = 4
ij_vue_indent_children_of_top_level = template
ij_vue_interpolation_new_line_after_start_delimiter = true
ij_vue_interpolation_new_line_before_end_delimiter = true
ij_vue_interpolation_wrap = off
ij_vue_keep_indents_on_empty_lines = false
ij_vue_spaces_within_interpolation_expressions = true
[.editorconfig]
ij_editorconfig_align_group_field_declarations = false
ij_editorconfig_space_after_colon = false
ij_editorconfig_space_after_comma = true
ij_editorconfig_space_before_colon = false
ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,phpunit.xml.dist}]
ij_xml_align_attributes = true
ij_xml_align_text = false
ij_xml_attribute_wrap = normal
ij_xml_block_comment_add_space = false
ij_xml_block_comment_at_first_column = true
ij_xml_keep_blank_lines = 2
ij_xml_keep_indents_on_empty_lines = false
ij_xml_keep_line_breaks = true
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_whitespaces = false
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = false
ij_xml_line_comment_at_first_column = true
ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_inside_empty_tag = false
ij_xml_text_wrap = normal
[{*.ats,*.cts,*.mts,*.ts}]
ij_continuation_indent_size = 4
ij_typescript_align_imports = false
ij_typescript_align_multiline_array_initializer_expression = false
ij_typescript_align_multiline_binary_operation = false
ij_typescript_align_multiline_chained_methods = false
ij_typescript_align_multiline_extends_list = false
ij_typescript_align_multiline_for = true
ij_typescript_align_multiline_parameters = true
ij_typescript_align_multiline_parameters_in_calls = false
ij_typescript_align_multiline_ternary_operation = false
ij_typescript_align_object_properties = 0
ij_typescript_align_union_types = false
ij_typescript_align_var_statements = 0
ij_typescript_array_initializer_new_line_after_left_brace = false
ij_typescript_array_initializer_right_brace_on_new_line = false
ij_typescript_array_initializer_wrap = off
ij_typescript_assignment_wrap = off
ij_typescript_binary_operation_sign_on_next_line = false
ij_typescript_binary_operation_wrap = off
ij_typescript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
ij_typescript_blank_lines_after_imports = 1
ij_typescript_blank_lines_around_class = 1
ij_typescript_blank_lines_around_field = 0
ij_typescript_blank_lines_around_field_in_interface = 0
ij_typescript_blank_lines_around_function = 1
ij_typescript_blank_lines_around_method = 1
ij_typescript_blank_lines_around_method_in_interface = 1
ij_typescript_block_brace_style = end_of_line
ij_typescript_block_comment_add_space = false
ij_typescript_block_comment_at_first_column = true
ij_typescript_call_parameters_new_line_after_left_paren = false
ij_typescript_call_parameters_right_paren_on_new_line = false
ij_typescript_call_parameters_wrap = off
ij_typescript_catch_on_new_line = false
ij_typescript_chained_call_dot_on_new_line = true
ij_typescript_class_brace_style = end_of_line
ij_typescript_class_decorator_wrap = split_into_lines
ij_typescript_class_field_decorator_wrap = off
ij_typescript_class_method_decorator_wrap = off
ij_typescript_comma_on_new_line = false
ij_typescript_do_while_brace_force = never
ij_typescript_else_on_new_line = false
ij_typescript_enforce_trailing_comma = keep
ij_typescript_enum_constants_wrap = on_every_item
ij_typescript_extends_keyword_wrap = off
ij_typescript_extends_list_wrap = off
ij_typescript_field_prefix = _
ij_typescript_file_name_style = relaxed
ij_typescript_finally_on_new_line = false
ij_typescript_for_brace_force = never
ij_typescript_for_statement_new_line_after_left_paren = false
ij_typescript_for_statement_right_paren_on_new_line = false
ij_typescript_for_statement_wrap = off
ij_typescript_force_quote_style = false
ij_typescript_force_semicolon_style = false
ij_typescript_function_expression_brace_style = end_of_line
ij_typescript_function_parameter_decorator_wrap = off
ij_typescript_if_brace_force = never
ij_typescript_import_merge_members = global
ij_typescript_import_prefer_absolute_path = global
ij_typescript_import_sort_members = true
ij_typescript_import_sort_module_name = false
ij_typescript_import_use_node_resolution = true
ij_typescript_imports_wrap = on_every_item
ij_typescript_indent_case_from_switch = true
ij_typescript_indent_chained_calls = true
ij_typescript_indent_package_children = 0
ij_typescript_jsdoc_include_types = false
ij_typescript_jsx_attribute_value = braces
ij_typescript_keep_blank_lines_in_code = 2
ij_typescript_keep_first_column_comment = true
ij_typescript_keep_indents_on_empty_lines = false
ij_typescript_keep_line_breaks = true
ij_typescript_keep_simple_blocks_in_one_line = false
ij_typescript_keep_simple_methods_in_one_line = false
ij_typescript_line_comment_add_space = true
ij_typescript_line_comment_at_first_column = false
ij_typescript_method_brace_style = end_of_line
ij_typescript_method_call_chain_wrap = off
ij_typescript_method_parameters_new_line_after_left_paren = false
ij_typescript_method_parameters_right_paren_on_new_line = false
ij_typescript_method_parameters_wrap = off
ij_typescript_object_literal_wrap = on_every_item
ij_typescript_object_types_wrap = on_every_item
ij_typescript_parentheses_expression_new_line_after_left_paren = false
ij_typescript_parentheses_expression_right_paren_on_new_line = false
ij_typescript_place_assignment_sign_on_next_line = false
ij_typescript_prefer_as_type_cast = false
ij_typescript_prefer_explicit_types_function_expression_returns = false
ij_typescript_prefer_explicit_types_function_returns = false
ij_typescript_prefer_explicit_types_vars_fields = false
ij_typescript_prefer_parameters_wrap = false
ij_typescript_property_prefix =
ij_typescript_reformat_c_style_comments = false
ij_typescript_space_after_colon = true
ij_typescript_space_after_comma = true
ij_typescript_space_after_dots_in_rest_parameter = false
ij_typescript_space_after_generator_mult = true
ij_typescript_space_after_property_colon = true
ij_typescript_space_after_quest = true
ij_typescript_space_after_type_colon = true
ij_typescript_space_after_unary_not = false
ij_typescript_space_before_async_arrow_lparen = true
ij_typescript_space_before_catch_keyword = true
ij_typescript_space_before_catch_left_brace = true
ij_typescript_space_before_catch_parentheses = true
ij_typescript_space_before_class_lbrace = true
ij_typescript_space_before_class_left_brace = true
ij_typescript_space_before_colon = true
ij_typescript_space_before_comma = false
ij_typescript_space_before_do_left_brace = true
ij_typescript_space_before_else_keyword = true
ij_typescript_space_before_else_left_brace = true
ij_typescript_space_before_finally_keyword = true
ij_typescript_space_before_finally_left_brace = true
ij_typescript_space_before_for_left_brace = true
ij_typescript_space_before_for_parentheses = true
ij_typescript_space_before_for_semicolon = false
ij_typescript_space_before_function_left_parenth = true
ij_typescript_space_before_generator_mult = false
ij_typescript_space_before_if_left_brace = true
ij_typescript_space_before_if_parentheses = true
ij_typescript_space_before_method_call_parentheses = false
ij_typescript_space_before_method_left_brace = true
ij_typescript_space_before_method_parentheses = false
ij_typescript_space_before_property_colon = false
ij_typescript_space_before_quest = true
ij_typescript_space_before_switch_left_brace = true
ij_typescript_space_before_switch_parentheses = true
ij_typescript_space_before_try_left_brace = true
ij_typescript_space_before_type_colon = false
ij_typescript_space_before_unary_not = false
ij_typescript_space_before_while_keyword = true
ij_typescript_space_before_while_left_brace = true
ij_typescript_space_before_while_parentheses = true
ij_typescript_spaces_around_additive_operators = true
ij_typescript_spaces_around_arrow_function_operator = true
ij_typescript_spaces_around_assignment_operators = true
ij_typescript_spaces_around_bitwise_operators = true
ij_typescript_spaces_around_equality_operators = true
ij_typescript_spaces_around_logical_operators = true
ij_typescript_spaces_around_multiplicative_operators = true
ij_typescript_spaces_around_relational_operators = true
ij_typescript_spaces_around_shift_operators = true
ij_typescript_spaces_around_unary_operator = false
ij_typescript_spaces_within_array_initializer_brackets = false
ij_typescript_spaces_within_brackets = false
ij_typescript_spaces_within_catch_parentheses = false
ij_typescript_spaces_within_for_parentheses = false
ij_typescript_spaces_within_if_parentheses = false
ij_typescript_spaces_within_imports = false
ij_typescript_spaces_within_interpolation_expressions = false
ij_typescript_spaces_within_method_call_parentheses = false
ij_typescript_spaces_within_method_parentheses = false
ij_typescript_spaces_within_object_literal_braces = false
ij_typescript_spaces_within_object_type_braces = true
ij_typescript_spaces_within_parentheses = false
ij_typescript_spaces_within_switch_parentheses = false
ij_typescript_spaces_within_type_assertion = false
ij_typescript_spaces_within_union_types = true
ij_typescript_spaces_within_while_parentheses = false
ij_typescript_special_else_if_treatment = true
ij_typescript_ternary_operation_signs_on_next_line = false
ij_typescript_ternary_operation_wrap = off
ij_typescript_union_types_wrap = on_every_item
ij_typescript_use_chained_calls_group_indents = false
ij_typescript_use_double_quotes = true
ij_typescript_use_explicit_js_extension = auto
ij_typescript_use_import_type = auto
ij_typescript_use_path_mapping = always
ij_typescript_use_public_modifier = false
ij_typescript_use_semicolon_after_statement = true
ij_typescript_var_declaration_wrap = normal
ij_typescript_while_brace_force = never
ij_typescript_while_on_new_line = false
ij_typescript_wrap_comments = false
[{*.bash,*.sh,*.zsh}]
indent_size = 2
tab_width = 2
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.cjs,*.es6,*.js,*.mjs}]
ij_continuation_indent_size = 4
ij_javascript_align_imports = false
ij_javascript_align_multiline_array_initializer_expression = false
ij_javascript_align_multiline_binary_operation = false
ij_javascript_align_multiline_chained_methods = false
ij_javascript_align_multiline_extends_list = false
ij_javascript_align_multiline_for = true
ij_javascript_align_multiline_parameters = true
ij_javascript_align_multiline_parameters_in_calls = false
ij_javascript_align_multiline_ternary_operation = false
ij_javascript_align_object_properties = 0
ij_javascript_align_union_types = false
ij_javascript_align_var_statements = 0
ij_javascript_array_initializer_new_line_after_left_brace = false
ij_javascript_array_initializer_right_brace_on_new_line = false
ij_javascript_array_initializer_wrap = off
ij_javascript_assignment_wrap = off
ij_javascript_binary_operation_sign_on_next_line = false
ij_javascript_binary_operation_wrap = off
ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
ij_javascript_blank_lines_after_imports = 1
ij_javascript_blank_lines_around_class = 1
ij_javascript_blank_lines_around_field = 0
ij_javascript_blank_lines_around_function = 1
ij_javascript_blank_lines_around_method = 1
ij_javascript_block_brace_style = end_of_line
ij_javascript_block_comment_add_space = false
ij_javascript_block_comment_at_first_column = true
ij_javascript_call_parameters_new_line_after_left_paren = false
ij_javascript_call_parameters_right_paren_on_new_line = false
ij_javascript_call_parameters_wrap = off
ij_javascript_catch_on_new_line = false
ij_javascript_chained_call_dot_on_new_line = true
ij_javascript_class_brace_style = end_of_line
ij_javascript_class_decorator_wrap = split_into_lines
ij_javascript_class_field_decorator_wrap = off
ij_javascript_class_method_decorator_wrap = off
ij_javascript_comma_on_new_line = false
ij_javascript_do_while_brace_force = never
ij_javascript_else_on_new_line = false
ij_javascript_enforce_trailing_comma = keep
ij_javascript_extends_keyword_wrap = off
ij_javascript_extends_list_wrap = off
ij_javascript_field_prefix = _
ij_javascript_file_name_style = relaxed
ij_javascript_finally_on_new_line = false
ij_javascript_for_brace_force = never
ij_javascript_for_statement_new_line_after_left_paren = false
ij_javascript_for_statement_right_paren_on_new_line = false
ij_javascript_for_statement_wrap = off
ij_javascript_force_quote_style = false
ij_javascript_force_semicolon_style = false
ij_javascript_function_expression_brace_style = end_of_line
ij_javascript_function_parameter_decorator_wrap = off
ij_javascript_if_brace_force = never
ij_javascript_import_merge_members = global
ij_javascript_import_prefer_absolute_path = global
ij_javascript_import_sort_members = true
ij_javascript_import_sort_module_name = false
ij_javascript_import_use_node_resolution = true
ij_javascript_imports_wrap = on_every_item
ij_javascript_indent_case_from_switch = true
ij_javascript_indent_chained_calls = true
ij_javascript_indent_package_children = 0
ij_javascript_jsx_attribute_value = braces
ij_javascript_keep_blank_lines_in_code = 2
ij_javascript_keep_first_column_comment = true
ij_javascript_keep_indents_on_empty_lines = false
ij_javascript_keep_line_breaks = true
ij_javascript_keep_simple_blocks_in_one_line = false
ij_javascript_keep_simple_methods_in_one_line = false
ij_javascript_line_comment_add_space = true
ij_javascript_line_comment_at_first_column = false
ij_javascript_method_brace_style = end_of_line
ij_javascript_method_call_chain_wrap = off
ij_javascript_method_parameters_new_line_after_left_paren = false
ij_javascript_method_parameters_right_paren_on_new_line = false
ij_javascript_method_parameters_wrap = off
ij_javascript_object_literal_wrap = on_every_item
ij_javascript_object_types_wrap = on_every_item
ij_javascript_parentheses_expression_new_line_after_left_paren = false
ij_javascript_parentheses_expression_right_paren_on_new_line = false
ij_javascript_place_assignment_sign_on_next_line = false
ij_javascript_prefer_as_type_cast = false
ij_javascript_prefer_explicit_types_function_expression_returns = false
ij_javascript_prefer_explicit_types_function_returns = false
ij_javascript_prefer_explicit_types_vars_fields = false
ij_javascript_prefer_parameters_wrap = false
ij_javascript_property_prefix =
ij_javascript_reformat_c_style_comments = false
ij_javascript_space_after_colon = true
ij_javascript_space_after_comma = true
ij_javascript_space_after_dots_in_rest_parameter = false
ij_javascript_space_after_generator_mult = true
ij_javascript_space_after_property_colon = true
ij_javascript_space_after_quest = true
ij_javascript_space_after_type_colon = true
ij_javascript_space_after_unary_not = false
ij_javascript_space_before_async_arrow_lparen = true
ij_javascript_space_before_catch_keyword = true
ij_javascript_space_before_catch_left_brace = true
ij_javascript_space_before_catch_parentheses = true
ij_javascript_space_before_class_lbrace = true
ij_javascript_space_before_class_left_brace = true
ij_javascript_space_before_colon = true
ij_javascript_space_before_comma = false
ij_javascript_space_before_do_left_brace = true
ij_javascript_space_before_else_keyword = true
ij_javascript_space_before_else_left_brace = true
ij_javascript_space_before_finally_keyword = true
ij_javascript_space_before_finally_left_brace = true
ij_javascript_space_before_for_left_brace = true
ij_javascript_space_before_for_parentheses = true
ij_javascript_space_before_for_semicolon = false
ij_javascript_space_before_function_left_parenth = true
ij_javascript_space_before_generator_mult = false
ij_javascript_space_before_if_left_brace = true
ij_javascript_space_before_if_parentheses = true
ij_javascript_space_before_method_call_parentheses = false
ij_javascript_space_before_method_left_brace = true
ij_javascript_space_before_method_parentheses = false
ij_javascript_space_before_property_colon = false
ij_javascript_space_before_quest = true
ij_javascript_space_before_switch_left_brace = true
ij_javascript_space_before_switch_parentheses = true
ij_javascript_space_before_try_left_brace = true
ij_javascript_space_before_type_colon = false
ij_javascript_space_before_unary_not = false
ij_javascript_space_before_while_keyword = true
ij_javascript_space_before_while_left_brace = true
ij_javascript_space_before_while_parentheses = true
ij_javascript_spaces_around_additive_operators = true
ij_javascript_spaces_around_arrow_function_operator = true
ij_javascript_spaces_around_assignment_operators = true
ij_javascript_spaces_around_bitwise_operators = true
ij_javascript_spaces_around_equality_operators = true
ij_javascript_spaces_around_logical_operators = true
ij_javascript_spaces_around_multiplicative_operators = true
ij_javascript_spaces_around_relational_operators = true
ij_javascript_spaces_around_shift_operators = true
ij_javascript_spaces_around_unary_operator = false
ij_javascript_spaces_within_array_initializer_brackets = false
ij_javascript_spaces_within_brackets = false
ij_javascript_spaces_within_catch_parentheses = false
ij_javascript_spaces_within_for_parentheses = false
ij_javascript_spaces_within_if_parentheses = false
ij_javascript_spaces_within_imports = false
ij_javascript_spaces_within_interpolation_expressions = false
ij_javascript_spaces_within_method_call_parentheses = false
ij_javascript_spaces_within_method_parentheses = false
ij_javascript_spaces_within_object_literal_braces = false
ij_javascript_spaces_within_object_type_braces = true
ij_javascript_spaces_within_parentheses = false
ij_javascript_spaces_within_switch_parentheses = false
ij_javascript_spaces_within_type_assertion = false
ij_javascript_spaces_within_union_types = true
ij_javascript_spaces_within_while_parentheses = false
ij_javascript_special_else_if_treatment = true
ij_javascript_ternary_operation_signs_on_next_line = false
ij_javascript_ternary_operation_wrap = off
ij_javascript_union_types_wrap = on_every_item
ij_javascript_use_chained_calls_group_indents = false
ij_javascript_use_double_quotes = true
ij_javascript_use_explicit_js_extension = auto
ij_javascript_use_import_type = auto
ij_javascript_use_path_mapping = always
ij_javascript_use_public_modifier = false
ij_javascript_use_semicolon_after_statement = true
ij_javascript_var_declaration_wrap = normal
ij_javascript_while_brace_force = never
ij_javascript_while_on_new_line = false
ij_javascript_wrap_comments = false
[{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml}]
ij_continuation_indent_size = 4
ij_php_align_assignments = false
ij_php_align_class_constants = false
ij_php_align_enum_cases = false
ij_php_align_group_field_declarations = false
ij_php_align_inline_comments = false
ij_php_align_key_value_pairs = false
ij_php_align_match_arm_bodies = false
ij_php_align_multiline_array_initializer_expression = true
ij_php_align_multiline_binary_operation = true
ij_php_align_multiline_chained_methods = false
ij_php_align_multiline_extends_list = false
ij_php_align_multiline_for = true
ij_php_align_multiline_parameters = true
ij_php_align_multiline_parameters_in_calls = false
ij_php_align_multiline_ternary_operation = false
ij_php_align_named_arguments = false
ij_php_align_phpdoc_comments = false
ij_php_align_phpdoc_param_names = false
ij_php_anonymous_brace_style = end_of_line
ij_php_api_weight = 28
ij_php_array_initializer_new_line_after_left_brace = true
ij_php_array_initializer_right_brace_on_new_line = true
ij_php_array_initializer_wrap = normal
ij_php_assignment_wrap = normal
ij_php_attributes_wrap = off
ij_php_author_weight = 28
ij_php_binary_operation_sign_on_next_line = true
ij_php_binary_operation_wrap = normal
ij_php_blank_lines_after_class_header = 0
ij_php_blank_lines_after_function = 1
ij_php_blank_lines_after_imports = 1
ij_php_blank_lines_after_opening_tag = 0
ij_php_blank_lines_after_package = 0
ij_php_blank_lines_around_class = 1
ij_php_blank_lines_around_constants = 0
ij_php_blank_lines_around_enum_cases = 0
ij_php_blank_lines_around_field = 0
ij_php_blank_lines_around_method = 1
ij_php_blank_lines_before_class_end = 0
ij_php_blank_lines_before_imports = 1
ij_php_blank_lines_before_method_body = 0
ij_php_blank_lines_before_package = 1
ij_php_blank_lines_before_return_statement = 0
ij_php_blank_lines_between_imports = 0
ij_php_block_brace_style = end_of_line
ij_php_call_parameters_new_line_after_left_paren = false
ij_php_call_parameters_right_paren_on_new_line = false
ij_php_call_parameters_wrap = off
ij_php_catch_on_new_line = false
ij_php_category_weight = 28
ij_php_class_brace_style = end_of_line
ij_php_comma_after_last_argument = false
ij_php_comma_after_last_argument_style = when_multiline
ij_php_comma_after_last_array_element = false
ij_php_comma_after_last_closure_use_var = false
ij_php_comma_after_last_closure_use_var_style = when_multiline
ij_php_comma_after_last_match_arm = false
ij_php_comma_after_last_parameter = false
ij_php_comma_after_last_parameter_style = when_multiline
ij_php_concat_spaces = true
ij_php_copyright_weight = 28
ij_php_deprecated_weight = 28
ij_php_do_while_brace_force = always
ij_php_else_if_style = as_is
ij_php_else_on_new_line = false
ij_php_example_weight = 28
ij_php_extends_keyword_wrap = off
ij_php_extends_list_wrap = off
ij_php_fields_default_visibility = private
ij_php_filesource_weight = 28
ij_php_finally_on_new_line = false
ij_php_for_brace_force = never
ij_php_for_statement_new_line_after_left_paren = false
ij_php_for_statement_right_paren_on_new_line = false
ij_php_for_statement_wrap = off
ij_php_force_empty_classes_in_one_line = false
ij_php_force_empty_methods_in_one_line = true
ij_php_force_short_declaration_array_style = false
ij_php_getters_setters_naming_style = camel_case
ij_php_getters_setters_order_style = getters_first
ij_php_global_weight = 28
ij_php_group_use_wrap = on_every_item
ij_php_heredoc_on_same_line = false
ij_php_if_brace_force = always
ij_php_if_lparen_on_next_line = false
ij_php_if_rparen_on_next_line = false
ij_php_ignore_weight = 28
ij_php_import_sorting = alphabetic
ij_php_indent_break_from_case = true
ij_php_indent_case_from_switch = true
ij_php_indent_code_in_php_tags = false
ij_php_internal_weight = 28
ij_php_keep_blank_lines_after_lbrace = 2
ij_php_keep_blank_lines_before_right_brace = 2
ij_php_keep_blank_lines_in_code = 2
ij_php_keep_blank_lines_in_declarations = 2
ij_php_keep_control_statement_in_one_line = true
ij_php_keep_first_column_comment = true
ij_php_keep_indents_on_empty_lines = false
ij_php_keep_line_breaks = true
ij_php_keep_rparen_and_lbrace_on_one_line = false
ij_php_keep_simple_classes_in_one_line = false
ij_php_keep_simple_methods_in_one_line = false
ij_php_lambda_brace_style = end_of_line
ij_php_license_weight = 28
ij_php_line_comment_add_space = false
ij_php_line_comment_at_first_column = true
ij_php_link_weight = 28
ij_php_lower_case_boolean_const = true
ij_php_lower_case_keywords = true
ij_php_lower_case_null_const = true
ij_php_method_brace_style = end_of_line
ij_php_method_call_chain_wrap = off
ij_php_method_parameters_new_line_after_left_paren = false
ij_php_method_parameters_right_paren_on_new_line = false
ij_php_method_parameters_wrap = off
ij_php_method_weight = 28
ij_php_modifier_list_wrap = false
ij_php_multiline_chained_calls_first_call_on_new_line = false
ij_php_multiline_chained_calls_semicolon_on_new_line = false
ij_php_multiline_closure_lambda_on_new_line = false
ij_php_namespace_brace_style = 1
ij_php_new_line_after_php_opening_tag = true
ij_php_null_type_position = in_the_end
ij_php_package_weight = 28
ij_php_param_weight = 0
ij_php_parameters_attributes_wrap = off
ij_php_parentheses_expression_new_line_after_left_paren = false
ij_php_parentheses_expression_right_paren_on_new_line = false
ij_php_phpdoc_blank_line_before_tags = false
ij_php_phpdoc_blank_lines_around_parameters = false
ij_php_phpdoc_keep_blank_lines = true
ij_php_phpdoc_param_spaces_between_name_and_description = 1
ij_php_phpdoc_param_spaces_between_tag_and_type = 1
ij_php_phpdoc_param_spaces_between_type_and_name = 1
ij_php_phpdoc_use_fqcn = false
ij_php_phpdoc_wrap_long_lines = false
ij_php_place_assignment_sign_on_next_line = true
ij_php_place_parens_for_constructor = 0
ij_php_property_read_weight = 28
ij_php_property_weight = 28
ij_php_property_write_weight = 28
ij_php_return_type_on_new_line = false
ij_php_return_weight = 1
ij_php_see_weight = 28
ij_php_since_weight = 28
ij_php_sort_phpdoc_elements = true
ij_php_space_after_colon = true
ij_php_space_after_colon_in_enum_backed_type = true
ij_php_space_after_colon_in_named_argument = true
ij_php_space_after_colon_in_return_type = true
ij_php_space_after_comma = true
ij_php_space_after_for_semicolon = true
ij_php_space_after_quest = true
ij_php_space_after_type_cast = false
ij_php_space_after_unary_not = false
ij_php_space_before_array_initializer_left_brace = false
ij_php_space_before_catch_keyword = true
ij_php_space_before_catch_left_brace = true
ij_php_space_before_catch_parentheses = true
ij_php_space_before_class_left_brace = true
ij_php_space_before_closure_left_parenthesis = true
ij_php_space_before_colon = true
ij_php_space_before_colon_in_enum_backed_type = false
ij_php_space_before_colon_in_named_argument = false
ij_php_space_before_colon_in_return_type = false
ij_php_space_before_comma = false
ij_php_space_before_do_left_brace = true
ij_php_space_before_else_keyword = true
ij_php_space_before_else_left_brace = true
ij_php_space_before_finally_keyword = true
ij_php_space_before_finally_left_brace = true
ij_php_space_before_for_left_brace = true
ij_php_space_before_for_parentheses = true
ij_php_space_before_for_semicolon = false
ij_php_space_before_if_left_brace = true
ij_php_space_before_if_parentheses = true
ij_php_space_before_method_call_parentheses = false
ij_php_space_before_method_left_brace = true
ij_php_space_before_method_parentheses = false
ij_php_space_before_quest = true
ij_php_space_before_short_closure_left_parenthesis = false
ij_php_space_before_switch_left_brace = true
ij_php_space_before_switch_parentheses = true
ij_php_space_before_try_left_brace = true
ij_php_space_before_unary_not = false
ij_php_space_before_while_keyword = true
ij_php_space_before_while_left_brace = true
ij_php_space_before_while_parentheses = true
ij_php_space_between_ternary_quest_and_colon = false
ij_php_spaces_around_additive_operators = true
ij_php_spaces_around_arrow = false
ij_php_spaces_around_assignment_in_declare = false
ij_php_spaces_around_assignment_operators = true
ij_php_spaces_around_bitwise_operators = true
ij_php_spaces_around_equality_operators = true
ij_php_spaces_around_logical_operators = true
ij_php_spaces_around_multiplicative_operators = true
ij_php_spaces_around_null_coalesce_operator = true
ij_php_spaces_around_pipe_in_union_type = false
ij_php_spaces_around_relational_operators = true
ij_php_spaces_around_shift_operators = true
ij_php_spaces_around_unary_operator = false
ij_php_spaces_around_var_within_brackets = false
ij_php_spaces_within_array_initializer_braces = false
ij_php_spaces_within_brackets = false
ij_php_spaces_within_catch_parentheses = false
ij_php_spaces_within_for_parentheses = false
ij_php_spaces_within_if_parentheses = false
ij_php_spaces_within_method_call_parentheses = false
ij_php_spaces_within_method_parentheses = false
ij_php_spaces_within_parentheses = false
ij_php_spaces_within_short_echo_tags = true
ij_php_spaces_within_switch_parentheses = false
ij_php_spaces_within_while_parentheses = false
ij_php_special_else_if_treatment = true
ij_php_subpackage_weight = 28
ij_php_ternary_operation_signs_on_next_line = false
ij_php_ternary_operation_wrap = off
ij_php_throws_weight = 2
ij_php_todo_weight = 28
ij_php_treat_multiline_arrays_and_lambdas_multiline = false
ij_php_unknown_tag_weight = 28
ij_php_upper_case_boolean_const = false
ij_php_upper_case_null_const = false
ij_php_uses_weight = 28
ij_php_var_weight = 28
ij_php_variable_naming_style = camel_case
ij_php_version_weight = 28
ij_php_while_brace_force = always
ij_php_while_on_new_line = false
[{*.har,*.jsb2,*.jsb3,*.json,*.jsonc,*.postman_collection,*.postman_collection.json,*.postman_environment,*.postman_environment.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,.ws-context,composer.lock,jest.config}]
indent_size = 2
ij_json_array_wrapping = split_into_lines
ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_keep_trailing_comma = false
ij_json_object_wrapping = split_into_lines
ij_json_property_alignment = do_not_align
ij_json_space_after_colon = true
ij_json_space_after_comma = true
ij_json_space_before_colon = false
ij_json_space_before_comma = false
ij_json_spaces_within_braces = false
ij_json_spaces_within_brackets = false
ij_json_wrap_long_lines = false
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3
ij_html_align_attributes = true
ij_html_align_text = false
ij_html_attribute_wrap = normal
ij_html_block_comment_add_space = false
ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p
ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot
ij_html_enforce_quotes = false
ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var
ij_html_keep_blank_lines = 2
ij_html_keep_indents_on_empty_lines = false
ij_html_keep_line_breaks = true
ij_html_keep_line_breaks_in_text = true
ij_html_keep_whitespaces = false
ij_html_keep_whitespaces_inside = span, pre, textarea
ij_html_line_comment_at_first_column = true
ij_html_new_line_after_last_attribute = never
ij_html_new_line_before_first_attribute = never
ij_html_quote_style = double
ij_html_remove_new_line_before_tags = br
ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
ij_html_space_inside_empty_tag = false
ij_html_text_wrap = normal
[{*.http,*.rest}]
ij_continuation_indent_size = 4
ij_http-request_call_parameters_wrap = normal
ij_http-request_method_parameters_wrap = split_into_lines
ij_http-request_space_before_comma = true
ij_http-request_spaces_around_assignment_operators = true
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_between_words = true
ij_markdown_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_between_paragraphs = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_between_paragraphs = 1
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
[{*.yaml,*.yml}]
indent_size = 2
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_line_comment_add_space = false
ij_yaml_line_comment_add_space_on_reformat = false
ij_yaml_line_comment_at_first_column = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
[*.php]
insert_final_newline = true

View File

@@ -1,6 +1,6 @@
APP_ENV=DEV
NODE_ENV=development
AZIENDA=studioml
AZIENDA=integry
ENABLED_PROFILES=
SERVICES_BASE_URL=http://localhost:8080

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.sh eol=lf

7
.idea/codeStyles/Project.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<codeStyleSettings language="PHP">
<option name="SPECIAL_ELSE_IF_TREATMENT" value="true" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@@ -1,5 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default copy" />
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>

3
.idea/codeception.xml generated
View File

@@ -9,9 +9,6 @@
<Configuration>
<option name="path" value="$PROJECT_DIR$/public_html/tests" />
</Configuration>
<Configuration>
<option name="path" value="$PROJECT_DIR$/public_html/tests" />
</Configuration>
</list>
</option>
</component>

6
.idea/git_toolbox_blame.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxBlameSettings">
<option name="version" value="2" />
</component>
</project>

23
.idea/php.xml generated
View File

@@ -9,6 +9,11 @@
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpCodeSniffer">
<phpcs_settings>
<phpcs_by_interpreter asDefaultInterpreter="true" interpreter_id="1864307c-cd7f-480f-80fe-4bf27e854f94" timeout="30000" />
</phpcs_settings>
</component>
<component name="PhpDebugIgnoredPathsSettings">
<skipped_paths>
<skipped_path path="$PROJECT_DIR$/../REPO-IMAGES" />
@@ -68,16 +73,17 @@
<path value="$PROJECT_DIR$/public_html/config_aziende/MYSRL/vendor/psr/log" />
<path value="$PROJECT_DIR$/public_html/config_aziende/MYSRL/vendor/phpmyadmin/motranslator" />
<path value="$PROJECT_DIR$/public_html/config_aziende/MYSRL/vendor/psr/cache" />
<path value="$PROJECT_DIR$/public_html/vendor/myclabs/php-enum" />
</include_path>
</component>
<component name="PhpProjectServersManager">
<servers>
<server host="localpvm" id="5394f34d-47b0-4fe7-87c5-bce404508b30" name="localpvm" />
</servers>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.4">
<component name="PhpProjectSharedConfiguration">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
<component name="PhpStan">
<PhpStan_settings>
<phpstan_by_interpreter asDefaultInterpreter="true" interpreter_id="1864307c-cd7f-480f-80fe-4bf27e854f94" timeout="60000" />
</PhpStan_settings>
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
@@ -86,6 +92,11 @@
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/public_html/vendor/autoload.php" />
</phpunit_settings>
</component>
<component name="Psalm">
<Psalm_settings>
<psalm_fixer_by_interpreter asDefaultInterpreter="true" interpreter_id="1864307c-cd7f-480f-80fe-4bf27e854f94" timeout="60000" />
</Psalm_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>

3
.idea/phpspec.xml generated
View File

@@ -8,6 +8,9 @@
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$/public_html" />
</PhpSpecSuiteConfiguration>
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$/public_html" />
</PhpSpecSuiteConfiguration>
</suites>
</component>
</project>

68
.idea/pvm.iml generated
View File

@@ -3,68 +3,14 @@
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/public_html/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/DULCIAR/monitoraggio_linee_v2" isTestSource="false" packagePrefix="DULCIAR" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/DULCIAR/monitoraggio_linee_v2/tipo_prod" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/GRAMM/magazzino_prod" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/GRAMM/monitoraggio_linee_v2" isTestSource="false" packagePrefix="GRAMM" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/GRAMM/monitoraggio_linee_v2/tipo_prod" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/LEVANPLAST/monitoraggio_linee_v2" isTestSource="false" packagePrefix="LEVANPLAST" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/LICOR/monitoraggio_linee_v2" isTestSource="false" packagePrefix="LICOR" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende/LICOR/monitoraggio_linee_v2/tipo_prod" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/gest-lib/modellini/include" isTestSource="false" packagePrefix="Modellini" />
<sourceFolder url="file://$MODULE_DIR$/public_html/gest-lib/monitoraggio_linee_v2/classes" isTestSource="false" packagePrefix="MonitoraggioLineeV2" />
<sourceFolder url="file://$MODULE_DIR$/public_html/gest-lib/report_area/classes" isTestSource="false" packagePrefix="ReportArea" />
<excludeFolder url="file://$MODULE_DIR$/.idea/dataSources" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/*" />
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/vlucas/phpdotenv" />
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/phpoption/phpoption" />
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/phpmyadmin/motranslator" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/symfony/polyfill-apcu" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/FOLLIESGROUP/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/phpmyadmin/motranslator" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/symfony/polyfill-apcu" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MIDEL/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/phpmyadmin/motranslator" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/symfony/polyfill-apcu" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/MYSRL/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/phpmyadmin/motranslator" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/symfony/polyfill-apcu" />
<excludeFolder url="file://$MODULE_DIR$/public_html/config_aziende/TWOBROTHERS/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/MtbAartLink" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/geo" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/images" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/mailsSent" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache/pdf" />
<sourceFolder url="file://$MODULE_DIR$/public_html/config_aziende" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/gest-lib" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/public_html/js" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/public_html/cache" />
<excludeFolder url="file://$MODULE_DIR$/public_html/node_modules" />
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor" />
<excludeFolder url="file://$MODULE_DIR$/public_html/dist" />
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/myclabs/php-enum" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />

11
.idea/runConfigurations/Nuovo_Modulo.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Nuovo Modulo" type="js.build_tools.grunt">
<node-interpreter value="project" />
<gruntfile value="$PROJECT_DIR$/Gruntfile.js" />
<tasks>
<task value="Nuovo modulo" />
</tasks>
<envs />
<method v="2" />
</configuration>
</component>

6
.idea/sqldialects.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="PROJECT" dialect="TSQL" />
</component>
</project>

View File

@@ -1,6 +1,97 @@
FROM php:7.4-fpm
# syntax=docker/dockerfile:1
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
ARG NODE_VERSION="20"
ARG PHP_VERSION="7.4"
ARG AZIENDA="integry"
ARG NODE_ENV="production"
RUN chmod +x /usr/local/bin/install-php-extensions && \
install-php-extensions gd opcache xdebug imagick zip
# Compilatore js
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION}-alpine AS builder
WORKDIR /app
COPY . .
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV
ARG TARGETOS
ARG TARGETARCH
RUN npm install --os $TARGETOS --cpu $TARGETARCH \
&& npm run build
RUN /bin/sh build.sh
# Unzip compilati
FROM --platform=$BUILDPLATFORM alpine AS exports
ARG AZIENDA
ENV AZIENDA=$AZIENDA
COPY --from=builder app/exports/_base.zip .
RUN unzip _base.zip -d ./unzip
COPY --from=builder app/exports/${AZIENDA}.zip .
RUN unzip ${AZIENDA}.zip -d ./unzip
# Immagine finale
FROM php:${PHP_VERSION}-apache-bullseye AS final
ARG AZIENDA
ENV AZIENDA=$AZIENDA
ENV SERVICES_BASE_URL="http://host.docker.internal:8080"
ENV PUBLIC_URL="http://localhost/pvm"
# Enable Apache modules to ensure proper functionality
RUN a2enmod rewrite
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
COPY docker/php/php.ini $PHP_INI_DIR/php.ini
# Imposto la lingua delle date
ENV LC_TIME=it_IT.UTF-8
RUN apt-get update && apt-get install -y --no-install-recommends locales \
&& apt-get clean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* \
&& echo it_IT.UTF-8 UTF-8 >> /etc/locale.gen \
&& locale-gen \
&& install-php-extensions \
gd \
imagick \
zip
COPY docker/apache/000-default.conf $APACHE_CONFDIR/sites-available/000-default.conf
WORKDIR /var/www/html
FROM final AS final-dev
COPY docker/php/conf.d/error_reporting.ini /usr/local/etc/php/conf.d/error_reporting.ini
RUN install-php-extensions xdebug
COPY docker/php/conf.d/xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
COPY --from=builder --chown=www-data:www-data app ./pvm
USER www-data
RUN touch pvm/.env \
&& printenv | sed 's/\(^[^=]*\)=\(.*\)/\1="\2"/' > pvm/.env
EXPOSE 80
EXPOSE 9003
FROM final AS final-prod
RUN install-php-extensions opcache
COPY --from=exports --chown=www-data:www-data unzip .
ARG BUILD_VERSION
ENV BUILD_VERSION=$BUILD_VERSION
USER www-data
RUN touch .env \
&& printenv | sed 's/\(^[^=]*\)=\(.*\)/\1="\2"/' > .env
EXPOSE 80

View File

@@ -16,6 +16,7 @@ const _arr_aziende = [
{n: "gramm"},
{n: "ime_te"},
{n: "ime_ba"},
{n: "integry"},
{n: "lamonarca"},
{n: "levanplast"},
{n: "licor"},
@@ -29,10 +30,10 @@ const _arr_aziende = [
{n: "of_demo"},
{n: "produzione"},
{n: "risto_cash"},
{n: "rossogargano"},
{n: "rossogargano", sub :["rossogarganocont"]},
{n: "sapori_veri", sub: ["dispensa"]},
{n: "smetar"},
{n: "suit", sub: ["santantonio", "carni_sardegna", "valpietro"]},
{n: "suit", sub: ["santantonio", "carni_sardegna", "valpietro", "suit_puglia"]},
{n: "tosca_cloud"},
{n: "tosca_ce"},
{n: "tosca_ba"},
@@ -226,7 +227,7 @@ module.exports = function (grunt) {
timestamp: date.getTime()
}
};
grunt.file.write("public_html/build.json", JSON.stringify(build));
grunt.file.write("exports/tmp/build.json", JSON.stringify(build));
});
_arr_aziende.forEach(azienda => {
let nomeAzienda = azienda.n.toLowerCase();
@@ -470,7 +471,16 @@ function copy_getValues(grunt) {
ret["assets"] = {
cwd: "public_html",
src: ["**", "!config_aziende/**", "!js/**", "!scss/**", "!css/**", "!gest-lib/**/*.js", "!dist/config_aziende/**"],
src: [
"**",
"!config_aziende/**",
"!js/**",
"!scss/**",
"!css/**",
"!gest-lib/**/*.js",
"!gest-lib/**/*.ts",
"!dist/config_aziende/**"
],
dest: "exports/_base", // + nomeAzienda.toUpperCase(),
expand: true,
options: {timestamp: true},

131
Jenkinsfile.groovy Normal file
View File

@@ -0,0 +1,131 @@
def defineNodeEnv() {
if (env.BRANCH_NAME == "master") {
return 'production'
} else {
return 'development'
}
}
pipeline {
agent any
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
disableConcurrentBuilds()
skipDefaultCheckout true
}
environment {
AZIENDA = "integry"
NODE_ENV = defineNodeEnv()
}
stages {
stage("Prepare Ws") {
steps {
cleanWs deleteDirs: true, patterns: [[pattern: 'exports/', type: 'INCLUDE']]
checkout scm
}
}
stage("Build") {
steps {
script {
if (!env.BRANCH_NAME.startsWith('feature/')) {
echo "Building ${env.NODE_ENV} version"
nodejs('NodeJS 20.10.0') {
bat 'npm install'
bat 'npm run build'
// bat 'cd public_html && npm install --omit=dev'
if (NODE_ENV == 'development') {
bat 'MOVE /Y public_html\\classes\\_DEV_Restful.config.json public_html\\classes\\Restful.config.json'
bat '7za a public_html.zip "%WORKSPACE%\\public_html" -tzip'
} else if (NODE_ENV == 'production') {
bat 'grunt BuildAll'
}
}
}
stash excludes: 'exports,publix_html.zip', name: 'docker-ws'
}
}
}
stage("Deploy") {
parallel {
stage("Update Master") {
steps {
script {
if (env.BRANCH_NAME == 'develop') {
archiveArtifacts artifacts: 'public_html.zip', onlyIfSuccessful: true
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo /bin/chmod -R 777 /var/www/dev/pvm/cache', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)', transfers: [[asciiMode: false, cleanRemote: true, excludes: '', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/dev/pvm', remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
sshPublisher(publishers: [
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/dev/pvm/cache
sudo /bin/chmod -R 777 /var/www/dev/pvm/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
useWorkspaceInPromotion: false, verbose: false)])
} else if (env.BRANCH_NAME == 'master') {
archiveArtifacts artifacts: 'exports\\*.zip', onlyIfSuccessful: true
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo /bin/chmod -R 777 /var/www/portale/cache', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)', transfers: [[asciiMode: false, cleanRemote: true, excludes: 'public_html/cache/', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/portale', remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
sshPublisher(publishers: [
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/portale/cache
sudo /bin/chmod -R 777 /var/www/portale/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}
stage('Publish on Azure') {
steps {
script {
if (env.BRANCH_NAME == 'master') {
azureUpload fileShareName: 'storage-ci', filesPath: 'exports/*.zip', removePrefixPath: 'exports/', storageCredentialId: '83a86793-c1d6-4776-b20f-1ff652a57fee', storageType: 'filestorage', uploadArtifactsOnlyIfSuccessful: true, verbose: true, virtualPath: 'pvm'
}
}
}
}
stage('Docker Build') {
steps {
node('server-build') {
cleanWs()
unstash 'docker-ws'
echo "Building Docker image"
script {
def branchVersion = ""
def target = "final-prod"
if (env.BRANCH_NAME != "master") {
branchVersion = "-${env.BRANCH_NAME.toLowerCase().replace('/', '-')}"
target = "final-dev"
}
bat """
docker buildx build --platform linux/amd64 --push -t "git.studioml.it/integry/pvm${branchVersion}:latest" --build-arg NODE_ENV=${env.NODE_ENV} --build-arg BUILD_VERSION=${env.BUILD_TAG.replace(' ', '-')} --target ${target} .
"""
}
}
}
}
}
}
}
}

5
build.sh Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
if [ "${NODE_ENV}" = "production" ]; then
npm run grunt -- BuildAll
fi

View File

@@ -1,23 +1,12 @@
version: "3.9"
services:
php-fpm:
php-apache:
restart: unless-stopped
extra_hosts:
- host.docker.internal:host-gateway
build: ./
volumes:
- ./:/var/www/html/pvm
- ./docker/php/php.ini:/usr/local/etc/php/php.ini
- ./docker/php/conf.d/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- ./docker/php/conf.d/error_reporting.ini:/usr/local/etc/php/conf.d/error_reporting.ini
apache:
restart: unless-stopped
build:
context: .
dockerfile: ./docker/apache/Dockerfile
dockerfile: ./Dockerfile
target: final-dev
ports:
- "80:80"
volumes:
- ./:/var/www/html/pvm
depends_on:
- php-fpm
- .:/var/www/html/pvm

View File

@@ -0,0 +1,51 @@
ServerName localhost
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
# ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
# Directory configuration for the DocumentRoot
<Directory /var/www/html/>
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
# Proxy PHP requests to port 9000 PHP-FPM container
<IfModule mod_proxy.c>
ProxyTimeout 259200
<FilesMatch \.php$>
Require all granted
SetHandler proxy:fcgi://${PHP_HOST}:${PHP_PORT}
</FilesMatch>
</IfModule>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

View File

@@ -1,15 +0,0 @@
FROM httpd:2.4
COPY ./docker/apache/apache.vhost.conf /usr/local/apache2/conf/extra/apache.vhost.conf
RUN echo "Include /usr/local/apache2/conf/extra/apache.vhost.conf" >> /usr/local/apache2/conf/httpd.conf
# Enable Apache modules to ensure proper functionality
RUN sed -i \
# Uncomment the configuration for mod_deflate to enable compression
-e '/#LoadModule deflate_module/s/^#//g' \
# Uncomment the configuration for mod_proxy to enable proxying capabilities
-e '/#LoadModule proxy_module/s/^#//g' \
# Uncomment the configuration for mod_proxy_fcgi to enable FastCGI proxy module
-e '/#LoadModule proxy_fcgi_module/s/^#//g' \
-e '/#LoadModule rewrite_module/s/^#//g' \
/usr/local/apache2/conf/httpd.conf

View File

@@ -1,30 +0,0 @@
# Set the ServerName to localhost
ServerName localhost
# Configure a VirtualHost to handle requests on port 80
<VirtualHost *:80>
# Proxy PHP requests to port 9000 PHP-FPM container
<IfModule mod_proxy.c>
ProxyTimeout 259200
<FilesMatch \.php$>
Require all granted
SetHandler proxy:fcgi://php-fpm:9000
</FilesMatch>
</IfModule>
# Set the DocumentRoot for the virtual host
DocumentRoot /var/www/html/
# Directory configuration for the DocumentRoot
<Directory /var/www/html/>
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Define the CustomLog and ErrorLog destinations
CustomLog /proc/self/fd/1 common
ErrorLog /proc/self/fd/2
</VirtualHost>

View File

@@ -184,7 +184,7 @@ engine = On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On
short_open_tag = Off
; The number of significant digits displayed in floating point numbers.
; http://php.net/precision
@@ -362,7 +362,7 @@ zend.enable_gc = On
;zend.script_encoding =
; Allows to include or exclude arguments from stack traces generated for exceptions.
; In production, it is recommended to turn this setting on to prohibit the output
; In production, it is recommended to turn this setting on to prohibit the output
; of sensitive information in stack traces
; Default: Off
zend.exception_ignore_args = Off
@@ -406,7 +406,7 @@ max_input_vars = 10000
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 256M
memory_limit = 2G
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
@@ -640,7 +640,7 @@ report_memleaks = On
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"
variables_order = "EGPCS"
; This directive determines which super global data (G,P & C) should be
; registered into the super global array REQUEST. If so, it also determines
@@ -1053,7 +1053,7 @@ date.timezone = Europe/Rome
[Pdo_mysql]
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
pdo_mysql.default_socket=
pdo_mysql.default_socket =
[Phar]
; http://php.net/phar.readonly
@@ -1739,16 +1739,16 @@ tidy.clean_output = Off
[soap]
; Enables or disables WSDL caching feature.
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=1
soap.wsdl_cache_enabled = 1
; Sets the directory name where SOAP extension will put cache files.
; http://php.net/soap.wsdl-cache-dir
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_dir = "/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
; http://php.net/soap.wsdl-cache-ttl
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_ttl = 86400
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
soap.wsdl_cache_limit = 5
@@ -1766,20 +1766,20 @@ ldap.max_links = -1
[opcache]
; Determines if Zend OPCache is enabled
;opcache.enable=1
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0
; The OPcache shared memory storage size.
;opcache.memory_consumption=128
opcache.memory_consumption=128
; The amount of memory for interned strings in Mbytes.
;opcache.interned_strings_buffer=8
opcache.interned_strings_buffer=8
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
;opcache.max_accelerated_files=10000
opcache.max_accelerated_files=4000
; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5
@@ -1797,17 +1797,17 @@ ldap.max_links = -1
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
;opcache.revalidate_freq=2
opcache.revalidate_freq=60
; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1
opcache.save_comments=0
; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0
opcache.enable_file_override=1
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
@@ -1944,4 +1944,4 @@ ldap.max_links = -1
;ffi.enable=preload
; List of headers files to preload, wildcard patterns allowed.
;ffi.preload=
;ffi.preload=

1269
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,17 +8,18 @@
"test": "test"
},
"scripts": {
"postinstall": "node postinstall.js",
"clean": "rimraf public_html/dist",
"lint": "eslint . --fix --cache",
"clean": "del-cli public_html/dist",
"build": "npm run clean && tsc",
"build:watch": "npm run build -- --watch",
"grunt": "grunt",
"lint": "eslint . --fix --cache",
"postinstall": "node postinstall.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"pre-commit": [
"lint"
],
"devDependencies": {
"dependencies": {
"@ihvh/air-datepicker-types": "^2.0.2",
"@types/bootstrap": "^3.3.42",
"@types/chart.js": "^2.9.37",
@@ -26,17 +27,17 @@
"@types/daterangepicker": "^3.1.8",
"@types/jquery": "^3.5.16",
"@types/jqueryui": "^1.12.16",
"@types/systemjs": "^6.13.1",
"@types/tableau": "^2.2.4",
"@typescript-eslint/eslint-plugin": "^5.57.1",
"@typescript-eslint/parser": "^5.57.1",
"del-cli": "^6.0.0",
"eslint": "^8.37.0",
"grunt": "^0.4.5",
"grunt-cli": "^1.2.0",
"grunt-contrib-clean": "^0.5.0",
"grunt-contrib-compress": "^1.4.3",
"grunt-contrib-copy": "^0.4.1",
"grunt-contrib-cssmin": "^0.14.0",
"grunt-contrib-cssmin": "^5.0.0",
"grunt-contrib-htmlmin": "^0.6.0",
"grunt-contrib-rename": "^0.2.0",
"grunt-contrib-uglify": "^4.0.0",
@@ -53,12 +54,9 @@
"grunt-string-replace": "^1.3.1",
"number-ticker": "file:public_html/assets/number-ticker",
"pre-commit": "^1.2.2",
"rimraf": "^4.4.1",
"sass": "^1.76.0",
"typescript": "~5.0.3"
},
"author": "",
"license": "ISC",
"dependencies": {
"sass": "^1.76.0"
}
"license": "ISC"
}

View File

@@ -1,7 +1,3 @@
if (process.env.NODE_ENV === "production") {
process.exit();
}
const {spawn} = require('child_process');
const cmd = "cd public_html && npm install";

View File

@@ -1,3 +1,10 @@
<IfModule mod_mime.c>
AddType text/javascript js mjs
</IfModule>
<IfModule headers_module>
<FilesMatch "\.(js|mjs|css)$">
Header set Cache-Control "public, must-revalidate, max-age=3600"
Header unset Etag
</FilesMatch>
</IfModule>

View File

@@ -1,23 +1,25 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
(new Ajax())->checkAjaxRequests();
?>
<!DOCTYPE html>
<!--html manifest="manifest.appcache"-->
<html>
<html lang="it">
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<?php include pvm_splashScreen; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +28,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -32,6 +33,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,15 +1,12 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
if (!isset($_GET["render"])) {
require_once "include_login.php";
}
include "config.php";
/*
if(!class_exists("Allegati")){
include Controller::current_gestpath_classes("Allegati.class.php");
}*/
include_once "config.php";
(new AllegatiAjax())->checkAjaxRequests();
?>
<!DOCTYPE html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
$className = "AnalisiBudget" . Utility\Str::ucfirst(preg_replace("/[^A-Za-z0-9\\-]/", "", User::get_current_profileDb()));

View File

@@ -0,0 +1,33 @@
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
(new Ajax())->checkAjaxRequests();
?>
<!DOCTYPE html>
<!--html manifest="manifest.appcache"-->
<html lang="it">
<head>
<?php include pvm_tagHead; ?>
</head>
<body>
<?php include pvm_headerNavbar; ?>
<?php include pvm_splashScreen; ?>
<div id="content">
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
} else {
include Controller::current_gestpath_mainPage();
} ?>
</div>
</div>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
$className = null;
@@ -31,4 +32,4 @@ if (isset($methodName) && isset($type)) {
}
}
(new Ajax("\Api\\" . $className))->checkAjaxRequests();
(new Ajax("\Api\\" . $className))->checkAjaxRequests();

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -30,8 +30,8 @@
"date-formats",
"animate",
"firebase",
"navbar",
"sodium"
"sodium",
"navbar"
]
},
"jquery": {
@@ -156,12 +156,6 @@
"assets/graphic/Chart.min.js"
]
},
"json-editor": {
"js": [
"assets/jsoneditor/jsoneditor.min.js",
"assets/jsoneditor/jsoneditor.language.it.js"
]
},
"trumbowyg": {
"js": [
"assets/trumbowyg/trumbowyg.customized.js",
@@ -222,16 +216,21 @@
"md5": {
"js": [
"assets/md5.js"
],
"ts": [
"assets/md5.js"
]
},
"moment": {
"js": [
"assets/moment-with-locales.js",
"assets/moment-duration-format.js"
"assets/moment-duration-format.js",
"assets/moment-config.js"
],
"ts": [
"assets/moment-with-locales.js",
"assets/moment-duration-format.js"
"assets/moment-duration-format.js",
"assets/moment-config.js"
]
},
"URI": {
@@ -396,8 +395,8 @@
"assets/kendo/js/messages/kendo.messages.it-IT.min.js"
],
"css": [
"https://unpkg.com/@progress/kendo-font-icons/dist/index.css",
"assets/kendo/styles/default-main.css"
"assets/kendo/styles/default-main.css",
"assets/kendo/kendo-font-icons/compiled/index.css"
]
},
"amcharts": {
@@ -494,11 +493,6 @@
"assets/printThis/printThis.min.js"
]
},
"systemjs": {
"js": [
"assets/system.min.js"
]
},
"tableau": {
"js": [
"https://online.tableau.com/javascripts/api/tableau-2.9.1.min.js"
@@ -512,11 +506,6 @@
"assets/visibility/visibility.min.js"
]
},
"navbar": {
"js": [
"assets/navbar/navbar.js"
]
},
"sodium": {
"js": [
"node_modules/sodium-plus/dist/sodium-plus.min.js"
@@ -524,5 +513,18 @@
"ts": [
"node_modules/sodium-plus/dist/sodium-plus.min.js"
]
},
"masonry": {
"js": [
"assets/masonry.pkgd.min.js"
]
},
"navbar": {
"js": [
"dist/js/navbar.module.js"
],
"ts": [
"dist/js/navbar.module.js"
]
}
}

View File

@@ -8,16 +8,20 @@
onDrop: undefined,
dragBackgroundColor: "#e6ffe6",
dragBorderColor: "#38fc38",
multiple: true
multiple: true,
accept: undefined,
body: undefined
}, options);
// language=HTML
this.html(`
<label for="dropzoneInput" class="dropzone font-weight-normal">
<i class="fad fa-upload my-10"></i>
<span>Trascina qui i file per caricarli</span>
<span>oppure clicca nel riquadro o incolla qui</span>
<input type="file" id="dropzoneInput" class="mb-10 hidden" ${settings.multiple ? "multiple" : ""}/>
${settings.body || `<span>Trascina qui i file per caricarli</span>
<span>oppure clicca nel riquadro o incolla qui</span>`}
<input type="file" id="dropzoneInput" class="mb-10 hidden"
${settings.multiple ? "multiple" : ""}
${settings.accept ? `accept=${settings.accept}` : ""}/>
<button type="button" id="retryButton" class="btn btn-primary btn-sm mb-10 hidden">
<i class="fa fa-redo-alt"></i> Riprova
</button>

View File

@@ -1,209 +0,0 @@
JSONEditor.defaults.languages.it = {
/**
* When a property is not set
*/
error_notset: "Property must be set",
/**
* When a string must not be empty
*/
error_notempty: "Value required",
/**
* When a value is not one of the enumerated values
*/
error_enum: "Value must be one of the enumerated values",
/**
* When a value doesn't validate any schema of a 'anyOf' combination
*/
error_anyOf: "Value must validate against at least one of the provided schemas",
/**
* When a value doesn't validate
* @variables This key takes one variable: The number of schemas the value does not validate
*/
error_oneOf: 'Value must validate against exactly one of the provided schemas. It currently validates against {{0}} of the schemas.',
/**
* When a value does not validate a 'not' schema
*/
error_not: "Value must not validate against the provided schema",
/**
* When a value does not match any of the provided types
*/
error_type_union: "Value must be one of the provided types",
/**
* When a value does not match the given type
* @variables This key takes one variable: The type the value should be of
*/
error_type: "Value must be of type {{0}}",
/**
* When the value validates one of the disallowed types
*/
error_disallow_union: "Value must not be one of the provided disallowed types",
/**
* When the value validates a disallowed type
* @variables This key takes one variable: The type the value should not be of
*/
error_disallow: "Value must not be of type {{0}}",
/**
* When a value is not a multiple of or divisible by a given number
* @variables This key takes one variable: The number mentioned above
*/
error_multipleOf: "Value must be a multiple of {{0}}",
/**
* When a value is greater than it's supposed to be (exclusive)
* @variables This key takes one variable: The maximum
*/
error_maximum_excl: "Value must be less than {{0}}",
/**
* When a value is greater than it's supposed to be (inclusive
* @variables This key takes one variable: The maximum
*/
error_maximum_incl: "Value must be at most {{0}}",
/**
* When a value is lesser than it's supposed to be (exclusive)
* @variables This key takes one variable: The minimum
*/
error_minimum_excl: "Value must be greater than {{0}}",
/**
* When a value is lesser than it's supposed to be (inclusive)
* @variables This key takes one variable: The minimum
*/
error_minimum_incl: "Value must be at least {{0}}",
/**
* When a value have too many characters
* @variables This key takes one variable: The maximum character count
*/
error_maxLength: "Value must be at most {{0}} characters long",
/**
* When a value does not have enough characters
* @variables This key takes one variable: The minimum character count
*/
error_minLength: "Value must be at least {{0}} characters long",
/**
* When a value does not match a given pattern
*/
error_pattern: "Value must match the pattern {{0}}",
/**
* When an array has additional items whereas it is not supposed to
*/
error_additionalItems: "No additional items allowed in this array",
/**
* When there are to many items in an array
* @variables This key takes one variable: The maximum item count
*/
error_maxItems: "Value must have at most {{0}} items",
/**
* When there are not enough items in an array
* @variables This key takes one variable: The minimum item count
*/
error_minItems: "Value must have at least {{0}} items",
/**
* When an array is supposed to have unique items but has duplicates
*/
error_uniqueItems: "Array must have unique items",
/**
* When there are too many properties in an object
* @variables This key takes one variable: The maximum property count
*/
error_maxProperties: "Object must have at most {{0}} properties",
/**
* When there are not enough properties in an object
* @variables This key takes one variable: The minimum property count
*/
error_minProperties: "Object must have at least {{0}} properties",
/**
* When a required property is not defined
* @variables This key takes one variable: The name of the missing property
*/
error_required: "Object is missing the required property '{{0}}'",
/**
* When there is an additional property is set whereas there should be none
* @variables This key takes one variable: The name of the additional property
*/
error_additional_properties: "No additional properties allowed, but property {{0}} is set",
/**
* When a dependency is not resolved
* @variables This key takes one variable: The name of the missing property for the dependency
*/
error_dependency: "Must have property {{0}}",
/**
* When a date is in incorrect format
* @variables This key takes one variable: The valid format
*/
error_date: 'Date must be in the format {{0}}',
/**
* When a time is in incorrect format
* @variables This key takes one variable: The valid format
*/
error_time: 'Time must be in the format {{0}}',
/**
* When a datetime-local is in incorrect format
* @variables This key takes one variable: The valid format
*/
error_datetime_local: 'Datetime must be in the format {{0}}',
/**
* When a integer date is less than 1 January 1970
*/
error_invalid_epoch: 'Date must be greater than 1 January 1970',
/**
* Text on Delete All buttons
*/
button_delete_all: "Tutto",
/**
* Title on Delete All buttons
*/
button_delete_all_title: "Elimina tutto",
/**
* Text on Delete Last buttons
* @variable This key takes one variable: The title of object to delete
*/
button_delete_last: "Ultimo {{0}}",
/**
* Title on Delete Last buttons
* @variable This key takes one variable: The title of object to delete
*/
button_delete_last_title: "Elimina ultimo {{0}}",
/**
* Title on Add Row buttons
* @variable This key takes one variable: The title of object to add
*/
button_add_row_title: "Aggiungi {{0}}",
/**
* Title on Move Down buttons
*/
button_move_down_title: "Sposta giù",
/**
* Title on Move Up buttons
*/
button_move_up_title: "Sposta su",
/**
* Title on Delete Row buttons
* @variable This key takes one variable: The title of object to delete
*/
button_delete_row_title: "Elimina {{0}}",
/**
* Title on Delete Row buttons, short version (no parameter with the object title)
*/
button_delete_row_title_short: "Elimina",
/**
* Title on Collapse buttons
*/
button_collapse: "Compatta",
/**
* Title on Expand buttons
*/
button_expand: "Espandi",
/**
* Title on Flatpickr toggle buttons
*/
flatpickr_toggle_button: "Toggle",
/**
* Title on Flatpickr clear buttons
*/
flatpickr_clear_button: "Clear",
object_properties: "Proprietà object",
add: "Aggiungi",
property_name: "Nome proprietà"
};
JSONEditor.defaults.language = "it";
JSONEditor.defaults.theme = "bootstrap3";
//JSONEditor.defaults.iconlib = "fontawesome5";

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -50,15 +50,20 @@ const maskedTextboxPlugin = (function (init) {
init.call(that, element, options);
that.element.on("keyup", that._keyup.bind(that));
that.element.on("keypress", that._keypress.bind(that));
},
options: {
name: "MaskedTextBox",
autoBind: true
},
events: [...kendo.ui.MaskedTextBox.fn.events, "keyup"],
events: [...kendo.ui.MaskedTextBox.fn.events, "keyup", "keypress"],
_keyup: function (e) {
const that = this;
that.trigger("keyup", {event: e});
},
_keypress: function (e) {
const that = this;
that.trigger("keypress", {event: e});
}
});
})(kendo.ui.MaskedTextBox.fn.init);
@@ -90,4 +95,17 @@ const observeDOM = (function () {
observeDOM(document, function () {
$(["fa", "fas", "far", "fal", "fad"].map(clas => `.k-font-icon.${clas}`).join(", "))
.each((_, el) => $(el).removeClass("k-font-icon"));
});
});
/**
* Fix per gestire il toJSON nei model di kendo form
* L'id non viene preso in considerazione
*/
const originalToJSON = kendo.data.Model.prototype.toJSON;
kendo.data.Model.prototype.toJSON = function () {
const json = originalToJSON.call(this);
json.id ??= this.id;
return json;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
moment.locale("it");

View File

@@ -1,40 +0,0 @@
$(function () {
});
const _navbar = {
enableNotifications: true,
init: function () {
},
initNotification: function (options) {
const $navbarNotifications = $("#navbar-notifications");
$navbarNotifications.on("click", async function (e) {
const $this = $(this);
const $visibleIcon = $(this).find("i:visible");
const attivaNotifiche = $visibleIcon.hasClass("notificationOff");
const response = await _notifiche.modalNotifiche(attivaNotifiche, options);
if (response) {
$this.find(".notificationOff").toggleClass("hidden");
$this.find(".notificationOn").toggleClass("hidden");
}
});
if (options?.notificheAbilitate) {
$navbarNotifications.find(".notificationOff").toggleClass("hidden");
$navbarNotifications.find(".notificationOn").toggleClass("hidden");
} else if (options?.flagAttivaNotificheSilenziosamente) {
$navbarNotifications.trigger("click");
}
if (options?.flagAttivaNotificheSilenziosamente) {
$navbarNotifications.addClass("hidden");
} else {
$navbarNotifications.removeClass("hidden");
}
}
}

View File

@@ -35,7 +35,7 @@ export class NumberTicker {
private IsSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
constructor(tickerEle: HTMLElement | null, options: Options = {}) {
constructor(tickerEle: HTMLElement | undefined, options: Options = {}) {
this.Options = {
...{
prefix: '',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
(new Ajax())->checkAjaxRequests();

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?
session_start();
include "functions.php";
<?php
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
include Controller::current_gestpath_include("ajax.php");
@@ -12,12 +13,12 @@ include Controller::current_gestpath_include("ajax.php");
<!--html manifest="manifest.appcache"-->
<html>
<head>
<? include pvm_tagHead; ?>
<?php include pvm_tagHead; ?>
</head>
<body>
<? include pvm_headerNavbar; ?>
<?php include pvm_headerNavbar; ?>
<div id="content">
<div><?
<div><?php
include pvm_navTab;
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
include pvm_unauthorized;
@@ -26,6 +27,6 @@ include Controller::current_gestpath_include("ajax.php");
} ?>
</div>
</div>
<? include pvm_footerMinimal; ?>
<?php include pvm_footerMinimal; ?>
</body>
</html>

View File

@@ -1,9 +1,10 @@
<?php
session_start();
include "functions.php";
include_once "session.php";
$session = getSession();
include_once "functions.php";
require_once "include_login.php";
include "config.php";
include "include/module.php";
include_once "config.php";
include_once "include/module.php";
include Controller::current_mainClasspath();
(new ChiusuraTagliPrezzoAjax())->checkAjaxRequests();

View File

@@ -63,4 +63,4 @@ class Ajax {
return is_null($methodData["methodName"]) ? null : $methodData;
}
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace Api;
use PdfDoc;
class Allegati extends Api {
public static function downloadDtbDocPdf($data) {
$dataDoc = array_get($data, "dataDoc");
$serDoc = array_get($data, "serDoc");
$numDoc = array_get($data, "numDoc");
$codAnag = array_get($data, "codAnag");
$codDtip = array_get($data, "codDtip");
$versione = array_get($data, "versione");
if (array_any_null(array($dataDoc, $serDoc, $numDoc, $codAnag, $codDtip, $versione))) {
return \Ret::errorCode(\ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
return PdfDoc::cache(array(
"data_doc" => $dataDoc,
"ser_doc" => $serDoc,
"num_doc" => $numDoc,
"cod_anag" => $codAnag,
"cod_dtip" => $codDtip,
"versione" => $versione
));
}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace Api;
class Azienda extends Api {
protected static $group = "azienda";
public static function defaultAzienda() {
$imsApi = self::imsApi();
$imsApi->get("");
return $imsApi->send();
}
}

View File

@@ -0,0 +1,185 @@
<?php
namespace Api;
use Controller;
use EntityItem;
use EntityList;
use ErrorHandler;
use Query;
use Ret;
class Permission extends Api {
public static function getAvailablePermissions($data) {
$module = array_get($data, "module");
if (is_null($module)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __METHOD__);
}
$mainClass = Controller::getMainClassName($module);
if (isset($mainClass) && method_exists($mainClass, "getAvailablePermissions")) {
$availablePermissions = $mainClass::getAvailablePermissions();
$userName = array_get($data, "userName");
if (isset($userName)) {
$ret = self::getPermissions(array("user_name" => $userName));
if ($ret->is_KO()) {
return $ret;
}
$userPermissions = $ret->get_data();
if (count($userPermissions) > 0) {
$availablePermissions = from($availablePermissions)
->where(function ($availablePermission) use ($module, $userPermissions) {
return !from($userPermissions)->any(function ($userPermission) use ($module, $availablePermission) {
return $userPermission["gestName"] == "PVM"
&& $userPermission["dwName"] == $module
&& $userPermission["dwColname"] == $availablePermission;
});
})
->toValues()
->toArray();
}
}
return Ret::data($availablePermissions);
}
return Ret::data(array());
}
public static function getPermissions($where = null) {
$query = new Query();
$query
->select(
"CONCAT(user_name, '-', gest_name, '-', dw_name, '-', dw_colname) AS id",
"user_name",
"gest_name",
"dw_name",
"dw_colname",
"CAST(IIF(enabled = 'S', 1, 0) AS BIT) AS enabled",
"CAST(IIF(visible = 'S', 1, 0) AS BIT) AS visible",
"CAST(IIF(required = 'S', 1, 0) AS BIT) AS required"
)
->from("stb_edit_limit")
->where("gest_name", "PVM")
->where($where)
->orderBy("1");
return $query->toRet()->camelCaseColumnName()->cacheResult()->execute();
}
public static function updatePermission($data) {
$permissions = array_get($data, "permission.models");
if (is_null($permissions)) {
return Ret::error("Nessun dato da salvare.");
}
$entityList = new EntityList();
foreach ($permissions as $permission) {
/**
* @var EntityItem $stbUser
*/
$stbUser = from($entityList->getEntityItems())
->firstOrFallback(
function () use ($permission, $entityList) {
$stbUser = new EntityItem("stb_user");
$stbUser
->no_op()
->set("userName", array_get($permission, "userName"));
$entityList->push($stbUser);
return $stbUser;
},
function ($stbUser) use ($permission) {
/**
* @var EntityItem $stbUser
*/
return $stbUser->get_field("userName") == array_get($permission, "userName");
}
);
$permission["type"] = "stb_edit_limit";
unset($permission["id"]);
unset($permission["userName"]);
$enabled = array_get($permission, "enabled");
$permission["enabled"] = is_null($enabled) ? null : ($enabled ? "S" : "N");
$visible = array_get($permission, "visible");
$permission["visible"] = is_null($visible) ? null : ($visible ? "S" : "N");
$required = array_get($permission, "required");
$permission["required"] = is_null($required) ? null : ($required ? "S" : "N");
$stbEditLimit = EntityItem::fromArray($permission)
->insert_or_update();
$stbUser->set("stbEditLimit")->append($stbEditLimit);
}
return $entityList->send();
}
public static function destroyPermission($data) {
$permissions = array_get($data, "permission.models");
if (is_null($permissions)) {
return Ret::error("Nessun dato da cancellare.");
}
$entityList = new EntityList();
foreach ($permissions as $permission) {
/**
* @var EntityItem $stbUser
*/
$stbUser = from($entityList->getEntityItems())
->firstOrFallback(
function () use ($permission, $entityList) {
$stbUser = new EntityItem("stb_user");
$stbUser
->no_op()
->set("userName", array_get($permission, "userName"));
$entityList->push($stbUser);
return $stbUser;
},
function ($stbUser) use ($permission) {
/**
* @var EntityItem $stbUser
*/
return $stbUser->get_field("userName") == array_get($permission, "userName");
}
);
$stbEditLimit = new EntityItem("stb_edit_limit");
$stbEditLimit
->delete()
->set("userName", array_get($permission, "userName"))
->set("gestName", array_get($permission, "gestName"))
->set("dwName", array_get($permission, "dwName"))
->set("dwColname", array_get($permission, "dwColname"));
$stbUser->set("stbEditLimit")->append($stbEditLimit);
}
return $entityList->send();
}
}

View File

@@ -5,11 +5,11 @@ namespace Api;
class Production extends Api {
protected static $group = "production";
public static function creaOrdineProd($data) {
public static function saveOrdineProd($data) {
$imsApi = self::imsApi();
$imsApi
->post("creaOrdineProd")
->post("saveOrdineProd")
->body(empty($data) ? null : $data);
return $imsApi->send();

View File

@@ -8,13 +8,14 @@ use ErrorHandler;
use GestSetup;
use Query;
use Ret;
use User;
class Pvm extends Api {
public static function getColloByBarcode($data) {
$barcode = array_get($data, "barcode");
if (is_null($barcode)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, "getColloByBarcode");
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$imsApi = self::imsApi();
@@ -35,7 +36,7 @@ class Pvm extends Api {
$maggPrzVend = array_get($data, "maggPrzVend", 0);
if (array_any_null(array($codVlis, $codMart))) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, "calcPrzVend");
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$query = new Query();
@@ -99,4 +100,87 @@ class Pvm extends Api {
return $ret;
}
}
public static function getStbNote($data) {
$identifier = array_get($data, "identifier");
if (is_null($identifier)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$query = new Query();
$query
->setSql("SELECT * FROM stb_note WHERE identifier = '[identifier]'")
->setVar("identifier", $identifier);
return $query->firstRow()->toRet()->execute();
}
public static function saveStbNote($data) {
$identifier = array_get($data, "identifier");
if (is_null($identifier)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$id = array_get($data, "id");
$note = array_get($data, "note");
$entityItem = new EntityItem("stb_note");
if (is_null($id)) {
$entityItem->insert_or_update();
} else {
$entityItem
->update()
->set("id", $id);
}
$entityItem
->set("identifier", $identifier)
->set("note", $note);
return $entityItem->send();
}
public static function getListEmailCodAnag($data) {
$codAnag = array_get($data, "codAnag");
if (is_null($codAnag)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$query = new Query();
return $query
->importSqlFile(__DIR__ . "/list-emailClieForn")
->setVar("cod_anag", $codAnag)
->setVar("userName", User::get_current_username())
->cacheResult()
->toRet()
->date2ts()
->execute();
}
public static function callExport($data) {
$type = array_get($data, "type");
$format = array_get($data, "format");
if (array_any_null(array($type, $format))) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
}
$imsApi = self::imsApi();
$imsApi
->post("export")
->queryParam("type", $type)
->queryParam("format", $format)
->queryParam("binaryDownload", array_get($data, "binaryDownload"))
->queryParam("headless", array_get($data, "headless"))
->body(array_get($data, "body"));
return $imsApi->send();
}
}

View File

@@ -4,4 +4,4 @@ namespace Api;
class StdUtils extends \StdUtils {
}
}

View File

@@ -1,17 +0,0 @@
<?php
namespace Api;
class System extends Api {
protected static $group = "system";
public static function defaultAzienda() {
$imsApi = self::imsApi();
$imsApi
->group(null)
->get("defaultAzienda");
return $imsApi->send();
}
}

View File

@@ -9,14 +9,18 @@ class WmsMagazzinoBuffer extends Api {
protected static $group = "wms/magazzino-buffer";
public static function getGroup($posizione) {
return sprintf("%s/%s", static::$group, $posizione);
return $posizione ? sprintf("%s/%s", static::$group, $posizione) : static::$group;
}
public static function makeImsApi($data) {
$posizione = array_get($data, "inputMtbColt.posizione");
public static function makeImsApi($data, $addPosizione = true) {
$posizione = null;
if ($addPosizione) {
if (is_null($posizione)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, static::$group);
$posizione = array_get($data, "inputMtbColt.posizione");
if (is_null($posizione)) {
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, static::$group);
}
}
return (new Ret())->set_data(static::imsApi()
@@ -70,4 +74,36 @@ class WmsMagazzinoBuffer extends Api {
return $imsApi->send();
}
public static function cancelVersamentoMateriale($data) {
$ret = static::makeImsApi($data);
if ($ret->is_KO()) {
return $ret;
}
$imsApi = $ret->get_data();
$imsApi
->post("cancelVersamentoMateriale")
->body(empty($data) ? null : $data);
return $imsApi->send();
}
public static function editVersamentoMateriale($data) {
$ret = static::makeImsApi($data, false);
if ($ret->is_KO()) {
return $ret;
}
$imsApi = $ret->get_data();
$imsApi
->post("editVersamentoMateriale")
->body(empty($data) ? null : $data);
return $imsApi->send();
}
}

View File

@@ -0,0 +1,32 @@
SELECT opt_group,
e_mail,
UPPER(full_name) AS full_name
FROM (SELECT gtb_anag.e_mail,
'Sede Legale' AS full_name,
'Fornitore' AS opt_group
FROM gtb_anag
WHERE gtb_anag.cod_anag = '[cod_anag]'
UNION ALL
SELECT vtb_clie_pers_rif.e_mail,
vtb_clie_pers_rif.persona_rif,
'Fornitore' AS opt_group
FROM gtb_anag
INNER JOIN vtb_clie_pers_rif ON gtb_anag.cod_anag = vtb_clie_pers_rif.cod_anag
WHERE gtb_anag.cod_anag = '[cod_anag]'
UNION ALL
SELECT vtb_dest.e_mail,
destinatario,
'Fornitore' AS opt_group
FROM gtb_anag
INNER JOIN vtb_dest ON gtb_anag.cod_anag = vtb_dest.cod_anag
WHERE gtb_anag.cod_anag = '[cod_anag]'
UNION ALL
SELECT e_mail,
full_name,
'Interno' AS opt_group
FROM stb_user
WHERE flag_attivo = 'S'
AND e_mail IS NOT NULL
AND user_name <> '[userName]') v
WHERE dbo.f_isValidEmail(e_mail) = 1
GROUP BY opt_group, e_mail, full_name

View File

@@ -0,0 +1,86 @@
<?php
class Authorization {
const VISIBLE = 1;
const EDITABLE = 2;
const ENABLED = 4;
const ALL = 7;
const REQUIRED = 8;
private $level = 0;
private $authorizationName;
private $section;
/**
* @param $section
* @param $authorizationName
*/
public function __construct($section, $authorizationName, $level = 0) {
$this->section = $section;
$this->authorizationName = $authorizationName;
$this->level = $level;
}
/**
* @return int
*/
public function getLevel() {
return $this->level;
}
/**
* @param int $level
*/
public function setLevel($level) {
$this->level = $level;
}
/**
* @return string
*/
public function getAuthorizationName() {
return $this->authorizationName;
}
/**
* @param string $authorizationName
*/
public function setAuthorizationName($authorizationName) {
$this->authorizationName = $authorizationName;
}
/**
* @return string
*/
public function getSection() {
return $this->section;
}
/**
* @param string $section
*/
public function setSection($section) {
$this->section = $section;
}
public function isEnabled() {
return ($this->level & self::ENABLED) == self::ENABLED;
}
public function isVisible() {
return ($this->level & self::VISIBLE) == self::VISIBLE;
}
public function isEditable() {
return ($this->level & self::EDITABLE) == self::EDITABLE;
}
public function isRequired() {
return ($this->level & self::REQUIRED) == self::REQUIRED;
}
}

View File

@@ -3,11 +3,22 @@
class Azienda {
private static $datiAzienda = null;
private static function getDatiAzienda() {
public static function getDatiAzienda() {
if (is_null(self::$datiAzienda)) {
$query = new Query;
$query
->select("nome_ditta AS nome_azienda", "indirizzo", "cap", "citta", "prov", "e_mail", "part_iva", "num_tel", "tipo_azienda", "nazione")
->select(
"nome_ditta AS nome_azienda",
"indirizzo",
"cap",
"citta",
"prov",
"e_mail",
"part_iva",
"num_tel",
"tipo_azienda",
"nazione"
)
->from("azienda");
$ret = $query->firstRow()->anonymousAuth()->toRet()->execute();
@@ -137,4 +148,4 @@ class Azienda {
}
return $widgets;
}
}
}

View File

@@ -1,5 +1,4 @@
<?php // BootstrapComponents
//include "BC.Alert.class.php";
class BC {
@@ -54,6 +53,15 @@ class BC {
}
return "Portale WEB";
}
}
//include "BC.Icon.class.php";
public static function get_shortTitleBarText() {
global $pageTitle;
$currentModuleTitle = PVM\CurrentModule::getShortTitle();
if (!is_null($currentModuleTitle)) {
return $currentModuleTitle;
} else if (isset($pageTitle)) {
return $pageTitle;
}
return "Portale WEB";
}
}

View File

@@ -32,10 +32,12 @@ class Config {
public static function loadComposerAutoload($profileDb) {
if (isset($profileDb)) {
$composerJsonPath = "config_aziende" . DIRECTORY_SEPARATOR . strtoupper($profileDb) . DIRECTORY_SEPARATOR . "composer.json";
$composerJsonPath = "config_aziende" . DIRECTORY_SEPARATOR . strtoupper($profileDb) . DIRECTORY_SEPARATOR
. "composer.json";
if (file_exists($composerJsonPath)) {
return "config_aziende" . DIRECTORY_SEPARATOR . strtoupper($profileDb) . DIRECTORY_SEPARATOR . "vendor" . DIRECTORY_SEPARATOR . "autoload.php";
return "config_aziende" . DIRECTORY_SEPARATOR . strtoupper($profileDb) . DIRECTORY_SEPARATOR . "vendor"
. DIRECTORY_SEPARATOR . "autoload.php";
}
}
@@ -71,7 +73,7 @@ class Config {
}
private static function get_branchProperty($key, $profileDB = null) {
$branch = self::is_studioMLHost() ? "studioml" : "cliente";
$branch = self::is_studioMLHost() ? "integry" : "cliente";
$branchConfig = self::get_property($branch, $profileDB);
if (!is_null($branchConfig) && array_key_exists($key, $branchConfig)) {
return $branchConfig[$key];
@@ -84,7 +86,13 @@ class Config {
}
public static function get_publicUrl($profileDB = null) {
return self::get_branchProperty("public_url", $profileDB);
$publicUrl = array_get($_ENV, "PUBLIC_URL");
if (is_null($publicUrl)) {
$publicUrl = self::get_branchProperty("public_url", $profileDB);
}
return $publicUrl;
}
public static function get_endPoint($profileDB = null) {
@@ -98,7 +106,8 @@ class Config {
$endPoint = Controller::endPointParsed($endPoint);
}
if (is_number(strpos($endPoint,"192.168.3.15:8080")) && is_number(strpos(ISSET($_SERVER["HTTP_REFERER"])?$_SERVER["HTTP_REFERER"]:$_SERVER["PHP_SELF"],"/dev/pvm"))){
if (is_number(strpos($endPoint, "192.168.3.15:8080"))
&& is_number(strpos(isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $_SERVER["PHP_SELF"], "/dev/pvm"))) {
$endPoint = "http://192.168.2.215:8080";
}
return $endPoint;
@@ -129,6 +138,6 @@ class Config {
}
private static function is_studioMLHost() {
return PVM::getAziendaHost() === "studioml";
return PVM::getAziendaHost() === "integry" || PVM::getAziendaHost() === "studioml";
}
}
}

View File

@@ -9,7 +9,8 @@ class Controller {
//public static $gestname = null;
public static function current_url() {
return (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on" ? "https" : "http") . "://{$_SERVER["HTTP_HOST"]}{$_SERVER["REQUEST_URI"]}";
return (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on" ? "https" : "http")
. "://{$_SERVER["HTTP_HOST"]}{$_SERVER["REQUEST_URI"]}";
}
public static function current_module() { // è data dal nome della gestione .php
@@ -26,7 +27,8 @@ class Controller {
}
public static function module_gestpath($moduleName, $requiredExt = null) {
return ($requiredExt == "js" ? "dist" . DIRECTORY_SEPARATOR : "") . "gest-lib" . DIRECTORY_SEPARATOR . "{$moduleName}" . DIRECTORY_SEPARATOR;
return ($requiredExt == "js" ? "dist" . DIRECTORY_SEPARATOR : "") . "gest-lib" . DIRECTORY_SEPARATOR
. "{$moduleName}" . DIRECTORY_SEPARATOR;
}
public static function current_gestpath_resource($resource) {
@@ -34,7 +36,8 @@ class Controller {
}
public static function module_gestpath_resource($moduleName, $resource, $addRes = true) {
return ($resource == "js" || $resource == "ts" ? "dist" . DIRECTORY_SEPARATOR : "") . self::module_gestpath($moduleName) . ($addRes ? $resource . DIRECTORY_SEPARATOR : "");
return ($resource == "js" || $resource == "ts" ? "dist" . DIRECTORY_SEPARATOR : "")
. self::module_gestpath($moduleName) . ($addRes ? $resource . DIRECTORY_SEPARATOR : "");
}
// PATH SERVER-SIDE
@@ -43,7 +46,8 @@ class Controller {
}
public static function module_gestpath_classes($moduleName, $fileName = "") {
return self::$abs_root_project . DIRECTORY_SEPARATOR . self::module_gestpath_resource($moduleName, "classes") . $fileName;
return self::$abs_root_project . DIRECTORY_SEPARATOR . self::module_gestpath_resource($moduleName, "classes")
. $fileName;
}
// PATH SERVER-SIDE
@@ -52,16 +56,21 @@ class Controller {
return self::module_gestpath_classes(self::current_module(), $fileName);
}*/
public static function module_gestpath_widgets($moduleName, $fileName = "", $resource = "widgets", $addRes = true) {
return self::$abs_root_project . DIRECTORY_SEPARATOR . self::module_gestpath_resource($moduleName, $resource, $addRes) . $fileName;
return self::$abs_root_project . DIRECTORY_SEPARATOR
. self::module_gestpath_resource($moduleName, $resource, $addRes) . $fileName;
}
// PATH SERVER-SIDE
public static function current_mainClasspath() {
return self::module_mainClasspath(self::current_module());
public static function current_mainClasspath($includeClass = true) {
return self::module_mainClasspath(self::current_module(), $includeClass);
}
public static function module_mainClasspath($moduleName) {
$fileName = ucfirst(\Utility\Str::camelCaseEncode($moduleName)) . ".class.php";
public static function getMainClassName($moduleName) {
return $fileName = ucfirst(\Utility\Str::camelCaseEncode($moduleName));
}
public static function module_mainClasspath($moduleName, $includeClass = true) {
$fileName = self::getMainClassName($moduleName) . ($includeClass ? ".class.php" : ".php");
return self::module_gestpath_classes($moduleName, $fileName);
}
@@ -72,7 +81,8 @@ class Controller {
/* here you can understand what module name use to reach your sql file */
public static function module_gestpath_sql($moduleName, $fileName = "") {
return self::$abs_root_project . DIRECTORY_SEPARATOR . self::module_gestpath_resource($moduleName, "sql") . $fileName;
return self::$abs_root_project . DIRECTORY_SEPARATOR . self::module_gestpath_resource($moduleName, "sql")
. $fileName;
}
// PATH SERVER-SIDE
@@ -106,7 +116,8 @@ class Controller {
// PATH CLIENT-SIDE
public static function module_gestpath_js($moduleName, $fileName = "", $resource = "js") {
return str_replace(DIRECTORY_SEPARATOR, "/", self::module_gestpath_resource($moduleName, $resource)) . $fileName;
return str_replace(DIRECTORY_SEPARATOR, "/", self::module_gestpath_resource($moduleName, $resource))
. $fileName;
}
public static function module_gestpath_audio($moduleName, $fileName = "") {
@@ -208,7 +219,8 @@ class Controller {
if (count($navTabs) > 0) {
$idxAttivo = self::getIdxActiveNavTab();
foreach ($navTabs as $i => $navTab) {
if (isset($navTab["usergroups"]) && !array_key_exists(User::get_current_group(), $navTab["usergroups"])) {
if (isset($navTab["usergroups"])
&& !array_key_exists(User::get_current_group(), $navTab["usergroups"])) {
continue;
}
@@ -317,7 +329,7 @@ class Controller {
if (isset($lib[$fileType])) {
foreach ($lib[$fileType] as $file) {
// if (file_exists($file) || Utility::validateUrl($file)) {
$fileList[] = $file;
$fileList[] = $file;
// }
}
}
@@ -337,7 +349,8 @@ class Controller {
}
public static function is_ajaxRequest() {
return isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && \Utility\Str::ciEquals($_SERVER["HTTP_X_REQUESTED_WITH"], "xmlhttprequest");
return isset($_SERVER["HTTP_X_REQUESTED_WITH"])
&& \Utility\Str::ciEquals($_SERVER["HTTP_X_REQUESTED_WITH"], "xmlhttprequest");
}
public static function loginRedirect() {
@@ -364,4 +377,4 @@ class Controller {
}
return $files;
}
}
}

View File

@@ -96,7 +96,9 @@ class EntityItem {
}
public static function is_entityItem($value) {
return !is_null($value) && gettype($value) == "object" && (get_class($value) == "EntityItem" || is_subclass_of($value, "EntityItem"));
return !is_null($value) && gettype($value) == "object"
&& (get_class($value) == "EntityItem"
|| is_subclass_of($value, "EntityItem"));
}
public function count_entityChildren($key) {
@@ -161,16 +163,22 @@ class EntityItem {
if ($value instanceof DateTime) {
$type = Format::strtotimeYMDHMS;
$value = $value->format($type);
} else if (\Utility\Date::isValidUnixtime($value, $numberOnly)) {
$value = strftime(Format::strftimeYMDHMS, $value);
} else {
try {
$dateTime = DateTime::createFromFormat(DateTime::ISO8601, $value);
if (\Utility\Date::isValidUnixtime($value, $numberOnly)) {
$value = strftime(Format::strftimeYMDHMS, $value);
} else {
try {
$dateTime = DateTime::createFromFormat(DateTime::ISO8601, $value);
if ($dateTime) {
$value = $dateTime->format(Format::strtotimeYMDHMS);
if (!$dateTime) {
$dateTime = DateTime::createFromFormat("Y-m-d\TH:i:s", $value);
}
if ($dateTime) {
$value = $dateTime->format(Format::strtotimeYMDHMS);
}
} catch (Exception $e) {
}
} catch (Exception $e) {
}
}
}
@@ -186,9 +194,23 @@ class EntityItem {
$value = strftime(Format::strftimeYMD, $value);
} else {
try {
$dateTime = new DateTime($value);
$dateTime = DateTime::createFromFormat(Format::strtotimeYMD, $value);
$value = $dateTime->format(Format::strtotimeYMD);
if (!$dateTime) {
$dateTime = DateTime::createFromFormat(Format::strtotimeDMY, $value);
}
if (!$dateTime) {
$dateTime = DateTime::createFromFormat(DateTime::ISO8601, $value);
}
if (!$dateTime) {
$dateTime = DateTime::createFromFormat("Y-m-d\TH:i:s", $value);
}
if ($dateTime) {
$value = $dateTime->format(Format::strtotimeYMD);
}
} catch (Exception $e) {
}
}
@@ -231,20 +253,25 @@ class EntityItem {
} else {
$value = $setNullConstant; // il valore da attribuire al NULL è passato nell'argument
}
} else if (is_string($value)) {
if ($key != "query" && $key != "whereCond") {
$value = str_replace("''", "'", $value);
}
} else {
if (is_string($value)) {
if ($key != "query" && $key != "whereCond") {
$value = str_replace("''", "'", $value);
}
} else {
if (gettype($value) == "object" && get_class($value) == "EntityArray") {
$childEntityArray = $this->get_childEntityArray($key);
foreach ($value->get_children() as $EntityItem) {
$childEntityArray->append($EntityItem);
}
} else if (gettype($value) == "object" && get_class($value) == "EntityArray") {
$childEntityArray = $this->get_childEntityArray($key);
foreach ($value->get_children() as $EntityItem) {
$childEntityArray->append($EntityItem);
return $this;
} else {
if (\Query::is_typeQuery($value)) {
$value = $value->getSql();
}
}
}
return $this;
} else if (\Query::is_typeQuery($value)) {
$value = $value->getSql();
}
$this->arr_fields[$key] = $value;
@@ -261,12 +288,14 @@ class EntityItem {
if (self::is_entityItem($input)) {
$this->detail("oldPk", $input);
} else if (is_array($input) && count($input) > 0) {
$OldPk = new \EntityItem;
foreach ($input as $key => $value) {
$OldPk->set($key, $value);
} else {
if (is_array($input) && count($input) > 0) {
$OldPk = new \EntityItem;
foreach ($input as $key => $value) {
$OldPk->set($key, $value);
}
return $this->setOldPk($OldPk);
}
return $this->setOldPk($OldPk);
}
return $this;
@@ -344,8 +373,10 @@ class EntityItem {
if ($idx === false) {
return $results;
} else if (isset($results[$idx])) {
return $results[$idx];
} else {
if (isset($results[$idx])) {
return $results[$idx];
}
}
}
}
@@ -366,7 +397,7 @@ class EntityItem {
}
foreach ($this->arr_fields as $key => $value) {
if (self::is_entityItem($value)) {
if (self::is_entityItem($value) || EntityList::is_entityList($value)) {
$body[$key] = $value->get_body();
} else {
$body[$key] = $value;
@@ -505,11 +536,13 @@ class EntityItem {
if (is_string($this->cacheFile)) {
$filename = $this->cacheFile;
} else if (!is_null($this->type)) {
$filename = \Utility\Str::camelCaseEncode($this->type);
} else {
$filename = "EntityItem";
if (!is_null($this->type)) {
$filename = \Utility\Str::camelCaseEncode($this->type);
} else {
$filename = "EntityItem";
}
}
@Cache::writeR($filename . "_" . date("Ymd-His") . ".json", $this->get_jsonBody(), "logs");

View File

@@ -1,6 +1,6 @@
<?php
class EntityList {
class EntityList implements Countable {
private $endPoint = null;
private $profileDB = null;
/**

View File

@@ -48,7 +48,7 @@ class ErrorHandler {
} else if ($errorCode === self::EMSHTTP400) {
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "")
. "La chiamata al servizio ha restituito l'errore http <u>400</u> (Bad Request)";
. "La chiamata al servizio ha restituito l'errore http <u>400</u> (Bad Request)" . (!is_null($p2) ? "<div class='mt-10 text-muted text-monospace small'>{$p2}</div>" : "");
} else if ($errorCode === self::EMSHTTP550) {
return "<span class='text-monospace'>Licenza <b>non valida</b></span>";

View File

@@ -1,6 +1,7 @@
<?php
class Format {
const XLSX = "XLSX";
const EXCEL = "EXCEL";
const BMP = "BMP";
const JPEG = "JPEG";

View File

@@ -440,7 +440,4 @@ ON stb_gest_setup.query_default = stb_gest_setup_query.cod_query"
->set("keySection", $this->key_section);
return $EntityItem->send();
}
}
/*include "GestSetupWebUser.class.php";
include "GestSetupDepo.class.php";*/
}

View File

@@ -123,9 +123,4 @@ class GestSetupList {
$value = $this->getSetup($keySection, $section, $gestName, $defaultValue);
return @json_decode($value, true);;
}
}
/*include "GestSetupWebUser.class.php";
include "GestSetupDepo.class.php";*/
}

View File

@@ -20,6 +20,7 @@ class IMSApi {
private $downloadType = "inline";
private $isDirectDownload = false;
private $timeout = 0;
private $isDirect = false;
public function __construct($serviceName = null) {
$this->get()->asJson()->service($serviceName);
@@ -46,6 +47,22 @@ class IMSApi {
return $this;
}
/**
* @return bool
*/
public function isDirect() {
return $this->isDirect;
}
/**
* @param bool $isDirect
* @return IMSApi
*/
public function setIsDirect($isDirect) {
$this->isDirect = $isDirect;
return $this;
}
public function endpoint($value) {
$this->endpoint = $value;
return $this;
@@ -105,7 +122,10 @@ class IMSApi {
}
public function queryParams($array) {
$this->queryParams = array_merge($this->queryParams, $array);
if (is_array($array)) {
$this->queryParams = array_merge($this->queryParams, $array);
}
return $this;
}
@@ -250,6 +270,7 @@ class IMSApi {
->setIsDownload($this->isDownload)
->setIsDirectDownload($this->isDirectDownload)
->setDownloadType($this->downloadType)
->setIsDirect($this->isDirect)
->setProfileDb($this->profileDB)
->endPoint($this->endpoint)
->body($this->body());
@@ -333,15 +354,3 @@ class IMSApi {
return $this;
}
}
//include "IMSApi.ImportExport.class.php";
//include "IMSApi.ImportAnagListini.class.php";
//include "IMSApi.InfoComuni.class.php";
//include "IMSApi.SearchComuni.class.php";
//include "IMSApi.CheckPartitaIva.class.php";
//include "IMSApi.SaveTerminalino.class.php";
//include "IMSApi.ProcessSql.class.php";
//include "IMSApi.ProcessStoredProcedure.class.php";
//include "IMSApi.PrintFile.class.php";
//include "IMSApi.SqlToExcel.class.php";
//include "IMSApi.Response.class.php";

View File

@@ -0,0 +1,24 @@
<?php
namespace IMSApi\Enum;
use MyCLabs\Enum\Enum;
/**
* @method static self TESTO()
* @method static self BOOLEAN()
* @method static self INTERO()
* @method static self DECIMALE()
* @method static self DATE()
* @method static self DATETIME()
* @method static self TIME()
*/
class TipoValore extends Enum {
const TESTO = 0;
const BOOLEAN = 1;
const INTERO = 2;
const DECIMALE = 3;
const DATE = 4;
const DATETIME = 5;
const TIME = 6;
}

View File

@@ -0,0 +1,18 @@
<?php
namespace IMSApi\Enum;
use MyCLabs\Enum\Enum;
/**
* @method static self NESSUNO()
* @method static self FATTURA_PASSIVA()
* @method static self SCHEDA_TECNICA()
* @method static self FIRMA()
*/
class TypeAttach extends Enum {
const NESSUNO = null;
const FATTURA_PASSIVA = "FP";
const SCHEDA_TECNICA = "ST";
const FIRMA = "FI";
}

View File

@@ -83,8 +83,4 @@ class ImportExport extends \IMSApi {
return $Ret;
}
}
//include "IMSApi.Import.class.php";
//include "IMSApi.Export.class.php";
//include "IMSApi.ImportDoc.class.php";
}

View File

@@ -36,6 +36,8 @@ class JasperProcessor {
private $copies = 0;
private $toPrint = false;
public function __construct() {
$this->asPdf();
}
@@ -57,10 +59,17 @@ class JasperProcessor {
}
if (!is_null($this->reportType)) {
$service = "processReportType";
$dto = $this->getReportRypeDTO();
$service = $this->isToPrint() ? "printReportType" : "processReportType";
$dto = $this->getReportTypeDTO();
} else {
$service = $this->useFileHandler ? "downloadReport" : "processReport";
if ($this->useFileHandler) {
$service = "downloadReport";
} else if ($this->isToPrint()) {
$service = "processPrintReport";
} else {
$service = "processReport";
}
$dto = $this->getJasperDTO();
}
@@ -102,6 +111,10 @@ class JasperProcessor {
$overwrite = true;
switch ($this->_FORMATO_EXPORT) {
case Format::XLSX:
case Format::EXCEL:
$ext = "xlsx";
break;
case Format::BMP:
$ext = "bmp";
break;
@@ -137,7 +150,9 @@ class JasperProcessor {
$Ret->set_byte($content);
}
} else {
$Ret->set_errorCode(\ErrorHandler::NORESULT_REPORT)->set_WARN();
if ($service != "printReportType") {
$Ret->set_errorCode(\ErrorHandler::NORESULT_REPORT)->set_WARN();
}
}
}
$Ret->setExecutionTime($endTime - $startTime);
@@ -155,7 +170,9 @@ class JasperProcessor {
$Ret = $this->is_loaded();
if ($Ret->is_OK()) {
if (in_array($this->_FORMATO_EXPORT, array(Format::PDF, Format::PNG, Format::JPEG, Format::BMP))) {
if (in_array($this->_FORMATO_EXPORT, array(
Format::PDF, Format::PNG, Format::JPEG, Format::BMP, Format::XLSX
))) {
$Ret = $this->process();
} else {
$Ret->set_error("Formato export report non supportato (" . $this->_FORMATO_EXPORT . ")");
@@ -199,9 +216,13 @@ class JasperProcessor {
}
public function loadFromJtbDisegni($codProd, $codDisegno = null, $fileTypes = null) {
$fileTypes = !is_null($fileTypes) ? array($fileTypes) : array(\JtbDisegniFiles::REPORT_JASPER, \JtbDisegniFiles::SUBREPORT_JASPER);
$fileTypes = !is_null($fileTypes) ? array($fileTypes) : array(
\JtbDisegniFiles::REPORT_JASPER, \JtbDisegniFiles::SUBREPORT_JASPER
);
$filters = array("cod_prod" => $codProd, "file_type" => $fileTypes);
if ($codDisegno) $filters["cod_disegno"] = $codDisegno;
if ($codDisegno) {
$filters["cod_disegno"] = $codDisegno;
}
$Ret = \JtbDisegniFiles::get_items($filters);
if ($Ret->is_OK()) {
$arr_files = $Ret->get_data();
@@ -223,7 +244,10 @@ class JasperProcessor {
return $x["file_type"] === \JtbDisegniFiles::SUBREPORT_JASPER;
})->toArray());
foreach ($arr_subreportItem as $subreportItem) {
$Report->appendSubreport(array("jasper_filename" => $subreportItem["file_name"], "b64_jasper" => $subreportItem["content"], "id" => $subreportItem["id"]));
$Report->appendSubreport(array(
"jasper_filename" => $subreportItem["file_name"], "b64_jasper" => $subreportItem["content"],
"id" => $subreportItem["id"]
));
}
$Ret = $this->load($Report);
@@ -287,6 +311,10 @@ class JasperProcessor {
case Parameter::TYPE_TEXT_LIKE:
$this->param($param->name, base64_decode($param->expression));
break;
case Parameter::TYPE_COLLECTION_STRING:
case Parameter::TYPE_COLLECTION_NUMBER:
$this->param($param->name, base64_decode($param->expression));
break;
case Parameter::TYPE_TEXT:
case Parameter::TYPE_WHERE:
$this->param($param->name, base64_decode($param->expression));
@@ -363,7 +391,8 @@ class JasperProcessor {
}
public function setJsonSource($v) {
if ((is_array($v) || is_object($v)) && !is_string($v)) { // è possibile fornire anche una struttura, la conversione in json string avviene in atuomatico
if ((is_array($v) || is_object($v))
&& !is_string($v)) { // è possibile fornire anche una struttura, la conversione in json string avviene in atuomatico
$v = json_encode($v);
}
$this->_JSON_SOURCE = $v;
@@ -381,8 +410,13 @@ class JasperProcessor {
public function param($key, $value, $type = null) { // append parametro singolo
if (!is_null($type)) {
if ($type == Format::strftimeYMD || $type == Format::strftimeYMDHMS || $type == Format::strftimeSlashedYMD) {
if (Date::isValidUnixtime($value)) {
if ($type == Format::strftimeYMD || $type == Format::strftimeYMDHMS || $type == Format::strftimeSlashedYMD
|| $type == Format::strtotimeYMD
|| $type == Format::strtotimeYMDHMS
|| $type == DateTime::ISO8601) {
if ($value instanceof DateTime) {
$value = $value->format($type);
} else if (Date::isValidUnixtime($value)) {
$value = strftime($type, $value);
} else {
try {
@@ -438,7 +472,8 @@ class JasperProcessor {
}
public function where($fieldname = null, $value = false, $type = null) { // si puo settare in onetime o in append
$this->_WHERE_COND = blankIfNull($this->_WHERE_COND) . Query::process_whereParameters($fieldname, $value, $type) . " AND ";
$this->_WHERE_COND = blankIfNull($this->_WHERE_COND) . Query::process_whereParameters($fieldname, $value, $type)
. " AND ";
return $this;
}
@@ -486,14 +521,16 @@ class JasperProcessor {
foreach ($this->_PARAMS as $item) {
$Param = new EntityItem;
$Param->set("name", $item["name"])->set("value", $item["value"]);
$value = ($item["value"] === Format::IMS_NULL_STRING
|| $item["value"] === Format::IMS_NULL_ANY) ? null : $item["value"];
$Param->set("name", $item["name"])->set("value", $value);
$JasperDTO->set("params")->append($Param);
}
return $JasperDTO;
}
private function getReportRypeDTO() {
private function getReportTypeDTO() {
$reportRypeDTO = new EntityItem;
$reportRypeDTO
->set("reportType", $this->reportType->getValue())
@@ -553,6 +590,7 @@ class JasperProcessor {
*/
public function setCodMdep($codMdep) {
$this->codMdep = $codMdep;
return $this;
}
private function getTypeExport() {
@@ -575,4 +613,13 @@ class JasperProcessor {
$this->copies = $copies;
return $this;
}
}
public function isToPrint() {
return $this->toPrint;
}
public function setToPrint($toPrint) {
$this->toPrint = $toPrint;
return $this;
}
}

View File

@@ -0,0 +1,122 @@
<?php
class KendoQuery extends Query {
private $sqlCount = "SELECT COUNT(*) AS rows_count FROM TempResult";
private $sqlOffset = "OFFSET ([pageNum] - 1) * [pageSize] ROWS FETCH NEXT [pageSize] ROWS ONLY";
private $sqlSelectResult = "SELECT * FROM TempResult";
private $sqlSelectCount = "SELECT * FROM TempCount";
private $sqlSelectAll = "SELECT TempCount.*, TempResult.* FROM TempResult, TempCount";
private $sqlOrderBy = "[orderBy]";
private $pageNum = 1;
private $pageSize = 20;
public function execute() {
$this->setVar("sqlCount", $this->sqlCount)
->setVar("offset", $this->sqlOffset)
->setVar("orderBy", $this->sqlOrderBy)
->setVar("finalSelect", $this->sqlSelectAll)
->setVar("pageSize", $this->pageSize)
->setVar("pageNum", $this->pageNum);
return parent::execute();
}
public function executePaginatedQuery() {
$queryResult = new Query($this->sql);
$queryResult->setVar("sqlCount", $this->sqlCount)
->setVar("offset", $this->sqlOffset)
->setVar("orderBy", $this->sqlOrderBy)
->setVar("finalSelect", $this->sqlSelectResult)
->date2iso()
->toRet();
$queryCount = new Query($this->sql);
$queryCount
->setVar("sqlCount", $this->sqlCount)
->setVar("offset", "")
->setVar("orderBy", "1")
->setVar("finalSelect", $this->sqlSelectCount)
->toRet()
->date2iso();
$resultRet = $queryResult->execute();
if ($resultRet->is_KO())
return $resultRet;
$countRet = $queryCount->firstRow()->execute();
if ($countRet->is_KO())
return $countRet;
return new Ret(array(
"data" => $resultRet->get_data(),
"count" => $countRet->get_data(),
"total" => array_get($countRet->get_data(), "rows_count", 0)
));
}
public function getSqlCount() {
return $this->sqlCount;
}
public function setSqlCount($sqlCount) {
$this->sqlCount = $sqlCount;
}
public function getSqlOffset() {
return $this->sqlOffset;
}
public function setSqlOffset($sqlOffset) {
$this->sqlOffset = $sqlOffset;
}
public function getSqlSelectResult() {
return $this->sqlSelectResult;
}
public function setSqlSelectResult($sqlSelectResult) {
$this->sqlSelectResult = $sqlSelectResult;
}
public function getSqlSelectCount() {
return $this->sqlSelectCount;
}
public function setSqlSelectCount($sqlSelectCount) {
$this->sqlSelectCount = $sqlSelectCount;
}
public function getSqlSelectAll() {
return $this->sqlSelectAll;
}
public function setSqlSelectAll($sqlSelectAll) {
$this->sqlSelectAll = $sqlSelectAll;
}
public function getSqlOrderBy() {
return $this->sqlOrderBy;
}
public function setSqlOrderBy($sqlOrderBy) {
$this->sqlOrderBy = $sqlOrderBy;
}
public function getPageNum() {
return $this->pageNum;
}
public function setPageNum($pageNum) {
$this->pageNum = $pageNum;
}
public function getPageSize() {
return $this->pageSize;
}
public function setPageSize($pageSize) {
$this->pageSize = $pageSize;
}
}

View File

@@ -1,55 +1,67 @@
<?php
class KendoService {
public static function queryInitializerService($data, $sqlFile, $defaultOrderField, $sqlIsString = false, $useTemplate = true) {
public static function queryInitializerService($data, $sqlFile, $defaultOrderField, $sqlIsString = false, $useTemplate = true, $customCountQuery = null) {
$pageSize = array_get($data, "pageSize");
$page = array_get($data, "page");
$query = new Query();
$query = new KendoQuery();
// if (isset($pageSize) && isset($page)) {
if ($useTemplate) {
$query
->module("index");
if (isset($pageSize) && isset($page)) {
$query->importSqlFile("kendo-query-template");
} else {
$query->importSqlFile("kendo-query-template-np");
}
}
if ($sqlIsString) {
if ($useTemplate && !\Utility\Str::contains($sqlFile, "WITH")) {
$query
->setVar("sql", $sqlFile);
} else {
$query->setSql($sqlFile);
}
} else {
$query2 = new Query();
$query2
->importSqlFile($sqlFile);
if ($useTemplate && !\Utility\Str::contains($sqlFile, "WITH")) {
$query
->setVar("sql", $query2->getSql());
} else {
$query = $query2;
}
}
$orderBy = $defaultOrderField;
if (isset($data["sort"]) && count($data["sort"]) > 0) {
$orderBy = KendoService::sort($data["sort"]);
}
if ($useTemplate) {
$query
->setVar("orderBy", $orderBy)
->setVar("pageSize", $pageSize)
->setVar("pageNum", $page);
->module("index");
if (isset($pageSize) && isset($page)) {
$query->importSqlFile("kendo-query-template");
} else {
$query->importSqlFile("kendo-query-template-np");
}
}
if ($sqlIsString) {
if ($useTemplate && !\Utility\Str::contains($sqlFile, "WITH")) {
$query
->setVar("sql", $sqlFile);
} else {
$query->setSql($sqlFile);
}
} else {
$query2 = new KendoQuery();
$query2
->importSqlFile($sqlFile);
if ($useTemplate && !\Utility\Str::contains($sqlFile, "WITH")) {
$query
->setVar("sql", $query2->getSql());
} else {
$query = $query2;
}
}
if ($customCountQuery) {
$query->setSqlCount($customCountQuery);
}
$query->setPageSize($pageSize);
$query->setPageNum($page);
$orderBy = $defaultOrderField;
if (isset($data["sort"]) && count($data["sort"]) > 0) {
$orderBy = KendoService::sort($data["sort"]);
}
$queryOrderBy = new Query($query->getSqlOrderBy());
$queryOrderBy
->setVar("orderBy", $orderBy ?: "1");
$query->setSqlOrderBy($queryOrderBy->getSql());
$queryOffset = new Query($query->getSqlOffset());
$queryOffset->setVar("pageSize", $pageSize)
->setVar("pageNum", $page);
$query->setSqlOffset($queryOffset->getSql());
// } else {
// if ($sqlIsString) {
// $query->setSql($sqlFile);
@@ -344,7 +356,9 @@ class KendoService {
$colonna = array();
if (!is_null($value)) {
switch ($value) {
case in_array($value, array("int", "bigint", "smallint", "tinyint", "real", "decimal", "float", "numeric")):
case in_array($value, array(
"int", "bigint", "smallint", "tinyint", "real", "decimal", "float", "numeric"
)):
$type = "number";
break;
case in_array($value, array("date", "datetime")):
@@ -370,4 +384,4 @@ class KendoService {
}
return $Ret;
}
}
}

View File

@@ -3,6 +3,7 @@
class Modulo {
private $id = null; // camel case decoded
private $title = null;
private $shortTitle = null;
private $pages = null;
private $position = null;
private $libs = null;
@@ -45,6 +46,7 @@ class Modulo {
$this->id = $id;
$this->title = self::getObjectValue($infoModulo, "title");
$this->shortTitle = self::getObjectValue($infoModulo, "shortTitle", $this->title);
$this->pages = self::getObjectValue($infoModulo, "pages");
$this->position = self::getObjectValue($infoModulo, "position");
$this->libs = self::getObjectValue($infoModulo, "libs");
@@ -86,6 +88,20 @@ class Modulo {
return $this->group;
}
/**
* @return string|null
*/
public function getShortTitle() {
return $this->shortTitle;
}
/**
* @param string|null $shortTitle
*/
public function setShortTitle($shortTitle) {
$this->shortTitle = $shortTitle;
}
public function getPosition() {
if (!is_null($this->getOptionAzienda("position"))) {
$positions = $this->position;
@@ -234,7 +250,10 @@ class Modulo {
$idModuloCC = $this->getIdCamelCaseEncoded();
if (!class_exists($idModuloCC)) {
include \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.class.php");
if (file_exists(\Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.php")))
include_once \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.php");
else
include_once \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.class.php");
}
if (class_exists($idModuloCC)) {
@@ -264,6 +283,6 @@ class Modulo {
/*
namespace Modulo{
class OptionsAzienda{
}
}*/

View File

@@ -1,5 +1,7 @@
<?php
use Allegati\SourceType;
class MtbAartLink {
public static function get_items($codMart, $idRiga = null) {
@@ -17,6 +19,7 @@ class MtbAartLink {
foreach ($arr_rows as $i => $row) {
$pathLink = $row["path_link"];
$icon = Utility\File::getFaIcoFromName($pathLink);
$arr_rows[$i]["source_type"] = SourceType::ARTICOLO;
$arr_rows[$i]["file_name"] = $pathLink;
$arr_rows[$i]["size"] = $arr_rows[$i]["file_size"];
$arr_rows[$i]["mime_type"] = Utility\File::getMimeTypeFromName($pathLink);
@@ -55,7 +58,7 @@ class MtbAartLink {
$query->addSelect("descrizione_link");
}
$query->from("mtb_aart_link")->where("cod_mart", $codMart);
$query->from("mtb_aart_link")->where("cod_mart", $codMart)->where("b64_content is not null");
if ($idRiga) {
$query->where("id_riga", $idRiga);

View File

@@ -14,7 +14,7 @@ class PVM {
}
public static function isDebugEnv() {
return self::getAziendaHost() === "studioml";
return self::getAziendaHost() === "integry";
}
public static function isDevMode() {
@@ -63,19 +63,19 @@ class PVM {
$nomeAzienda = array_get($_ENV, "AZIENDA");
if (isset($nomeAzienda)) {
return $nomeAzienda;
return strtolower($nomeAzienda);
}
$nomeAzienda = self::rootFileExists("nome_azienda.txt");
if ($nomeAzienda !== false) {
$azienda = nullIfBlank(file_get_contents($nomeAzienda));
return is_null($azienda) ? "studioml" : strtolower($azienda);
return is_null($azienda) ? "integry" : strtolower($azienda);
}
return null;
}
public static function isDevClient() {
return array_key_exists("APP_ENV", $_ENV) ? $_ENV["APP_ENV"] == "DEV" : self::rootFileExists("Gruntfile.js") !== false;
return array_key_exists("NODE_ENV", $_ENV) ? $_ENV["NODE_ENV"] == "development" : self::rootFileExists("Gruntfile.js") !== false;
}
private static function rootFileExists($filename, $upTo = 5) {
@@ -425,10 +425,4 @@ class PVM {
asort($arr_ret);
return $arr_ret;
}
}
//include "PVM.CurrentModule.class.php";
//include "PVM.Mailer.class.php";
//include "PVM.ModuloUtils.class.php";
//include "PVM.Ajax.class.php";
//include "PVM.Tips.class.php";
}

View File

@@ -175,7 +175,7 @@ class Ajax {
}
public static function stayinAlive() {
@session_start();
getSession();
$Ret = new \Ret;
return $Ret->set_string("stayin' alive, stayin' alive");
}
@@ -230,7 +230,12 @@ class Ajax {
}
$moduleName = $data["module_name"];
$moduleNameCc = ucfirst(\Utility\Str::camelCaseEncode($moduleName));
include \Controller::module_gestpath_classes($moduleName, "{$moduleNameCc}.class.php");
if (!class_exists($moduleNameCc)) {
if (file_exists(\Controller::module_gestpath_classes($moduleName, "{$moduleNameCc}.php")))
include_once \Controller::module_gestpath_classes($moduleName, "{$moduleNameCc}.php");
else
include_once \Controller::module_gestpath_classes($moduleName, "{$moduleNameCc}.class.php");
}
$templateId = isset($data["template_id"]) ? $data["template_id"] : null;
$retData = array();
$gestPathHtml = \Controller::module_gestpath_resource($moduleName, "html");
@@ -325,7 +330,12 @@ class Ajax {
$idModulo = $data["module_name"];
$idModuloCC = ucfirst(\Utility\Str::camelCaseEncode($idModulo));
$methodName = "_moduleDatasource";
include \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.class.php");
if (!class_exists($idModuloCC, false)) {
if (file_exists(\Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.php")))
include \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.php");
else
include \Controller::module_gestpath_classes($idModulo, "{$idModuloCC}.class.php");
}
if (class_exists($idModuloCC)) {
if (isset($data["profileDB"])) {
$GLOBALS["profileDB"] = $data["profileDB"];
@@ -340,6 +350,22 @@ class Ajax {
return $Ret;
}
public static function get_moduleAuthorizations($data) {
$idModulo = $data["module_name"];
if (!isset($_SESSION["username"])) {
return \Ret::data(array());
}
$ems = new \IMSApi();
if (isset($data["profileDB"])) {
$ems->profileDB($data["profileDB"]);
}
return $ems
->post("pvm/gestione/$idModulo/permessi")
->send();
}
public static function get_forecast($data) {
$dayFrom = \Utility\Date::startOfDay($data["day_from"]);
$dayTo = isset($data["day_to"]) ? \Utility\Date::startOfDay($data["day_to"]) : $dayFrom;
@@ -523,4 +549,6 @@ class Ajax {
}
return $Ret;
}
}

View File

@@ -2,7 +2,6 @@
namespace PVM;
use PVM\ModuloUtils;
use Modulo;
class CurrentModule {
@@ -43,4 +42,9 @@ class CurrentModule {
$Modulo = self::getModulo();
return !is_null($Modulo) ? $Modulo->getTitle() : null;
}
public static function getShortTitle() {
$Modulo = self::getModulo();
return !is_null($Modulo) ? $Modulo->getShortTitle() : null;
}
}

View File

@@ -198,7 +198,7 @@ class Mailer {
if (is_null($emailItem[1])) {
$emails .= $emailItem[0] . ";";
} else {
$emails .= $emailItem[1] . " <" . $emailItem[0] . ">;";
$emails .= str_replace(",", " ", $emailItem[1]) . " <" . $emailItem[0] . ">;";
}
} else {
return $Ret->set_error("Indirizzo email non valido: " . $emailItem[0]);
@@ -327,4 +327,4 @@ class Mailer {
$this->_sendDev = $sendDev;
return $this;
}
}
}

View File

@@ -219,7 +219,7 @@ class Pagination {
ob_start();
?>
<div>
<ul class="pagination pagination-<?= $this->size ?>"><?
<ul class="pagination pagination-<?= $this->size ?>"><?php
if ($this->flagBtPrev) {
?>
<li>
@@ -227,14 +227,14 @@ class Pagination {
aria-label="Precedente">
<span aria-hidden="true">&laquo;</span>
</a>
</li><?
</li><?php
}
$arr_pagesList = $this->getListNumPage();
foreach ($arr_pagesList as $c => $number) {
if ($arr_pagesList[(($c == 0) ? 0 : $c - 1)] + 1 != $number && $c > 0) {
?>
<li class="disabled"><a href="#">...</a></li><?
<li class="disabled"><a href="#">...</a></li><?php
}
if (!$this->isCurrentPage($number)) {
?>
@@ -242,9 +242,9 @@ class Pagination {
<a href="<?= "{$_SERVER["PHP_SELF"]}?{$queryUri}&pag={$number}" ?>">
<?= number_format($number, 0, ".", "'") ?>
</a>
</li><?
</li><?php
} else { // corrente ?>
<li class="active"><a href="#"><?= number_format($number, 0, ".", "'") ?></a></li><?
<li class="active"><a href="#"><?= number_format($number, 0, ".", "'") ?></a></li><?php
}
}
@@ -255,10 +255,10 @@ class Pagination {
aria-label="Successiva">
<span aria-hidden="true">&raquo;</span>
</a>
</li><?
</li><?php
} ?>
</ul>
</div><?
</div><?php
$html = Utility\Str::remove_multiple_spaces(@ob_get_clean());
echo $html;

View File

@@ -86,7 +86,7 @@ class Query {
}
public static function getDefaultDriver() {
return "mssql";
return null;
}
private function getDriver() {
@@ -95,10 +95,10 @@ class Query {
if (!is_null($dbConfig)) {
if (in_array($dbConfig["driver"], self::getAvailableDrivers())) {
$driver = $dbConfig["driver"];
} else {
@Utility::send_debugMessage("missingDbDriver", $dbConfig, true, 24 * 60 * 60, true);
}
// else {
// @Utility::send_debugMessage("missingDbDriver", $dbConfig, true, 24 * 60 * 60, true);
// }
}
return $driver;
}
@@ -111,7 +111,7 @@ class Query {
private function errorText($message){
$this->errorText = "<b>Errore in Query.class</b>: ".$message;
}
private function sqlStringNotNull(){
if(is_null($this->sql)){
$this->errorText("Valore SQL nullo o non valido");
@@ -185,17 +185,17 @@ class Query {
}
if (!is_null($this->groupBy)) {
$this->sql .= " GROUP BY " . $this->groupBy;
$this->sql .= "\nGROUP BY " . $this->groupBy;
}
if (!is_null($this->orderBy)) {
$this->sql .= " ORDER BY " . $this->orderBy;
$this->sql .= "\nORDER BY " . $this->orderBy;
$this->orderBy = null;
}
}
/*
if(!is_null($this->top)){
}*/
}
return $this->sql;
@@ -415,7 +415,7 @@ class Query {
public function from($value) {/*
if(self::is_selectSql($value)){
$this->sql .= " FROM (".$value.") v1";
} else*/
if (!is_null($this->sql)) { // NOME DELLA TABELLA
$this->sql .= " FROM " . $value;
@@ -455,7 +455,7 @@ class Query {
/*
public function setDate($field, $value){
}*/
public function set($field, $value) {// WARN va insieme a update()
@@ -519,12 +519,12 @@ class Query {
} else {/*
if($type==\Format::strftimeYMD){
$value = strftime(\Format::strftimeYMD, $value);
} else if($type==\Format::strftimeYMDHMS){
$value = strftime(\Format::strftimeYMDHMS, $value);
} else if(!is_null($type) && $type==\Format::latLng1){
}*/
$whereCond = " {$fieldname} = " . self::sqlValue($value, $type);
@@ -726,6 +726,20 @@ class Query {
}
// } else if (!is_null($type) && !is_null($value) && $type == \Format::latLng1) {
} else if (is_array($value)) {
if (\Report\Parameter::isCollection($type)) {
if ($type === \Report\Parameter::TYPE_COLLECTION_STRING) {
$value = array_map(function ($val) {
return "'" . $val . "'";
}, $value);
}
if (empty($value))
$value = array("NULL");
$inValue = implode(',', $value);
$re = '/[$](?:(?:X)|(?:x)){[ ]*(?:(?:IN)|(?:in))[ ]*,[ ]*([^ ,]*)[ ]*,[ ]*' . $key . '[ ]*}/m';
$this->sql = preg_replace($re, "$1 in (" . $inValue . ")", $this->sql);
}
$value = implode("','", $value);
} else if (is_bool($value)) {
$value = $value ? "1" : "0";
@@ -733,10 +747,12 @@ class Query {
$arr_pattern = array(
"[{$key}]",// TRADIZIONALE
"\$p{{$key}}" // IREPORT /*'$p{'.$fieldname.'}'*/
"\$p{{$key}}", // IREPORT /*'$p{'.$fieldname.'}'*/
);
foreach ($arr_pattern as $i => $pattern) {
if (stripos($this->sql, $pattern) !== false) {
if ($i == 0) { // TRADIZIONALE
//$value = str_replace("'", "''", $value);
@@ -1234,8 +1250,4 @@ class Query {
$this->anonymousAuth = $value !== false;
return $this;
}
}
//include "Mssql.class.php";
//include "Sqlsrv.class.php";
//include "PDO.Sqlsrv.class.php";
}

Some files were not shown because too many files have changed in this diff Show More