2016-11-16 12 views
0

私はこのクラスを将来の拡張のために作成し、通常どおりツリービューとフォームビューを作成しようとしました。私が間違っていることを見つけることができず、これはいかなる意見も生成しないので、これを修正するのを手伝ってください。あなたはすべてのビューにモデル名を書かれているそのクラスのOpenerpこれらのビューが生成されない理由

マイダミークラス

class leave_score(osv.osv): 
_name = "leave.score" 
_description="" 

_columns = { 

    'test1':fields.char('Test') 
} 

ビュー

<record id="view_leave_score_filter" model="ir.ui.view"> 
     <field name="name">leave.score.filter</field> 
     <field name="model">leave.score</field> 
     <field name="arch" type="xml"> 
      <search string="Search Company Holidyas"> 
       <field name="test1" string="Leave Types"/> 
      </search> 
     </field> 
    </record> 


    <record model="ir.ui.view" id="edit_leave_score_form"> 
     <field name="name">leave.score.form</field> 
     <field name="model">leave.score</field> 
     <field name="arch" type="xml"> 
     <form string="Leave Score" version="7.0"> 
       <field name="test1"/> 
     </form> 
     </field> 
    </record> 


    <record model="ir.ui.view" id="view_leave_score_tree"> 
     <field name="name">leave.score.tree</field> 
     <field name="model">leave.score</field> 
     <field name="arch" type="xml"> 
      <tree string="Leave Score"> 
       <field name="test1"/> 
      </tree> 
     </field> 
    </record> 



    <record model="ir.ui.view" id="view_normal_leave_score_tree"> 
     <field name="name">leave.score.normal.tree</field> 
     <field name="model">leave.score</field> 
     <field name="priority">35</field> 
     <field name="arch" type="xml"> 
      <tree string="Leave Score"> 
       <field name="test1"/> 
      </tree> 
     </field> 
    </record> 



    <record id="view_leave_score_search" model="ir.ui.view"> 
     <field name="name">leave.score.search</field> 
     <field name="model">leave.score</field> 
     <field name="arch" type="xml"> 
      <search string="Leave Score"> 
       <field name="test1"/> 
      </search> 
     </field> 
    </record> 


    <record id="open_view_leave_score" model="ir.actions.act_window"> 
     <field name="name">Leave Score Card</field> 
     <field name="type">ir.actions.act_window</field> 
     <field name="res_model">leave.score</field> 
     <field name="view_type">form</field> 
     <field name="view_mode">tree,form</field> 
     <field name="view_id" eval="view_normal_leave_score_tree"/> 
     <field name="search_view_id" ref="view_leave_score_search"/> 
    </record>  

    <menuitem name="Leave Score Cards" action="open_view_leave_score" id="menu_open_view_leave_score" parent="base.menu_reporting_dashboard"/> 

答えて

0

は "leave.core" が、クラスでありますモデル名は「leave.score」

<field name="model">leave.core</field> 

class leave_score(osv.osv): 
    _name = "leave.score" 

ただし、誤って記述したモデル名の場合、このモジュールをインストールしている間、これらのタイプミスによってエラーが発生することがあります。

XMLファイルをopenerp .pyファイルに追加したことを確認してください。それがなければ、このXMLコードはビューやアクションやメニューを作成しません。

名前は、すべてのビューで同じであってはなりません。これは、あなたのケースでは同じです。これにより問題が発生する可能性があります。

<field name="name">leave.score.filter</field> 
+0

申し訳ありませんが、私は気づいていませんでしたが、実際に質問ショットを取るためにここに私の見解を再入力しました。そのために、私はそのエラーを受けたと思います... btw私はそれを編集しました。素早い答えをありがとうございました。それ以外は、これで何かエラーを見つけましたか? –

+0

投稿を更新しましたので、その点を確認してください。 –

+0

あなたの親切な答えを教えてくれてありがとうございますが、それでも動作しません。私はxmlの部分を更新し、まだ動作していないのにもう一度試しました。 –

0

新しいモデルを作成していてビューのいずれも表示されない場合は、セキュリティ特権が原因です。

あなたが提供したコードに基づいてこのモジュールを作成したとき、私は管理者としてしか見ることができませんでした。他のユーザーがそれを見るようにするためには

enter image description here

、その後、あなたはそれを見ることが許可されるユーザーグループへのアクセス権を与える必要があります。あなたは "ir.model.access.csv"ファイルを作成し、それから持っているグループと特権を追加することでそれを行うことができます。

以下の例では、Sales Managerグループに対して読み取り、書き込み、作成、およびリンク解除の権限を付与しています。あなたはそう

{ 
    'name': 'your module name', 
    'version': '1.0', 
    'summary': 'your summary', 
    'description':'', 
    'category': 'your category', 
    'author': 'your name', 
    'website': '', 
    'depends': ['base' ], 
    'data': [ 
     'name_of_view_file.xml', 
     'ir.model.access.csv'], 
    'js': [], 
    'css': [], 
    'installable': True, 
    'auto_install': False, 
} 
よう__openerp__.pyファイルにir.access.model.csvファイルを登録することを確認し、他のグループのためのより多くの行を追加し、そして0の

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_leave_score_mngr,leave_score manager,model_leave_score,base.group_sale_manager,1,1,1,1 
access_leave_score_user,leave_score user,model_leave_score,base.group_user,1,0,0,0 

に1年代を変更することで、権限を削除することができます

また、インターフェイスを介して権限を追加することもできますが、ir.model.access.csvファイルを使用するのが好ましい方法です。また、他のほとんどのモジュールではセキュリティフォルダにir.model.access.csvファイルがありますので、__openerp__.pyファイルの行を 'ir.model.access.csv'から 'セキュリティ/ ir.model.access.csv 'があります。

関連する問題