Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
        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));
        }