Add user role management functionality with CRUD operations and permissions handling

- Created user_role.php for viewing and editing user roles and their permissions.
- Implemented inline editing for role details and permissions.
- Added user_role_manage.php for creating and managing user roles.
- Introduced user_roles.php for listing all user roles with pagination and filtering options.
- Integrated API calls for fetching and updating role data and permissions.
- Enhanced user interface with success messages and navigation controls.
This commit is contained in:
“VeLiTi”
2026-01-19 11:16:54 +01:00
parent 3db13b9ebf
commit 782050c3ca
35 changed files with 4071 additions and 370 deletions

View File

@@ -130,6 +130,11 @@ $view .= '<div class="content-block tab-content active">
<option value="1" '.(($partner['status']==1 )?' selected':'').'>'.$enabled .'</option>
<option value="0" '.(($partner['status']==0 )?' selected':'').'>'.$disabled .'</option>
</select>
<label for="status">'.($menu_dealers ?? 'is_dealer').'</label>
<select id="is_dealer" name="is_dealer">
<option value="0" '.(($partner['is_dealer']==0 )?' selected':'').'>'.$disabled .'</option>
<option value="1" '.(($partner['is_dealer']==1 )?' selected':'').'>'.$enabled .'</option>
</select>
<label for="partnertype">'.$partner_partnertype.'</label>
<select id="partnertype" name="partnertype" required>
';
@@ -178,6 +183,41 @@ if ($_SESSION['permission'] == 3 || $_SESSION['permission'] == 4){
</div>
</div>';
$view .= '<div class="tabs">
<a href="#">'.($menu_dealers ?? 'is_dealer').'</a>
</div>';
$view .= '<div class="content-block tab-content">
<div class="form responsive-width-100">
<label for="name">'.$dealers_name.'</label>
<input id="name" type="text" name="name" placeholder="'.$dealers_name.'" value="'.htmlspecialchars($partner['name'] ?? '').'">
<label for="address">'.$dealers_address.'</label>
<input id="address" type="text" name="address" placeholder="'.$dealers_address.'" value="'.htmlspecialchars($partner['address'] ?? '').'">
<label for="city">'.$dealers_city.'</label>
<input id="city" type="text" name="city" placeholder="'.$dealers_city.'" value="'.htmlspecialchars($partner['city'] ?? '').'">
<label for="postalcode">'.$dealers_postalcode.'</label>
<input id="postalcode" type="text" name="postalcode" placeholder="'.$dealers_postalcode.'" value="'.htmlspecialchars($partner['postalcode'] ?? '').'">
<label for="country">'.$dealers_country.'</label>
<select id="country" name="country">
<option value="" > -select-</option>
';
// Sort countries alphabetically
usort($countries, function($a, $b) {
return strcmp($a['country'], $b['country']);
});
foreach ($countries as $id => $data) {
$selected = ($partner['country'] == $data['country']) ? 'selected' : '';
$view .='<option value="' . $data['country'] . '" ' . $selected . '>' . $data['country'] . '</option>';
}
$view .= '
</select>
<label for="">'.($dealers_email ?? 'email').'</label>
<input name="email" type="text" value="'.$partner['email'].'">
<label for="">'.($dealers_phone ?? 'phone').'</label>
<input name="phone" type="text" value="'.$partner['phone'].'">
</div>';
$view .= '<div class="tabs">
<a href="#">'.$tab3.'</a>
</div>';