Solved it creating a XML file with domain rules. I'll leave here a sample for future reference, in case someone has the same problem.
<?xml version="1.0"?>
<openerp>
<data>
<!-- everyone can see issued opinions, but can't edit them -->
<record id="processos_uc_see_issued_opinions_rule" model="ir.rule">
<field name="name">See issued opinions rule</field>
<field name="model_id" ref="model_opinion"/>
<field name="domain_force">[('state','=','issued')]</field>
<field name="perm_read" eval="True"/> <!-- can see -->
<field name="perm_write" eval="False"/> <!-- can't change it -->
<field name="perm_unlink" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="global" eval="0" />
<field name="groups" eval="[(6,0,[ref('processos_uc.group_processos_user')])]"/>
</record>
<!-- consultant can see and edit his opinion requests -->
<record id="processos_uc_see_own_opinions_rule" model="ir.rule">
<field name="name">See own opinions rule</field>
<field name="model_id" ref="model_opinion"/>
<field name="domain_force">['|',('consultant_uid','=',user.id),('consultant_uid','=',False)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="global" eval="0" />
<field name="groups" eval="[(6,0,[ref('processos_uc.group_processos_user')])]"/>
</record>
<!-- requestor can see and edit opinion requests while they're draft -->
<record id="processos_uc_create_draft_opinions_rule" model="ir.rule">
<field name="name">Create opinions rule</field>
<field name="model_id" ref="model_opinion"/>
<field name="domain_force">['&',('state','=','requested'),'|',('requestor','=', user.id),('requestor','=', False)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="global" eval="0" />
<field name="groups" eval="[(6,0,[ref('processos_uc.group_processos_user')])]"/>
</record>
<!-- managers can do anything! -->
<record id="processos_uc_managers_can_do_anything_rule" model="ir.rule">
<field name="name">Managers can do anything rule</field>
<field name="model_id" ref="model_opinion"/>
<field name="domain_force">[(1,'=',1)]</field> <!-- can do anything! -->
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="global" eval="0" />
<field name="groups" eval="[(6,0,[ref('processos_uc.group_processos_manager')])]"/>
</record>
</data>
</openerp>