diff --git a/ajax.php b/ajax.php
index 0ea57078a..0701c2623 100644
--- a/ajax.php
+++ b/ajax.php
@@ -43,6 +43,13 @@ switch (get('op')) {
unset($_SESSION[$array[0]][$array[1]]);
} else {
$_SESSION[$array[0]][$array[1]] = $value;
+
+ echo $array[0];
+ echo $array[1];
+
+ echo $_SESSION[$array[0]][$array[1]];
+ print_r($_SESSION);
+
}
break;
diff --git a/core.php b/core.php
index 736507645..631db4b05 100644
--- a/core.php
+++ b/core.php
@@ -174,12 +174,7 @@ if (!API::isAPIRequest()) {
} elseif (!isset($_SESSION['period_start'])) {
$_SESSION['period_start'] = date('Y').'-01-01';
$_SESSION['period_end'] = date('Y').'-12-31';
- }
-
- // Impostazione automatica dei segments
- (empty($_SESSION[14]['id_segment'])) ? $_SESSION[14]['id_segment'] = get_var('Sezionale predefinito fatture di vendita') : '';
- (empty($_SESSION[15]['id_segment'])) ? $_SESSION[15]['id_segment'] = get_var('Sezionale predefinito fatture di acquisto'): '';
-
+ }
// Impostazione del tema grafico di default
$theme = !empty($theme) ? $theme : 'default';
diff --git a/lib/functions.js b/lib/functions.js
index 0943f5f3c..384a2c106 100644
--- a/lib/functions.js
+++ b/lib/functions.js
@@ -1116,6 +1116,8 @@ function session_set(session_array, value, clear, reload) {
return $.get(globals.rootdir + "/ajax.php?op=session_set&session=" + session_array + "&value=" + value + "&clear=" + clear, function(data, status){
+ //alert (session_array);
+ //alert (value);
if (reload==1)
location.reload();
diff --git a/modules/fatture/add.php b/modules/fatture/add.php
index 727c63b38..5bc653dbc 100644
--- a/modules/fatture/add.php
+++ b/modules/fatture/add.php
@@ -33,9 +33,8 @@ if ($module['name'] == 'Fatture di vendita') {
{[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, descrizione FROM co_tipidocumento WHERE dir=''", "value": "" ]}
-
- {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='' ORDER BY name", "value": "", "extra": "" ]}
+ {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='' ORDER BY name", "value": "", "extra": "" ]}
diff --git a/modules/fatture/controller_before.php b/modules/fatture/controller_before.php
index d4a32b55b..987e9c467 100644
--- a/modules/fatture/controller_before.php
+++ b/modules/fatture/controller_before.php
@@ -1,32 +1,14 @@
fetchArray("SELECT id FROM zz_segments WHERE predefined = 1 AND id_module = ".prepare($id_module)."LIMIT 0,1");
+ $_SESSION['m'.$id_module]['id_segment'] = $rs[0]['id'];
}
- else{
-
- if ($id_module=='14')
- (!empty($_SESSION[$id_module]['id_segment'])) ? $id_segment = $_SESSION[$id_module]['id_segment'] :$id_segment = get_var("Sezionale predefinito fatture di vendita");
-
- if ($id_module=='15')
- $id_segment = get_var('Sezionale predefinito fatture di acquisto');
-
-
- $_SESSION[$id_module]['id_segment'] = $id_segment;
- }
- */
-
-
?>
-
- {[ "type": "select", "label": "Sezionale", "name": "idsezionale_", "required": 0, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = ''", "value": "", "extra": "" ]}
+ {[ "type": "select", "label": "", "name": "idsezionale_", "required": 0, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = ''", "value": "", "extra": "" ]}
@@ -37,9 +19,9 @@ $(document).ready(function () {
$("#idsezionale_").on("change", function(){
if ($(this).val()<1){
- session_set(',id_segment', '', 1, 1);
+ session_set(',id_segment', '', 1, 1);
}else{
- session_set(',id_segment', $(this).val(), 0, 1);
+ session_set(',id_segment', $(this).val(), 0, 1);
}
});
diff --git a/modules/segmenti/actions.php b/modules/segmenti/actions.php
index 110520e5b..339b67cfa 100644
--- a/modules/segmenti/actions.php
+++ b/modules/segmenti/actions.php
@@ -10,8 +10,15 @@ switch (post('op')) {
(strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $maschera = '####';
$id_module_ = post('id_module_');
$note = post('note');
-
- $query = "UPDATE zz_segments SET name=\"$name\", category=\"$category\", pattern=\"$pattern\", id_module=\"$id_module_\", note=\"$note\" WHERE id=\"$id_record\"";
+ $predefined = $post['predefined'];
+
+ if (count($dbo->query("SELECT id FROM zz_segments WHERE id_module = \"$id_module_\"")==0))
+ $predefined = 1;
+
+ if ($predefined)
+ $dbo->query("UPDATE zz_segments SET predefined = 0 WHERE id_module = \"$id_module_\"");
+
+ $query = "UPDATE zz_segments SET name=\"$name\", pattern=\"$pattern\", id_module=\"$id_module_\", note=\"$note\", predefined=\"$predefined\" WHERE id=\"$id_record\"";
$rs = $dbo->query($query);
@@ -26,8 +33,15 @@ switch (post('op')) {
(strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $pattern = '####';
$id_module_ = post('id_module_');
$note = post('note');
-
- $dbo->query("INSERT INTO zz_segments( name, category, pattern, id_module, note ) VALUES ( \"$name\", \"$category\", \"$pattern\", \"$id_module_\", \"$note\" )");
+ $predefined = $post['predefined'];
+
+ if (count($dbo->query("SELECT id FROM zz_segments WHERE id_module = \"$id_module_\"")==0))
+ $predefined = 1;
+
+ if ($predefined)
+ $dbo->query("UPDATE zz_segments SET predefined = 0 WHERE id_module = \"$id_module_\"");
+
+ $dbo->query("INSERT INTO zz_segments( name, pattern, id_module, note, predefined ) VALUES ( \"$name\", \"$pattern\", \"$id_module_\", \"$note\", \"$predefined\" )");
$id_record = $dbo->last_inserted_id();
$_SESSION['infos'][] = tr('Nuovo segmento aggiunto.');
diff --git a/modules/segmenti/add.php b/modules/segmenti/add.php
index 1d87bd5ac..cd2066ed7 100644
--- a/modules/segmenti/add.php
+++ b/modules/segmenti/add.php
@@ -4,21 +4,26 @@
-
+
{[ "type": "text", "label": "", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
-
- {[ "type": "text", "label": "", "name": "category", "required": 1, "class": "", "value": "$category$", "extra": "" ]}
-
-
-
+
{[ "type": "text", "label": "", "name": "pattern", "required": 1, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
-
+
+
+
+
+
+
{[ "type": "select", "label": "", "name": "id_module_", "required": 1, "class": "", "values": "list=\"14\": \"Fatture di vendita\", \"15\": \"Fatture di acquisto\"", "value": "$id_module$", "extra": "" ]}
+
+
+ {[ "type": "checkbox", "label": "", "name": "predefined", "value": "0", "help": "", "placeholder": "" ]}
+
diff --git a/modules/segmenti/edit.php b/modules/segmenti/edit.php
index 7e8ce496c..f47c8dc80 100644
--- a/modules/segmenti/edit.php
+++ b/modules/segmenti/edit.php
@@ -16,11 +16,6 @@
{[ "type": "text", "label": "", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
-
- {[ "type": "text", "label": "", "name": "category", "required": 1, "class": "", "value": "$category$", "extra": "" ]}
-
-
-
{[ "type": "text", "label": "", "name": "pattern", "required": 1, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
@@ -29,6 +24,13 @@
{[ "type": "select", "label": "", "name": "id_module_", "required": 1, "class": "", "values": "list=\"14\": \"Fatture di vendita\", \"15\": \"Fatture di acquisto\"", "value": "$id_module$", "extra": "" ]}
+
+
+ {[ "type": "checkbox", "label": "", "name": "predefined", "value": "$predefined$", "help": "", "placeholder": "", "extra": "" ]}
+
+
@@ -69,21 +71,23 @@
fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE id_segment='.prepare($id_record));
- $tot_fatture = $fatture[0]['tot_fatture'];
- if ($tot_fatture > 0) {
+
+ $array = preg_match('/(?<=FROM)\s([^\s]+)\s/', $records[0]['options'], $table);
+
+ $righe = $dbo->fetchArray("SELECT COUNT(*) AS tot FROM ".$table[0]." WHERE id_segment = ".prepare($id_record));
+ $tot = $righe[0]['tot'];
+
+ if ($tot > 0) {
echo "
";
- echo tr("Ci sono _TOT_ fatture collegate a questo segmento del modulo '_MODULO_'. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando 'Elimina segmento'.", [
- '_TOT_' => $tot_fatture,
+ echo tr("Ci sono _TOT_ righe collegate al segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato, eliminare le righe per attivare il comando 'Elimina segmento'.", [
+ '_TOT_' => $tot,
'_MODULO_' => $records[0]['modulo'],
]);
echo "
";
-
-
} else if ($records[0]['n_sezionali']<2) {
echo "
";
@@ -94,7 +98,21 @@
echo "
";
- }else{
+ }else if ($records[0]['predefined']) {
+
+ echo "
";
+
+ echo tr("Questo è il segmento predefinito per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [
+ '_MODULO_' => $records[0]['modulo'],
+ ]);
+
+ echo "
";
+
+ }
+
+
+
+ else{
?>