OCA/management-system

View on GitHub
mgmtsystem_claim/views/mgmtsystem_claim.xml

Summary

Maintainability
Test Coverage
<openerp>
  <data>

    <!-- Claims -->

    <record model="ir.ui.view" id="mgmtsystem_claims_tree_view">
      <field name="name">Management System Claims Tree</field>
      <field name="model">mgmtsystem.claim</field>
      <field name="arch" type="xml">
        <tree string="Claims" 
              colors="blue:stage_id==%(mgmtsystem_claim.stage_pending)d and not(date_deadline and (date_deadline &lt; current_date));gray:stage_id in (%(mgmtsystem_claim.stage_close)d, %(mgmtsystem_claim.stage_cancel)d);red:date_deadline and (date_deadline &lt; current_date)">
          <field name="reference"/>
          <field name="name"/>
          <field name="partner_id"/>
          <field name="user_id"/>
          <field name="date"/>
          <field name="date_action_next"/>
          <field name="action_next"/>
          <field name="categ_id" string="Type" select="1"/>
          <field name="stage_id" />
          <field name="date_deadline" invisible="1"/>
          <field name="date_closed" invisible="1"/>
          <field name="company_id" group="base.group_multi_company"/>
        </tree>
      </field>
    </record>

    <record model="ir.ui.view" id="mgmtsystem_claims_form_view">
      <field name="name">Management System Claims Form</field>
      <field name="model">mgmtsystem.claim</field>
      <field name="arch" type="xml">
        <form string="Claim" version="7.0">
          <header>
            <field name="stage_id" widget="statusbar" clickable="True"/>
          </header>
          <sheet string="Claims">
            <group>
              <field name="name"/>
              <field name="date"/>
              <field name="reference"/>
              <field name="company_id" group="base.group_multi_company"/>
            </group>
            <group colspan="4" col="4"  groups="base.group_user">
              <field name="user_id"/>
              <field name="priority"/>
              <field name="section_id"/>
              <field name="date_deadline"/>
            </group>
            <group colspan="4" col="4">
              <notebook>
                <page string="Claim Description">
                  <group colspan="2" col="2" groups="base.group_user">
                    <separator colspan="2" string="Claim Reporter"/>
                    <field name="partner_id" string="Partner"
                      on_change="onchange_partner_id(partner_id)"/>
                    <field name="partner_phone"/>
                    <field name="email_from" widget="email"/>
                  </group>
                  <group colspan="2" col="2" groups="base.group_user">
                    <separator colspan="2" string="Responsibilities"/>
                    <field name="user_fault"/>
                    <field name="categ_id" widget="selection"
                      domain="[('object_id.model', '=', 'crm.claim')]"/>
                    <field name="ref"/>
                  </group>
                  <separator colspan="4" string="Claim/Action Description" groups="base.group_user"/>
                  <field name="description" colspan="4" nolabel="1"/>
                </page>
                <page string="Follow Up" groups="base.group_user">
                  <group colspan="2" col="2">
                    <separator colspan="2" string="Actions"/>
                    <field name="date_action_next"/>
                    <field name="action_next"/>
                  </group>
                  <group colspan="2" col="2" groups="base.group_no_one">
                    <separator colspan="2" string="Dates"/>
                    <field name="create_date"/>
                    <field name="date_closed"/>
                    <field name="write_date"/>
                  </group>

                  <group colspan="2" col="2">
                    <separator colspan="2" string="Root Causes"/>
                    <field name="cause" colspan="2" nolabel="1"/>
                  </group>
                  <group colspan="2" col="2">
                    <separator colspan="2" string="Resolution Actions"/>
                    <field name="type_action"/>
                    <field name="resolution" colspan="2" nolabel="1"/>
                  </group>
                </page>
              </notebook>
            </group>
          </sheet>
          <div class="oe_chatter">
            <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
            <field name="message_ids" widget="mail_thread" placeholder="Share a note..."/>
          </div>
        </form>
      </field>
    </record>

    <!-- Claim Calendar view -->

    <record model="ir.ui.view" id="mgmtsystem_claims_calendar_view">
      <field name="name">Claims</field>
      <field name="model">mgmtsystem.claim</field>
      <field name="priority" eval="2"/>
      <field name="arch" type="xml">
        <calendar string="Claims" date_start="date_action_next" color="user_id">
          <field name="name"/>
        </calendar>
      </field>
    </record>

    <!-- Claim Search view -->

    <record id="view_mgmtsystem_claims_filter" model="ir.ui.view">
      <field name="name">Management System Claims Search</field>
      <field name="model">mgmtsystem.claim</field>
      <field name="arch" type="xml">
        <search string="Search Claims">
          
          <filter icon="terp-check" string="Current" name="current"
            domain="[('state','in',(%(mgmtsystem_claim.stage_draft)d, %(mgmtsystem_claim.stage_open)d))]"
            separator="1" help="Draft and Open Claims" />

          <filter icon="terp-gtk-media-pause"
            string="Pending"
            domain="[('state','=', %(mgmtsystem_claim.stage_pending)d)]"
            separator="1" help="All pending Claims" />

          <field name="name" select='1'/>
          <field name="partner_id" select="1"/>
          <field name="user_id" select="1" widget="selection">
            <filter icon="terp-personal-"
              domain="[('user_id','=', False)]"
              help="Unassigned Claims" />
          </field>

          <newline/>

          <group expand="0" string="Group By...">
            <filter string="Partner" icon="terp-partner"
              domain="[]" help="Partner"
              context="{'group_by':'partner_id'}" />
            <filter string="Responsible" icon="terp-personal"
              domain="[]" help="Responsible User"
              context="{'group_by':'user_id'}" />
            <separator orientation="vertical"/>
            <filter string="Stage" icon="terp-stage"
              domain="[]" context="{'group_by':'stage_id'}" />
            <filter string="Type" icon="terp-stock_symbol-selection"
              domain="[]" context="{'group_by':'categ_id'}" />

            <filter string="Stages"
              icon="terp-stock_effects-object-colorize"
              domain="[]" context="{'group_by':'state_id'}" />

            <separator orientation="vertical"/>

            <filter string="Claim Date" icon="terp-go-month"
              domain="[]" help="Claim Date"
              context="{'group_by':'date'}" />
            <filter string="Deadline" icon="terp-go-month"
              domain="[]"
              context="{'group_by':'date_deadline'}" />
            <filter string="Closure" icon="terp-go-month"
              domain="[]" help="Date Closed"
              context="{'group_by':'date_closed'}" />
          </group>
        </search>
      </field>
    </record>

    <record model="ir.actions.act_window" id="mgmtsystem_claim_action">
      <field name="name">Claims</field>
      <field name="res_model">mgmtsystem.claim</field>
      <field name="view_type">form</field>
      <field name="view_mode">tree,calendar,form</field>
      <field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field>
      <field name="help">Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.</field>
    </record>

    <menuitem 
      id="menu_mgmtsystem_claims"
      name="Claims" 
      parent="mgmtsystem.menu_mgmtsystem_main" 
      action="mgmtsystem_claim_action" 
      sequence="90"
      groups="mgmtsystem.group_mgmtsystem_manager,mgmtsystem.group_mgmtsystem_auditor,base.group_user"/>

  </data>
</openerp>