Переглянути джерело

Es wurde ein Fehler bei der Ermittlung des Benutzers aus dem aktuellen Context behoben!

Arne Diekmann 8 роки тому
батько
коміт
c2758833b5

+ 3 - 13
GreenTree.Nachtragsmanagement.Core/Authentication/UserContext.cs

@@ -10,24 +10,14 @@ namespace GreenTree.Nachtragsmanagement.Core.Authentication
 {
     public class UserContext
     {
-        private User _currentUser;
         public User CurrentUser
         {
             get
             {
-                if (_currentUser == null)
-                {
-                    var container = Singleton<Autofac.IContainer>.Instance;
-                    var userHelper = container.Resolve<IUserHelper>();
+                var container = Singleton<Autofac.IContainer>.Instance;
+                var userHelper = container.Resolve<IUserHelper>();
 
-                    _currentUser = userHelper.FromCookies();
-                }
-
-                return _currentUser;
-            }
-            set
-            {
-                _currentUser = value;
+                return userHelper.FromCookies();
             }
         }
     }

+ 1 - 4
GreenTree.Nachtragsmanagement.Core/CommonHelper.cs

@@ -174,10 +174,7 @@ namespace GreenTree.Nachtragsmanagement.Core
             var container = Singleton<Autofac.IContainer>.Instance;
             var userHelper = container.Resolve<IUserHelper>();
 
-            return new UserContext
-            {
-                CurrentUser = userHelper.FromCookies()
-            };
+            return new UserContext();
         }
 
         #endregion

+ 8 - 5
GreenTree.Nachtragsmanagement.Web/Extensions/GridViewSettingsHelper.cs

@@ -70,12 +70,15 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
 
             s.Toolbars.Add(t =>
             {
-                t.Items.Add(i =>
+                if (_userContext.CurrentUser.HasFunction("Site-Sites-Edit"))
                 {
-                    i.Text = "Baustelle hinzufügen";
-                    i.Name = "AddSite";
-                    i.Image.IconID = IconID.ActionsAdd16x16;
-                });
+                    t.Items.Add(i =>
+                    {
+                        i.Text = "Baustelle hinzufügen";
+                        i.Name = "AddSite";
+                        i.Image.IconID = IconID.ActionsAdd16x16;
+                    });
+                }
                 var refreshItem = t.Items.Add(GridViewToolbarCommand.Refresh);
                 refreshItem.Text = "Aktualisieren";
                 var expandItem = t.Items.Add(GridViewToolbarCommand.FullExpand);