2014-04-24 3 views
1

하나의 그룹에 대해서만 판매 주문서에 "송장 생성"버튼을 표시하려고합니다. 그럴 수 있습니까? Sales에 새 그룹을 만들었습니다. 영업/지사입니다. 모든 사용자에 대해 "송장 생성" 버튼을 숨기고 "Sales/Branch Head" 그룹에 대해서만 표시 할 수 있습니다. 감사합니다. 사전에Openerp에서 하나의 그룹에 대해서만 버튼을 표시하는 방법

답변

2

groups 속성을 사용할 수 있습니다. 계정 모듈의 예 :

 <record id="view_invoice_line_tree" model="ir.ui.view"> 
     <field name="name">account.invoice.line.tree</field> 
     <field name="model">account.invoice.line</field> 
     <field name="type">tree</field> 
     <field name="arch" type="xml"> 
      <tree string="Invoice Line"> 
       <field name="name"/> 
       <field name="account_id" groups="account.group_account_user"/> 
       <field name="quantity"/> 
       <field name="uos_id"/> 
       <field name="price_unit"/> 
       <field name="discount" groups="base.group_extended"/> 
       <field name="price_subtotal"/> 
      </tree> 
     </field> 
    </record> 
+0

빠른 답변 감사합니다. 내가 만든 그룹의 그룹 이름을 찾는 방법을 알려주십시오. – nitesh

+1

이 그룹의 xml_id 여야합니다. 그것은'ir.model.data' 객체 중 하나에 있습니다. 그것은'module_name.id_of_group_from_xml'이어야합니다. –

+0

xml_id (이 경우 그룹에 해당)를 찾는 방법은 두 가지가 있습니다. 1. 디버그 모드에서 openerp를 사용하고 레코드 (여기에서 설정 -> ...-> 그룹 및 그룹)를 엽니 다. 이제 디버그 메뉴 "perm read"를 사용하면 xml_id | 2. db로 가서 ir_model_data 테이블을 찾으십시오. 여기에 "module"과 "name"필드로 결합 된 모든 xml_ids를 찾을 수 있습니다 (module.name은 xml_id가됩니다) – CZoellner

0

표시하려는 버튼없이 다른 모든 사용자의보기를 만들 수 있습니다. 그런 다음 첫 번째보기를 상속하는 다른보기를 만들고 원하는 그룹에 표시 할 단추를 추가하십시오. 여기에 제가 사용하고 있고 저를 위해 일하는 모범이 있습니다.

<?xml version="1.0"?> 
<openerp> 
    <data> 
     <!-- ##################################################### SHOW BUTTON ONLY TO MEMBERS OF SOME_GROUP ############################################################ --> 
     <record model="ir.ui.view" id="unique_id_of_your_new_view"> 
      <field name="name">view.unique.id.of.your.new.view</field> 
      <field name="model">your.model</field> 
      <field name="inherit_id" ref="id_of_view_youre_inheriting"/> 
      <field name="groups_id" eval="[(6, 0, [ref('name_of_your_group') ])]"/> 
      <field name="arch" type="xml"> 
       <field name="some_field_in_your_main_view" position="after"> 
        <!-- whatever you will place here will be shown only to members of 'name_of_your_group' --> 
        <button name="your_button" class="oe_highlight" string="This button is not shown to everybody" /> 
       </field> 
      </field> 
     </record> 
    </data> 
</openerp>