[MERGE]:HR

bzr revid: apa@tinyerp.com-20121122050647-1voxl9fmhg7lpmfr
This commit is contained in:
Amit Patel
2012-11-22 10:36:47 +05:30
6 changed files with 93 additions and 16 deletions
+18
View File
@@ -127,6 +127,7 @@ class hr_expense_expense(osv.osv):
for expense in self.browse(cr, uid, ids):
if expense.employee_id and expense.employee_id.parent_id.user_id:
self.message_subscribe_users(cr, uid, [expense.id], user_ids=[expense.employee_id.parent_id.user_id.id])
self.expense_toapprove_notificate(cr, uid, ids)
self.write(cr, uid, ids, {
'state':'confirm',
'date_confirm': time.strftime('%Y-%m-%d')
@@ -134,6 +135,7 @@ class hr_expense_expense(osv.osv):
return True
def expense_accept(self, cr, uid, ids, *args):
self.expense_approve_notificate(cr, uid, ids)
self.write(cr, uid, ids, {
'state':'accepted',
'date_valid':time.strftime('%Y-%m-%d'),
@@ -142,6 +144,7 @@ class hr_expense_expense(osv.osv):
return True
def expense_canceled(self, cr, uid, ids, *args):
self.expense_refuse_notificate(cr, uid, ids)
self.write(cr, uid, ids, {'state':'cancelled'})
return True
@@ -234,6 +237,21 @@ class hr_expense_expense(osv.osv):
}
return result
def expense_toapprove_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids):
self.message_post(cr, uid, [obj.id],
_("The request is <b>waiting for Approval</b>"), subtype="hr_expense.mt_expense_approve", context=context)
def expense_approve_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids):
self.message_post(cr, uid, [obj.id],
_("The request has been <b>approved</b>"), subtype="hr_expense.mt_expense_approved", context=context)
def expense_refuse_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids):
self.message_post(cr, uid, [obj.id],
_("Request <b>refused</b>"), subtype="hr_expense.mt_expense_refused", context=context)
hr_expense_expense()
class product_product(osv.osv):
+19
View File
@@ -17,5 +17,24 @@
<field name="parent_id" ref="product.product_category_all"/>
<field name="name">Expenses</field>
</record>
<!--subtype for expense -->
<record id="mt_expense_approve" model="mail.message.subtype">
<field name="name">To Approve</field>
<field name="res_model">hr.expense.expense</field>
<field name="default" eval="False"/>
</record>
<record id="mt_expense_approved" model="mail.message.subtype">
<field name="name">Approved</field>
<field name="res_model">hr.expense.expense</field>
<field name="default" eval="False"/>
</record>
<record id="mt_expense_refused" model="mail.message.subtype">
<field name="name">Refused</field>
<field name="res_model">hr.expense.expense</field>
<field name="default" eval="False"/>
</record>
</data>
</openerp>
+3 -3
View File
@@ -431,7 +431,7 @@ class hr_holidays(osv.osv):
def holidays_confirm_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids):
self.message_post(cr, uid, [obj.id],
_("Request <b>submitted</b>, waiting for validation by the manager."), context=context)
_("Request <b>submitted</b>, waiting for validation by the manager."), subtype="hr_holidays.mt_approve", context=context)
def holidays_first_validate_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
@@ -445,12 +445,12 @@ class hr_holidays(osv.osv):
_("Request <b>validated</b>."), context=context)
else:
self.message_post(cr, uid, [obj.id],
_("The request has been <b>approved</b>."), context=context)
_("The request has been <b>approved</b>."), subtype="hr_holidays.mt_approved", context=context)
def holidays_refuse_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids):
self.message_post(cr, uid, [obj.id],
_("Request <b>refused</b>"), context=context)
_("Request <b>refused</b>"), subtype="hr_holidays.mt_refused", context=context)
class resource_calendar_leaves(osv.osv):
+20
View File
@@ -44,5 +44,25 @@
<field name="limit">True</field>
<field name="color_name">brown</field>
</record>
<!--subtype for leaves -->
<record id="mt_approve" model="mail.message.subtype">
<field name="name">To Approve</field>
<field name="res_model">hr.holidays</field>
<field name="default" eval="False"/>
</record>
<record id="mt_approved" model="mail.message.subtype">
<field name="name">Approved</field>
<field name="res_model">hr.holidays</field>
<field name="default" eval="False"/>
</record>
<record id="mt_refused" model="mail.message.subtype">
<field name="name">Refused</field>
<field name="res_model">hr.holidays</field>
<field name="default" eval="False"/>
</record>
</data>
</openerp>
+3 -9
View File
@@ -469,12 +469,6 @@ class hr_applicant(base_stage, osv.Model):
# OpenChatter methods and notifications
# -------------------------------------------------------
def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
""" Override of the (void) default notification method. """
if not stage_id: return True
stage_name = self.pool.get('hr.recruitment.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
return self.message_post(cr, uid, ids, body=_("Stage changed to <b>%s</b>.") % (stage_name), context=context)
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
return 'Applicant'
@@ -487,18 +481,18 @@ class hr_applicant(base_stage, osv.Model):
context = {}
for applicant in self.browse(cr, uid, ids, context=context):
if applicant.job_id:
self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=_('New employee joined the company %s.')%(applicant.name,), subtype="hr_recruitment.mt_hired", context=context)
self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=_('New employee joined the company %s.')%(applicant.name,), context=context)
if applicant.emp_id:
message = _("Applicant has been <b>hired</b> and created as an employee.")
self.message_post(cr, uid, [applicant.id], body=message, context=context)
else:
message = _("Applicant has been <b>hired</b>.")
self.message_post(cr, uid, [applicant.id], body=message, context=context)
self.message_post(cr, uid, [applicant.id], body=message, subtype="hr_recruitment.mt_applicant_hired", context=context)
return True
def case_cancel_send_note(self, cr, uid, ids, context=None):
msg = 'Applicant <b>refused</b>.'
return self.message_post(cr, uid, ids, body=msg, context=context)
return self.message_post(cr, uid, ids, body=msg, subtype="hr_recruitment.mt_applicant_refused",context=context)
def case_reset_send_note(self, cr, uid, ids, context=None):
message =_("Applicant has been set as <b>new</b>.")
+30 -4
View File
@@ -462,13 +462,39 @@
</record>
<!-- mail: subtypes -->
<record id="mt_hired" model="mail.message.subtype">
<field name="name">Employee Hired</field>
<field name="res_model">hr.job</field>
</record>
<record id="mt_applicant_new" model="mail.message.subtype">
<field name="name">New Applicant</field>
<field name="res_model">hr.job</field>
</record>
<record id="mt_job_stage_changed" model="mail.message.subtype">
<field name="name">Stage changed</field>
<field name="res_model">hr.job</field>
<field name="default" eval="False"/>
</record>
<record id="mt_job_applicant_hired" model="mail.message.subtype">
<field name="name">Applicant Hired</field>
<field name="res_model">hr.job</field>
<field name="default" eval="False"/>
</record>
<record id="mt_job_applicant_refused" model="mail.message.subtype">
<field name="name">Refused</field>
<field name="res_model">hr.job</field>
<field name="default" eval="False"/>
</record>
<record id="mt_stage_changed" model="mail.message.subtype">
<field name="name">Stage changed</field>
<field name="res_model">hr.applicant</field>
<field name="default" eval="False"/>
</record>
<record id="mt_applicant_hired" model="mail.message.subtype">
<field name="name">Applicant Hired</field>
<field name="res_model">hr.applicant</field>
<field name="default" eval="False"/>
</record>
<record id="mt_applicant_refused" model="mail.message.subtype">
<field name="name">Applicant Refused</field>
<field name="res_model">hr.applicant</field>
<field name="default" eval="False"/>
</record>
</data>
</openerp>