2012-02-23 56 views
1

我在symfony2中開發一個項目,其中director創建一個項目並將其提交給代理。在創建項目時,導演必須有一個選項,可以使用該字段旁邊的複選框,然後只有代理可以看到該字段的值。 like this
現在,代理程序在查看這兩個字段時都會看到這兩個字段。Symfony2中的自定義字段可訪問性權限

這是我項目文件

class Project { 
/** @MongoDB\Id */ 
protected $id; 

/** @MongoDB\String */ 
protected $name; 
/** @MongoDB\EmbedOne(targetDocument="ProjectPermissions") */ 
protected $permissions; 
} 

ProjectPermissions

class ProjectPermissions { 
/** @MongoDB\Id */ 
    public $id; 

    /** @MongoDB\Boolean */ 
    public $name_permission; 

    /** @MongoDB\Boolean */ 
    public $type_permission; 
    } 

項目表格

public function buildForm(FormBuilder $builder, array $options) { 
$builder->add('name', 'text') 
     ->add('product_name','text')  
     ->add('permissions', new ProjectPermissionsType()); 

ProjectPermissionsType

class ProjectPermissionsType extends AbstractType { 
    public function buildForm(FormBuilder $builder, array $options) { 
    $notRequired = array('required'=>false); 
    $builder 
    ->add('name_permission','checkbox', $notRequired) 
    ->add('type_permission','checkbox', $notRequired) 
    } 
} 

首先,儘管形式呈現的複選框, 它不保存在數據庫中。 即使保存,如何處理?
二,我在正確的方向嗎?
三,有沒有這樣做的捆綁?

回答

1

找到沒有實際的字段ACL的包。 此外上面的代碼工作正常。