1 # -*- coding: utf-8 -*-
2 ##############################################################################
4 # OpenERP, Open Source Business Applications
5 # Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>).
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU Affero General Public License for more details.
17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ##############################################################################
22 from osv import osv, fields
24 class hr_timesheet_settings(osv.osv_memory):
25 _inherit = 'hr.config.settings'
28 'timesheet_range': fields.selection([('day','Day'),('week','Week'),('month','Month')],
29 'Validate timesheets every', help="Periodicity on which you validate your timesheets."),
30 'timesheet_max_difference': fields.float('Allow a difference of time between timesheets and attendances of (in hours)',
31 help="""Allowed difference in hours between the sign in/out and the timesheet
32 computation for one sheet. Set this to 0 if you do not want any control."""),
35 def get_default_timesheet(self, cr, uid, fields, context=None):
36 user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
38 'timesheet_range': user.company_id.timesheet_range,
39 'timesheet_max_difference': user.company_id.timesheet_max_difference,
42 def set_default_timesheet(self, cr, uid, ids, context=None):
43 config = self.browse(cr, uid, ids[0], context)
44 user = self.pool.get('res.users').browse(cr, uid, uid, context)
45 user.company_id.write({
46 'timesheet_range': config.timesheet_range,
47 'timesheet_max_difference': config.timesheet_max_difference,