/// <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; }
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; }