我创建了简单的数据对象:
?>
请告诉我如何自定义我的ModelAdmin,以便所有用户只能查看所有对象,只有所有者(ID == MemberID的用户)可以编辑和删除他的对象? 结果我想看到这样的图片:[https://yadi.sk/i/o5Nys_szqnPtQ ]
我尝试使用这样的代码:
class Documents extends DataObject {
private static $db = array(
'DocType' => 'Text',
'ApprovalDate' => 'Date',
'PublicationDate' => 'Date',
'DocNumber' => 'Text',
'DocTitle' => 'Text'
);
private static $has_one = array(
'Member' => 'Member'
);
如何在GridField的行中获取$ Value_of_MemberID_Field?
答案 0 :(得分:3)
您应该查看模型权限:https://docs.silverstripe.org/en/3.3/developer_guides/model/permissions/。
对于您的示例,它可能看起来像这样:
public function canEdit($member = null) {
return (Member::currentUserID() == $this->MemberID);
}
public function canDelete($member = null) {
return (Member::currentUserID() == $this->MemberID);
}