2015-12-04 3 views
0

Это feedback.form .py файл из openerp.osv полого импорта, О из OpenERP API импорта импорта каротажаКак добавить филтер в один вид дерева?

class feedback_form(osv.Model): 
     _name = 'feedback.form' 
     _rec_name = 'company_id111' 
     _columns = { 
      'company_id111': fields.many2one('res.company', 'Substation', required=True), 
      'completed': fields.boolean('Completed',default=False,readonly=False,required=False), 

      'frequency' : fields.char('Frequency'), 
      'shutdown' : fields.char('Shut Down'), 
      'insp_rslt' : fields.one2many('feedback.tree','insp_rsltts','Inspection Result',), 

     } 

     def get_detail_emp(self, cr, uid, ids, folionum, context=None): 
      val = {} 
       res = [] 
       if folionum: 
         for mom in self.pool.get('calendar.event').browse(cr,uid,folionum,context=context): 
          val = { 
             'inspec_type' : mom.inspection_name, 

            } 
          res.append(val) 

       return {'value': val} 


    feedback_form() 

    class feedback_tree(osv.Model): 
     _name = 'feedback.tree' 
     _rec_name = 'insp_rsltts' 
     STATUS = [ 
      ('0', 'Completed'), 
      ('1', 'Not-Completed'), 
     ] 

     _columns = { 
      'folionum' : fields.many2one('calendar.event','Maintenance ID',), 
      'folio_number' : fields.many2one('asset.asset','Folio number',), 
      'inspec_type' : fields.many2one('asset1.inspection','Inspection Type',), 
      'insp_msr1' : fields.many2one('results.measure','Attributes',), 
      'valuess' : fields.char('Values'), 
      'status' : fields.selection(STATUS,'Status'), 
      'insp_rsltts': fields.many2one('feedback.form','Result Id'), 


     } 
     def onchange_insp(self, cr, uid, ids, folionum,context=None): 
      dids = [] 
      res = {} 
      for record in self.pool.get('calendar.event').browse(cr, uid, folionum, context=context): 
       dids = [x.id for x in record.inspection_name] 
      dids1 = [] 
      for record in self.pool.get('calendar.event').browse(cr, uid, folionum, context=context): 
       dids1 = [x.id for x in record.folio_num1] 
      res.update({'inspec_type':[('id','in',dids)]}) 
      res.update({'folio_number':[('id','in',dids1)]}) 
      return {'domain':res} 

     def onchange_measure(self, cr, uid, ids, inspec_type, context=None): 
      dids = [] 
      for record in self.pool.get('asset1.inspection').browse(cr, uid, inspec_type, context=context): 
       dids = [x.id for x in record.msr_insp] 
      return {'domain':{'insp_msr1':[('id','in',dids)]}} 


    feedback_tree() 


<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 

    <!-- Form & Tree View for Visitor Register --> 
    <record model="ir.ui.view" id="feed_back_event"> 
      <field name="name">feedback.form.form</field> 
      <field name="model">feedback.form</field> 

      <field name="arch" type="xml"> 
       <form string="feedback"> 
        <group> 
         <!-- <field name="number"/>--> 
      <field name="company_id111"/> 







      </group> 
      <hr/><group> 
      <!--<group><group><field name="insp_msr1" options="{'no_create': True, 'no_open': True}"/></group><group>--><field name="insp_rslt">   <tree string="Insp Result" editable="bottom"> 

       <field name="folionum" options="{'no_create': True, 'no_open': True}" on_change="onchange_insp(folionum)"/> 
      <!--<field name="place" on_change="onchange_place(place)"/>--> 
      <field name="folio_number" options="{'no_create': True, 'no_open': True}"/> 


      <field name="inspec_type" on_change="onchange_measure(inspec_type)"/> 
      <field name="insp_msr1"/> 
      <field name="valuess"/> 
      <field name="status"/> 
      </tree> 
      </field> 


      </group> 





     <group> 
      <field name="completed"/></group> 
       </form> 
    </field> 
     </record> 




    <record id="feed_back_action" model="ir.actions.act_window"> 
      <field name="name">Maintenance Feedback Form</field> 
      <field name="res_model">feedback.form</field> 
      <field name="view_type">form</field>  

      <field name="help" type="html"> 
        <p class="oe_view_nocontent_create">Click to create a new Maintenance Feedback</p> 
      </field>  
      </record> 
    **<record id="feed_back_filter" model="ir.ui.view"> 
      <field name="name">Feedback</field> 
      <field name="model">feedback.form</field> 
      <field name="arch" type="xml"> 
       <search string="Feedback"> 

        <!--<field name="completed" />--> 

        <group expand="0" string="Group By"> 

         <filter string="Pending" domain="[]" context="{'group_by':'insp_rslt'}"/> 

        </group> 
       </search> 
      </field> 
     </record>** 
    <menuitem id="feedback_configs" name="Maintenance Feedback"/> 
     <menuitem id="substation_feedback_menu" name="Maintenance Feedback " parent="base.menu_mro_root"/> 
     <menuitem id="feed_back_creation" name="Maintenance Feedback Form" parent="substation_feedback_menu" action="feed_back_action"/> 


    </data> 
</openerp> 

Как добавить группы по из состояния поля класса feedback.tree в xml-файл. У меня есть три варианта с некоторыми возможностями, но я получаю

ответ

0

Исключительно это ограничение, поэтому вам нужно создать некоторую работу. что вы можете сделать здесь, на модели feedback.form вы можете создать одно вычислительное текстовое поле и сохранить state поля o2m insp_rslt(обязательно, чтобы вычислить поле store=True), а затем добавить поле в поле зрения, которое позволит вам todo-фильтрации и группировки в поле вычислений.

Да, вы можете сказать, что здесь запись поля 02М может иметь несколько состояний, для чего вы можете хранить их как текстовое поле, и это позволит вам фильтровать на основе содержит. Или вы можете агрегировать и сохранить одно государство, производящее поле выбора вычислений.

Bests

+0

пожалуйста, поделитесь один код для этого –

+0

пожалуйста добавить код Yaar –

Смежные вопросы