protected void CheckUserHasPermissionToListDatum(DatumType dt, ProtoCmsRuntimeContext rctx)
 {
     if (!rctx.UserHasPermission(dt.ListPermissionBase.Id))
     {
         throw new HttpException(403, $"ProtoCMS: user is forbidden to list datum type '{dt.Id}'.");
     }
 }
 protected void CheckUserCanModifySetting(ProtoCmsRuntimeContext rctx, string settingId)
 {
     if (!rctx.UserHasPermission(ModifySiteSettingPermission.GetIdFor(settingId)))
     {
         throw new HttpException(403,
                                 $"ProtoCMS: user has no permission to modify setting '{settingId}'.");
     }
 }
        protected void CheckUserHasPermissionToListContent(ContentType ct, ProtoCmsRuntimeContext rctx)
        {
            var listPerm = new ListContentPermission(ct);

            if (!rctx.UserHasPermission(listPerm.Id))
            {
                throw new HttpException(403, $"ProtoCMS: user is forbidden to list content type '{ct.Id}'.");
            }
        }
 protected void CheckUserHasPermissionToModifyContent(ProtoCmsRuntimeContext rctx,
                                                      ModifyContentPermission modPerm, ContentModifyOperation modOp, ContentType ct)
 {
     if (!rctx.UserHasPermission(modPerm.Id))
     {
         throw new HttpException(403, $"ProtoCMS: user is forbidden to perform modify operation " +
                                 $"'{modOp.Name}' on content type '{ct.Id}'.");
     }
 }