[IMP]hr: Improve employee view kanban and leaves management
authorMayur Maheshwari (OpenERP) <mma@tinyerp.com>
Tue, 29 May 2012 12:47:48 +0000 (18:17 +0530)
committerMayur Maheshwari (OpenERP) <mma@tinyerp.com>
Tue, 29 May 2012 12:47:48 +0000 (18:17 +0530)
bzr revid: mma@tinyerp.com-20120529124748-l4nqh230k9zat6yq

addons/hr/hr.py
addons/hr/hr_view.xml
addons/hr_holidays/hr_holidays.py
addons/hr_holidays/hr_holidays_view.xml

index 9d1ba1c..32c2910 100644 (file)
@@ -209,6 +209,7 @@ class hr_employee(osv.osv):
         'color': fields.integer('Color Index'),
         'city': fields.related('address_id', 'city', type='char', string='City'),
         'login': fields.related('user_id', 'login', type='char', string='Login', readonly=1),
+        'last_login': fields.related('user_id', 'date', type='datetime', string='Latest Connection', readonly=1),
     }
 
     def unlink(self, cr, uid, ids, context=None):
index 32eb3a8..7a3b294 100644 (file)
@@ -41,8 +41,6 @@
                         <page string="Personal Information">
                             <group col="2" colspan="2" groups="base.group_hr_user">
                                 <separator colspan="2" string="Social IDs"/>
-                                <field name="ssnid"/>
-                                <field name="sinid"/>
                                 <field name="identification_id"/>
                                 <field name="passport_id"/>
                                 <field name="otherid"/>
                             </group>
                             <group col="2" colspan="2">
                                 <separator string="Job Information" colspan="2"/>
-                                <field name="job_id" domain="[('state','!=','old')]"/>
+                                <field name="job_id" domain="[('state','!=','old')]" context="{'form_view_ref':'hr.view_hr_job_employee_form'}"/>
                                 <field name="coach_id" />
                             </group>
                         </page>
                         <page string="Categories" groups="base.group_hr_user">
-                            <field name="category_ids" nolabel="1"/>
+                            <field name="category_ids" colspan="4" nolabel="1" widget="many2many_tags"/>
                         </page>
                         <page string="Notes" groups="base.group_hr_user">
                             <field colspan="4" nolabel="1" name="notes"/>
         <field name="type">kanban</field>
         <field name="arch" type="xml">
             <kanban>
+                <field name="last_login"/>
                 <templates>
                     <t t-name="kanban-box">
                         <div class="oe_employee_vignette">
                             <div class="oe_employee_details">
                                 <h4><a type="edit"><field name="name"/> (<field name="login"/>)</a></h4>
                                 <ul>
+                                    <li t-if="record.last_login.raw_value">
+                                        <span t-if="record.last_login.raw_value &amp;&amp; record.last_login.raw_value.is().today()" class="oe_kanban_button" style="font-size: 100%%">
+                                              <t t-esc="record.last_login.raw_value.toString('HH:mm')"/>
+                                        </span>
+                                    </li>
                                     <li t-if="record.job_id.raw_value"><field name="job_id"/></li>
                                     <li t-if="record.work_location.raw_value"><field name="work_location"/></li>
                                     <li t-if="record.work_phone.raw_value">Tel: <field name="work_phone"/></li>
                 </search>
              </field>
          </record>
-
+        
+        <record id="view_hr_job_employee_form" model="ir.ui.view">
+            <field name="name">hr.job.employee.form</field>
+            <field name="model">hr.job</field>
+            <field name="type">form</field>
+           <field name="priority">20</field>
+            <field name="arch" type="xml">
+                <form string="Job">
+                    <field name="name" />
+                    <field name="department_id" />
+                    <newline/>
+                    <notebook colspan="4">
+                        <page string="Description">
+                            <separator colspan="4" string="Job Description"/>
+                            <field name="description" colspan="4" nolabel="1"/>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+        
         <record model="ir.actions.act_window" id="action_hr_job">
             <field name="name">Job Positions</field>
             <field name="res_model">hr.job</field>
index 4e68cdf..d44bf71 100644 (file)
@@ -513,7 +513,6 @@ class hr_employee(osv.osv):
         'current_leave_id': fields.function(_get_leave_status, multi="leave_status", string="Current Leave Type",type='many2one', relation='hr.holidays.status'),
         'leave_date_from': fields.function(_get_leave_status, multi='leave_status', type='date', string='From Date'),
         'leave_date_to': fields.function(_get_leave_status, multi='leave_status', type='date', string='To Date'),        
-        'last_login': fields.related('user_id', 'date', type='datetime', string='Latest Connection', readonly=1)
     }
 
 hr_employee()
index 32cdcb5..35f0d0f 100644 (file)
             <field name="act_window_id" ref="open_ask_holidays"/>
         </record>
 
-        <menuitem name="Leave Requests" parent="menu_open_ask_holidays" id="menu_open_ask_holidays_new" action="open_ask_holidays"/>
+        <menuitem name="My Leave Requests" parent="menu_open_ask_holidays" id="menu_open_ask_holidays_new" action="open_ask_holidays"/>
 
         <record model="ir.actions.act_window" id="request_approve_holidays">
             <field name="name">Requests Approve</field>
             <field name="arch" type="xml">
                 <field name="coach_id" position="after">
                     <field name="remaining_leaves"/>
-                    <field name="current_leave_id"/>
-                    <field name="current_leave_state" attrs="{'invisible':[('current_leave_id','=',False)]}"/>
+                    <field name="current_leave_id" invisible="1"/>
+                    <field name="current_leave_state" invisible="1"/>
                 </field>
             </field>
         </record>
             <field name="arch" type="xml">
                 <xpath expr="//templates" position="before">
                     <field name="current_leave_state"/>
-                    <field name="last_login"/>
                     <field name="leave_date_from"/>
                     <field name="leave_date_to"/>
                 </xpath>
                 <xpath expr="//div[@class='oe_employee_details']/ul/li" position="before">
-                    <li t-if="record.current_leave_id.raw_value || record.last_login.raw_value">
+                    <li t-if="record.current_leave_id.raw_value">
                         <span t-if="record.current_leave_id.raw_value" t-att-class="record.current_leave_state.raw_value=='validate'?'oe_kanban_color_3':'oe_kanban_color_2'">
                             <span class="oe_kanban_button" style="font-size: 100%%" t-att-title="record.leave_date_from.raw_value.toString('ddd dS MMM') + ' - ' + record.leave_date_to.raw_value.toString('ddd dS MMM')" >
                                 <field name="current_leave_id"/>
                             </span>
                         </span>
-                        <span t-if="record.last_login.raw_value &amp;&amp; record.last_login.raw_value.is().today()" class="oe_kanban_button" style="font-size: 100%%">
-                            <t t-esc="record.last_login.raw_value.toString('HH:mm')"/>
-                        </span>
                     </li>
                 </xpath>
             </field>