[IMP] hr_holidays: code cleaning, improvement, modify views, add search views
bzr revid: mra@tinyerp.com-20100312111335-0ujm9nobrdd9btze
This commit is contained in:
@@ -283,6 +283,11 @@ class hr_holidays(osv.osv):
|
||||
|
||||
def holidays_confirm(self, cr, uid, ids, *args):
|
||||
for record in self.browse(cr, uid, ids):
|
||||
# if not record.employee_id.parent_id:
|
||||
# raise osv.except_osv(_('Warning!'),_('You can not confirm leave for %s while %s has no manager.' %(record.employee_id.name,record.employee_id.name)))
|
||||
# calender_id= self.pool.get('resource.calendar').search(cr, uid, [('company_id','=',record.employee_id.company_id.id),('manager','=',record.employee_id.parent_id.user_id.id)])
|
||||
# if not calender_id:
|
||||
# raise osv.except_osv(_('Warning!'),_('You have to define the calendar resource for %s company.' %(record.employee_id.company_id.name)))
|
||||
leave_asked = record.number_of_days_temp
|
||||
if record.type == 'remove':
|
||||
if record.employee_id and not record.holiday_status_id.limit:
|
||||
@@ -298,27 +303,28 @@ class hr_holidays(osv.osv):
|
||||
self.write(cr, uid, [record.id], {
|
||||
'state':'confirm',
|
||||
'number_of_days': nb,
|
||||
'user_id': user_id
|
||||
'user_id': user_id,
|
||||
'manager_id': record.employee_id.parent_id and record.employee_id.parent_id.id or False
|
||||
})
|
||||
vals= {
|
||||
'name':record.name,
|
||||
'date_from':record.date_from,
|
||||
'date_to':record.date_to,
|
||||
'calendar_id':record.employee_id.calendar_id.id,
|
||||
'company_id':record.employee_id.company_id.id,
|
||||
# 'calendar_id':calender_id[0],
|
||||
'resource_id':record.employee_id.resource_id.id
|
||||
}
|
||||
#self.pool.get('resource.calendar.leaves').create(cr,uid,vals)
|
||||
|
||||
self.pool.get('resource.calendar.leaves').create(cr,uid,vals, context=context)
|
||||
return True
|
||||
|
||||
def holidays_refuse(self, cr, uid, ids, *args):
|
||||
vals = {
|
||||
'state':'refuse',
|
||||
}
|
||||
ids2 = self.pool.get('hr.employee').search(cr, uid, [('user_id','=', uid)])
|
||||
if ids2:
|
||||
vals['manager_id'] = ids2[0]
|
||||
# ids2 = self.pool.get('hr.employee').search(cr, uid, [('user_id','=', uid)])
|
||||
# if ids2:
|
||||
# vals['manager_id'] = ids2[0]
|
||||
for record in self.browse(cr, uid, ids):
|
||||
vals['manager_id']=record.employee_id.parent_id.id
|
||||
self.write(cr, uid, ids, vals)
|
||||
return True
|
||||
|
||||
@@ -327,6 +333,9 @@ class hr_holidays(osv.osv):
|
||||
self.write(cr, uid, ids, {
|
||||
'state':'cancel'
|
||||
})
|
||||
for record in self.browse(cr, uid, ids):
|
||||
calender_leave_id= self.pool.get('resource.calendar.leaves').search(cr, uid, [('date_from','=',record.date_from),('date_to','=',record.date_to),('resource_id','=',record.employee_id.resource_id.id)])
|
||||
self.pool.get('resource.calendar.leaves').unlink(cr, uid, calender_leave_id[0])
|
||||
return True
|
||||
|
||||
def holidays_draft(self, cr, uid, ids, *args):
|
||||
|
||||
@@ -153,7 +153,8 @@
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="number_of_days" string="Number of Days" sum='Remaining Days'/>
|
||||
<!--<field name="number_of_days" string="Number of Days" sum='Remaining Days'/>-->
|
||||
<field name="number_of_days" string="Number of Days" />
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<field name="holiday_status_id"/>
|
||||
@@ -164,6 +165,27 @@
|
||||
</record>
|
||||
|
||||
<!-- My leave dashboard -->
|
||||
<record id="view_hr_holiday_per_user_filter" model="ir.ui.view">
|
||||
<field name="name">hr.holiday.per.user.filter</field>
|
||||
<field name="model">hr.holidays.per.user</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Holiday Per User">
|
||||
<group col='8' colspan='4'>
|
||||
<field name="employee_id" select='1' widget="selection"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="holiday_status" select="1" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="4" col="20" expand='1' string='Group by...'>
|
||||
<filter string='Employee Name' icon="terp-partner" domain="[]" context="{'group_by' : 'employee_id'}" />
|
||||
<filter string='Holiday Status' icon="terp-hr" domain="[]" context="{'group_by' : 'holiday_status'}" />
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_my_leave_board_form">
|
||||
<field name="name">hr.holidays.per.user.form</field>
|
||||
<field name="model">hr.holidays.per.user</field>
|
||||
@@ -194,7 +216,7 @@
|
||||
<field name="max_leaves"/>
|
||||
<field name="leaves_taken" />
|
||||
<field name="remaining_leaves"/>
|
||||
<field name="notes"/>
|
||||
<!--<field name="notes"/>-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -273,6 +295,19 @@
|
||||
action="open_allocation_holidays"/>-->
|
||||
|
||||
<!-- holidays status -->
|
||||
<record id="view_hr_holiday_status_filter" model="ir.ui.view">
|
||||
<field name="name">hr.holidays.status.filter</field>
|
||||
<field name="model">hr.holidays.status</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Holiday Status">
|
||||
<group col='8' colspan='4'>
|
||||
<field name="name" select='1'/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="edit_holiday_status_form">
|
||||
<field name="name">hr.holidays.status.form</field>
|
||||
<field name="model">hr.holidays.status</field>
|
||||
@@ -281,7 +316,7 @@
|
||||
<form string="Leave Type">
|
||||
<field colspan="4" name="name" select="1"/>
|
||||
<field name="color_name" select="2"/>
|
||||
<field name="section_id" select="1" widget="selection"/>
|
||||
<field name="section_id" select="2" widget="selection"/>
|
||||
<field name="limit" select="2"/>
|
||||
<field name="active" select="2"/>
|
||||
</form>
|
||||
@@ -305,6 +340,7 @@
|
||||
<field name="res_model">hr.holidays.status</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_hr_holiday_status_filter"/>
|
||||
</record>
|
||||
|
||||
<menuitem sequence="9" id="hr.menu_open_view_attendance_reason_config" parent="hr.menu_hr_configuration" name="Leaves"/>
|
||||
@@ -331,6 +367,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_my_leave_board_tree"/>
|
||||
<field name="search_view_id" ref="view_hr_holiday_per_user_filter"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Holiday Per User"
|
||||
|
||||
Reference in New Issue
Block a user