Exemplo n.º 1
0
        public void DeleteCollection()
        {
            DatabaseHelper    Dh = new DatabaseHelper(true);
            CollectionService Cs = new CollectionService(Dh.Db);

            Piranha.Entities.User admin    = Dh.PDb.Users.First();
            IIdentity             identity = new GenericIdentity(admin.Login, Dh.PDb.Groups.Find(admin.GroupId).Name);

            CFCollection test = Cs.GetCollections().FirstOrDefault();
            int          id   = test.Id;
            IQueryable <CFCollection> collections = Cs.GetCollections();

            Assert.AreEqual(DatabaseHelper.TOTAL_COLLECTIONS, collections.Count());

            Cs.DeleteCollection(id);
            Dh.Db.SaveChanges(identity);

            Assert.AreNotEqual(DatabaseHelper.TOTAL_COLLECTIONS, collections.Count());
            Assert.AreEqual(DatabaseHelper.TOTAL_COLLECTIONS - 1, collections.Count());

            try
            {
                Cs.DeleteCollection(id);
                Dh.Db.SaveChanges(identity);
                Assert.Fail("An Exception should have been thrown on a bad delete.");
            }
            catch (ArgumentException ex)
            {
            }

            Assert.AreNotEqual(DatabaseHelper.TOTAL_COLLECTIONS, collections.Count());
            Assert.AreEqual(DatabaseHelper.TOTAL_COLLECTIONS - 1, collections.Count());
        }
Exemplo n.º 2
0
        public static UserContext GetContextForUser(string guid)
        {
            if (string.IsNullOrEmpty(guid))
            {
                return(null);
            }

            if (UserContext.Current == null || UserContext.Current.User == null || UserContext.Current.User.Id.ToString() != guid)
            {
                using (var db = new Piranha.DataContext())
                {
                    Piranha.Entities.User user = db.Users.Where(u => u.Id.ToString() == guid).FirstOrDefault();
                    if (user != null)
                    {
                        UserContext.Current = new UserContext(user);
                    }
                    else
                    {
                        UserContext.Current = null;
                    }
                }
            }

            return(UserContext.Current);
        }
Exemplo n.º 3
0
        public void DeleteItem()
        {
            DatabaseHelper Dh = new DatabaseHelper(true);
            ItemService    Is = new ItemService(Dh.Db);

            Piranha.Entities.User admin    = Dh.PDb.Users.First();
            IIdentity             identity = new GenericIdentity(admin.Login, Dh.PDb.Groups.Find(admin.GroupId).Name);

            CFItem test = Is.GetItems().FirstOrDefault();
            int    id   = test.Id;
            IQueryable <CFItem> items = Is.GetItems();

            Assert.AreEqual(DatabaseHelper.TOTAL_ITEMS, items.Count());

            Is.DeleteItem(id);
            Dh.Db.SaveChanges(identity);

            Assert.AreNotEqual(DatabaseHelper.TOTAL_ITEMS, items.Count());
            Assert.AreEqual(DatabaseHelper.TOTAL_ITEMS - 1, items.Count());

            try
            {
                Is.DeleteItem(id);
                Dh.Db.SaveChanges(identity);
                Assert.Fail("An Exception should have been thrown on a bad delete.");
            }
            catch (ArgumentException ex)
            {
            }

            Assert.AreNotEqual(DatabaseHelper.TOTAL_ITEMS, items.Count());
            Assert.AreEqual(DatabaseHelper.TOTAL_ITEMS - 1, items.Count());
        }
Exemplo n.º 4
0
        public Piranha.Entities.User GetUserByEmail(string email)
        {
            Piranha.Entities.User user = new Piranha.Entities.User();
            using (var db = new DataContext())
            {
                user = db.Users.Where(u => u.Email == email).FirstOrDefault();
            }

            return(user);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get User by Id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Piranha.Entities.User GetUserById(string id)
        {
            Piranha.Entities.User user = new Piranha.Entities.User();
            using (var db = new DataContext())
            {
                user = db.Users.Where(u => u.Id.ToString() == id).FirstOrDefault();
            }

            return(user);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Get user by Login Name
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public Piranha.Entities.User GetUserByLogin(string login)
        {
            Piranha.Entities.User user = new Piranha.Entities.User();
            try
            {
                using (var db = new DataContext())
                {
                    user = db.Users.Where(u => u.Login == login).FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(user);
        }
Exemplo n.º 7
0
        protected override bool IsAdmin(string userGuid)
        {
            Piranha.Entities.User user = UserService.GetUserById(userGuid);

            if (user != null)
            {
                string defaultMode = ConfigurationManager.AppSettings["SecurityAdminRoleName"];

                if (string.IsNullOrEmpty(defaultMode))
                {
                    defaultMode = "ADMIN_CONTENT";
                }

                return(user.Group.Permissions.Where(p => p.Name == defaultMode).Any());
            }

            return(false);
        }
Exemplo n.º 8
0
        public ActionResult Create(CreateModel m)
        {
            if (ModelState.IsValid)
            {
                using (var db = new Piranha.DataContext())
                {
                    // PIRANHA USER
                    // Login sysuser into the current context.
                    db.LoginSys();

                    var user = new Piranha.Entities.User()
                    {
                        Login = m.Login,
                        Email = m.Email,
                        GroupId = GetUserGroupId()
                    };
                    if (!String.IsNullOrEmpty(m.Password))
                    {
                        user.Password = Piranha.Models.SysUserPassword.Encrypt(m.Password);
                    }
                    db.Users.Add(user);

                    // OUR USER
                    dynamic registration = new UserRegistration(m);
                    registration.Register();

                    if (db.SaveChanges() > 0)
                    {
                        // Make sure that you have implemented the Hook Hooks.Mail.SendPassword
                        if (String.IsNullOrEmpty(m.Password))
                        {
                            user.GenerateAndSendPassword(db);
                        }
                    }
                    else
                    {
                        return View("RegistrationFailed");
                    }
                }
                return View("Login");
            }
            return View("RegistrationFailed");
        }
Exemplo n.º 9
0
        public override bool IsAdmin(string userGuid)
        {
            Piranha.Entities.User user = UserService.GetUserById(userGuid);

            if (user != null)
            {
                string defaultMode = ConfigurationManager.AppSettings["SecurityAdminRoleName"];

                if (string.IsNullOrEmpty(defaultMode))
                {
                    defaultMode = "ADMIN_ACCESS";
                }

                var grp = UserService.GetUsersGroup(user.GroupId.Value);
                if (grp == null)
                {
                    return(false);
                }
                return(grp.Permissions.Where(p => p.Name == defaultMode).Any());
            }
            return(false);
        }
Exemplo n.º 10
0
 public void CanGetUserByEmail()
 {
     Piranha.Entities.User user = userService.GetUserByEmail("*****@*****.**");
     Assert.AreEqual("*****@*****.**", user.Email);
 }
Exemplo n.º 11
0
        public void CanGetUserByLogin()
        {
            Piranha.Entities.User user = userService.GetUserByLogin("sys");

            Assert.AreEqual("sys", user.Login);
        }
Exemplo n.º 12
0
 protected UserContext(Piranha.Entities.User User)
 {
     this.User = User;
 }