I am building a project with symfony 3 and trying to decide between Voters and ACL. Soi have many Roles like (SUPERADMIN, ADMIN, Office, bureau, manager,user...) and my project should give the superadmin the possibility to add any other role via the interface.
Plus i have a lot of objects (Delivery note, contract, Cashing,...) and i should manage permissions to those objects here are some examples - The office can view and edit only the delevery note that are in the same city as the office
The user can only view the contracts
the manager can view and edit contracts that belongs to his office only
the superadmin can view and edit everything and add new roles and affect them to users
...
So it's going to be a huge project of management and i've found ACL and voters and couldn't decide which one is the adequate technology to my situation. Or maybe there is others technologies that can help me :/ thanks for your help