idg_letter.xml 13.6 KB
<odoo>
    <data>
        <record id="letter_incoming_tree" model="ir.ui.view">
            <field name="name">idg.letter.incoming.tree</field>
            <field name="model">idg.letter</field>
            <field name="arch" type="xml">
                <tree string="Incoming Letter" sample="1" create="1" delete="1" multi_edit="0">
                    <field name="date"/>
                    <field name="contact_id" string="From"/>
                    <field name="code" string="Code"/>
                    <field name="name" string="Name"/>
                    <field name="category_id"/>
                    <field name="need_feedback"/>
                    <field name="deadline"/>
                    <field name="state"/>
                    <field name="create_uid"/>

                </tree>
            </field>
        </record>

        <record id="letter_outgoing_tree" model="ir.ui.view">
            <field name="name">idg.letter.outgoing.tree</field>
            <field name="model">idg.letter</field>
            <field name="arch" type="xml">
                <tree string="Incoming Letter" sample="1" create="1" delete="1" multi_edit="0">
                    <field name="date"/>
                    <field name="contact_id" string="To"/>
                    <field name="code" string="Code"/>
                    <field name="name" string="Name"/>
                    <field name="category_id"/>
                    <field name="parent_id"/>
                    <field name="all_state" string="State"/>
                    <field name="create_uid"/>
                </tree>
            </field>
        </record>

        <record id="letter_form" model="ir.ui.view">
            <field name="name">idg.letter.form</field>
            <field name="model">idg.letter</field>
            <field name="arch" type="xml">
                <form string="Letter">
                    <header>
                        <button class="oe_stat_button" name="attachment_tree_view" type="object" icon="fa-file-text-o">
                            <field string="Documents" name="doc_count" widget="statinfo"/>
                        </button>

                        <button name="action_submit" type="object" string="Submit"
                                attrs="{'invisible':[('user_state','!=', 'draft')]}"/>
                        <button name="action_approve" type="object" string="Approve"
                                attrs="{'invisible':[('user_state','in', [False, 'draft', 'approved','canceled', 'refused'])]}"/>
                        <button name="action_recall" type="object" string="Recall"
                                attrs="{'invisible':['|',('user_state','in', [False, 'draft','pending']),('state','in',['canceled','refused','approved'])]}"/>

                        <button name="action_draft" type="object" string="Draft"
                                attrs="{'invisible':[('state','!=', 'canceled')]}"/>

                        <button name="action_refuse" type="object" string="Refuse"
                                attrs="{'invisible':[('user_state','in', [False,'draft','approved','refused','canceled'])]}"/>

                        <button name="action_cancel" type="object" string="Cancel"
                                attrs="{'invisible':[('user_state','in', ['approved','canceled'])]}"/>

                        <button name="action_set_code" type="object" string="Set Code"
                                groups="idg_letter.group_idg_letter_user"
                                attrs="{'invisible':['|','|',('typ', '=', 'in'), ('user_state','!=', 'approved'), ('code','!=','/')]}"/>

                        <field name="state" widget="statusbar"/>
                    </header>
                    <sheet>
                        <group>
                            <group>
                                <field name="all_state" invisible="1"/>
                                <field name="user_state" invisible="1"/>
                                <field name="current_user" invisible="1"/>
                                <field name="typ" invisible="1"/>
                                <div colspan="12">
                                    <h1>
                                        <field name="name" attrs="{'readonly':[('state','!=','draft')]}"
                                               placeholder="Subject"/>

                                    </h1>
                                </div>
                                <div colspan="12">
                                    <h2>
                                        <field name="code"
                                               attrs="{'readonly':['|','&amp;', ('state','!=','draft'),  ('typ','=' ,'in'), ('typ','=' ,'out')]}"
                                               placeholder="Code" groups="base.group_user"/>
                                    </h2>
                                    <!--                                    <h3>-->
                                    <!--                                        <field name="code" placeholder="Set Code"-->
                                    <!--                                               groups="idg_letter.group_idg_letter_user"-->
                                    <!--                                               attrs="{'readonly': [('state','!=','approved'), ('typ','=' ,'out')], 'invisible':[('typ','=' ,'in')]}"/>-->
                                    <!--                                    </h3>-->
                                </div>

                                <!--                                <field name="department_id"-->
                                <!--                                       attrs="{'readonly':[('state','!=','draft')], 'invisible': [('typ','=','in')]}"/>-->

                                <field name="parent_id" string="Reply To"
                                       attrs="{'readonly':[('state','!=','draft')], 'invisible': [('typ','=','in')]}"/>

                                <field name="contact_id" string="From"
                                       attrs="{'readonly':[('state','!=','draft')], 'invisible':[('typ','=','out')]}"/>
                                <field name="contact_id" string="To"
                                       attrs="{'readonly':[('state','!=','draft')], 'invisible':[('typ','=','in')]}"/>

                                <field name="employee_id"
                                       attrs="{'readonly':[('state','!=','draft')], 'invisible':[('typ','=','in')]}"
                                       groups="idg_letter.group_idg_letter_user"/>

                                <field name="date" attrs="{'readonly':[('state','!=','draft')]}"/>
                                <field name="secrecy" required="1"/>
                                <field name="delivery_speed" attrs="{'invisible':[('typ','!=','out')]}"/>
                                <field name="type_id" attrs="{'readonly':[('state','==','approved')]}" required="1"/>
                                <field name="category_id" attrs="{'readonly':[('state','==','approved')]}"
                                       required="1"/>
                                <field name="need_feedback" string="Feedback"
                                       attrs="{'readonly':[('state','!=','draft')], 'invisible': [('typ','=','out')]}"/>
                                <field name="deadline"
                                       attrs="{'required':[('need_feedback', '!=', False)], 'readonly':[('state','!=','draft')], 'invisible': [('typ','=','out')]}"/>
                                <field name="create_uid" string="Creator" readonly="1"/>
                            </group>

                            <group>
                                <notebook colspan="12">
                                    <page string="Approver" id="letter_route_page">
                                        <field name="approver_ids"
                                               mode="tree,kanban"
                                               widget="section_and_note_one2many">
                                            <tree editable="bottom" string="Approver">
                                                <control>
                                                    <create name="add_line_control" string="Add a line"/>
                                                </control>
                                                <field name="user_id" attrs="{'readonly':[('required','=',True)]}"/>
                                                <field name="state" readonly="True"/>
                                                <field name="required" readonly="True"/>
                                            </tree>
                                        </field>
                                    </page>
                                </notebook>
                            </group>
                        </group>
                        <notebook>
                            <page string="Description" id="letter_description">
                                <field name="description" attrs="{'readonly':[('state','!=','draft')]}"/>
                            </page>
                        </notebook>

                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="activity_ids"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                </form>
            </field>
        </record>

        <record id="letter_incoming_action" model="ir.actions.act_window">
            <field name="name">Incoming Letter</field>
            <field name="res_model">idg.letter</field>
            <field name="view_mode">tree,form</field>
            <field name="domain">[('typ','=','in')]</field>
            <field name="view_id" ref="letter_incoming_tree"/>
            <field name="context">{'default_typ': 'in'}</field>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">
                    Incoming Letter
                </p>
            </field>
        </record>


        <record id="letter_outgoing_action" model="ir.actions.act_window">
            <field name="name">Outgoing Letter</field>
            <field name="res_model">idg.letter</field>
            <field name="view_mode">tree,form</field>
            <field name="domain">[('typ','=','out')]</field>
            <field name="view_id" ref="letter_outgoing_tree"/>
            <field name="context">{'default_typ': 'out'}</field>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">
                    Outgoing Letter
                </p>
            </field>
        </record>
        <record id="letter_todo_tree" model="ir.ui.view">
            <field name="name">idg.letter.outgoing.tree</field>
            <field name="model">idg.letter</field>
            <field name="arch" type="xml">
                <tree string="Incoming Letter" sample="1" create="0" delete="0" multi_edit="0">
                    <field name="typ"/>
                    <field name="date"/>
                    <field name="contact_id" string="From/To"/>
                    <field name="code" string="Code"/>
                    <field name="name" string="Name"/>
                    <field name="category_id"/>
                    <field name="parent_id"/>
                    <field name="create_uid"/>
                    <field name="user_state" string="Your State"/>
                    <field name="state" string="State"/>
                </tree>
            </field>
        </record>


        <record id="letter_todo_action" model="ir.actions.act_window">
            <field name="name">To Dox</field>
            <field name="res_model">idg.letter</field>
            <field name="view_mode">tree,form</field>
            <field name="domain">[('state','=','pending')]</field>
            <field name="view_id" ref="letter_todo_tree"/>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">
                    Todo Letter
                </p>
            </field>
        </record>


        <record id="letter_task_action" model="ir.actions.act_window">
            <field name="name">All Task</field>
            <field name="res_model">idg.letter</field>
            <field name="view_mode">tree,form</field>
            <!--            <field name="domain">['|',('create_uid','=',uid),('approver_ids.user_id','=',uid)]</field>-->
            <field name="view_id" ref="letter_todo_tree"/>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">
                    Task Letter
                </p>
            </field>
        </record>

        <menuitem id="letter_todo_menu"
                  name="To Do"
                  parent="idg_letter_menu"
                  action="letter_todo_action"
                  sequence="1"/>

        <menuitem id="letter_task_menu"
                  name="Task"
                  parent="idg_letter_menu"
                  action="letter_task_action"
                  sequence="2"/>

        <menuitem id="letter_incoming_menu"
                  name="Incoming"
                  parent="idg_letter_menu"
                  action="letter_incoming_action"
                  groups="group_idg_letter_user"
                  sequence="3"/>
        <!--groups="idg_eoffice.group_idg_letter_user"-->

        <menuitem id="letter_outgoing_menu"
                  name="Outgoing"
                  parent="idg_letter_menu"
                  action="letter_outgoing_action"
                  sequence="4"/>
    </data>

</odoo>