Aggiunta tabella zz_group_module_lang
This commit is contained in:
parent
032a60f653
commit
7fb94fde8f
|
@ -20,6 +20,7 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Models\Module;
|
||||
use Models\Clause;
|
||||
|
||||
switch (filter('op')) {
|
||||
case 'update':
|
||||
|
@ -102,7 +103,6 @@ switch (filter('op')) {
|
|||
|
||||
if (check_query($query)) {
|
||||
$array = [
|
||||
'name' => post('name')[$c],
|
||||
'idgruppo' => post('gruppo')[$c],
|
||||
'idmodule' => $id_record,
|
||||
'clause' => $query,
|
||||
|
@ -111,12 +111,23 @@ switch (filter('op')) {
|
|||
|
||||
if (!empty(post('id')[$c]) && !empty($query)) {
|
||||
$id = post('id')[$c];
|
||||
|
||||
$dbo->update('zz_group_module', $array, ['id' => $id]);
|
||||
$clause = Clause::find($id);
|
||||
$clause->idgruppo = post('gruppo')[$c];
|
||||
$clause->idmodulo = $id_record;
|
||||
$clause->clause = $query;
|
||||
$clause->position = !empty(post('position')[$c]) ? 'HVN' : 'WHR';
|
||||
$clause->name = post('name')[$c];
|
||||
$clause->save();
|
||||
|
||||
} elseif (!empty($query)) {
|
||||
$dbo->insert('zz_group_module', $array);
|
||||
|
||||
$id = $dbo->lastInsertedID();
|
||||
$clause = Clause::build();
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
$clause->idgruppo = post('gruppo')[$c];
|
||||
$clause->idmodulo = $id_record;
|
||||
$clause->clause = $query;
|
||||
$clause->position = !empty(post('position')[$c]) ? 'HVN' : 'WHR';
|
||||
$clause->name = post('name')[$c];
|
||||
$clause->save();
|
||||
}
|
||||
} else {
|
||||
$rs = false;
|
||||
|
@ -134,11 +145,9 @@ switch (filter('op')) {
|
|||
case 'change':
|
||||
$id = filter('id');
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT enabled FROM zz_group_module WHERE id='.prepare($id));
|
||||
|
||||
$dbo->update('zz_group_module', [
|
||||
'enabled' => !empty($rs[0]['enabled']) ? 0 : 1,
|
||||
], ['id' => $id]);
|
||||
$clause = Clause::find($id);
|
||||
$clause->enabled = !empty($clause->enabled) ? 0 : 1;
|
||||
$clause->save();
|
||||
|
||||
flash()->info(tr('Salvataggio completato!'));
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
*/
|
||||
|
||||
use Models\Module;
|
||||
use Models\Clause;
|
||||
use Models\View;
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
|
@ -101,8 +103,8 @@ if (!empty($options) && $options != 'custom' && $options != 'menu') {
|
|||
echo '
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs nav-justified">
|
||||
<li class="active"><a data-toggle="tab" href="#fields">'.tr('Campi').' <span class="badge">'.$dbo->fetchNum('SELECT * FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `id_module`='.prepare($record['id']).' ORDER BY `order` ASC').'</a></li>
|
||||
<li><a data-toggle="tab" href="#filters">'.tr('Filtri').' <span class="badge">'.$dbo->fetchNum('SELECT * FROM `zz_group_module` WHERE `idmodule`='.prepare($record['id']).' ORDER BY `id` ASC').'</span></a></li>
|
||||
<li class="active"><a data-toggle="tab" href="#fields">'.tr('Campi').' <span class="badge">'.View::where('id_module', $record['id'])->count().'</a></li>
|
||||
<li><a data-toggle="tab" href="#filters">'.tr('Filtri').' <span class="badge">'.Clause::where('idmodule', $record['id'])->count().' </span></a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Models\Clause;
|
||||
|
||||
echo '
|
||||
<form action="" method="post" role="form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
@ -25,7 +27,7 @@ echo '
|
|||
<div class="data">';
|
||||
|
||||
$num = 0;
|
||||
$additionals = $dbo->fetchArray('SELECT * FROM zz_group_module WHERE idmodule='.prepare($record['id']).' ORDER BY `id` ASC');
|
||||
$additionals = Clause::where('idmodule', $record['id'])->get();
|
||||
|
||||
if (!empty($additionals)) {
|
||||
foreach ($additionals as $num => $additional) {
|
||||
|
|
|
@ -29,6 +29,14 @@ class Clause extends Model
|
|||
|
||||
protected $table = 'zz_group_module';
|
||||
|
||||
public static function build()
|
||||
{
|
||||
$model = new static();
|
||||
$model->save();
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
/* Relazioni Eloquent */
|
||||
|
||||
public function groups()
|
||||
|
@ -45,4 +53,41 @@ class Clause extends Model
|
|||
{
|
||||
return Query::replacePlaceholder($value);
|
||||
}
|
||||
/**
|
||||
* Ritorna l'attributo name della clausola.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNameAttribute()
|
||||
{
|
||||
return database()->table($this->table.'_lang')
|
||||
->select('name')
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', setting('Lingua'))
|
||||
->first()->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta l'attributo name della clausola.
|
||||
*/
|
||||
public function setNameAttribute($value)
|
||||
{
|
||||
$table = database()->table($this->table.'_lang');
|
||||
|
||||
$translated = $table
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', setting('Lingua'));
|
||||
|
||||
if ($translated->count() > 0) {
|
||||
$translated->update([
|
||||
'name' => $value
|
||||
]);
|
||||
} else {
|
||||
$table->insert([
|
||||
'id_record' => $this->id,
|
||||
'id_lang' => setting('Lingua'),
|
||||
'name' => $value
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@ class Modules
|
|||
$additionals['WHR'] = [];
|
||||
$additionals['HVN'] = [];
|
||||
|
||||
$results = $database->fetchArray('SELECT * FROM `zz_group_module` WHERE `idgruppo` = (SELECT `idgruppo` FROM `zz_users` WHERE `id` = '.prepare($user['id']).') AND `enabled` = 1 AND `idmodule` = '.prepare($module['id']));
|
||||
$results = $database->fetchArray('SELECT * FROM `zz_group_module` LEFT JOIN `zz_group_module_lang` ON (`zz_group_module`.`id` = `zz_group_module_lang`.`id_record` AND `zz_group_module_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `idgruppo` = (SELECT `idgruppo` FROM `zz_users` WHERE `id` = '.prepare($user['id']).') AND `enabled` = 1 AND `idmodule` = '.prepare($module['id']));
|
||||
foreach ($results as $result) {
|
||||
if (!empty($result['clause'])) {
|
||||
$result['clause'] = Query::replacePlaceholder($result['clause']);
|
||||
|
|
|
@ -2265,4 +2265,25 @@ ALTER TABLE `zz_groups_lang`
|
|||
|
||||
INSERT INTO `zz_groups_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `nome` FROM `zz_groups`;
|
||||
|
||||
ALTER TABLE `zz_groups_lang` ADD CONSTRAINT `zz_groups_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_groups`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
|
||||
ALTER TABLE `zz_groups_lang` ADD CONSTRAINT `zz_groups_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_groups`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
|
||||
|
||||
-- Aggiunta tabella zz_group_module_lang
|
||||
CREATE TABLE IF NOT EXISTS `zz_group_module_lang` (
|
||||
`id` int NOT NULL,
|
||||
`id_lang` int NOT NULL,
|
||||
`id_record` int NOT NULL,
|
||||
`name` VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE `zz_group_module_lang`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `zz_group_module_lang`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
INSERT INTO `zz_group_module_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `name` FROM `zz_group_module`;
|
||||
|
||||
ALTER TABLE `zz_group_module`
|
||||
DROP `name`;
|
||||
|
||||
ALTER TABLE `zz_group_module_lang` ADD CONSTRAINT `zz_group_module_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_group_module`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
|
|
@ -168,6 +168,7 @@ return [
|
|||
'zz_groups',
|
||||
'zz_groups_lang',
|
||||
'zz_group_module',
|
||||
'zz_group_module_lang',
|
||||
'zz_group_segment',
|
||||
'zz_group_view',
|
||||
'zz_hooks',
|
||||
|
|
Loading…
Reference in New Issue