+ +
-
- -
-renderAssetsLate(); ?> \ No newline at end of file + diff --git a/Admin/Install/Application/Shop/info.json b/Admin/Install/Application/Shop/info.json new file mode 100755 index 0000000..83cd964 --- /dev/null +++ b/Admin/Install/Application/Shop/info.json @@ -0,0 +1,20 @@ +{ + "name": { + "id": 1007700001, + "internal": "{APPNAME}", + "external": "{APPNAME}" + }, + "category": "Web", + "version": "1.0.0", + "requirements": { + "phpOMS": "1.0.0", + "phpOMS-db": "1.0.0" + }, + "creator": { + "name": "Orange Management", + "website": "www.spl1nes.com" + }, + "description": "The shop application.", + "directory": "Shop", + "dependencies": {} +} diff --git a/Admin/Install/Application/Shop/js/shop.js b/Admin/Install/Application/Shop/js/shop.js new file mode 100755 index 0000000..3abfb75 --- /dev/null +++ b/Admin/Install/Application/Shop/js/shop.js @@ -0,0 +1,5 @@ +jsOMS.ready(function () +{ + "use strict"; + +}); diff --git a/Admin/Install/Application/Shop/lang/en.lang.php b/Admin/Install/Application/Shop/lang/en.lang.php new file mode 100755 index 0000000..7b4fc53 --- /dev/null +++ b/Admin/Install/Application/Shop/lang/en.lang.php @@ -0,0 +1,19 @@ + 'Demo Shop.', +]]; diff --git a/Admin/Install/Application/Shop/manifest.json b/Admin/Install/Application/Shop/manifest.json new file mode 100755 index 0000000..90b0321 --- /dev/null +++ b/Admin/Install/Application/Shop/manifest.json @@ -0,0 +1,75 @@ +{ + "lang": "en", + "dir": "ltr", + "start_url": "../../{APPNAME}", + "type": "privileged", + "name": "Orange Management Shop", + "description": "OMS shop application.", + "short_name": "OMS Shop", + "icons": [ + { + "src": "img/maskable_icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-128x128.png", + "sizes": "128x128", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-152x152.png", + "sizes": "152x152", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any maskable" + } + ], + "scope": "/", + "display": "standalone", + "orientation": "any", + "theme_color": "#343a40", + "background_color": "white", + "permissions": { + "audio-capture" : { + "description" : "Audio capture" + }, + "video-capture": { + "description": "Video capture" + }, + "speech-recognition" : { + "description" : "Speech recognition" + } + } +} \ No newline at end of file diff --git a/Admin/Install/Application/Shop/manifest.webmanifest b/Admin/Install/Application/Shop/manifest.webmanifest new file mode 100755 index 0000000..90b0321 --- /dev/null +++ b/Admin/Install/Application/Shop/manifest.webmanifest @@ -0,0 +1,75 @@ +{ + "lang": "en", + "dir": "ltr", + "start_url": "../../{APPNAME}", + "type": "privileged", + "name": "Orange Management Shop", + "description": "OMS shop application.", + "short_name": "OMS Shop", + "icons": [ + { + "src": "img/maskable_icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-128x128.png", + "sizes": "128x128", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-152x152.png", + "sizes": "152x152", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "img/maskable_icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any maskable" + } + ], + "scope": "/", + "display": "standalone", + "orientation": "any", + "theme_color": "#343a40", + "background_color": "white", + "permissions": { + "audio-capture" : { + "description" : "Audio capture" + }, + "video-capture": { + "description": "Video capture" + }, + "speech-recognition" : { + "description" : "Speech recognition" + } + } +} \ No newline at end of file diff --git a/Admin/Install/CMS.install.json b/Admin/Install/CMS.install.json new file mode 100755 index 0000000..82df26b --- /dev/null +++ b/Admin/Install/CMS.install.json @@ -0,0 +1,7 @@ +[ + { + "src": "Modules/Shop/Admin/Install/Application/Shop", + "dest": "Web/Shop", + "name": "Shop" + } +] \ No newline at end of file diff --git a/Admin/Install/CMS.php b/Admin/Install/CMS.php new file mode 100755 index 0000000..ca5df1b --- /dev/null +++ b/Admin/Install/CMS.php @@ -0,0 +1,45 @@ + __DIR__ . '/CMS.install.json']); + } +} diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json index 3d7e42f..9a61df4 100755 --- a/Admin/Install/Navigation.install.json +++ b/Admin/Install/Navigation.install.json @@ -18,7 +18,7 @@ "pid": "/", "type": 2, "subtype": 1, - "name": "Ticket", + "name": "Tickets", "uri": "{/prefix}support/list", "target": "self", "icon": null, diff --git a/Admin/Install/db.json b/Admin/Install/db.json index 5ab6d94..6f0fa8f 100755 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -1,4 +1,21 @@ { + "support_app": { + "name": "support_app", + "fields": { + "support_app_id": { + "name": "support_app_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_app_name": { + "name": "support_app_name", + "type": "VARCHAR(255)", + "default": null + } + } + }, "support_ticket": { "name": "support_ticket", "fields": { @@ -15,6 +32,244 @@ "null": false, "foreignTable": "task", "foreignKey": "task_id" + }, + "support_ticket_for": { + "name": "support_ticket_for", + "type": "INT", + "null": true, + "default": null, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "support_ticket_app": { + "name": "support_ticket_app", + "type": "INT", + "null": false, + "foreignTable": "support_app", + "foreignKey": "support_app_id" + } + } + }, + "support_ticket_element": { + "name": "support_ticket_element", + "fields": { + "support_ticket_element_id": { + "name": "support_ticket_element_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_ticket_element_time": { + "name": "support_ticket_element_time", + "type": "INT", + "null": false + }, + "support_ticket_element_task_element": { + "name": "support_ticket_element_task_element", + "type": "INT", + "null": false, + "foreignTable": "task_element", + "foreignKey": "task_element_id" + }, + "support_ticket_element_ticket": { + "name": "support_ticket_element_ticket", + "type": "INT", + "null": false, + "foreignTable": "support_ticket", + "foreignKey": "support_ticket_id" + } + } + }, + "support_attr_type": { + "name": "support_attr_type", + "fields": { + "support_attr_type_id": { + "name": "support_attr_type_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_attr_type_name": { + "name": "support_attr_type_name", + "type": "VARCHAR(255)", + "null": false + }, + "support_attr_type_fields": { + "name": "support_attr_type_fields", + "type": "INT(11)", + "null": false + }, + "support_attr_type_custom": { + "name": "support_attr_type_custom", + "type": "TINYINT(1)", + "null": false + }, + "support_attr_type_required": { + "description": "Every ticket must have this attribute type if set to true.", + "name": "support_attr_type_required", + "type": "TINYINT(1)", + "null": false + }, + "support_attr_type_pattern": { + "description": "This is a regex validation pattern.", + "name": "support_attr_type_pattern", + "type": "VARCHAR(255)", + "null": false + } + } + }, + "support_attr_type_l11n": { + "name": "support_attr_type_l11n", + "fields": { + "support_attr_type_l11n_id": { + "name": "support_attr_type_l11n_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_attr_type_l11n_title": { + "name": "support_attr_type_l11n_title", + "type": "VARCHAR(255)", + "null": false + }, + "support_attr_type_l11n_type": { + "name": "support_attr_type_l11n_type", + "type": "INT(11)", + "null": false, + "foreignTable": "support_attr_type", + "foreignKey": "support_attr_type_id" + }, + "support_attr_type_l11n_lang": { + "name": "support_attr_type_l11n_lang", + "type": "VARCHAR(2)", + "null": false, + "foreignTable": "language", + "foreignKey": "language_639_1" + } + } + }, + "support_attr_value": { + "name": "support_attr_value", + "fields": { + "support_attr_value_id": { + "name": "support_attr_value_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_attr_value_default": { + "name": "support_attr_value_default", + "type": "TINYINT(1)", + "null": false + }, + "support_attr_value_type": { + "name": "support_attr_value_type", + "type": "INT(11)", + "null": false + }, + "support_attr_value_valueStr": { + "name": "support_attr_value_valueStr", + "type": "VARCHAR(255)", + "null": true, + "default": null + }, + "support_attr_value_valueInt": { + "name": "support_attr_value_valueInt", + "type": "INT(11)", + "null": true, + "default": null + }, + "support_attr_value_valueDec": { + "name": "support_attr_value_valueDec", + "type": "DECIMAL(19,5)", + "null": true, + "default": null + }, + "support_attr_value_valueDat": { + "name": "support_attr_value_valueDat", + "type": "DATETIME", + "null": true, + "default": null + }, + "support_attr_value_lang": { + "name": "support_attr_value_lang", + "type": "VARCHAR(2)", + "null": true, + "default": null, + "foreignTable": "language", + "foreignKey": "language_639_1" + }, + "support_attr_value_country": { + "name": "support_attr_value_country", + "type": "VARCHAR(2)", + "null": true, + "default": null, + "foreignTable": "country", + "foreignKey": "country_code2" + } + } + }, + "support_ticket_attr_default": { + "name": "support_ticket_attr_default", + "fields": { + "support_ticket_attr_default_id": { + "name": "support_ticket_attr_default_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_ticket_attr_default_type": { + "name": "support_ticket_attr_default_type", + "type": "INT(11)", + "null": false, + "foreignTable": "support_attr_type", + "foreignKey": "support_attr_type_id" + }, + "support_ticket_attr_default_value": { + "name": "support_ticket_attr_default_value", + "type": "INT(11)", + "null": false, + "foreignTable": "support_attr_value", + "foreignKey": "support_attr_value_id" + } + } + }, + "support_ticket_attr": { + "name": "support_ticket_attr", + "fields": { + "support_ticket_attr_id": { + "name": "support_ticket_attr_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "support_ticket_attr_ticket": { + "name": "support_ticket_attr_ticket", + "type": "INT(11)", + "null": false, + "foreignTable": "support_ticket", + "foreignKey": "support_ticket_id" + }, + "support_ticket_attr_type": { + "name": "support_ticket_attr_type", + "type": "INT(11)", + "null": false, + "foreignTable": "support_attr_type", + "foreignKey": "support_attr_type_id" + }, + "support_ticket_attr_value": { + "name": "support_ticket_attr_value", + "type": "INT(11)", + "null": true, + "default": null, + "foreignTable": "support_attr_value", + "foreignKey": "support_attr_value_id" } } } diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index f382848..f97599b 100755 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -17,7 +17,7 @@ return [ ], ], ], - '^.*/support/single.*$' => [ + '^.*/support/ticket.*$' => [ [ 'dest' => '\Modules\Support\Controller\BackendController:viewSupportTicket', 'verb' => RouteVerb::GET, diff --git a/Application/Ticket/Timerecording/Error/403_inline.tpl.php b/Application/Ticket/Timerecording/Error/403_inline.tpl.php deleted file mode 100755 index e76b530..0000000 --- a/Application/Ticket/Timerecording/Error/403_inline.tpl.php +++ /dev/null @@ -1 +0,0 @@ -Inline \ No newline at end of file diff --git a/Application/Ticket/Timerecording/Routes.php b/Application/Ticket/Timerecording/Routes.php deleted file mode 100755 index 9012cb5..0000000 --- a/Application/Ticket/Timerecording/Routes.php +++ /dev/null @@ -1,25 +0,0 @@ - [ - 0 => [ - 'dest' => '\Modules\HumanResourceTimeRecording\Controller\TimerecordingController:viewDashboard', - 'verb' => 1, - 'permission' => [ - 'module' => 'HumanResourceTimeRecording', - 'type' => 2, - 'state' => 1, - ], - ], - ], - '^.*/timerecording/dashboard.*$' => [ - 0 => [ - 'dest' => '\Modules\HumanResourceTimeRecording\Controller\TimerecordingController:viewDashboard', - 'verb' => 1, - 'permission' => [ - 'module' => 'HumanResourceTimeRecording', - 'type' => 2, - 'state' => 1, - ], - ], - ], -]; diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.css b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.css deleted file mode 100755 index 7562f51..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.css +++ /dev/null @@ -1,190 +0,0 @@ -:root { - --main-background: rgb(46, 26, 90); - --main-background-highlight: rgb(158, 81, 197); - --input-border: rgba(166, 135, 232, .4); - --input-border-active: rgba(166, 135, 232, .7); - --input-color: rgb(116, 67, 161); - --input-color-active: rgb(94, 52, 133); - --input-background: rgba(255, 255, 255); - --input-background-active: rgba(255, 255, 255); - --input-icon-color: rgba(166, 135, 232, .6); - --input-icon-color-active: rgba(166, 135, 232, 1); - --button-main-background: rgba(166, 135, 232, .6); - --button-main-background-active: rgba(166, 135, 232, .8); - --button-main-color: rgba(255, 255, 255, .9); - --text-on-background-color: rgba(255, 255, 255, 0.7); - --text-on-background-color-2: rgba(255, 255, 255, 0.85); - --nav-category-background: rgb(43, 58, 101); - --nav-category-background-highlight: rgb(113, 43, 145); - --nav-category-background-hover: rgb(120, 50, 153); - --nav-sub-background: rgb(72, 39, 102); - --nav-sub-background-highlight: rgb(94, 52, 133); - --nav-sub-background-hover: rgb(116, 67, 161); - --nav-header-background: rgb(72, 39, 102); - --nav-header-background-highlight: rgb(94, 52, 133); - --nav-header-background-hover: rgb(116, 67, 161); - --nav-content-hover: rgb(177, 97, 218); - --font-family: 'Roboto', sans-serif; - --button-colored-background: rgb(158, 81, 197); - --button-colored-background-hover: rgb(177, 97, 218); - --table-caption-background: rgb(255, 255, 255); - --table-head-background: rgb(236, 232, 255); - --table-row-background: rgb(255, 255, 255); - --table-row-background-alt: rgb(255, 255, 255); - --table-row-background-hover: rgb(220, 211, 255); - --link-color: rgb(72, 39, 102); - --link-hover: rgb(158, 81, 197); - --badge-size: .55rem; - --badge-color: rgb(255, 255, 255); - --badge-background: rgb(158, 81, 197); - --box-border: rgb(218, 218, 218); } - - html, body { - width: 100%; - height: 100%; - min-width: 100%; - max-width: 100%; - overflow: hidden; - font-family: var(--font-family); - color: #000; } - - body { - display: flex; flex-direction: column;} - -header { - background: #f8f8f8; - border-bottom: 1px solid var(--box-border); - padding: 1rem; - box-sizing: border-box; - display: flex; - align-items: center; - flex-flow: row; - flex: 0; } - header > form { - display: flex; - flex: 1; - padding: 0 5px 0 5px; - max-width: 800px; } - header .inputWrapper { - flex: 1; } - header input[type=text] { - width: 100%; - background: white; - border: 1px solid var(--input-border); - text-shadow: none; - box-shadow: none; - transition: border 500ms ease-out; - outline: none; - box-sizing: border-box; - padding-left: 2rem; } - - #logo { - flex: 1; - text-align: right; } - #logo select { - background: none; - color: rgba(255, 255, 255, 0.8); - font-size: .8rem; } - - .ham-trigger { - display: flex; - color: #000; - align-items: center; - flex: 0; - margin-right: 5px; } - .ham-trigger i { - font-size: 1.5rem; } - - nav .ham-trigger { - color: var(--text-on-background-color-2); - margin: 0 0 0 5px; - display: none; } - - #t-nav-container { - margin-left: auto; } - - #content { - flex: 1; - padding-left: 1rem; - overflow-y: auto; } - - #t-nav { - font-size: .8rem; - color: #000; - font-weight: bold; } - #t-nav a { - padding: 0 5px 0 5px; - line-height: 25px; } - #t-nav i { - margin-right: 5px; } - #t-nav li { - display: inline; } - #t-nav li:hover { - color: var(--link-hover); } - - main { - display: flex; - flex-direction: column; - height: 100%; - background: #f1f1f1; - flex: 1; - box-sizing: border-box; } - - #dim { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.5; - z-index: 5; } - - #u-box { - display: flex; - align-items: center; - padding: 0 1rem 0 1rem; - height: 60px; - border-bottom: 1px solid var(--input-border); - box-sizing: border-box; } - #u-box img { - width: 40px; - height: 40px; - border-radius: 50%; } - #u-box a { - display: inline-block; } - - #app-message-container { - position: absolute; - margin: 0 auto; - right: 0; - top: 0; - padding: 85px 10px 0 0; - } - - .log-msg { - z-index: 11; - position: relative; - margin: 0 auto; - right: 0; - top: 0; - margin-bottom: 10px; - } - - @media only screen and (max-width: 500px) { - nav .ham-trigger { - display: flex; } } - @media only screen and (max-width: 600px) { -header { - flex-flow: column; - height: auto; - padding: 1rem; } - header form { - width: 100%; } - - #t-nav-container { - order: -1; - margin-bottom: .5rem; } } - @media only screen and (max-width: 1000px) { - #t-nav .link { - display: none; } } diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.scss b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.scss deleted file mode 100755 index 7252f9d..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording-small.scss +++ /dev/null @@ -1,153 +0,0 @@ -@import "backend_vars"; - -html, body { - width: 100%; - height: 100%; - min-width: 100%; - max-width: 100%; - overflow: hidden; - font-family: var(--font-family); - color: #000; -} - -body { - display: flex; - flex-direction: column; -} - -header { - background: rgb(248, 248, 248); - border-bottom: 1px solid var(--box-border); - padding: 1rem; - box-sizing: border-box; - display: flex; - align-items: center; - flex-flow: row; - flex: 0; - - > form { - display: flex; - flex: 1; - padding: 0 5px 0 5px; - max-width: 800px; - } - - .inputWrapper { - flex: 1; - } - - input[type=text] { - width: 100%; - background: rgba(255, 255, 255, 1); - border: 1px solid var(--input-border); - text-shadow: none; - box-shadow: none; - transition : border 500ms ease-out; - outline: none; - box-sizing: border-box; - padding-left: 2rem; - } -} - -#logo { - flex: 1; - text-align: right; - - select { - background: none; - color: rgba(255, 255, 255, 0.8); - font-size: .8rem; - } -} - -#t-nav-container { - margin-left: auto; -} - -#content { - flex: 1; - padding-left: 1rem; - overflow-y: auto; -} - -#t-nav { - font-size: .8rem; - color: #000; - font-weight: bold; - - a { - padding: 0 5px 0 5px; - line-height: 25px; - } - - i { - margin-right: 5px; - } - - li { - display: inline; - - &:hover { - color: var(--link-hover); - } - } -} - -main { - display: flex; - flex-direction: column; - height: 100%; - background: #f1f1f1; - - flex: 1; - box-sizing: border-box; -} - -#dim { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.5; - z-index: 5; -} - -#u-box { - display: flex; - align-items: center; - padding: 0 1rem 0 1rem; - height: 60px; - border-bottom: 1px solid var(--input-border); - box-sizing: border-box; - - img { - width: 40px; - height: 40px; - border-radius: 50%; - } - - a { - display: inline-block; - } -} - -#app-message-container { - position: absolute; - margin: 0 auto; - right: 0; - top: 0; - padding: 85px 10px 0 0; - - .log-msg { - z-index: 11; - position: relative; - margin: 0 auto; - right: 0; - top: 0; - margin-bottom: 10px; - } -} - -@import "timerecording_media"; \ No newline at end of file diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.css b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.css deleted file mode 100755 index cc491bf..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.css +++ /dev/null @@ -1,39 +0,0 @@ -@media only screen and (min-width: 1101px) { - .b-1 { - width: 31.5%; - width: calc(33.3% - 10px); } - - .b-2 { - width: 48.5%; - width: calc(50% - 10px); } - - .b-3 { - width: 63%; - width: calc(66.6% - 10px); } } -@media only screen and (min-width: 801px) and (max-width: 1100px) { - .b-1 { - width: 48.5%; - width: calc(50% - 10px); } } -@media only screen and (max-width: 1100px) { - .b-2, .b-3 { - width: 100%; - width: calc(100% - 10px); } } -@media only screen and (min-width: 801px) { - .b-4 { - width: 48.5%; - width: calc(50% - 10px); } } -@media only screen and (max-width: 800px) { - .b-1, .b-3 { - width: 100%; - width: calc(100% - 10px); } - - #logo { - display: none; } - - #s-nav { - width: 100%; } - - #s-bar input[type=text] { - margin-left: 35px; - width: 80%; - width: calc(100% - 90px); } } diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.scss b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.scss deleted file mode 100755 index 089e346..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_media.scss +++ /dev/null @@ -1,22 +0,0 @@ -@media only screen and (max-width: 600px) { - header { - flex-flow: column; - height: auto; - padding: 1rem; - - form { - width: 100%; - } - } - - nav { - order: -1; - margin-bottom: .5rem; - } -} - -@media only screen and (max-width: 1000px) { - nav .link { - display: none; - } -} \ No newline at end of file diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.css b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.css deleted file mode 100755 index 1f5ee22..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.css +++ /dev/null @@ -1,24 +0,0 @@ -:root { - --main-background: rgb(46, 26, 90); - --main-background-highlight: rgb(158, 81, 197); - --input-border: rgba(166, 135, 232, .4); - --input-border-active: rgba(166, 135, 232, .7); - --input-color: rgba(166, 135, 232, .6); - --input-color-active: rgba(166, 135, 232, .8); - --input-icon-color: rgba(166, 135, 232, .6); - --input-icon-color-active: rgba(166, 135, 232, 1); - --button-main-background: rgba(166, 135, 232, .6); - --button-main-background-active: rgba(166, 135, 232, .8); - --button-main-color: rgba(255, 255, 255, .9); - --text-on-background-color: rgba(255, 255, 255, 0.7); - --nav-category-background: rgb(43, 58, 101); - --nav-category-background-highlight: rgb(113, 43, 145); - --nav-category-background-hover: rgb(120, 50, 153); - --nav-sub-background: rgb(72, 39, 102); - --nav-sub-background-highlight: rgb(94, 52, 133); - --nav-sub-background-hover: rgb(116, 67, 161); - --nav-header-background: rgb(72, 39, 102); - --nav-header-background-highlight: rgb(94, 52, 133); - --nav-header-background-hover: rgb(116, 67, 161); - --font-family: 'Roboto', sans-serif; - --box-border-color: rgb(202, 202, 202); } diff --git a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.scss b/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.scss deleted file mode 100755 index d13715e..0000000 --- a/Application/Ticket/Timerecording/Themes/Akebi/css/timerecording_vars.scss +++ /dev/null @@ -1,55 +0,0 @@ -:root { - --main-background: rgb(46, 26, 90); - --main-background-highlight: rgb(158, 81, 197); - - --input-border: rgba(166, 135, 232, .4); - --input-border-active: rgba(166, 135, 232, .7); - --input-color: rgb(116, 67, 161); - --input-color-active: rgb(94, 52, 133); - --input-background: rgba(255, 255, 255); - --input-background-active: rgba(255, 255, 255); - - --input-icon-color: rgba(166, 135, 232, .6); - --input-icon-color-active: rgba(166, 135, 232, 1); - - --button-main-background: rgba(166, 135, 232, .6); - --button-main-background-active: rgba(166, 135, 232, .8); - --button-main-color: rgba(255, 255, 255, .9); - - --text-on-background-color: rgba(255, 255, 255, 0.7); - --text-on-background-color-2: rgba(255, 255, 255, 0.85); - - --nav-category-background: rgb(43, 58, 101); - --nav-category-background-highlight: rgb(113, 43, 145); - --nav-category-background-hover: rgb(120, 50, 153); - - --nav-sub-background: rgb(72, 39, 102); - --nav-sub-background-highlight: rgb(94, 52, 133); - --nav-sub-background-hover: rgb(116, 67, 161); - - --nav-header-background: rgb(72, 39, 102); - --nav-header-background-highlight: rgb(94, 52, 133); - --nav-header-background-hover: rgb(116, 67, 161); - - --nav-content-hover: rgb(177, 97, 218); - - --font-family: 'Roboto', sans-serif; - - --button-colored-background: rgb(158, 81, 197); - --button-colored-background-hover: rgb(177, 97, 218); - - --table-caption-background: rgb(255, 255, 255); - --table-head-background: rgb(236, 232, 255); - --table-row-background: rgb(255, 255, 255); - --table-row-background-alt: rgb(255, 255, 255); - --table-row-background-hover: rgb(220, 211, 255); - - --link-color: rgb(72, 39, 102); - --link-hover: rgb(158, 81, 197); - - --badge-size: .55rem; - --badge-color: rgb(255, 255, 255); - --badge-background: rgb(158, 81, 197); - - --box-border: rgb(218, 218, 218); -} diff --git a/Application/Ticket/Timerecording/TimerecordingView.php b/Application/Ticket/Timerecording/TimerecordingView.php deleted file mode 100755 index 8805237..0000000 --- a/Application/Ticket/Timerecording/TimerecordingView.php +++ /dev/null @@ -1,116 +0,0 @@ -nav = $nav; - } - - /** - * Set user profile. - * - * @param Profile $profile user account - * - * @return void - * - * @since 1.0.0 - * @codeCoverageIgnore - */ - public function setProfile(Profile $profile) : void - { - $this->profile = $profile; - } - - /** - * Get profile image - * - * @return string Profile image link - * - * @since 1.0.0 - */ - public function getProfileImage() : string - { - if ($this->profile === null || $this->profile->image->getPath() === '') { - return UriFactory::build('Web/Timerecording/img/user_default_' . \mt_rand(1, 6) . '.png'); - } - - return UriFactory::build($this->profile->image->getPath()); - } - - /** - * Set organizations - * - * @param Unit[] $organizations Organizations - * - * @return void - * - * @since 1.0.0 - * @codeCoverageIgnore - */ - public function setOrganizations(array $organizations) : void - { - $this->organizations = $organizations; - } -} diff --git a/Application/Ticket/Timerecording/img/favicon.ico b/Application/Ticket/Timerecording/img/favicon.ico deleted file mode 100755 index ec514e23c807c37df83d0d8bf9333ec793b8910f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370070 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 sHRDjqY=6utbbjC(&u9iR>ASWI2`M9Sdrq7P+ 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