From c91d213f028dd6de78059cfe420bba06a0078bf7 Mon Sep 17 00:00:00 2001 From: Priyesh Date: Fri, 12 Sep 2008 16:38:15 +0530 Subject: [PATCH 1/7] Formatted reprot using OOPlugins expense.sxw and expense.rml of hr_expense module. bzr revid: solanki.priyesh@gmail.com-20080912110815-erq9682bey9qwc81 --- addons/hr/report/attendance_errors.rml | 229 +++++++++++++++++++------ addons/hr_expense/report/expense.rml | 197 ++++++++++----------- 2 files changed, 261 insertions(+), 165 deletions(-) diff --git a/addons/hr/report/attendance_errors.rml b/addons/hr/report/attendance_errors.rml index a2d9ebe3625..01488018cf9 100644 --- a/addons/hr/report/attendance_errors.rml +++ b/addons/hr/report/attendance_errors.rml @@ -2,7 +2,7 @@ @@ -10,7 +10,35 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18,130 +46,217 @@ + - + - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - - - + + + + + + + - + + - + + + + + + + + + + - - - + + - - - + - - + + + + + + + + + + + + + + + - [[ repeatIn(objects,'employee') ]] - Attendance Errors - [[ employee.name ]] - + [[ repeatIn(objects,'o') ]] + HR Expenses [[ o.name or '' ]] + - + - Operation + Employee - Date Signed + Date - Date Recorded - - - Delay - - - Min Delay + Reference - + - [[ repeatIn(lst(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay']), 'att') ]] - + [[ o.employee_id.name ]] + + + [[ time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d')) ]] + + + [[ o.ref ]] + + + + + + + + + + + + + + + + Date + + + Name + + + Ref. + + + Unit price + + + Qty + + + Total + + + + + + + [[ repeatIn(o.line_ids,'line') ]] + - [[ att['action'] ]] + [[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]] - [[ att['date'] ]] + [[ line.name or '' ]] [[ line.description or '' ]] - [[ att['create_date'] ]] + [[ line.ref or '' ]] - [[ att['delay'] ]] + [[ '%.2f' % line.unit_amount or '' ]] - [[ att['delay2'] ]] + [[ '%.2f' % line.unit_quantity or '' ]] + + + [[ '%.2f' % line.total_amount or '' ]] + + + [[ company.currency_id.name ]] - + - Total period: + + + - [[ total(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay'])[0] ]] + Total: - [[ total(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay'])[1] ]] + [[ '%.2f' % o.amount ]] + + + [[ company.currency_id.name ]] + + + + [[ o.note or '' ]] [[ setTag('para','xpre') ]] + + + + Certified honest and conform, + (Date and signature) - (*) A positive delay means that the employee worked less than recorded. - (*) A negative delay means that the employee worked more than encoded. + + + + This document must be dated and signed for reimbursment diff --git a/addons/hr_expense/report/expense.rml b/addons/hr_expense/report/expense.rml index f42dfb11761..6d2be72d4e7 100644 --- a/addons/hr_expense/report/expense.rml +++ b/addons/hr_expense/report/expense.rml @@ -10,7 +10,35 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -27,76 +55,30 @@ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - + + + + + + + - + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - + @@ -107,13 +89,6 @@ - - - - - - - @@ -140,7 +115,7 @@ - + @@ -148,18 +123,44 @@ - [[ repeatIn(objects,'o') ]] + [[ repeatIn(objects,'o') ]] HR Expenses [[ o.name or '' ]] - + - Employee: [[ o.employee_id.name ]] - Date: [[ time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d')) ]] - Reference: [[ o.ref ]] - + + + + Employee + + + Date + + + Reference + + + + + + + [[ o.employee_id.name ]] + + + [[ time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d')) ]] + + + [[ o.ref ]] + + + + - + + + + Date @@ -185,82 +186,62 @@ [[ repeatIn(o.line_ids,'line') ]] - + - [[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]] + [[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]] - [[ line.name or '' ]][[ line.description or '' ]] + [[ line.name or '' ]] [[ line.description or '' ]] [[ line.ref or '' ]] - - - - - - - - - - - - - - - - - - [[ '%.2f' % line.unit_amount or '' ]] + [[ '%.2f' % line.unit_amount or '' ]] - [[ '%.2f' % line.unit_quantity or '' ]] + [[ '%.2f' % line.unit_quantity or '' ]] - [[ '%.2f' % line.total_amount or '' ]] + [[ '%.2f' % line.total_amount or '' ]] - [[ company.currency_id.name ]] + [[ company.currency_id.name ]] - + - + - Total: + Total: - [[ '%.2f' % o.amount ]] + [[ '%.2f' % o.amount ]] [[ company.currency_id.name ]] - - - - [[ o.note or '' ]][[ setTag('para','xpre') ]] + [[ o.note or '' ]] [[ setTag('para','xpre') ]] Certified honest and conform, (Date and signature) - + - + This document must be dated and signed for reimbursment From f176324c21c905d80a3331f29d445237233f8cf6 Mon Sep 17 00:00:00 2001 From: Priyesh Date: Mon, 15 Sep 2008 18:32:28 +0530 Subject: [PATCH 2/7] formatted report of attendance_errors.sxw and rml of hr module and cost_ledger.sxw and rml of hr_timesheet_invoice module. bzr revid: solanki.priyesh@gmail.com-20080915130228-t2rkylaqmsnkvkkm --- addons/hr/report/attendance_errors.rml | 210 ++------ .../report/cost_ledger.rml | 473 +++++++++++------- 2 files changed, 339 insertions(+), 344 deletions(-) diff --git a/addons/hr/report/attendance_errors.rml b/addons/hr/report/attendance_errors.rml index 01488018cf9..aacdde99e06 100644 --- a/addons/hr/report/attendance_errors.rml +++ b/addons/hr/report/attendance_errors.rml @@ -2,7 +2,7 @@ @@ -10,34 +10,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -46,37 +18,29 @@ - - + - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + @@ -84,179 +48,111 @@ - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - [[ repeatIn(objects,'o') ]] - HR Expenses [[ o.name or '' ]] - - - - - - - Employee - - - Date - - - Reference - - - - - - - [[ o.employee_id.name ]] - - - [[ time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d')) ]] - - - [[ o.ref ]] - - - - - - - - - + [[ repeatIn(objects,'employee') ]] + Attendance Errors + [[ employee.name ]] - + - Date + Operation - Name + Date Signed - Ref. + Date Recorded - Unit price + Delay - Qty - - - Total + Min Delay - + - [[ repeatIn(o.line_ids,'line') ]] - + [[ repeatIn(lst(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay']), 'att') ]] + - [[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]] + [[ att['action'] ]] - [[ line.name or '' ]] [[ line.description or '' ]] + [[ att['date'] ]] - [[ line.ref or '' ]] + [[ att['create_date'] ]] - [[ '%.2f' % line.unit_amount or '' ]] + [[ att['delay'] ]] - [[ '%.2f' % line.unit_quantity or '' ]] - - - [[ '%.2f' % line.total_amount or '' ]] - - - [[ company.currency_id.name ]] + [[ att['delay2'] ]] - + - - - + Total period: - Total: + [[ total(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay'])[0] ]] - [[ '%.2f' % o.amount ]] - - - [[ company.currency_id.name ]] + [[ total(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay'])[1] ]] - [[ o.note or '' ]] [[ setTag('para','xpre') ]] - - - - Certified honest and conform, - (Date and signature) - - - - - - - This document must be dated and signed for reimbursment + (*) A positive delay means that the employee worked less than recorded. + (*) A negative delay means that the employee worked more than encoded. diff --git a/addons/hr_timesheet_invoice/report/cost_ledger.rml b/addons/hr_timesheet_invoice/report/cost_ledger.rml index ed555887315..321ea88f5c3 100644 --- a/addons/hr_timesheet_invoice/report/cost_ledger.rml +++ b/addons/hr_timesheet_invoice/report/cost_ledger.rml @@ -2,7 +2,7 @@ @@ -10,80 +10,165 @@ - + - - - - - - + + + - + - + + + + + + + + + + + + + - + - + + + + + + + + + + + + + - + + + + + + + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -91,216 +176,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + - + - + [[ company.name ]] + + + Cost Ledger + + + - - - Cost Ledger - - - + + + + + + + + + - [[ company.name ]] + Period from startdate - Period from [[ data['form']['date1'] ]] - to [[ data['form']['date2'] ]] + Period to enddate - Currency: [[ company.currency_id.name ]] + Currency + + + Printing date - - - - Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]] - - - - + - Date + [[ data['form']['date1'] ]] - J.C. + [[ data['form']['date2'] ]] - Move name + [[ company.currency_id.name ]] - Qty - - - Debit - - - Credit - - - Balance - - - Theorical Revenue + [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]] - + + + + + + + + Date + + + J.C. + + + Code + + + Move name + + + Debit + + + Credit + + + Balance + + + + + + + [[ repeatIn(objects,'o') ]]
- [[ repeatIn(objects, 'o') ]] - - - - + - [[ o.code ]] [[ o.name ]]: max qty: [[ o.quantity_max or '-' ]], max amount: [[ o.amount_max or '-']] + [[ o.code ]] [[ o.complete_name ]] - +
- [[ repeatIn(lines_g(o.id, data['form']['date1'], data['form']['date2']), 'move_g') ]] - - - - + - [[ move_g['code'] ]] [[ move_g['name'] ]] - - - - - + [[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]] + + + + [[ move_g['code'] ]] [[ move_g['name'] ]] + + + + + + + [[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]] + [[ move_a['date'] ]] + + + [[ move_a['cj'] ]] + + + [[ move_a['code'] ]] + + + [[ move_a['name'] ]] + + + [[ '%.2f' % move_a['debit'] ]] + + + [[ '%.2f' % move_a['credit'] ]] + + + [[ '%.2f' % move_a['balance'] ]] + + + + + + + + + + Total ([[ move_g['code'] ]]) + + + [[ '%.2f' % move_g['debit'] ]] + + + [[ '%.2f' % move_g['credit'] ]] + + + [[ '%.2f' % move_g['balance'] ]] + + + - - - - [[ repeatIn(lines_a(move_g['id'], o.id, data['form']['date1'], data['form']['date2']), 'move_a') ]] - [[ move_a['date'] ]] - - - [[ move_a['cj'] ]] - - - [[ move_a['name'] ]] - - - [[ '%.2f' % move_a['quantity'] ]] - - - [[ '%.2f' % move_a['debit'] ]] - - - [[ '%.2f' % move_a['credit'] ]] - - - [[ '%.2f' % move_a['balance'] ]] - - - [[ '%.2f' % move_a['revenue'] ]] - - - - - - - Total ([[ move_g['name'] ]]) - - - [[ '%.2f' % move_g['quantity'] ]] - - - [[ '%.2f' % move_g['debit'] ]] - - - [[ '%.2f' % move_g['credit'] ]] - - - [[ '%.2f' % move_g['balance'] ]] - - - [[ '%.2f' % (account_g_sum_revenue(move_g['id']) or 0.0) ]] - - - - - -
- + - Total ([[ o['code'] ]]) + Total ([[ o.code ]]) - [[ '%.2f' % (account_sum_qty(o.id, data['form']['date1'], data['form']['date2']) or 0.0) ]] + [[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]] - [[ '%.2f' % (account_sum_debit(o.id, data['form']['date1'], data['form']['date2']) or 0.0) ]] + [[ '%.2f' % (account_sum_credit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]] - [[ '%.2f' % (account_sum_credit(o.id, data['form']['date1'], data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (account_sum_balance(o.id, data['form']['date1'], data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (account_sum_revenue(o.id) or 0.0) ]] + [[ '%.2f' % (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']) or 0.0)]] - - -
- - - - + - Total + Total - [[ '%.2f' % (sum_qty(objects, data['form']['date1'], data['form']['date2']) or 0.0) ]] + [[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - [[ '%.2f' % (sum_debit(objects, data['form']['date1'], data['form']['date2']) or 0.0) ]] + [[ '%.2f' % (sum_credit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - [[ '%.2f' % (sum_credit(objects, data['form']['date1'], data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (sum_balance(objects, data['form']['date1'], data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (sum_revenue(objects) or 0.0) ]] + [[ '%.2f' % (sum_balance(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - +
- From a0591dc8e01bac1beca5780c71e056313d6858bc Mon Sep 17 00:00:00 2001 From: Priyesh Date: Mon, 15 Sep 2008 19:21:45 +0530 Subject: [PATCH 3/7] Formatted report of cost_ledger.sxw and rml using OOPlugins of hr_timesheet_invoice module. bzr revid: solanki.priyesh@gmail.com-20080915135145-5zoa9icnjcyywqax --- .../report/cost_ledger.rml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/addons/hr_timesheet_invoice/report/cost_ledger.rml b/addons/hr_timesheet_invoice/report/cost_ledger.rml index 321ea88f5c3..dc253ecd2f2 100644 --- a/addons/hr_timesheet_invoice/report/cost_ledger.rml +++ b/addons/hr_timesheet_invoice/report/cost_ledger.rml @@ -164,11 +164,6 @@ - - - - - @@ -199,6 +194,10 @@ + + + + @@ -297,7 +296,7 @@ - [[ o.code ]] [[ o.complete_name ]] + [[ o.code ]] [[ o.complete_name ]] @@ -312,7 +311,7 @@ - [[ move_g['code'] ]] [[ move_g['name'] ]] + [[ move_g['code'] ]] [[ move_g['name'] ]] @@ -348,7 +347,7 @@ - Total ([[ move_g['code'] ]]) + Total ([[ move_g['code'] ]]) [[ '%.2f' % move_g['debit'] ]] @@ -368,7 +367,7 @@ - Total ([[ o.code ]]) + Total ([[ o.code ]]) [[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]] @@ -385,7 +384,7 @@ - Total + Total [[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] From 09a2d50f1bf10b93cdefe162a8883e0045f9fe36 Mon Sep 17 00:00:00 2001 From: Priyesh Date: Tue, 16 Sep 2008 11:40:40 +0530 Subject: [PATCH 4/7] formatted rml bzr revid: solanki.priyesh@gmail.com-20080916061040-z2d5qdlmg3utuzt6 --- addons/hr_timesheet_invoice/report/cost_ledger.rml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_timesheet_invoice/report/cost_ledger.rml b/addons/hr_timesheet_invoice/report/cost_ledger.rml index dc253ecd2f2..607d709546b 100644 --- a/addons/hr_timesheet_invoice/report/cost_ledger.rml +++ b/addons/hr_timesheet_invoice/report/cost_ledger.rml @@ -401,4 +401,4 @@ - + \ No newline at end of file From 54f43dd46e9b8a44173b7c2e6303a150cc52c353 Mon Sep 17 00:00:00 2001 From: Priyesh Date: Tue, 16 Sep 2008 19:55:47 +0530 Subject: [PATCH 5/7] modified files bzr revid: solanki.priyesh@gmail.com-20080916142547-sejpe7rcv3wg19gi --- addons/hr/hr.py | 115 +---------------------------- addons/hr/hr_demo.xml | 125 -------------------------------- addons/hr/hr_view.xml | 98 +++---------------------- addons/hr/hr_wizard.xml | 3 - addons/hr/wizard/__init__.py | 2 +- addons/hr_timesheet/__terp__.py | 2 +- 6 files changed, 12 insertions(+), 333 deletions(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index ab75529d4b8..5926e64eae4 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -97,26 +97,6 @@ class hr_employee(osv.osv): _name = "hr.employee" _description = "Employee" - def _state(self, cr, uid, ids, name, args, context={}): - result = {} - for id in ids: - result[id] = 'absent' - cr.execute('SELECT hr_attendance.action, hr_attendance.employee_id \ - FROM ( \ - SELECT MAX(name) AS name, employee_id \ - FROM hr_attendance \ - WHERE action in (\'sign_in\', \'sign_out\') \ - GROUP BY employee_id \ - ) AS foo \ - LEFT JOIN hr_attendance \ - ON (hr_attendance.employee_id = foo.employee_id \ - AND hr_attendance.name = foo.name) \ - WHERE hr_attendance.employee_id \ - in (' + ','.join([str(x) for x in ids]) + ')') - for res in cr.fetchall(): - result[res[1]] = res[0] == 'sign_in' and 'present' or 'absent' - return result - _columns = { 'name' : fields.char("Employee", size=128, required=True), 'active' : fields.boolean('Active'), @@ -137,55 +117,14 @@ class hr_employee(osv.osv): 'work_location': fields.char('Office Location', size=32), 'notes': fields.text('Notes'), - 'state': fields.function(_state, method=True, type='selection', selection=[('absent', 'Absent'), ('present', 'Present')], string='Attendance'), - 'parent_id': fields.many2one('hr.employee', 'Manager', select=True), 'category_id' : fields.many2one('hr.employee.category', 'Category'), - 'child_ids': fields.one2many('hr.employee', 'parent_id','Subordinates'), } _defaults = { 'active' : lambda *a: True, - 'state' : lambda *a: 'absent', } - def sign_change(self, cr, uid, ids, context={}, dt=False): - for emp in self.browse(cr, uid, ids): - if not self._action_check(cr, uid, emp.id, dt, context): - raise osv.except_osv(_('Warning'), _('You tried to sign with a date anterior to another event !\nTry to contact the administrator to correct attendances.')) - res = {'action':'action', 'employee_id':emp.id} - if dt: - res['name'] = dt - att_id = self.pool.get('hr.attendance').create(cr, uid, res, context=context) - return True - - def sign_out(self, cr, uid, ids, context={}, dt=False, *args): - id = False - for emp in self.browse(cr, uid, ids): - if not self._action_check(cr, uid, emp.id, dt, context): - raise osv.except_osv(_('Warning'), _('You tried to sign out with a date anterior to another event !\nTry to contact the administrator to correct attendances.')) - res = {'action':'sign_out', 'employee_id':emp.id} - if dt: - res['name'] = dt - att_id = self.pool.get('hr.attendance').create(cr, uid, res, context=context) - id = att_id - return id - - def _action_check(self, cr, uid, emp_id, dt=False,context={}): - cr.execute('select max(name) from hr_attendance where employee_id=%d', (emp_id,)) - res = cr.fetchone() - return not (res and (res[0]>=(dt or time.strftime('%Y-%m-%d %H:%M:%S')))) - - def sign_in(self, cr, uid, ids, context={}, dt=False, *args): - id = False - for emp in self.browse(cr, uid, ids): - if not self._action_check(cr, uid, emp.id, dt, context): - raise osv.except_osv(_('Warning'), _('You tried to sign in with a date anterior to another event !\nTry to contact the administrator to correct attendances.')) - res = {'action':'sign_in', 'employee_id':emp.id} - if dt: - res['name'] = dt - id = self.pool.get('hr.attendance').create(cr, uid, res, context=context) - return id - + hr_employee() class hr_timesheet(osv.osv): @@ -202,56 +141,4 @@ class hr_timesheet(osv.osv): _order = 'dayofweek, hour_from' hr_timesheet() -class hr_action_reason(osv.osv): - _name = "hr.action.reason" - _description = "Action reason" - _columns = { - 'name' : fields.char('Reason', size=64, required=True), - 'action_type' : fields.selection([('sign_in', 'Sign in'), ('sign_out', 'Sign out')], "Action's type"), - } - _defaults = { - 'action_type' : lambda *a: 'sign_in', - } -hr_action_reason() - -def _employee_get(obj,cr,uid,context={}): - ids = obj.pool.get('hr.employee').search(cr, uid, [('user_id','=', uid)]) - if ids: - return ids[0] - return False - -class hr_attendance(osv.osv): - _name = "hr.attendance" - _description = "Attendance" - _columns = { - 'name' : fields.datetime('Date', required=True), - 'action' : fields.selection([('sign_in', 'Sign In'), ('sign_out', 'Sign Out'),('action','Action')], 'Action', required=True), - 'action_desc' : fields.many2one("hr.action.reason", "Action reason", domain="[('action_type', '=', action)]"), - 'employee_id' : fields.many2one('hr.employee', 'Employee', required=True, select=True), - } - _defaults = { - 'name' : lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), - 'employee_id' : _employee_get, - } - - def _altern_si_so(self, cr, uid, ids): - for id in ids: - sql = ''' - select action, name - from hr_attendance as att - where employee_id = (select employee_id from hr_attendance where id=%s) - and action in ('sign_in','sign_out') - and name <= (select name from hr_attendance where id=%s) - order by name desc - limit 2 - ''' % (id, id) - cr.execute(sql) - atts = cr.fetchall() - if not ((len(atts)==1 and atts[0][0] == 'sign_in') or (atts[0][0] != atts[1][0] and atts[0][1] != atts[1][1])): - return False - return True - - _constraints = [(_altern_si_so, 'Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)', ['action'])] - _order = 'name desc' -hr_attendance() diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml index c83c20d5a9b..9465e57ab14 100644 --- a/addons/hr/hr_demo.xml +++ b/addons/hr/hr_demo.xml @@ -2,31 +2,6 @@ - - Start of shift - sign_in - - - End of shift - sign_out - - - Meal Break - sign_in - - - Meal Break - sign_out - - - Early exit (sick) - sign_out - - - Early exit (work injury) - sign_out - - @@ -111,105 +86,5 @@ - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - - - - sign_in - - - - - sign_out - - diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 879f4328db6..5b58d7cf448 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -49,9 +49,7 @@ - -