CREATE TABLE IF NOT EXISTS `def_menu` (
`MenuId` CHAR(255) NOT NULL,
`Package` CHAR(100) NOT NULL DEFAULT 'ADHOC',
`Module` VARCHAR(255)
DEFAULT 'ObjReportSysGuiMenu',
`Title` CHAR(255) DEFAULT '',
`MenuGroup` CHAR(255) DEFAULT 'SYSTEM',
`Block` CHAR(255) DEFAULT 'SYSTEM',
`Parent` CHAR(255) DEFAULT '',
`Type` CHAR(255) DEFAULT 'MAIN',
`Target` MEDIUMTEXT DEFAULT NULL,
`Parameters` MEDIUMTEXT DEFAULT NULL,
`Glyph` CHAR(255) DEFAULT '',
`Class` VARCHAR(255) DEFAULT NULL,
`Rank` INT DEFAULT 1,
`BlockRank` INT DEFAULT 1,
`SubBlock` CHAR(255) DEFAULT '',
`Level` INT DEFAULT 1,
`MaxLevel` INT DEFAULT 1,
`Company` CHAR(255) DEFAULT 'TECHNOCORE',
`Companies` TEXT DEFAULT NULL,
`Groups` VARCHAR(8000)
NOT NULL DEFAULT 'SYSADMIN',
`Id` CHAR(255) DEFAULT '',
`Border` CHAR(255) DEFAULT '',
`PreSql` MEDIUMTEXT DEFAULT NULL,
`PostSql` MEDIUMTEXT DEFAULT NULL,
PRIMARY KEY (`MenuId`, `Package`),
UNIQUE KEY `uq_menu_rank`
(`Package`, `BlockRank`,
`SubBlock`, `Rank`, `Title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COLLATE={collation}
CREATE TABLE IF NOT EXISTS `def_menugroup` (
`MenuGroup` CHAR(36) NOT NULL,
`Package` CHAR(36) NOT NULL,
`Module` VARCHAR(255)
DEFAULT 'ObjReportSysGuiMenu',
`MenuGroupType` CHAR(255) DEFAULT NULL,
`MenuGroupSubType` CHAR(255) DEFAULT '',
`MenuGroupName` CHAR(255) DEFAULT NULL,
`MenuGroupDescription` MEDIUMTEXT
DEFAULT NULL,
`Rank` INT DEFAULT 0,
`Company` CHAR(255) DEFAULT NULL,
`Active` INT NOT NULL DEFAULT 0,
`Glyph` CHAR(255) DEFAULT '',
PRIMARY KEY (`MenuGroup`, `Package`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COLLATE={collation}
SELECT
MenuGroupName,
COALESCE(Glyph, 'fa fa-table')
FROM def_menugroup
WHERE MenuGroup = '{group_name}'
SELECT * FROM (
SELECT
MenuGroup,
0 AS MenuRank,
Title,
Target,
`Type`,
'' AS Context,
Glyph,
'' AS Param1,
'' AS Param2,
'' AS Param3
FROM def_menu
WHERE
Block IN (
'SYSTEM', 'ADHOC',
'{package}', '{archetype}'
)
UNION
SELECT
MenuGroup,
MenuRank,
Title,
'base' AS Target,
'report' AS TargetType,
Reportcode,
COALESCE(Glyph, 'fa fa-table') AS Glyph,
'' AS Param1,
'' AS Param2,
'' AS Param3
FROM def_report
WHERE
Title NOT LIKE ''
AND MenuRank > 0
AND Package IN (
'SYSTEM', 'ADHOC',
'{package}', '{archetype}'
)
) AS A
ORDER BY MenuRank
INSERT IGNORE INTO def_menugroup (
menugroup,
package,
rank,
menugroupname
)
VALUES {values_str}