Pinakin Nayi (OpenERP) has proposed merging 
lp:~openerp-commiter/openobject-addons/trunk-exception-warning-imp-dbr-hr-warning-imp-pna
 into lp:~openerp-dev/openobject-addons/trunk-exception-warning-imp-dbr.

Requested reviews:
  Kuldeep Joshi(OpenERP) (kjo-openerp)

For more details, see:
https://code.launchpad.net/~openerp-commiter/openobject-addons/trunk-exception-warning-imp-dbr-hr-warning-imp-pna/+merge/114803

Hello ,

  I improved Exceptions, Constraint errors and Warning message of hr module.

Thanks,
pna
-- 
https://code.launchpad.net/~openerp-commiter/openobject-addons/trunk-exception-warning-imp-dbr-hr-warning-imp-pna/+merge/114803
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-exception-warning-imp-dbr.
=== modified file 'hr/hr.py'
--- hr/hr.py	2012-07-10 13:32:55 +0000
+++ hr/hr.py	2012-07-13 08:48:27 +0000
@@ -272,7 +272,7 @@
         return True
 
     _constraints = [
-        (_check_recursion, 'Error ! You cannot create recursive Hierarchy of Employees.', ['parent_id']),
+        (_check_recursion, 'Error ! You cannot create recursive hierarchy of Employee(s).', ['parent_id']),
     ]
 
 hr_employee()

=== modified file 'hr/hr_department.py'
--- hr/hr_department.py	2012-05-21 13:58:56 +0000
+++ hr/hr_department.py	2012-07-13 08:48:27 +0000
@@ -76,7 +76,7 @@
         return True
 
     _constraints = [
-        (_check_recursion, 'Error! You can not create recursive departments.', ['parent_id'])
+        (_check_recursion, 'Error! You cannot create recursive departments.', ['parent_id'])
     ]
 
 hr_department()

=== modified file 'hr/i18n/hr.pot'
--- hr/i18n/hr.pot	2012-06-25 13:42:53 +0000
+++ hr/i18n/hr.pot	2012-07-13 08:48:27 +0000
@@ -47,7 +47,7 @@
 
 #. module: hr
 #: constraint:hr.department:0
-msgid "Error! You can not create recursive departments."
+msgid "Error! You cannot create recursive departments."
 msgstr ""
 
 #. module: hr
@@ -446,7 +446,7 @@
 
 #. module: hr
 #: constraint:hr.employee:0
-msgid "Error ! You cannot create recursive Hierarchy of Employees."
+msgid "Error ! You cannot create recursive hierarchy of Employee(s)."
 msgstr ""
 
 #. module: hr

=== modified file 'hr_attendance/hr_attendance.py'
--- hr_attendance/hr_attendance.py	2012-01-31 13:36:57 +0000
+++ hr_attendance/hr_attendance.py	2012-07-13 08:48:27 +0000
@@ -137,7 +137,7 @@
             warning_sign = "Sign Out"
         for emp in self.read(cr, uid, ids, ['id'], context=context):
             if not self._action_check(cr, uid, emp['id'], dt, context):
-                raise osv.except_osv(_('Warning'), _('You tried to %s with a date anterior to another event !\nTry to contact the administrator to correct attendances.')%(warning_sign,))
+                raise osv.except_osv(_('Warning'), _('You try to %s with a date before to another event !\nTry to contact the administrator to correct attendances.')%(warning_sign,))
 
             res = {'action': type, 'employee_id': emp['id']}
             if dt:

=== modified file 'hr_attendance/i18n/hr_attendance.pot'
--- hr_attendance/i18n/hr_attendance.pot	2012-05-10 13:21:50 +0000
+++ hr_attendance/i18n/hr_attendance.pot	2012-07-13 08:48:27 +0000
@@ -58,7 +58,7 @@
 #. module: hr_attendance
 #: code:addons/hr_attendance/wizard/hr_attendance_sign_in_out.py:161
 #, python-format
-msgid "The sign-out date must be in the past"
+msgid "The sign-out date must be in the past."
 msgstr ""
 
 #. module: hr_attendance
@@ -151,7 +151,7 @@
 #. module: hr_attendance
 #: code:addons/hr_attendance/wizard/hr_attendance_sign_in_out.py:174
 #, python-format
-msgid "The Sign-in date must be in the past"
+msgid "The sign-in date must be in the past."
 msgstr ""
 
 #. module: hr_attendance

=== modified file 'hr_attendance/wizard/hr_attendance_sign_in_out.py'
--- hr_attendance/wizard/hr_attendance_sign_in_out.py	2011-11-09 18:12:56 +0000
+++ hr_attendance/wizard/hr_attendance_sign_in_out.py	2012-07-13 08:48:27 +0000
@@ -158,7 +158,7 @@
         emp_id = data['emp_id']
         if 'last_time' in data:
             if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
-                raise osv.except_osv(_('UserError'), _('The sign-out date must be in the past'))
+                raise osv.except_osv(_('UserError'), _('The sign-out date must be in the past.'))
             self.pool.get('hr.attendance').create(cr, uid, {'name': data['last_time'], 'action': 'sign_out',
                 'employee_id': emp_id}, context=context)
         try:
@@ -171,7 +171,7 @@
         emp_id = data['emp_id']
         if 'last_time' in data:
             if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
-                raise osv.except_osv(_('UserError'), _('The Sign-in date must be in the past'))
+                raise osv.except_osv(_('UserError'), _('The sign-in date must be in the past.'))
             self.pool.get('hr.attendance').create(cr, uid, {'name':data['last_time'], 'action':'sign_in',  'employee_id':emp_id}, context=context)
         try:
             self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out')

=== modified file 'hr_contract/hr_contract.py'
--- hr_contract/hr_contract.py	2012-07-04 16:29:10 +0000
+++ hr_contract/hr_contract.py	2012-07-13 08:48:27 +0000
@@ -97,7 +97,7 @@
         return True
 
     _constraints = [
-        (_check_dates, 'Error! contract start-date must be lower then contract end-date.', ['date_start', 'date_end'])
+        (_check_dates, 'Error! Contract start-date must be lower then contract end-date.', ['date_start', 'date_end'])
     ]
 hr_contract()
 

=== modified file 'hr_contract/i18n/hr_contract.pot'
--- hr_contract/i18n/hr_contract.pot	2012-02-08 01:08:30 +0000
+++ hr_contract/i18n/hr_contract.pot	2012-07-13 08:48:27 +0000
@@ -234,7 +234,7 @@
 
 #. module: hr_contract
 #: constraint:hr.contract:0
-msgid "Error! contract start-date must be lower then contract end-date."
+msgid "Error! Contract start-date must be lower then contract end-date."
 msgstr ""
 
 #. module: hr_contract

=== modified file 'hr_evaluation/hr_evaluation.py'
--- hr_evaluation/hr_evaluation.py	2012-05-23 06:53:42 +0000
+++ hr_evaluation/hr_evaluation.py	2012-07-13 08:48:27 +0000
@@ -240,7 +240,7 @@
         self.write(cr, uid, ids, {'state':'progress'}, context=context)
         for id in self.browse(cr, uid, ids, context=context):
             if len(id.survey_request_ids) != len(request_obj.search(cr, uid, [('evaluation_id', '=', id.id),('state', 'in', ['done','cancel'])], context=context)):
-                raise osv.except_osv(_('Warning !'),_("You cannot change state, because some appraisal in waiting answer or draft state"))
+                raise osv.except_osv(_('Warning !'),_("You cannot change state, because some appraisal in waiting answer or draft state."))
         return True
 
     def button_done(self,cr, uid, ids, context=None):

=== modified file 'hr_evaluation/i18n/hr_evaluation.pot'
--- hr_evaluation/i18n/hr_evaluation.pot	2012-06-25 13:42:53 +0000
+++ hr_evaluation/i18n/hr_evaluation.pot	2012-07-13 08:48:27 +0000
@@ -812,7 +812,7 @@
 #: code:addons/hr_evaluation/hr_evaluation.py:244
 #, python-format
 msgid ""
-"You cannot change state, because some appraisal in waiting answer or draft "
+"You cannot change state, because some appraisal in waiting answer or draft."
 "state"
 msgstr ""
 

=== modified file 'hr_expense/hr_expense.py'
--- hr_expense/hr_expense.py	2012-07-05 09:29:21 +0000
+++ hr_expense/hr_expense.py	2012-07-13 08:48:27 +0000
@@ -171,7 +171,7 @@
                 else:
                     acc = property_obj.get(cr, uid, 'property_account_expense_categ', 'product.category', context={'force_company': company_id})
                     if not acc:
-                        raise osv.except_osv(_('Error !'), _('Please configure Default Expense account for Product purchase, `property_account_expense_categ`'))
+                        raise osv.except_osv(_('Error !'), _('Please configure Default Expense account for Product purchase., `property_account_expense_categ`'))
                 lines.append((0, False, {
                     'name': l.name,
                     'account_id': acc.id,
@@ -183,7 +183,7 @@
                     'account_analytic_id': l.analytic_account.id,
                 }))
             if not exp.employee_id.address_home_id:
-                raise osv.except_osv(_('Error !'), _('The employee must have a Home address.'))
+                raise osv.except_osv(_('Error !'), _('The employee must have a home address.'))
             acc = exp.employee_id.address_home_id.property_account_payable.id
             payment_term_id = exp.employee_id.address_home_id.property_payment_term.id
             inv = {

=== modified file 'hr_expense/i18n/hr_expense.pot'
--- hr_expense/i18n/hr_expense.pot	2012-05-10 13:21:50 +0000
+++ hr_expense/i18n/hr_expense.pot	2012-07-13 08:48:27 +0000
@@ -266,7 +266,7 @@
 #: code:addons/hr_expense/hr_expense.py:173
 #, python-format
 msgid ""
-"Please configure Default Expense account for Product purchase, "
+"Please configure Default Expense account for Product purchase., "
 "`property_account_expense_categ`"
 msgstr ""
 
@@ -542,7 +542,7 @@
 #. module: hr_expense
 #: code:addons/hr_expense/hr_expense.py:185
 #, python-format
-msgid "The employee must have a Home address."
+msgid "The employee must have a home address."
 msgstr ""
 
 #. module: hr_expense

=== modified file 'hr_holidays/hr_holidays.py'
--- hr_holidays/hr_holidays.py	2012-07-10 12:42:53 +0000
+++ hr_holidays/hr_holidays.py	2012-07-13 08:48:27 +0000
@@ -202,7 +202,7 @@
     def unlink(self, cr, uid, ids, context=None):
         for rec in self.browse(cr, uid, ids, context=context):
             if rec.state<>'draft':
-                raise osv.except_osv(_('Warning!'),_('You cannot delete a leave which is not in draft status !'))
+                raise osv.except_osv(_('Warning!'),_('You cannot delete a leave, because it\'s not in draft state !'))
         return super(hr_holidays, self).unlink(cr, uid, ids, context)
 
     def onchange_date_from(self, cr, uid, ids, date_to, date_from):

=== modified file 'hr_holidays/i18n/hr_holidays.pot'
--- hr_holidays/i18n/hr_holidays.pot	2012-06-21 05:08:52 +0000
+++ hr_holidays/i18n/hr_holidays.pot	2012-07-13 08:48:27 +0000
@@ -280,7 +280,7 @@
 #. module: hr_holidays
 #: code:addons/hr_holidays/wizard/hr_holidays_summary_department.py:44
 #, python-format
-msgid "You have to select at least 1 Department. And try again"
+msgid "You have to select at least 1 Department. And try again."
 msgstr ""
 
 #. module: hr_holidays

=== modified file 'hr_holidays/wizard/hr_holidays_summary_department.py'
--- hr_holidays/wizard/hr_holidays_summary_department.py	2012-06-07 13:21:46 +0000
+++ hr_holidays/wizard/hr_holidays_summary_department.py	2012-07-13 08:48:27 +0000
@@ -41,7 +41,7 @@
     def print_report(self, cr, uid, ids, context=None):
         data = self.read(cr, uid, ids, [], context=context)[0]
         if not data['depts']:
-            raise osv.except_osv(_('Error'), _('You have to select at least 1 Department. And try again'))
+            raise osv.except_osv(_('Error'), _('You have to select at least 1 Department. And try again.'))
         datas = {
              'ids': [],
              'model': 'ir.ui.menu',

=== modified file 'hr_payroll/hr_payroll.py'
--- hr_payroll/hr_payroll.py	2012-06-20 13:04:49 +0000
+++ hr_payroll/hr_payroll.py	2012-07-13 08:48:27 +0000
@@ -859,18 +859,18 @@
             try:
                 return rule.amount_fix, eval(rule.quantity, localdict), 100.0
             except:
-                raise osv.except_osv(_('Error'), _('Wrong quantity defined for salary rule %s (%s)')% (rule.name, rule.code))
+                raise osv.except_osv(_('Error'), _('Wrong quantity defined for salary rule %s (%s).')% (rule.name, rule.code))
         elif rule.amount_select == 'percentage':
             try:
                 return eval(rule.amount_percentage_base, localdict), eval(rule.quantity, localdict), rule.amount_percentage
             except:
-                raise osv.except_osv(_('Error'), _('Wrong percentage base or quantity defined for salary rule %s (%s)')% (rule.name, rule.code))
+                raise osv.except_osv(_('Error'), _('Wrong percentage base or quantity defined for salary rule %s (%s).')% (rule.name, rule.code))
         else:
             try:
                 eval(rule.amount_python_compute, localdict, mode='exec', nocopy=True)
                 return localdict['result'], 'result_qty' in localdict and localdict['result_qty'] or 1.0, 'result_rate' in localdict and localdict['result_rate'] or 100.0
             except:
-                raise osv.except_osv(_('Error'), _('Wrong python code defined for salary rule %s (%s) ')% (rule.name, rule.code))
+                raise osv.except_osv(_('Error'), _('Wrong python code defined for salary rule %s (%s).')% (rule.name, rule.code))
 
     def satisfy_condition(self, cr, uid, rule_id, localdict, context=None):
         """
@@ -887,13 +887,13 @@
                 result = eval(rule.condition_range, localdict)
                 return rule.condition_range_min <=  result and result <= rule.condition_range_max or False
             except:
-                raise osv.except_osv(_('Error'), _('Wrong range condition defined for salary rule %s (%s)')% (rule.name, rule.code))
+                raise osv.except_osv(_('Error'), _('Wrong range condition defined for salary rule %s (%s).')% (rule.name, rule.code))
         else: #python code
             try:
                 eval(rule.condition_python, localdict, mode='exec', nocopy=True)
                 return 'result' in localdict and localdict['result'] or False
             except:
-                raise osv.except_osv(_('Error'), _('Wrong python condition defined for salary rule %s (%s)')% (rule.name, rule.code))
+                raise osv.except_osv(_('Error'), _('Wrong python condition defined for salary rule %s (%s).')% (rule.name, rule.code))
 
 hr_salary_rule()
 

=== modified file 'hr_payroll/i18n/hr_payroll.pot'
--- hr_payroll/i18n/hr_payroll.pot	2012-05-10 13:21:50 +0000
+++ hr_payroll/i18n/hr_payroll.pot	2012-07-13 08:48:27 +0000
@@ -551,7 +551,7 @@
 #. module: hr_payroll
 #: code:addons/hr_payroll/hr_payroll.py:872
 #, python-format
-msgid "Wrong python code defined for salary rule %s (%s) "
+msgid "Wrong python code defined for salary rule %s (%s)."
 msgstr ""
 
 #. module: hr_payroll
@@ -711,13 +711,13 @@
 #. module: hr_payroll
 #: code:addons/hr_payroll/wizard/hr_payroll_payslips_by_employees.py:52
 #, python-format
-msgid "You must select employee(s) to generate payslip(s)"
+msgid "You must select employee(s) to generate payslip(s)."
 msgstr ""
 
 #. module: hr_payroll
 #: code:addons/hr_payroll/hr_payroll.py:861
 #, python-format
-msgid "Wrong quantity defined for salary rule %s (%s)"
+msgid "Wrong quantity defined for salary rule %s (%s)."
 msgstr ""
 
 #. module: hr_payroll
@@ -784,7 +784,7 @@
 #. module: hr_payroll
 #: code:addons/hr_payroll/hr_payroll.py:895
 #, python-format
-msgid "Wrong python condition defined for salary rule %s (%s)"
+msgid "Wrong python condition defined for salary rule %s (%s)."
 msgstr ""
 
 #. module: hr_payroll
@@ -928,7 +928,7 @@
 #. module: hr_payroll
 #: code:addons/hr_payroll/hr_payroll.py:889
 #, python-format
-msgid "Wrong range condition defined for salary rule %s (%s)"
+msgid "Wrong range condition defined for salary rule %s (%s)."
 msgstr ""
 
 #. module: hr_payroll
@@ -1001,7 +1001,7 @@
 #. module: hr_payroll
 #: code:addons/hr_payroll/hr_payroll.py:866
 #, python-format
-msgid "Wrong percentage base or quantity defined for salary rule %s (%s)"
+msgid "Wrong percentage base or quantity defined for salary rule %s (%s)."
 msgstr ""
 
 #. module: hr_payroll

=== modified file 'hr_payroll/wizard/hr_payroll_payslips_by_employees.py'
--- hr_payroll/wizard/hr_payroll_payslips_by_employees.py	2011-06-09 10:07:43 +0000
+++ hr_payroll/wizard/hr_payroll_payslips_by_employees.py	2012-07-13 08:48:27 +0000
@@ -49,7 +49,7 @@
         to_date = run_data.get('date_end', False)
         credit_note = run_data.get('credit_note', False)
         if not data['employee_ids']:
-            raise osv.except_osv(_("Warning !"), _("You must select employee(s) to generate payslip(s)"))
+            raise osv.except_osv(_("Warning !"), _("You must select employee(s) to generate payslip(s)."))
         for emp in emp_pool.browse(cr, uid, data['employee_ids'], context=context):
             slip_data = slip_pool.onchange_employee_id(cr, uid, [], from_date, to_date, emp.id, contract_id=False, context=context)
             res = {

=== modified file 'hr_timesheet/hr_timesheet.py'
--- hr_timesheet/hr_timesheet.py	2012-05-31 09:27:54 +0000
+++ hr_timesheet/hr_timesheet.py	2012-07-13 08:48:27 +0000
@@ -172,9 +172,9 @@
         if emp_id:
             ename = emp_obj.browse(cr, uid, emp_id[0], context=context).name
         if not vals.get('journal_id',False):
-           raise osv.except_osv(_('Warning !'), _('Analytic journal is not defined for employee %s \nDefine an employee for the selected user and assign an analytic journal!')%(ename,))
+           raise osv.except_osv(_('Warning !'), _('Analytic journal is not defined for employee %s \nDefine an employee for the selected user and assign an analytic journal !')%(ename,))
         if not vals.get('account_id',False):
-           raise osv.except_osv(_('Warning !'), _('No analytic account defined on the project.\nPlease set one or we can not automatically fill the timesheet.'))
+           raise osv.except_osv(_('Warning !'), _('No analytic account defined on the project.\nPlease set one or we cannot automatically fill the timesheet.'))
         return super(hr_analytic_timesheet, self).create(cr, uid, vals, context=context)
 
     def on_change_user_id(self, cr, uid, ids, user_id):

=== modified file 'hr_timesheet/i18n/hr_timesheet.pot'
--- hr_timesheet/i18n/hr_timesheet.pot	2012-06-07 09:31:53 +0000
+++ hr_timesheet/i18n/hr_timesheet.pot	2012-07-13 08:48:27 +0000
@@ -323,7 +323,7 @@
 #: code:addons/hr_timesheet/hr_timesheet.py:175
 #, python-format
 msgid "Analytic journal is not defined for employee %s \n"
-"Define an employee for the selected user and assign an analytic journal!"
+"Define an employee for the selected user and assign an analytic journal !"
 msgstr ""
 
 #. module: hr_timesheet
@@ -577,7 +577,7 @@
 #: code:addons/hr_timesheet/hr_timesheet.py:177
 #, python-format
 msgid "No analytic account defined on the project.\n"
-"Please set one or we can not automatically fill the timesheet."
+"Please set one or we cannot automatically fill the timesheet."
 msgstr ""
 
 #. module: hr_timesheet
@@ -599,7 +599,7 @@
 #. module: hr_timesheet
 #: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:42
 #, python-format
-msgid "No employee defined for this user"
+msgid "No employee defined for this user !"
 msgstr ""
 
 #. module: hr_timesheet

=== modified file 'hr_timesheet/wizard/hr_timesheet_print_employee.py'
--- hr_timesheet/wizard/hr_timesheet_print_employee.py	2011-03-14 10:27:42 +0000
+++ hr_timesheet/wizard/hr_timesheet_print_employee.py	2012-07-13 08:48:27 +0000
@@ -39,7 +39,7 @@
         emp_obj = self.pool.get('hr.employee')
         emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)], context=context)
         if not emp_id:
-            raise osv.except_osv(_("Warning"), _("No employee defined for this user"))
+            raise osv.except_osv(_("Warning"), _("No employee defined for this user !"))
         return emp_id and emp_id[0] or False
 
     _defaults = {

=== modified file 'hr_timesheet_invoice/i18n/hr_timesheet_invoice.pot'
--- hr_timesheet_invoice/i18n/hr_timesheet_invoice.pot	2012-06-06 10:14:38 +0000
+++ hr_timesheet_invoice/i18n/hr_timesheet_invoice.pot	2012-07-13 08:48:27 +0000
@@ -530,7 +530,7 @@
 #. module: hr_timesheet_invoice
 #: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py:132
 #, python-format
-msgid "No income account defined for product '%s'"
+msgid "No income account defined for product '%s'."
 msgstr ""
 
 #. module: hr_timesheet_invoice

=== modified file 'hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py'
--- hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py	2011-12-19 16:54:40 +0000
+++ hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py	2012-07-13 08:48:27 +0000
@@ -55,7 +55,7 @@
                 ('user_id', 'in', data['form']['employee_ids']),
                 ], context=context)
         if not ids_chk:
-            raise osv.except_osv(_('Data Insufficient!'), _('No Records Found for Report!'))
+            raise osv.except_osv(_('Data Insufficient!'), _('No records found for Report!'))
 
         data['form']['journal_ids'] = [(6, 0, data['form']['journal_ids'])] # Improve me => Change the rml/sxw so that it can support withou [0][2]
         data['form']['employee_ids'] = [(6, 0, data['form']['employee_ids'])]

=== modified file 'hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py'
--- hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py	2012-03-21 12:25:37 +0000
+++ hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py	2012-07-13 08:48:27 +0000
@@ -123,7 +123,7 @@
                 tax = fiscal_pos_obj.map_tax(cr, uid, account.partner_id.property_account_position, taxes)
                 account_id = product.product_tmpl_id.property_account_income.id or product.categ_id.property_account_income_categ.id
                 if not account_id:
-                    raise osv.except_osv(_("Configuration Error"), _("No income account defined for product '%s'") % product.name)
+                    raise osv.except_osv(_("Configuration Error"), _("No income account defined for product '%s'.") % product.name)
                 curr_line = {
                     'price_unit': price,
                     'quantity': qty,

=== modified file 'hr_timesheet_sheet/hr_timesheet_sheet.py'
--- hr_timesheet_sheet/hr_timesheet_sheet.py	2012-05-04 11:57:48 +0000
+++ hr_timesheet_sheet/hr_timesheet_sheet.py	2012-07-13 08:48:27 +0000
@@ -315,7 +315,7 @@
     def check_sign(self, cr, uid, ids, typ, context=None):
         sheet = self.browse(cr, uid, ids, context=context)[0]
         if not sheet.date_current == time.strftime('%Y-%m-%d'):
-            raise osv.except_osv(_('Error !'), _('You cannot sign in/sign out from an other date than today'))
+            raise osv.except_osv(_('Error !'), _('You cannot sign in/sign out from an other date than today.'))
         return True
 
     def sign(self, cr, uid, ids, typ, context=None):
@@ -612,7 +612,7 @@
         if 'sheet_id' in context:
             ts = self.pool.get('hr_timesheet_sheet.sheet').browse(cr, uid, context['sheet_id'], context=context)
             if ts.state not in ('draft', 'new'):
-                raise osv.except_osv(_('Error !'), _('You cannot modify an entry in a confirmed timesheet!'))
+                raise osv.except_osv(_('Error !'), _('You cannot modify an entry in a confirmed timesheet !'))
         res = super(hr_attendance,self).create(cr, uid, vals, context=context)
         if 'sheet_id' in context:
             if context['sheet_id'] != self.browse(cr, uid, res, context=context).sheet_id.id:

=== modified file 'hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot'
--- hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot	2012-06-21 05:08:52 +0000
+++ hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot	2012-07-13 08:48:27 +0000
@@ -149,7 +149,7 @@
 #. module: hr_timesheet_sheet
 #: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:615
 #, python-format
-msgid "You cannot modify an entry in a confirmed timesheet!"
+msgid "You cannot modify an entry in a confirmed timesheet !"
 msgstr ""
 
 #. module: hr_timesheet_sheet
@@ -971,7 +971,7 @@
 #. module: hr_timesheet_sheet
 #: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:318
 #, python-format
-msgid "You cannot sign in/sign out from an other date than today"
+msgid "You cannot sign in/sign out from an other date than today."
 msgstr ""
 
 #. module: hr_timesheet_sheet

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to