fixed employess job roles navbar
This commit is contained in:
@@ -0,0 +1,95 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use Phinx\Migration\AbstractMigration;
|
||||||
|
|
||||||
|
final class CreateCompanyFunctionsTable extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
if (!$this->hasTable('company_functions')) {
|
||||||
|
$table = $this->table('company_functions', [
|
||||||
|
'id' => false,
|
||||||
|
'primary_key' => ['id'],
|
||||||
|
'signed' => false,
|
||||||
|
'collation' => 'utf8mb4_general_ci',
|
||||||
|
'encoding' => 'utf8mb4',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$table
|
||||||
|
->addColumn('id', 'integer', [
|
||||||
|
'identity' => true,
|
||||||
|
'signed' => false,
|
||||||
|
])
|
||||||
|
->addColumn('function_name', 'string', [
|
||||||
|
'limit' => 150,
|
||||||
|
'null' => false,
|
||||||
|
'comment' => 'Function name, for example RSPP, Medico del lavoro, RLS',
|
||||||
|
])
|
||||||
|
->addColumn('person_full_name', 'string', [
|
||||||
|
'limit' => 200,
|
||||||
|
'null' => false,
|
||||||
|
'comment' => 'Full name and surname of the person assigned to the function',
|
||||||
|
])
|
||||||
|
->addColumn('phone', 'string', [
|
||||||
|
'limit' => 80,
|
||||||
|
'null' => true,
|
||||||
|
])
|
||||||
|
->addColumn('email', 'string', [
|
||||||
|
'limit' => 190,
|
||||||
|
'null' => true,
|
||||||
|
])
|
||||||
|
->addColumn('notes', 'text', [
|
||||||
|
'null' => true,
|
||||||
|
])
|
||||||
|
->addColumn('sort_order', 'integer', [
|
||||||
|
'signed' => false,
|
||||||
|
'null' => false,
|
||||||
|
'default' => 0,
|
||||||
|
])
|
||||||
|
->addColumn('is_active', 'boolean', [
|
||||||
|
'null' => false,
|
||||||
|
'default' => true,
|
||||||
|
])
|
||||||
|
->addColumn('created_at', 'timestamp', [
|
||||||
|
'null' => true,
|
||||||
|
'default' => 'CURRENT_TIMESTAMP',
|
||||||
|
])
|
||||||
|
->addColumn('updated_at', 'timestamp', [
|
||||||
|
'null' => true,
|
||||||
|
'default' => null,
|
||||||
|
'update' => 'CURRENT_TIMESTAMP',
|
||||||
|
])
|
||||||
|
->addIndex(['function_name'], [
|
||||||
|
'name' => 'idx_company_functions_function_name',
|
||||||
|
])
|
||||||
|
->addIndex(['person_full_name'], [
|
||||||
|
'name' => 'idx_company_functions_person_full_name',
|
||||||
|
])
|
||||||
|
->addIndex(['email'], [
|
||||||
|
'name' => 'idx_company_functions_email',
|
||||||
|
])
|
||||||
|
->addIndex(['is_active', 'sort_order'], [
|
||||||
|
'name' => 'idx_company_functions_active_sort',
|
||||||
|
])
|
||||||
|
->create();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->execute("
|
||||||
|
INSERT INTO company_functions
|
||||||
|
(function_name, person_full_name, phone, email, notes, sort_order, is_active, created_at, updated_at)
|
||||||
|
VALUES
|
||||||
|
('RSPP', '', NULL, NULL, NULL, 10, 1, NOW(), NOW()),
|
||||||
|
('Medico del lavoro', '', NULL, NULL, NULL, 20, 1, NOW(), NOW()),
|
||||||
|
('RLS', '', NULL, NULL, NULL, 30, 1, NOW(), NOW())
|
||||||
|
");
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
if ($this->hasTable('company_functions')) {
|
||||||
|
$this->table('company_functions')->drop()->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -981,6 +981,20 @@ $allSkills = $pdo->query($sqlSkills)->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
background: #dcfce7;
|
background: #dcfce7;
|
||||||
color: #166534;
|
color: #166534;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.modal-employee-ppe {
|
||||||
|
max-width: 95vw;
|
||||||
|
width: 95vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
#employeePpeModal .modal-body {
|
||||||
|
max-height: 78vh;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#employeePpeModal .modal-content {
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@@ -1431,7 +1445,7 @@ $allSkills = $pdo->query($sqlSkills)->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
|
|
||||||
<!-- EMPLOYEE PPE MODAL -->
|
<!-- EMPLOYEE PPE MODAL -->
|
||||||
<div class="modal fade" id="employeePpeModal" tabindex="-1" aria-hidden="true">
|
<div class="modal fade" id="employeePpeModal" tabindex="-1" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
|
<div class="modal-dialog modal-employee-ppe modal-dialog-centered modal-dialog-scrollable">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header" style="background-color:#cfe3ff;">
|
<div class="modal-header" style="background-color:#cfe3ff;">
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -289,6 +289,16 @@
|
|||||||
<i class='bx bx-radio-circle'></i>Dipendenti
|
<i class='bx bx-radio-circle'></i>Dipendenti
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="job-roles.php">
|
||||||
|
<i class='bx bx-radio-circle'></i>Mansioni
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="ppe-items.php">
|
||||||
|
<i class='bx bx-radio-circle'></i>DPI
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (userCan('hr.departments.view')) : ?>
|
<?php if (userCan('hr.departments.view')) : ?>
|
||||||
|
|||||||
@@ -544,6 +544,17 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
transition: all 0.2s ease-in-out;
|
transition: all 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-sec-action {
|
||||||
|
background: #f8a407;
|
||||||
|
color: #000000;
|
||||||
|
border: 1px solid #ffc400;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 9px 16px;
|
||||||
|
box-shadow: 0 5px 14px rgba(37, 99, 235, 0.22);
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-main-action:hover {
|
.btn-main-action:hover {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #1d4ed8;
|
background: #1d4ed8;
|
||||||
@@ -596,6 +607,12 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#tabJobRoles th:nth-child(2),
|
||||||
|
#tabJobRoles td:nth-child(2) {
|
||||||
|
width: 240px;
|
||||||
|
max-width: 280px;
|
||||||
|
}
|
||||||
|
|
||||||
#tabJobRoles th:nth-child(3),
|
#tabJobRoles th:nth-child(3),
|
||||||
#tabJobRoles td:nth-child(3) {
|
#tabJobRoles td:nth-child(3) {
|
||||||
width: 130px;
|
width: 130px;
|
||||||
@@ -610,7 +627,7 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
|
|
||||||
#tabJobRoles th:nth-child(5),
|
#tabJobRoles th:nth-child(5),
|
||||||
#tabJobRoles td:nth-child(5) {
|
#tabJobRoles td:nth-child(5) {
|
||||||
width: 260px;
|
width: 230px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -639,9 +656,9 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
|
|
||||||
.role-description {
|
.role-description {
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
font-size: 0.86rem;
|
font-size: 0.82rem;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
max-width: 850px;
|
max-width: 220px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -855,6 +872,10 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-flex gap-2">
|
<div class="d-flex gap-2">
|
||||||
|
<button type="button" class="btn btn-sec-action" id="btnOpenPpeItems" onclick="location.href='ppe-items.php'">
|
||||||
|
Lista DPI
|
||||||
|
</button>
|
||||||
|
|
||||||
<button type="button" class="btn back-dashboard" onclick="history.back();">
|
<button type="button" class="btn back-dashboard" onclick="history.back();">
|
||||||
↩️ Indietro
|
↩️ Indietro
|
||||||
</button>
|
</button>
|
||||||
@@ -970,7 +991,7 @@ $subRolesByRoleJson = json_encode($subRolesByRole, $jsonFlags);
|
|||||||
class="btn btn-sm btn-outline-success action-btn btnOpenCreateSubRole"
|
class="btn btn-sm btn-outline-success action-btn btnOpenCreateSubRole"
|
||||||
data-role-id="<?= $roleId; ?>"
|
data-role-id="<?= $roleId; ?>"
|
||||||
data-role-name="<?= htmlspecialchars($role['name'], ENT_QUOTES, 'UTF-8'); ?>">
|
data-role-name="<?= htmlspecialchars($role['name'], ENT_QUOTES, 'UTF-8'); ?>">
|
||||||
+ Sotto
|
+ SottoMansione
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button type="button"
|
<button type="button"
|
||||||
|
|||||||
Reference in New Issue
Block a user