diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index ca5caee014d..0afe7f878e0 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -68,6 +68,8 @@ module named account_voucherss 'wizard/account_validate_move_view.xml', 'wizard/account_statement_from_invoice_view.xml', 'wizard/account_pay_invoice_view.xml', + 'wizard/account_unreconcile_view.xml', + 'wizard/account_invoice_state_view.xml', 'project/wizard/project_account_analytic_line_view.xml', 'account_view.xml', 'account_end_fy.xml', diff --git a/addons/account/account_wizard.xml b/addons/account/account_wizard.xml index 09ae2bafede..148491fb2a1 100644 --- a/addons/account/account_wizard.xml +++ b/addons/account/account_wizard.xml @@ -49,7 +49,7 @@ - + - + + + - - + />--> + - - +--> diff --git a/addons/hr_timesheet/hr_timesheet_wizard.xml b/addons/hr_timesheet/hr_timesheet_wizard.xml index 8d84a261ba6..f0a2d7175b3 100644 --- a/addons/hr_timesheet/hr_timesheet_wizard.xml +++ b/addons/hr_timesheet/hr_timesheet_wizard.xml @@ -1,8 +1,8 @@ - - + + diff --git a/addons/hr_timesheet/report/users_timesheet.py b/addons/hr_timesheet/report/users_timesheet.py index c179c3d3fff..9755d2d5871 100644 --- a/addons/hr_timesheet/report/users_timesheet.py +++ b/addons/hr_timesheet/report/users_timesheet.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (). # @@ -15,7 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## @@ -42,24 +42,24 @@ def emp_create_xml(cr, id, som, eom): "and line.user_id=%s and line.date >= %s and line.date < %s " "order by line.date", (id, som.strftime('%Y-%m-%d'), eom.strftime('%Y-%m-%d'))) - + # Sum by day month = {} for presence in cr.dictfetchall(): day = int(presence['date'][-2:]) month[day] = month.get(day, 0.0) + presence['amount'] - + xml = ''' %.2f ''' time_xml = ([xml % (day, amount) for day, amount in month.iteritems()]) - + # Computing the employee cr.execute("select name from res_users where id=%s", (id,)) emp = cr.fetchone()[0] - + # Computing the xml xml = ''' @@ -73,13 +73,13 @@ class report_custom(report_rml): def get_month_name(self, cr, uid, month): _months = {1:_("January"), 2:_("February"), 3:_("March"), 4:_("April"), 5:_("May"), 6:_("June"), 7:_("July"), 8:_("August"), 9:_("September"), 10:_("October"), 11:_("November"), 12:_("December")} return _months[month] - + def get_weekday_name(self, cr, uid, weekday): _weekdays = {1:_('Mon'), 2:_('Tue'), 3:_('Wed'), 4:_('Thu'), 5:_('Fri'), 6:_('Sat'), 7:_('Sun')} return _weekdays[weekday] def create_xml(self, cr, uid, ids, data, context): - + # Computing the dates (start of month: som, and end of month: eom) som = datetime.date(data['form']['year'], data['form']['month'], 1) eom = som + datetime.timedelta(lengthmonth(som.year, som.month)) @@ -87,9 +87,9 @@ class report_custom(report_rml): date_xml += ['' % (x, self.get_weekday_name(cr, uid, som.replace(day=x).weekday()+1), som.replace(day=x).weekday()+1) for x in range(1, lengthmonth(som.year, som.month)+1)] date_xml.append('') date_xml.append('2.5cm%s,2cm\n' % (',0.7cm' * lengthmonth(som.year, som.month))) - + emp_xml='' - for id in data['form']['user_ids'][0][2]: + for id in data['form']['user_ids']: emp_xml += emp_create_xml(cr, id, som, eom) # Computing the xml diff --git a/addons/hr_timesheet/wizard/__init__.py b/addons/hr_timesheet/wizard/__init__.py index 88b1cb40415..8619dcbcfea 100644 --- a/addons/hr_timesheet/wizard/__init__.py +++ b/addons/hr_timesheet/wizard/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (). # @@ -15,13 +15,13 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## import sign_in_out -import wizard_print_timesheet -import wizard_print_timesheet_users +import hr_timesheet_print_employee +import hr_timesheet_print_users # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet/wizard/hr_timesheet_print_employee.py b/addons/hr_timesheet/wizard/hr_timesheet_print_employee.py new file mode 100644 index 00000000000..d2e9a54f836 --- /dev/null +++ b/addons/hr_timesheet/wizard/hr_timesheet_print_employee.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +import datetime + +from osv import osv, fields + +class analytical_timesheet_employee(osv.osv_memory): + _name = 'hr.analytical.timesheet.employee' + _description = 'Print Employee Timesheet & Print My Timesheet' + _columns = { + 'month': fields.selection([(x, datetime.date(2000, x, 1).strftime('%B')) for x in range(1, 13)], + 'Month', required=True), + 'year': fields.integer('Year', required=True), + 'user_id': fields.many2one('res.users', 'User', required=True) + } + + def _get_user(self, cr, uid, context=None): + return uid + + _defaults = { + 'month': datetime.date.today().month, + 'year': datetime.date.today().year, + 'user_id': _get_user + } + + def print_report(self, cr, uid, ids, context=None): + data = self.read(cr, uid, ids, context=context)[0] + datas = { + 'ids': [], + 'model': 'hr.employee', + 'form': data + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'hr.analytical.timesheet', + 'datas': datas, + } +analytical_timesheet_employee() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_timesheet/wizard/hr_timesheet_print_employee_view.xml b/addons/hr_timesheet/wizard/hr_timesheet_print_employee_view.xml new file mode 100644 index 00000000000..a3b53a05d22 --- /dev/null +++ b/addons/hr_timesheet/wizard/hr_timesheet_print_employee_view.xml @@ -0,0 +1,75 @@ + + + + + + + hr.analytical.timesheet.employee.form + hr.analytical.timesheet.employee + form + +
+ + + + + + +