Changeset 16518 for branches/2972_PDPRowSelect/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs
- Timestamp:
- 01/08/19 14:59:31 (6 years ago)
- Location:
- branches/2972_PDPRowSelect
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2972_PDPRowSelect
- Property svn:mergeinfo changed
/trunk (added) merged: 16446,16448-16449,16478,16491,16494,16496,16499,16501-16506,16511-16513
- Property svn:mergeinfo changed
-
branches/2972_PDPRowSelect/HeuristicLab.Clients.Hive.Administrator
- Property svn:mergeinfo changed
/trunk/HeuristicLab.Clients.Hive.Administrator (added) merged: 16446,16513
- Property svn:mergeinfo changed
-
branches/2972_PDPRowSelect/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs
r16211 r16518 29 29 using HeuristicLab.Core.Views; 30 30 using HeuristicLab.MainForm; 31 using System.Collections;32 using HeuristicLab.Common;33 31 34 32 namespace HeuristicLab.Clients.Hive.Administrator.Views { … … 79 77 80 78 #region Overrides 81 protected override void OnClosing(FormClosingEventArgs e) {82 HiveAdminClient.Instance.Refreshed -= HiveAdminClient_Instance_Refreshed;83 HiveAdminClient.Instance.Refreshing -= HiveAdminClient_Instance_Refreshing;84 base.OnClosing(e);85 }86 87 79 protected override void OnContentChanged() { 88 80 base.OnContentChanged(); … … 130 122 } 131 123 132 private void ProjectResourcesView_Load(object sender, EventArgs e) { 133 124 private void ProjectResourcesView_Disposed(object sender, EventArgs e) { 125 HiveAdminClient.Instance.Refreshed -= HiveAdminClient_Instance_Refreshed; 126 HiveAdminClient.Instance.Refreshing -= HiveAdminClient_Instance_Refreshing; 134 127 } 135 128 … … 165 158 166 159 var selectedResource = (Resource)e.Node.Tag; 167 if (HiveAdminClient.Instance.DisabledParentResources.Contains(selectedResource))160 if (HiveAdminClient.Instance.DisabledParentResources.Contains(selectedResource)) 168 161 e.Cancel = true; 169 162 } … … 179 172 return; 180 173 } 181 174 182 175 var checkedResource = (Resource)e.Node.Tag; 183 176 if (checkedResource == null 184 177 || checkedResource.Id == Guid.Empty 185 || HiveAdminClient.Instance.DisabledParentResources.Contains(checkedResource) 178 || HiveAdminClient.Instance.DisabledParentResources.Contains(checkedResource) 186 179 || newIncludedResources.Contains(checkedResource)) { 187 180 e.Cancel = true; 188 181 } else if (!IsAdmin()) { 189 if (!HiveAdminClient.Instance.CheckOwnershipOfParentProject(Content, UserInformation.Instance.User.Id)190 || !HiveAdminClient.Instance.GetAvailableProjectAncestors(Content.Id).Any()191 192 193 182 if (!HiveAdminClient.Instance.CheckOwnershipOfParentProject(Content, UserInformation.Instance.User.Id) 183 || !HiveAdminClient.Instance.GetAvailableProjectAncestors(Content.Id).Any() 184 || projectExclusiveResources.Contains(checkedResource)) { 185 e.Cancel = true; 186 } 194 187 } 195 188 } … … 232 225 233 226 // get project specific assigned resources 234 var projectResources = resources.Where(x => 227 var projectResources = resources.Where(x => 235 228 HiveAdminClient.Instance.ProjectResourceAssignments 236 229 .Where(a => a.ProjectId == projectId) … … 242 235 HiveAdminClient.Instance.GetAvailableProjectAncestors(projectId).ToList().ForEach(x => projectIds.Add(x.Id)); 243 236 244 var ancestorProjectResources = resources.Where(x => 237 var ancestorProjectResources = resources.Where(x => 245 238 HiveAdminClient.Instance.ProjectResourceAssignments 246 239 .Where(a => projectIds.Contains(a.ProjectId)) … … 251 244 HashSet<Resource> availableResources = new HashSet<Resource>(ancestorProjectResources); 252 245 foreach (var r in ancestorProjectResources) { 253 foreach (var d in HiveAdminClient.Instance.GetAvailableResourceDescendants(r.Id)) {246 foreach (var d in HiveAdminClient.Instance.GetAvailableResourceDescendants(r.Id)) { 254 247 availableResources.Add(d); 255 248 } … … 267 260 foreach (var d in HiveAdminClient.Instance.GetAvailableResourceDescendants(r.Id)) { 268 261 projectExclusiveResources.Add(d); 269 } 262 } 270 263 } 271 264 } … … 286 279 if (projectId == null || resourceIds == null) return; 287 280 HiveServiceLocator.Instance.CallHiveService(s => { 288 s.SaveProjectResourceAssignments(projectId, resourceIds.ToList(), reassign, cascading, reassignCascading);281 s.SaveProjectResourceAssignments(projectId, resourceIds.ToList(), reassign, cascading, reassignCascading); 289 282 }); 290 283 } 291 284 292 285 private void UpdateNewAssignedResources() { 293 for (int i = newAssignedResources.Count -1; i >= 0; i--) {294 if (newAssignedResources.Intersect(HiveAdminClient.Instance.GetAvailableResourceAncestors(newAssignedResources.ElementAt(i).Id)).Any()) {286 for (int i = newAssignedResources.Count - 1; i >= 0; i--) { 287 if (newAssignedResources.Intersect(HiveAdminClient.Instance.GetAvailableResourceAncestors(newAssignedResources.ElementAt(i).Id)).Any()) { 295 288 newAssignedResources.Remove(newAssignedResources.ElementAt(i)); 296 289 } … … 345 338 346 339 var stack = new Stack<Resource>(mainResources.OrderByDescending(x => x.Name)); 347 340 348 341 Resource top = null; 349 342 //bool nodeSelected = false; … … 352 345 top = resources.Where(x => x.Id == resourceId).FirstOrDefault(); 353 346 } 354 347 355 348 356 349 TreeNode currentNode = null; … … 366 359 var newNode = new TreeNode(newResource.Name) { Tag = newResource }; 367 360 368 if (top == null && !disabledParentResources.Contains(newResource)) {361 if (top == null && !disabledParentResources.Contains(newResource)) { 369 362 top = newResource; 370 363 } … … 395 388 } else if (newAssignedResources.Contains(newResource)) { 396 389 newNode.Checked = true; 397 if (!HiveRoles.CheckAdminUserPermissions()) {398 if (!HiveAdminClient.Instance.CheckOwnershipOfParentProject(Content, UserInformation.Instance.User.Id) 399 || !HiveAdminClient.Instance.GetAvailableProjectAncestors(Content.Id).Any() 390 if (!HiveRoles.CheckAdminUserPermissions()) { 391 if (!HiveAdminClient.Instance.CheckOwnershipOfParentProject(Content, UserInformation.Instance.User.Id) 392 || !HiveAdminClient.Instance.GetAvailableProjectAncestors(Content.Id).Any() 400 393 || projectExclusiveResources.Contains(newResource)) { 401 394 newNode.ForeColor = SystemColors.GrayText; … … 452 445 bool expandUngroupedGroupNode = false; 453 446 var ungroupedSlaves = subResources.OfType<Slave>().OrderBy(x => x.Name); 454 if (ungroupedSlaves.Any()) {447 if (ungroupedSlaves.Any()) { 455 448 ungroupedGroupNode = new TreeNode(UNGROUPED_GROUP_NAME) { 456 449 ForeColor = SystemColors.GrayText, … … 486 479 } 487 480 488 if (expandUngroupedGroupNode) ungroupedGroupNode.Expand();481 if (expandUngroupedGroupNode) ungroupedGroupNode.Expand(); 489 482 treeView.Nodes.Add(ungroupedGroupNode); 490 483 } else if (ungroupedGroupNode != null) { … … 493 486 494 487 treeView.BeforeCheck += treeView_BeforeCheck; 495 treeView.AfterCheck += treeView_AfterCheck; 488 treeView.AfterCheck += treeView_AfterCheck; 496 489 497 490 return top;
Note: See TracChangeset
for help on using the changeset viewer.