Implement RBAC migration and role management enhancements
- Added AJAX functionality to fetch role permissions for copying. - Introduced system role management with permission checks for updates. - Implemented role deletion with confirmation modal and backend handling. - Enhanced user role assignment migration scripts to transition from legacy profiles to RBAC. - Created SQL migration scripts for user roles and permissions mapping. - Updated user interface to support new role management features including copy permissions and system role indicators.
This commit is contained in:
@@ -591,6 +591,8 @@ main .content-block-wrapper .content-block {
|
||||
width: 100%;
|
||||
margin: 0 10px;
|
||||
border-radius: 3px;
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
main .content-block-wrapper .content-block:first-child {
|
||||
@@ -3140,6 +3142,61 @@ main .content-block .button-container {
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
/* Generic Modal Styles */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
z-index: 1000;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.modal .modal-content {
|
||||
background: white;
|
||||
border-radius: 12px;
|
||||
max-width: 500px;
|
||||
width: 90%;
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
margin: 20px;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.modal .modal-header {
|
||||
padding: 20px 25px;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
.modal .modal-header h3 {
|
||||
margin: 0;
|
||||
color: #333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.modal .modal-body {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.modal .modal-body p {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.btn.danger {
|
||||
background-color: #e74c3c;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn.danger:hover {
|
||||
background-color: #c0392b;
|
||||
}
|
||||
|
||||
/* Registration Modal Styles */
|
||||
|
||||
.reg-modal {
|
||||
|
||||
@@ -402,6 +402,94 @@
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.tag.clickable {
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.tag.clickable:hover {
|
||||
background: var(--color-primary, #007cba);
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Folder Tiles */
|
||||
.folder-tile {
|
||||
background: var(--color-white, #fff);
|
||||
border: 1px solid var(--color-border, #dee2e6);
|
||||
border-radius: 8px;
|
||||
padding: 1rem;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.folder-tile:hover {
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
transform: translateY(-2px);
|
||||
border-color: var(--color-primary, #005655);
|
||||
}
|
||||
|
||||
.folder-tile.grid-item {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.folder-tile.list-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.folder-tile-icon {
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
margin-bottom: 1rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: var(--color-light-grey, #f8f9fa);
|
||||
border-radius: 4px;
|
||||
font-size: 4rem;
|
||||
color: var(--color-primary, #005655);
|
||||
}
|
||||
|
||||
.folder-tile.list-item .folder-tile-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
flex-shrink: 0;
|
||||
font-size: 2rem;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.folder-tile-info {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.folder-tile.list-item .folder-tile-info {
|
||||
flex: 1;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.folder-tile-name {
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.5rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.folder-tile-meta {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 0.5rem;
|
||||
font-size: 0.8rem;
|
||||
color: var(--color-text-light, #6c757d);
|
||||
}
|
||||
|
||||
.folder-tile.list-item .folder-tile-meta {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
/* Loading and Empty States */
|
||||
.loading-indicator, .empty-state {
|
||||
display: flex;
|
||||
|
||||
Reference in New Issue
Block a user