protected override void Importing(ContentTypePermissionSettingsPart part, ImportContentContext context) { var root = context.Data.Element(part.PartDefinition.Name); if (root == null) { return; } var permissions = root.Elements("Permission"); var settings = _contentTypePermissionSettingsService.ReadSettings(); foreach (var perm in permissions) { var permRecord = new ContentTypePermissionRecord { ContentType = perm.Attribute("ContentType") != null?perm.Attribute("ContentType").Value : "", PostPermission = perm.Attribute("PostPermission") != null?perm.Attribute("PostPermission").Value : "", GetPermission = perm.Attribute("GetPermission") != null?perm.Attribute("GetPermission").Value : "", DeletePermission = perm.Attribute("DeletePermission") != null?perm.Attribute("DeletePermission").Value : "", PublishPermission = perm.Attribute("PublishPermission") != null?perm.Attribute("PublishPermission").Value : "" }; // insert record only if not already inserted before in the system var check = settings.ListContPermission.Count(x => x.ContentType == permRecord.ContentType && x.PostPermission == permRecord.PostPermission && x.GetPermission == permRecord.GetPermission && x.PublishPermission == permRecord.PublishPermission && x.DeletePermission == permRecord.DeletePermission); if (check == 0) { settings.ListContPermission.Add(permRecord); } } _contentTypePermissionSettingsService.WriteSettings(settings); }
public void UpdateContPerm(ContentTypePermissionRecord contpermrec) { _settingsRepository.Flush(); var record = _settingsRepository.Get(o => o.Id.Equals(contpermrec.Id)); if (record != null) { if (contpermrec.ContentType == " ") { _settingsRepository.Delete(record); } else { _settingsRepository.Update(contpermrec); } } else { if (contpermrec.ContentType != " ") { _settingsRepository.Create(contpermrec); } } record = null; }
public ActionResult Settings() { if (!_orchardServices.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Yout have to be an Administrator to edit ContentTypePermission settings!"))) { return(new HttpUnauthorizedResult()); } var model = _contentTypePermissionSettingsService.ReadSettings(); var listconttype = _contentDefinitionService.GetTypes().Select(x => new SelectListItem() { Text = x.DisplayName, Value = x.Name }).ToList(); listconttype.Insert(0, new SelectListItem { Text = " ", Value = " " }); ViewData["ListContentTypes"] = new SelectList(listconttype, "Value", "Text"); //_orchardServices..ContentManager.GetContentTypeDefinitions() var tmplistpermissions = _roleService.GetInstalledPermissions(); List <SelectListItem> listpermissions = new List <SelectListItem>(); foreach (IEnumerable <Permission> sad in tmplistpermissions.Values) { foreach (Permission perm in sad) { listpermissions.Add(new SelectListItem { Text = perm.Name, Value = perm.Name }); } } listpermissions.Insert(0, new SelectListItem { Text = "", Value = "" }); ViewData["ListPermissions"] = new SelectList(listpermissions.OrderBy(x => x.Text), "Value", "Text"); // var listpermissions = _permissionProvider.GetPermissions(); // listpermissions.Select(x => new SelectListItem() { Text = x.Name, Value = x.Name }); // IDictionary<string, IEnumerable<Orchard.Security.Permissions.Permission>> // .Select(x => new SelectListItem() { Text = x.Key, Value = x.Key }); //_orchardServices.ContentManager.GetContentTypeDefinitions().Select(x => x.Name).ToList(); // var listpermissions = _contentDefinitionService.GetTypes().Select(x => new SelectListItem() { Text = x.DisplayName, Value = x.Name }); //_orchardServices..ContentManager.GetContentTypeDefinitions() // ViewData["ListContentTypes"] = new SelectList(listconttype, "Value", "Text"); ContentTypePermissionRecord cpr = new ContentTypePermissionRecord(); cpr.Id = 0; model.ListContPermission.Add(cpr); return(View(model)); }