лично я когда-то давно делал weight для полей, например Имя - 20, цена - 50
и ролям задавал параметр максимального веса, по которому он мог редачить поля менеджер например имел 30 веса, соответственно он мог редачить имя но не мог цену - веса не хватало, а админ имел например 70 веса и мог редачить все