@@ -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):
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>.")
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user