Browse Source

Corrected Crash in Job Requisitions when "Can Approve Job Requsiitions" token is disabled

Frank van den Bos 2 years ago
parent
commit
f97fbd010e
1 changed files with 10 additions and 8 deletions
  1. 10 8
      prs.desktop/Panels/Jobs/JobRequisitionGrid.cs

+ 10 - 8
prs.desktop/Panels/Jobs/JobRequisitionGrid.cs

@@ -30,9 +30,7 @@ namespace PRSDesktop
             HiddenColumns.Add(x => x.Job.ID);
             HiddenColumns.Add(x => x.Approved);
             
-            if (Security.IsAllowed<CanApproveJobRequisitions>())
-                _approve = AddButton("Approve", null, ApproveClick);
-
+            _approve = AddButton("Approve", null, ApproveClick);
             _createtask = AddButton("Create Task", null, CreateTask);
         }
         
@@ -45,12 +43,14 @@ namespace PRSDesktop
             }
 
             var requi = rows[0].ToObject<JobRequisition>();
+            
             requi.Approved = requi.Approved.IsEmpty() ? DateTime.Now : DateTime.MinValue;
             UpdateRow<DateTime?>(rows[0], "Approved", requi.Approved.IsEmpty() ? null : requi.Approved, true);
             new Client<JobRequisition>().Save(requi, requi.Approved.IsEmpty() ? "Cleared Approval" : "Marked as Approved");
-            UpdateButton(_approve, null,
-                _approve.IsEnabled && !requi.Approved.IsEmpty() ? "Unapprove" : "Approve");
+            UpdateButton(_approve, null, !requi.Approved.IsEmpty() ? "Unapprove" : "Approve");
+            
             _createtask.IsEnabled = !requi.Approved.IsEmpty();
+            
             return false;
         }
 
@@ -59,10 +59,12 @@ namespace PRSDesktop
             base.SelectItems(rows);
             if (rows?.Length == 1)
             {
-                _approve.Visibility = Visibility.Visible;
+                _approve.Visibility = Security.IsAllowed<CanApproveJobRequisitions>()
+                    ? Visibility.Visible
+                    : Visibility.Collapsed;
+                UpdateButton(_approve, null, !rows[0].Get<JobRequisition, DateTime>(c => c.Approved).IsEmpty() ? "Unapprove" : "Approve");
+                
                 _createtask.Visibility = Visibility.Visible;
-                UpdateButton(_approve, null,
-                    _approve.IsEnabled && !rows[0].Get<JobRequisition, DateTime>(c => c.Approved).IsEmpty() ? "Unapprove" : "Approve");
                 _createtask.IsEnabled = !rows[0].Get<JobRequisition, DateTime>(c => c.Approved).IsEmpty();
             }
             else