允许在受保护资源上设置‘is_public’

由于is_public 是所有对象的元信息而非内容,Sahara 应允许即使 is_protected 为 True 也能更改它。这将简化用户共享受保护对象的操作。

https://blueprints.launchpad.net/sahara/+spec/allow-public-on-protected

问题描述

目前对 is_protected 的检查会阻止修改对象中的任何字段。这保证了对象的内容不会被意外更改。

然而,is_public 是一个访问控制标志,与对象内容无关。为了共享受保护的对象,用户目前必须将 is_protected 设置为 False,同时更改 is_public,然后执行另一个操作将 is_protected 标志设置回 True。

提议的变更

为了方便起见,允许即使 is_protected 为 True 也能修改 is_publicis_public 字段将是唯一例外,不受常规检查的约束。

替代方案

保持不变

数据模型影响

REST API 影响

其他最终用户影响

部署者影响

开发者影响

Sahara-image-elements impact

Sahara-dashboard / Horizon 影响

这可能需要 Horizon 的更改 (croberts 请评论)

实现

负责人

主要负责人

tmckay

其他贡献者

croberts

工作项

修改 Sahara 引擎中的 is_protected 检查 修改单元测试 Horizon 更改

依赖项

测试

单元测试

文档影响

没有,除非当前存在讨论受保护/公开的部分

参考资料