示例#1
0
        /// <summary>
        /// Check is user has permission to invoke action on a depot
        /// </summary>
        /// <param name="user"></param>
        /// <param name="action"></param>
        /// <param name="depot"></param>
        /// <returns></returns>
        public static bool Check(SystemUser user, ActionType action, Depot depot) {

            if (user == null) {
                //TODO: an anonymouse user can have access to some functions
                return false;
            }

            DepotPermission permission = Db.SQL<DepotPermission>("SELECT o FROM Warehouse.DepotPermission o WHERE o.User=? AND o.Depot=?", user, depot).First;
            if (permission != null) {
                // TODO: Add what kind of check, CanRead, CanUpdate or CanDelete
                return true;
            }

            return false;
        }
示例#2
0
        private static Depot CreateDepot(string name, Organization org) {

            SystemUser user = SystemUser.GetCurrentSystemUser();
            Depot depot = new Depot { Name = name, UrlName = name.GenerateSlug(), ID = string.Format("{0:X8}", (org.Name.GenerateSlug() + name.GenerateSlug()).GetHashCode()) };
            depot.Organization = org;
            new DepotPermission() { User = user, Depot = depot };
            return depot;
        }