Custom tasks extension, basic implementation
This commit is contained in:
13
extensions/tasks/meta.json
Normal file
13
extensions/tasks/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"label": "My Tasks",
|
||||
"menu": ["Tasks", "fa-list"],
|
||||
"icon": "fa-tasks",
|
||||
"user_levels": [
|
||||
"Admin",
|
||||
"Manager",
|
||||
"User"
|
||||
],
|
||||
"model_namespace": "\\Tasks\\Model",
|
||||
"manager": "\\Tasks\\Extension",
|
||||
"headless": false
|
||||
}
|
||||
28
extensions/tasks/src/Tasks/Extension.php
Normal file
28
extensions/tasks/src/Tasks/Extension.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
namespace Tasks;
|
||||
|
||||
use Classes\IceExtension;
|
||||
|
||||
class Extension extends IceExtension
|
||||
{
|
||||
|
||||
public function install() {
|
||||
$migration = new Migration();
|
||||
return $migration->up();
|
||||
}
|
||||
|
||||
public function uninstall() {
|
||||
$migration = new Migration();
|
||||
return $migration->down();
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function setupRestEndPoints()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
33
extensions/tasks/src/Tasks/Migration.php
Normal file
33
extensions/tasks/src/Tasks/Migration.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
namespace Tasks;
|
||||
|
||||
use Classes\Migration\AbstractMigration;
|
||||
|
||||
class Migration extends AbstractMigration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$sql = <<<'SQL'
|
||||
create table `Tasks` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NULL,
|
||||
`name` varchar(250) NOT NULL,
|
||||
`description` TEXT NULL,
|
||||
`attachment` varchar(100) NULL,
|
||||
`created` DATETIME default NULL,
|
||||
`updated` DATETIME default NULL,
|
||||
primary key (`id`),
|
||||
CONSTRAINT `Fk_EmployeeTasks_Employees` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) engine=innodb default charset=utf8;
|
||||
SQL;
|
||||
return $this->executeQuery($sql);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$sql = <<<'SQL'
|
||||
DROP TABLE IF EXISTS `Tasks`;
|
||||
SQL;
|
||||
return $this->executeQuery($sql);
|
||||
}
|
||||
}
|
||||
3
extensions/tasks/tasks.php
Normal file
3
extensions/tasks/tasks.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
require_once __DIR__.'/src/Tasks/Extension.php';
|
||||
require_once __DIR__.'/src/Tasks/Migration.php';
|
||||
3
extensions/tasks/web/index.php
Normal file
3
extensions/tasks/web/index.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
$user = \Classes\BaseService::getInstance()->getCurrentUser();
|
||||
echo "Welcome ".$user->username;
|
||||
Reference in New Issue
Block a user