2017-07-16 42 views
0

我有一个CKAN 2.6.2安装部署了几百个数据集,使用python通过API添加,包括一些自定义字段,添加了ckan.action.package_patch(id = i ,extras = extra_fields)。Ckan - 需要登录才能查看某些元数据

我想使这些额外的字段之一只有当用户已经登录到组织。

我认为src/ckan/ckan/templates/package/snippets/additional_info.html或src/ckan/ckan/templates/snippets/additional_info.html是用来生成HTML行的模板喜欢有选择地过滤,但我坚持下一步。

任何人都可以帮助一些指针?

+0

请注意,API提供了完整的记录,因此如果您打算将其中的一部分设为私有,您也必须考虑如何处理。 –

+0

谢谢 - 好点。应答API调用的代码是否与代码完全分开,以呈现Web界面上的字段?如果是的话,那么我认为出于我们的目的,完全通过API隐藏它,并且只允许它登录Web用户,现在就是好行为。我现在正在努力导航代码并找出我应该寻找的位置...... –

回答

0

扩展PackageController,定义自定义路由,然后您需要调用organization_list_for_user操作,返回用户所属的组织,然后根据用户是否为组织成员,选择返回哪些额外操作。

相关问题