From a0bad7a6af8d44ac0f335390d5be0f82be5825f0 Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Thu, 4 Mar 2021 15:24:20 +0100 Subject: [PATCH] Aggiunta modifica dati degli allegati MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correzione delle azioni previste dal file actions.php per rendere la logica piĆ¹ uniforme. --- actions.php | 42 +++++++++++----- include/modifica_allegato.php | 67 +++++++++++++++++++++++++ modules/anagrafiche/actions.php | 4 +- modules/articoli/actions.php | 4 +- modules/checklists/js/checklist.js | 8 +-- modules/impianti/actions.php | 4 +- plugins/checks.php | 2 +- plugins/notes.php | 6 +-- src/HTMLBuilder/Manager/FileManager.php | 17 ++++--- 9 files changed, 121 insertions(+), 33 deletions(-) create mode 100644 include/modifica_allegato.php diff --git a/actions.php b/actions.php index b17a0af5c..8441346b0 100755 --- a/actions.php +++ b/actions.php @@ -21,6 +21,7 @@ include_once __DIR__.'/core.php'; use Models\Note; use Models\OperationLog; +use Models\Upload; use Modules\Checklists\Check; use Modules\Checklists\Checklist; use Modules\Emails\Template; @@ -35,7 +36,7 @@ $upload_dir = base_dir().'/'.Uploads::getDirectory($id_module, $id_plugin); $database->beginTransaction(); // Upload allegati e rimozione -if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { +if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') { // Controllo sui permessi di scrittura per il modulo if (Modules::getPermission($id_module) != 'rw') { flash()->error(tr('Non hai permessi di scrittura per il modulo _MODULE_', [ @@ -53,7 +54,7 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { // Gestione delle operazioni else { // UPLOAD - if (filter('op') == 'link_file' && !empty($_FILES) && !empty($_FILES['file']['name'])) { + if (filter('op') == 'aggiungi-allegato' && !empty($_FILES) && !empty($_FILES['file']['name'])) { $upload = Uploads::upload($_FILES['file'], [ 'name' => filter('nome_allegato'), 'category' => filter('categoria'), @@ -71,7 +72,7 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { } // DELETE - elseif (filter('op') == 'unlink_file' && filter('filename') !== null) { + elseif (filter('op') == 'rimuovi-allegato' && filter('filename') !== null) { $name = Uploads::delete(filter('filename'), [ 'id_module' => $id_module, 'id_plugin' => $id_plugin, @@ -92,14 +93,29 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { } // Download allegati -elseif (filter('op') == 'download_file') { +elseif (filter('op') == 'download-allegato') { $rs = $dbo->fetchArray('SELECT * FROM zz_files WHERE id_module='.prepare($id_module).' AND id='.prepare(filter('id')).' AND filename='.prepare(filter('filename'))); download($upload_dir.'/'.$rs[0]['filename'], $rs[0]['original']); } +elseif (filter('op') == 'visualizza-modifica-allegato') { + include_once base_dir().'/include/modifica_allegato.php'; +} + +// Modifica dati di un allegato +elseif (filter('op') == 'modifica-allegato') { + $id_allegato = filter('id_allegato'); + $allegato = Upload::find($id_allegato); + + $allegato->name = post('nome_allegato'); + $allegato->category = post('categoria_allegato'); + + $allegato->save(); +} + // Modifica nome della categoria degli allegati -elseif (filter('op') == 'upload_category') { +elseif (filter('op') == 'modifica-categoria-allegato') { $category = post('category'); $name = post('name'); @@ -130,7 +146,7 @@ elseif (filter('op') == 'validate') { } // Aggiunta nota interna -elseif (filter('op') == 'add_nota') { +elseif (filter('op') == 'aggiungi-nota') { $contenuto = post('contenuto'); $data_notifica = post('data_notifica') ?: null; @@ -140,7 +156,7 @@ elseif (filter('op') == 'add_nota') { } // Rimozione data di notifica dalla nota interna -elseif (filter('op') == 'notification_nota') { +elseif (filter('op') == 'rimuovi-notifica-nota') { $id_nota = post('id_nota'); $nota = Note::find($id_nota); @@ -151,7 +167,7 @@ elseif (filter('op') == 'notification_nota') { } // Rimozione nota interna -elseif (filter('op') == 'delete_nota') { +elseif (filter('op') == 'rimuovi-nota') { $id_nota = post('id_nota'); $nota = Note::find($id_nota); @@ -161,7 +177,7 @@ elseif (filter('op') == 'delete_nota') { } // Clonazione di una checklist -elseif (filter('op') == 'clone_checklist') { +elseif (filter('op') == 'copia-checklist') { $content = post('content'); $checklist_id = post('checklist'); @@ -175,7 +191,7 @@ elseif (filter('op') == 'clone_checklist') { } // Aggiunta check alla checklist -elseif (filter('op') == 'add_check') { +elseif (filter('op') == 'aggiungi-check') { $content = post('content'); $parent_id = post('parent') ?: null; @@ -189,7 +205,7 @@ elseif (filter('op') == 'add_check') { } // Rimozione di un check della checklist -elseif (filter('op') == 'delete_check') { +elseif (filter('op') == 'rimuovi-check') { $check_id = post('check_id'); $check = Check::find($check_id); @@ -201,7 +217,7 @@ elseif (filter('op') == 'delete_check') { } // Gestione check per le checklist -elseif (filter('op') == 'toggle_check') { +elseif (filter('op') == 'toggle-check') { $check_id = post('check_id'); $check = Check::find($check_id); @@ -213,7 +229,7 @@ elseif (filter('op') == 'toggle_check') { } // Gestione ordine per le checklist -elseif (filter('op') == 'sort_checks') { +elseif (filter('op') == 'ordina-checks') { $ids = explode(',', $_POST['order']); $order = 0; diff --git a/include/modifica_allegato.php b/include/modifica_allegato.php new file mode 100644 index 000000000..0dac1db6c --- /dev/null +++ b/include/modifica_allegato.php @@ -0,0 +1,67 @@ +. + */ + +use Models\Upload; + +$id_allegato = filter('id_allegato'); +$allegato = Upload::find($id_allegato); + +// Form di inserimento riga documento +echo ' +
+ + + + +
+
+ {[ "type": "text", "label": "'.tr('Nome').'", "name": "nome_allegato", "value": "'.$allegato->name.'" ]} +
+ +
+ {[ "type": "text", "label": "'.tr('Categoria').'", "name": "categoria_allegato", "value": "'.$allegato->category.'" ]} +
+
+ + +
+
+ +
+
+
'; + +// Elenco categoria disponibili per l'autocompletamento +$where = '`id_module` '.(!empty($allegato['id_module']) && empty($allegato['id_plugin']) ? '= '.prepare($allegato['id_module']) : 'IS NULL').' AND `id_plugin` '.(!empty($allegato['id_plugin']) ? '= '.prepare($allegato['id_plugin']) : 'IS NULL').''; +$categories = $dbo->fetchArray('SELECT DISTINCT(BINARY `category`) AS `category` FROM `zz_files` WHERE '.$where.' ORDER BY `category`'); +$source = array_clean(array_column($categories, 'category')); + +echo ' + +'; diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index 60032c1c8..f529359f2 100755 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -331,7 +331,7 @@ switch (post('op')) { } // Operazioni aggiuntive per il logo e filigrana stampe -if (filter('op') == 'link_file') { +if (filter('op') == 'aggiungi-allegato') { $nome = filter('nome_allegato'); $logo_stampe = ['logo stampe', 'logo_stampe', 'logo stampe.jpg', 'logo stampe.png']; @@ -360,7 +360,7 @@ if (filter('op') == 'link_file') { } // Operazioni aggiuntive per il logo -elseif (filter('op') == 'unlink_file') { +elseif (filter('op') == 'rimuovi-allegato') { $filename = filter('filename'); if (strpos($filename, setting('Logo stampe')) !== false) { diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 68bab8ddf..563fedf48 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -324,13 +324,13 @@ switch (post('op')) { } // Operazioni aggiuntive per l'immagine -if (filter('op') == 'unlink_file' && filter('filename') == $record['immagine']) { +if (filter('op') == 'rimuovi-allegato' && filter('filename') == $record['immagine']) { $dbo->update('mg_articoli', [ 'immagine' => null, ], [ 'id' => $id_record, ]); -} elseif (filter('op') == 'link_file' && filter('nome_allegato') == 'Immagine') { +} elseif (filter('op') == 'aggiungi-allegato' && filter('nome_allegato') == 'Immagine') { $dbo->update('mg_articoli', [ 'immagine' => $upload, ], [ diff --git a/modules/checklists/js/checklist.js b/modules/checklists/js/checklist.js index 3c52673f9..55a51a68d 100755 --- a/modules/checklists/js/checklist.js +++ b/modules/checklists/js/checklist.js @@ -23,13 +23,13 @@ class Checklist { } cloneChecklist(data){ - data.op = "clone_checklist"; + data.op = "copia-checklist"; this.request(data); } addCheck(data){ - data.op = "add_check"; + data.op = "aggiungi-check"; this.request(data); } @@ -58,7 +58,7 @@ class Checklist { deleteCheck(id) { this.request({ - op: "delete_check", + op: "rimuovi-check", check_id: id, }); @@ -67,7 +67,7 @@ class Checklist { toggleCheck(id) { this.request({ - op: "toggle_check", + op: "toggle-check", check_id: id, }); diff --git a/modules/impianti/actions.php b/modules/impianti/actions.php index 95e90abcc..ef51f2409 100644 --- a/modules/impianti/actions.php +++ b/modules/impianti/actions.php @@ -155,13 +155,13 @@ switch ($op) { } // Operazioni aggiuntive per l'immagine -if (filter('op') == 'unlink_file' && filter('filename') == $record['immagine']) { +if (filter('op') == 'rimuovi-allegato' && filter('filename') == $record['immagine']) { $dbo->update('my_impianti', [ 'immagine' => null, ], [ 'id' => $id_record, ]); -} elseif (filter('op') == 'link_file' && filter('nome_allegato') == 'Immagine') { +} elseif (filter('op') == 'aggiungi-allegato' && filter('nome_allegato') == 'Immagine') { $dbo->update('my_impianti', [ 'immagine' => $upload, ], [ diff --git a/plugins/checks.php b/plugins/checks.php index 7b73c35cf..2fe1bee40 100755 --- a/plugins/checks.php +++ b/plugins/checks.php @@ -99,7 +99,7 @@ $(document).ready(function() { id_module: "'.$id_module.'", id_plugin: "'.$id_plugin.'", id_record: "'.$id_record.'", - op: "sort_checks", + op: "ordina-checks", order: order.join(","), }); } diff --git a/plugins/notes.php b/plugins/notes.php index d87e33872..4aedb7127 100755 --- a/plugins/notes.php +++ b/plugins/notes.php @@ -61,14 +61,14 @@ if (count($notes) > 0) { '.dateFormat($nota->notification_date).' - '; } if ($user->is_admin || $utente->id == $user->id) { echo ' - '; } @@ -91,7 +91,7 @@ if (count($notes) > 0) { if ($structure->permission == 'rw') { echo '
- +
diff --git a/src/HTMLBuilder/Manager/FileManager.php b/src/HTMLBuilder/Manager/FileManager.php index 1037bbc7b..857e003aa 100755 --- a/src/HTMLBuilder/Manager/FileManager.php +++ b/src/HTMLBuilder/Manager/FileManager.php @@ -139,7 +139,7 @@ class FileManager implements ManagerInterface '.\Translator::timestampToLocale($r['created_at']).' - + '; @@ -158,7 +158,11 @@ class FileManager implements ManagerInterface if (!$options['readonly']) { $result .= ' - + + + '; } @@ -189,6 +193,7 @@ class FileManager implements ManagerInterface
{[ "type": "text", "placeholder": "'.tr('Nome').'", "name": "nome_allegato", "class": "unblockable" ]}
+
{[ "type": "text", "placeholder": "'.tr('Categoria').'", "name": "categoria_allegato", "id": "categoria_allegato", "class": "unblockable" ]}
@@ -245,7 +250,7 @@ $(document).ready(function() { addRemoveLinks: false, autoProcessQueue: true, autoQueue: true, - url: "'.base_path().'/actions.php?op=link_file&id_module='.$options['id_module'].'&id_record='.$options['id_record'].'&id_plugin='.$options['id_plugin'].'", + url: "'.base_path().'/actions.php?op=aggiungi-allegato&id_module='.$options['id_module'].'&id_record='.$options['id_record'].'&id_plugin='.$options['id_plugin'].'", init: function (file, xhr, formData) { this.on("sending", function(file, xhr, formData) { formData.append("categoria", $("#categoria_allegato").val()); @@ -292,7 +297,7 @@ $(document).ready(function() { id_module: "'.$options['id_module'].'", id_plugin: "'.$options['id_plugin'].'", id_record: "'.$options['id_record'].'", - op: "upload_category", + op: "modifica-categoria-allegato", category: nome.text(), name: input.val(), }, @@ -326,7 +331,7 @@ $(document).ready(function() { } }); - // Autocompletamento categoria + // Auto-completamento categoria $("#'.$attachment_id.' #categoria_allegato").autocomplete({ source: '.json_encode($source).', minLength: 0 @@ -335,7 +340,7 @@ $(document).ready(function() { }); var data = { - op: "link_file", + op: "aggiungi-allegato", id_module: "'.$options['id_module'].'", id_plugin: "'.$options['id_plugin'].'", id_record: "'.$options['id_record'].'",