Changeset 16209 for trunk/HeuristicLab.Services.Hive/3.3/HiveService.cs
- Timestamp:
- 10/03/18 15:06:21 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/HeuristicLab.Services.Hive/3.3/HiveService.cs
r16208 r16209 483 483 } 484 484 485 486 485 jobDto.CopyToEntity(job); 487 486 … … 523 522 524 523 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 525 bool isAdministrator = RoleVerifier.IsInRole(HiveRoles.Administrator);526 var currentUserId = UserManager.CurrentUserId;524 // check if user is an admin, or granted to administer a job-parenting project, or job owner 525 AuthorizationManager.AuthorizeForJob(jobId, DT.Permission.Full); 527 526 528 527 var pm = PersistenceManager; 529 528 using (new PerformanceLogger("UpdateJobState")) { 530 var jobDao = pm.JobDao; 531 var projectDao = pm.ProjectDao; 529 var jobDao = pm.JobDao; 532 530 pm.UseTransaction(() => { 533 531 var job = jobDao.GetById(jobId); 534 if (job != null) { 535 536 var administrationGrantedProjects = projectDao 537 .GetAdministrationGrantedProjectsForUser(currentUserId) 538 .ToList(); 539 540 // check if user is an admin, or granted to administer a job-parenting project,... 541 if (!isAdministrator && !administrationGrantedProjects.Contains(job.Project)) 542 AuthorizationManager.AuthorizeForJob(jobId, DT.Permission.Full); // ... or job owner 532 if (job != null) { 543 533 544 534 // note: allow solely state changes from "Online" to "StatisticsPending" = deletion request by user for HiveStatisticGenerator … … 563 553 564 554 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 565 bool isAdministrator = RoleVerifier.IsInRole(HiveRoles.Administrator); 566 var currentUserId = UserManager.CurrentUserId; 555 // check if user is an admin, or granted to administer a job-parenting project, or job owner 556 foreach (var jobId in jobIds) 557 AuthorizationManager.AuthorizeForJob(jobId, DT.Permission.Full); 567 558 568 559 var pm = PersistenceManager; … … 571 562 var projectDao = pm.ProjectDao; 572 563 pm.UseTransaction(() => { 573 var administrationGrantedProjects = projectDao574 .GetAdministrationGrantedProjectsForUser(currentUserId)575 .ToList();576 577 564 foreach (var jobId in jobIds) { 578 565 var job = jobDao.GetById(jobId); 579 566 if (job != null) { 580 581 // check if user is an admin, or granted to administer a job-parenting project,...582 if (!isAdministrator && !administrationGrantedProjects.Contains(job.Project))583 AuthorizationManager.AuthorizeForJob(jobId, DT.Permission.Full); // ... or job owner584 567 585 568 // note: allow solely state changes from "Online" to "StatisticsPending" = deletion request by user for HiveStatisticGenerator
Note: See TracChangeset
for help on using the changeset viewer.