diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 892747c849f..accdf95d929 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -1020,7 +1020,7 @@ class account_move_line(osv.osv):
}
document = etree.Element('tree', string=title, editable="top",
- refresh="5", on_write="on_create_write",
+ on_write="on_create_write",
colors="red:state=='draft';black:state=='valid'")
fields_get = self.fields_get(cr, uid, flds, context)
for field, _seq in fld:
diff --git a/addons/account_anglo_saxon/product_view.xml b/addons/account_anglo_saxon/product_view.xml
index 74dce06b85a..8a79d96d1c4 100644
--- a/addons/account_anglo_saxon/product_view.xml
+++ b/addons/account_anglo_saxon/product_view.xml
@@ -7,7 +7,7 @@
form
-
+
diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py
index bc1ab42b3df..cadd813a959 100644
--- a/addons/crm/crm_meeting.py
+++ b/addons/crm/crm_meeting.py
@@ -40,8 +40,8 @@ class crm_meeting(base_state, osv.Model):
_columns = {
# base_state required fields
'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}),
- 'section_id': fields.many2one('crm.case.section', 'Sales Team', states={'done': [('readonly', True)]}, \
- select=True, help='Sales team to which Case belongs to.'),
+ 'section_id': fields.many2one('crm.case.section', 'Sales Team', states={'done': [('readonly', True)]},
+ select=True, groups='base.group_sale_salesman', help='Sales team to which Case belongs to.'),
'email_from': fields.char('Email', size=128, states={'done': [('readonly', True)]}, help="These people will receive email."),
'create_date': fields.datetime('Creation Date' , readonly=True),
'write_date': fields.datetime('Write Date' , readonly=True),
diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml
index 099754aef06..fb1587b543c 100644
--- a/addons/delivery/delivery_view.xml
+++ b/addons/delivery/delivery_view.xml
@@ -230,12 +230,10 @@
stock.move
-
-
-
-
-
-
+
+
+
+
@@ -245,12 +243,10 @@
stock.move
-
-
-
-
-
-
+
+
+
+
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index 32c291044c0..e2bca73a72e 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -93,24 +93,27 @@ class hr_job(osv.osv):
_description = "Job Description"
_columns = {
'name': fields.char('Job Name', size=128, required=True, select=True),
- 'expected_employees': fields.function(_no_of_employee, string='Expected Employees', help='Required number of employees in total for that job.',
+ 'expected_employees': fields.function(_no_of_employee, string='Total Employees',
+ help='Expected number of employees for this job position after new recruitment.',
store = {
'hr.job': (lambda self,cr,uid,ids,c=None: ids, ['no_of_recruitment'], 10),
'hr.employee': (_get_job_position, ['job_id'], 10),
},
multi='no_of_employee'),
- 'no_of_employee': fields.function(_no_of_employee, string="Number of Employees", help='Number of employees with that job.',
+ 'no_of_employee': fields.function(_no_of_employee, string="Number of Employees",
+ help='Number of employees currently occupying this job position.',
store = {
'hr.employee': (_get_job_position, ['job_id'], 10),
},
multi='no_of_employee'),
- 'no_of_recruitment': fields.float('Expected in Recruitment'),
+ 'no_of_recruitment': fields.float('Expected in Recruitment', help='Number of new employees you expect to recruit.'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'),
'description': fields.text('Job Description'),
'requirements': fields.text('Requirements'),
'department_id': fields.many2one('hr.department', 'Department'),
'company_id': fields.many2one('res.company', 'Company'),
- 'state': fields.selection([('open', 'In Position'),('recruit', 'In Recruitement'),('old', 'Old')], 'Status', readonly=True, required=True),
+ 'state': fields.selection([('open', 'In Position'), ('recruit', 'In Recruitement')], 'Status', readonly=True, required=True,
+ help="By default 'In position', set it to 'In Recruitment' if recruitment process is going on for this job position."),
}
_defaults = {
'expected_employees': 1,
@@ -128,10 +131,6 @@ class hr_job(osv.osv):
context = {}
return {'value': {'expected_employees': no_of_recruitment + no_of_employee}}
- def job_old(self, cr, uid, ids, *args):
- self.write(cr, uid, ids, {'state': 'old', 'no_of_recruitment': 0})
- return True
-
def job_recruitement(self, cr, uid, ids, *args):
for job in self.browse(cr, uid, ids):
no_of_recruitment = job.no_of_recruitment == 0 and 1 or job.no_of_recruitment
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index fd527209e12..db85a0f76ef 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -8,9 +8,7 @@
groups="base.group_hr_manager,base.group_hr_user,base.group_user"/>
-
-
-
+
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index 710c33f12b9..982ea1c4000 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -265,7 +265,7 @@
Each employee may be assigned an Appraisal Plan. Such a plan defines the frequency and the way you manage your periodic personnel evaluation. You will be able to define steps and attach interviews to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self-evaluation and final evaluation by the manager.
-
diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
index 2cf5a930b4d..753b33fa706 100644
--- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml
+++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
@@ -100,7 +100,6 @@
-
diff --git a/addons/hr_expense/report/hr_expense_report_view.xml b/addons/hr_expense/report/hr_expense_report_view.xml
index c007f2c2509..e6b51958e1c 100644
--- a/addons/hr_expense/report/hr_expense_report_view.xml
+++ b/addons/hr_expense/report/hr_expense_report_view.xml
@@ -118,7 +118,6 @@
-
diff --git a/addons/hr_holidays/board_hr_manager_holidays_view.xml b/addons/hr_holidays/board_hr_manager_holidays_view.xml
index 1c7c6280f8b..dfb4924c631 100644
--- a/addons/hr_holidays/board_hr_manager_holidays_view.xml
+++ b/addons/hr_holidays/board_hr_manager_holidays_view.xml
@@ -3,7 +3,7 @@
- Leaves To Validate
+ Leaves to Approveir.actions.act_windowhr.holidaysform
diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py
index 9d8f0b5935e..f5e8ba69e5d 100644
--- a/addons/hr_holidays/hr_holidays.py
+++ b/addons/hr_holidays/hr_holidays.py
@@ -76,12 +76,12 @@ class hr_holidays_status(osv.osv):
'name': fields.char('Leave Type', size=64, required=True, translate=True),
'categ_id': fields.many2one('crm.case.categ', 'Meeting', domain="[('object_id.model', '=', 'crm.meeting')]", help='If you set a meeting type, OpenERP will create a meeting in the calendar once a leave is validated.'),
'color_name': fields.selection([('red', 'Red'),('blue','Blue'), ('lightgreen', 'Light Green'), ('lightblue','Light Blue'), ('lightyellow', 'Light Yellow'), ('magenta', 'Magenta'),('lightcyan', 'Light Cyan'),('black', 'Black'),('lightpink', 'Light Pink'),('brown', 'Brown'),('violet', 'Violet'),('lightcoral', 'Light Coral'),('lightsalmon', 'Light Salmon'),('lavender', 'Lavender'),('wheat', 'Wheat'),('ivory', 'Ivory')],'Color in Report', required=True, help='This color will be used in the leaves summary located in Reporting\Leaves by Departement'),
- 'limit': fields.boolean('Allow to Override Limit', help='If you tick this checkbox, the system will allow, for this section, the employees to take more leaves than the available ones.'),
+ 'limit': fields.boolean('Allow to Override Limit', help='If you select this checkbox, the system allows the employees to take more leaves than the available ones for this type.'),
'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the leave type without removing it."),
'max_leaves': fields.function(_user_left_days, string='Maximum Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'),
'leaves_taken': fields.function(_user_left_days, string='Leaves Already Taken', help='This value is given by the sum of all holidays requests with a negative value.', multi='user_left_days'),
'remaining_leaves': fields.function(_user_left_days, string='Remaining Leaves', help='Maximum Leaves Allowed - Leaves Already Taken', multi='user_left_days'),
- 'double_validation': fields.boolean('Apply Double Validation', help="If its True then its Allocation/Request have to be validated by second validator")
+ 'double_validation': fields.boolean('Apply Double Validation', help="When selected, the Allocation/Leave Requests for this type require a second validation to be approved."),
}
_defaults = {
'color_name': 'red',
@@ -280,6 +280,7 @@ class hr_holidays(osv.osv):
'date': record.date_from,
'end_date': record.date_to,
'date_deadline': record.date_to,
+ 'leave_id': record.id,
}
case_id = meeting_obj.create(cr, uid, vals)
self._create_resource_leave(cr, uid, [record], context=context)
@@ -396,11 +397,11 @@ class hr_holidays(osv.osv):
for obj in self.browse(cr, uid, ids):
if obj.holiday_status_id.double_validation:
self.message_append_note(cr, uid, [obj.id], _('System notification'),
- _("The %s request has been validated. A second validation is necessary and is now pending.")
+ _("The %s request has been approved. A second validation is necessary and is now pending.")
% ('leave' if obj.type == 'remove' else 'allocation',), type='notification', context=context)
else:
self.message_append_note(cr, uid, [obj.id], _('System notification'),
- _("The %s request has been validated. The validation process is now over.")
+ _("The %s request has been approved. The validation process is now over.")
% ('leave' if obj.type == 'remove' else 'allocation',), type='notification', context=context)
def holidays_valid2_notificate(self, cr, uid, ids, context=None):
@@ -516,4 +517,10 @@ class hr_employee(osv.osv):
hr_employee()
+class crm_meeting(osv.osv):
+ _inherit = 'crm.meeting'
+ _columns = {
+ 'leave_id': fields.many2one('hr.holidays','Leave'),
+ }
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_holidays/hr_holidays_data.xml b/addons/hr_holidays/hr_holidays_data.xml
index b312d79c03d..c5045d7b318 100644
--- a/addons/hr_holidays/hr_holidays_data.xml
+++ b/addons/hr_holidays/hr_holidays_data.xml
@@ -20,7 +20,7 @@
Compensatory DaysTrue
- brown
+ lavender
diff --git a/addons/hr_holidays/hr_holidays_report.xml b/addons/hr_holidays/hr_holidays_report.xml
index 4c8ec39a1af..14d4cb99562 100644
--- a/addons/hr_holidays/hr_holidays_report.xml
+++ b/addons/hr_holidays/hr_holidays_report.xml
@@ -3,7 +3,7 @@
+ help="Leaves during last month"/>
@@ -518,5 +518,14 @@
+
+
diff --git a/addons/hr_holidays/i18n/hr_holidays.pot b/addons/hr_holidays/i18n/hr_holidays.pot
index 76cbd507c0e..eeb4e7b5e27 100644
--- a/addons/hr_holidays/i18n/hr_holidays.pot
+++ b/addons/hr_holidays/i18n/hr_holidays.pot
@@ -401,8 +401,8 @@ msgstr ""
#. module: hr_holidays
#: help:hr.holidays.status,double_validation:0
msgid ""
-"If its True then its Allocation/Request have to be validated by second "
-"validator"
+"When selected, the Allocation/Leave Requests for this type require a second "
+"validation to be approved."
msgstr ""
#. module: hr_holidays
@@ -767,8 +767,8 @@ msgstr ""
#. module: hr_holidays
#: help:hr.holidays.status,limit:0
msgid ""
-"If you tick this checkbox, the system will allow, for this section, the "
-"employees to take more leaves than the available ones."
+"If you select this checkbox, the system allows the employees to take more "
+"leaves than the available ones for this type."
msgstr ""
#. module: hr_holidays
diff --git a/addons/hr_holidays/report/holidays_summary.xsl b/addons/hr_holidays/report/holidays_summary.xsl
index a65425dd0b3..4d83cd9cdc7 100644
--- a/addons/hr_holidays/report/holidays_summary.xsl
+++ b/addons/hr_holidays/report/holidays_summary.xsl
@@ -149,9 +149,9 @@
- Off-Days' Summary
+ Leaves Summary
- Analyze from to of the holidays.
+ Analyze from to of the leaves. 0.7cm,5.0cm
@@ -236,7 +236,7 @@
@@ -490,6 +486,23 @@
action="hr_recruitment_source_action"
sequence="10" groups="base.group_no_one"/>
+
+ CRM - Meetings Form
+ crm.meeting
+ form
+
+
+
+
+
+
+ {'invisible': [('categ_id','=',%(hr_recruitment.categ_meet_interview)d)]}
+
+
+ {'invisible': [('categ_id','=',%(hr_recruitment.categ_meet_interview)d)]}
+
+
+
diff --git a/addons/hr_recruitment/i18n/hr_recruitment.pot b/addons/hr_recruitment/i18n/hr_recruitment.pot
index 7d141991480..7521fab460e 100644
--- a/addons/hr_recruitment/i18n/hr_recruitment.pot
+++ b/addons/hr_recruitment/i18n/hr_recruitment.pot
@@ -54,14 +54,9 @@ msgstr ""
msgid "Sources of Applicants"
msgstr ""
-#. module: hr_recruitment
-#: field:hr.recruitment.report,delay_open:0
-msgid "Avg. Delay to Open"
-msgstr ""
-
#. module: hr_recruitment
#: field:hr.recruitment.report,nbr:0
-msgid "# of Cases"
+msgid "# of Applications"
msgstr ""
#. module: hr_recruitment
@@ -150,7 +145,7 @@ msgstr ""
#. module: hr_recruitment
#: view:hr.applicant:0 view:hr.recruitment.partner.create:0
#: model:ir.actions.act_window,name:hr_recruitment.action_hr_recruitment_partner_create
-msgid "Create Partner"
+msgid "Create Contact"
msgstr ""
#. module: hr_recruitment
@@ -160,7 +155,7 @@ msgstr ""
#. module: hr_recruitment
#: field:hr.applicant,reference:0
-msgid "Refered By"
+msgid "Referred By"
msgstr ""
#. module: hr_recruitment
@@ -239,6 +234,11 @@ msgstr ""
msgid "Interview Form"
msgstr ""
+#. module: hr_recruitment
+#: view:hr.job:0
+msgid "Interview"
+msgstr ""
+
#. module: hr_recruitment
#: help:hr.job,survey_id:0
msgid ""
@@ -349,7 +349,7 @@ msgstr ""
#. module: hr_recruitment
#: code:addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py:39
#, python-format
-msgid "A partner is already defined on this job request."
+msgid "A contact is already defined on this job request."
msgstr ""
#. module: hr_recruitment
@@ -516,6 +516,7 @@ msgstr ""
#. module: hr_recruitment
#: view:hr.applicant:0
+#: field:hr.applicant,partner_id:0 view:hr.recruitment.report:0
msgid "Contact"
msgstr ""
@@ -530,7 +531,6 @@ msgid "Qualification"
msgstr ""
#. module: hr_recruitment
-#: field:hr.applicant,partner_id:0 view:hr.recruitment.report:0
#: field:hr.recruitment.report,partner_id:0
msgid "Partner"
msgstr ""
@@ -828,7 +828,12 @@ msgstr ""
#. module: hr_recruitment
#: field:hr.recruitment.report,salary_prop_avg:0
-msgid "Avg Salary Proposed"
+msgid "Avg. Proposed Salary"
+msgstr ""
+
+#. module: hr_recruitment
+#: field:hr.recruitment.report,salary_exp_avg:0
+msgid "Avg. Expected Salary"
msgstr ""
#. module: hr_recruitment
@@ -871,7 +876,7 @@ msgstr ""
#. module: hr_recruitment
#: view:hr.recruitment.partner.create:0
-msgid "Are you sure you want to create a partner based on this job request ?"
+msgid "Are you sure you want to create a contact based on this job request ?"
msgstr ""
#. module: hr_recruitment
@@ -959,7 +964,7 @@ msgstr ""
#. module: hr_recruitment
#: code:addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py:57
#, python-format
-msgid "A partner is already existing with the same name."
+msgid "A contact is already existing with the same name."
msgstr ""
#. module: hr_recruitment
diff --git a/addons/hr_recruitment/report/hr_recruitment_report.py b/addons/hr_recruitment/report/hr_recruitment_report.py
index 5c74bac4a5a..e888da9ead7 100644
--- a/addons/hr_recruitment/report/hr_recruitment_report.py
+++ b/addons/hr_recruitment/report/hr_recruitment_report.py
@@ -40,8 +40,8 @@ class hr_recruitment_report(osv.osv):
_columns = {
'user_id': fields.many2one('res.users', 'User', readonly=True),
- 'nbr': fields.integer('# of Cases', readonly=True),
- 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
+ 'nbr': fields.integer('# of Applications', readonly=True),
+ 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \
('03', 'March'), ('04', 'April'),\
('05', 'May'), ('06', 'June'), \
@@ -59,12 +59,11 @@ class hr_recruitment_report(osv.osv):
'department_id': fields.many2one('hr.department','Department',readonly=True),
'priority': fields.selection(hr_recruitment.AVAILABLE_PRIORITIES, 'Appreciation'),
'salary_prop' : fields.float("Salary Proposed", digits_compute=dp.get_precision('Account')),
- 'salary_prop_avg' : fields.float("Avg Salary Proposed", group_operator="avg", digits_compute=dp.get_precision('Account')),
+ 'salary_prop_avg' : fields.float("Avg. Proposed Salary", group_operator="avg", digits_compute=dp.get_precision('Account')),
'salary_exp' : fields.float("Salary Expected", digits_compute=dp.get_precision('Account')),
+ 'salary_exp_avg' : fields.float("Avg. Expected Salary", group_operator="avg", digits_compute=dp.get_precision('Account')),
'partner_id': fields.many2one('res.partner', 'Partner',readonly=True),
'available': fields.float("Availability"),
- 'delay_open': fields.float('Avg. Delay to Open', digits=(16,2), readonly=True, group_operator="avg",
- help="Number of Days to close the project issue"),
'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Days to close the project issue"),
}
@@ -93,7 +92,7 @@ class hr_recruitment_report(osv.osv):
sum(salary_proposed) as salary_prop,
(sum(salary_proposed)/count(*)) as salary_prop_avg,
sum(salary_expected) as salary_exp,
- extract('epoch' from (s.date_open-s.create_date))/(3600*24) as delay_open,
+ (sum(salary_expected)/count(*)) as salary_exp_avg,
extract('epoch' from (s.date_closed-s.create_date))/(3600*24) as delay_close,
count(*) as nbr
from hr_applicant s
diff --git a/addons/hr_recruitment/report/hr_recruitment_report_view.xml b/addons/hr_recruitment/report/hr_recruitment_report_view.xml
index 6fee524157a..16281eeb918 100644
--- a/addons/hr_recruitment/report/hr_recruitment_report_view.xml
+++ b/addons/hr_recruitment/report/hr_recruitment_report_view.xml
@@ -9,23 +9,24 @@
-
+
-
+
-
+
+
-
+
@@ -129,7 +130,6 @@
{'search_default_year':1,'search_default_month':1,'search_default_department':1,'group_by_no_leaf':1,'group_by':[]}
-
diff --git a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
index 5e868e6f49a..ef44a4e253d 100644
--- a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
+++ b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py
@@ -36,7 +36,7 @@ class hr_recruitment_partner_create(osv.osv_memory):
for case in case_obj.browse(cr, uid, context['active_ids'], context=context):
if case.partner_id:
raise osv.except_osv(_('Error !'),
- _('A partner is already defined on this job request.'))
+ _('A contact is already defined on this job request.'))
pass
def make_order(self, cr, uid, ids, context=None):
@@ -53,7 +53,7 @@ class hr_recruitment_partner_create(osv.osv_memory):
for case in case_obj.browse(cr, uid, context['active_ids'], context=context):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)], context=context)
if partner_id:
- raise osv.except_osv(_('Error !'),_('A partner is already existing with the same name.'))
+ raise osv.except_osv(_('Error !'),_('A contact is already existing with the same name.'))
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
diff --git a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job_view.xml b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job_view.xml
index 1a779fba1f9..15bede42e96 100644
--- a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job_view.xml
+++ b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job_view.xml
@@ -9,19 +9,19 @@