61 lines
1.7 KiB
PowerShell
61 lines
1.7 KiB
PowerShell
# Fix Company Admin Permissions
|
|
# Run this from the project root directory
|
|
|
|
$connectionString = "Server=.\SQLEXPRESS;Database=PowderCoatingDb;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=true"
|
|
|
|
Write-Host "Fixing Company Admin permissions..." -ForegroundColor Yellow
|
|
|
|
$sqlQuery = @"
|
|
UPDATE AspNetUsers
|
|
SET
|
|
CanManageJobs = 1,
|
|
CanManageInventory = 1,
|
|
CanManageCustomers = 1,
|
|
CanCreateQuotes = 1,
|
|
CanApproveQuotes = 1,
|
|
CanManageCalendar = 1,
|
|
CanViewCalendar = 1,
|
|
CanManageProducts = 1,
|
|
CanViewProducts = 1,
|
|
CanManageEquipment = 1,
|
|
CanManageSuppliers = 1,
|
|
CanManageMaintenance = 1
|
|
WHERE CompanyRole = 'CompanyAdmin';
|
|
|
|
SELECT
|
|
Email,
|
|
FirstName + ' ' + LastName AS Name,
|
|
CompanyRole,
|
|
CanManageCalendar,
|
|
CanManageProducts
|
|
FROM AspNetUsers
|
|
WHERE CompanyRole = 'CompanyAdmin';
|
|
"@
|
|
|
|
try {
|
|
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
|
|
$connection.Open()
|
|
|
|
$command = $connection.CreateCommand()
|
|
$command.CommandText = $sqlQuery
|
|
|
|
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter $command
|
|
$dataset = New-Object System.Data.DataSet
|
|
$adapter.Fill($dataset) | Out-Null
|
|
|
|
Write-Host "`nCompany Admins Updated:" -ForegroundColor Green
|
|
$dataset.Tables[0] | Format-Table -AutoSize
|
|
|
|
$connection.Close()
|
|
Write-Host "`nPermissions updated successfully!" -ForegroundColor Green
|
|
Write-Host "Company Admins need to log out and log back in for changes to take effect." -ForegroundColor Yellow
|
|
}
|
|
catch {
|
|
Write-Host "Error: $_" -ForegroundColor Red
|
|
}
|
|
finally {
|
|
if ($connection.State -eq 'Open') {
|
|
$connection.Close()
|
|
}
|
|
}
|