[ADD] hr_evaluation: added wizard for functionality of reminders,improved code
authorkum (Open ERP) <kum@tinyerp.co.in>
Thu, 18 Mar 2010 08:39:32 +0000 (14:09 +0530)
committerkum (Open ERP) <kum@tinyerp.co.in>
Thu, 18 Mar 2010 08:39:32 +0000 (14:09 +0530)
bzr revid: kum@tinyerp.co.in-20100318083932-39sxx7v00dkwjxh0

addons/hr/hr.py
addons/hr_evaluation/__init__.py
addons/hr_evaluation/__terp__.py
addons/hr_evaluation/hr_evaluation.py
addons/hr_evaluation/hr_evaluation_view.xml
addons/hr_evaluation/wizard/__init__.py [new file with mode: 0644]
addons/hr_evaluation/wizard/hr_evaluation_mail.py [new file with mode: 0644]
addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml [new file with mode: 0644]

index 6daf74a..90d9bd0 100755 (executable)
@@ -102,7 +102,8 @@ class hr_employee(osv.osv):
         'address_id': fields.many2one('res.partner.address', 'Working Address'),
         'address_home_id': fields.many2one('res.partner.address', 'Home Address'),
         'work_phone': fields.related('address_id', 'phone', type='char', string='Work Phone'),
-        'work_email': fields.related('address_id', 'email', type='char', size=240, string='Work E-mail'),
+        'work_email': fields.char('Work E-mail', size=240),
+#        'work_email': fields.related('address_id', 'email', type='char', size=240, string='Work E-mail'),
         'work_location': fields.char('Office Location', size=32),
 
         'notes': fields.text('Notes'),
index e8abcb2..178e7dd 100644 (file)
@@ -20,6 +20,7 @@
 ##############################################################################
 
 import hr_evaluation
+import wizard
 import report
 
 
index ef0ec48..780ddd2 100644 (file)
@@ -38,8 +38,9 @@
     "demo_xml" : ["hr_evaluation_demo.xml"],
     "update_xml" : [
                     "security/ir.model.access.csv",
+                    "wizard/hr_evaluation_mail_view.xml",
                     "hr_evaluation_view.xml",
-                    "hr_evaluation_data.xml",
+                    "hr_evaluation_demo.xml",
                     "report/hr_evaluation_report_view.xml"],
     "active": False,
     "installable": True
index 984536f..10e4d64 100644 (file)
@@ -209,7 +209,7 @@ class hr_evaluation(osv.osv):
                                 val = {
                                         'employee_name':child.name,
                                         'user_signature':curr_employee.name,
-                                        'company_name':user_obj_id.company_id.name,
+#                                        'company_name':user_obj_id.company_id.name,
                                         'eval_name':phase.survey_id.title,
                                         'date':time.strftime('%Y-%m-%d'),
                                       }
@@ -233,7 +233,7 @@ class hr_evaluation(osv.osv):
                                 val.update({'employee_name':manager_employee.name})
                                 mailbody = hr_eval_plan_obj.read(cr,uid,phase.id,['mail_body'],context=context)
                                 body = mailbody['mail_body']%val
-                                dest = [child.work_email]
+                                dest = [manager_employee.work_email]
                                 if dest:
                                         tools.email_send(src,dest,sub,body)
                             apprai_id.append(id)
@@ -300,9 +300,10 @@ class hr_evaluation_interview(osv.osv):
     def survey_req_waiting_answer(self, cr, uid, ids, context={}):
         self.write(cr, uid, ids, { 'state' : 'waiting_answer'})
 #        for id in self.browse(cr, uid, ids):
-#            if id.user_id and id.user_id.address_id and id.user_id.address_id and id.user_id.address_id.email:
-#                msg = " Hello %s, \n\n We are inviting you for %s survey. \n\n Thanks,"  %(id.user_id.name, id.survey_id.title)
-#                tools.email_send(tools.config['email_from'], [id.user_id.address_id.email],\
+#            print"id",id
+#            if id.user_to_review_id and id.user_to_review_id.work_email:
+#                msg = " Hello %s, \n\n We are inviting you for %s survey. \n\n Thanks,"  %(id.user_to_review_id.name, id.survey_id.title)
+#                tools.email_send(tools.config['email_from'], [id.user_to_review_id.work_email],\
 #                                              'Invite to fill up Survey', msg)
         return True
 
@@ -335,4 +336,5 @@ class hr_evaluation_interview(osv.osv):
         self.write(cr, uid, ids, { 'state' : 'cancel'}, context=context)
         return True
 
-hr_evaluation_interview()
\ No newline at end of file
+hr_evaluation_interview()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:1
\ No newline at end of file
index a9b5606..21aaa54 100644 (file)
@@ -44,7 +44,7 @@
         </record>
         <menuitem name="Evaluations" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="3"/>
 
-        <menuitem
+       <menuitem
             name="Periodic Evaluations" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="3"/>
         <menuitem
             parent="menu_eval_hr_config"
                     </group>
                     </page>
                     <page string="Mail Settings">
-                        <field name="mail_feature"/>
+                        <field name="mail_feature" colspan="4"/>
                         <newline/>
                         <separator string="Mail Body"/>
                         <newline/>
                         <field name="mail_body" colspan="4" nolabel="1"/>
+                        <newline/>
+                        <separator string="Legend" colspan ="4"/>
+                          <label string=" (employee_name)s: Partner name" colspan="2"/>
+                          <label string="(user_signature)s: User name" colspan="2"/>
+                          <label string="(date)s: Current Date" colspan="2"/>
+                          <label string="(eval_name)s:Evaluation Name" colspan="2"/>
                     </page>
                   </notebook>
                 </form>
             id="menu_open_hr_evaluation_interview_requests"
             action="action_hr_evaluation_interview_tree"/>
 
+      <menuitem name="Evaluation Reminders" parent="menu_eval_hr"
+           id="menu_eval_send_mail"
+           action="action_hr_evaluation_send_mail"
+           sequence="45"/>
     </data>
 </openerp>
diff --git a/addons/hr_evaluation/wizard/__init__.py b/addons/hr_evaluation/wizard/__init__.py
new file mode 100644 (file)
index 0000000..367cabb
--- /dev/null
@@ -0,0 +1,25 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import hr_evaluation_mail
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_evaluation/wizard/hr_evaluation_mail.py b/addons/hr_evaluation/wizard/hr_evaluation_mail.py
new file mode 100644 (file)
index 0000000..42b0654
--- /dev/null
@@ -0,0 +1,43 @@
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+import tools
+
+class hr_evaluation_reminder(osv.osv_memory):
+    _name = "hr.evaluation.reminder"
+    _description = "Sends Reminders to employess to fill the evaluations"
+    _columns = {
+        'evaluation_id': fields.many2one('hr_evaluation.evaluation', 'Evaluations', required=True)
+    }
+
+    def send_mail(self, cr, uid, ids, context={}):
+        hr_evaluation_obj = self.pool.get('hr_evaluation.evaluation')
+        evaluation_data = self.read(cr, uid, ids, context=context)[0]
+        for waiting_id in hr_evaluation_obj.browse(cr, uid, evaluation_data['evaluation_id'], context=context).survey_request_ids:
+            if waiting_id.state == "waiting_answer" and waiting_id.user_to_review_id.work_email :
+                msg = " Hello %s, \n\n Kindly post your response for %s survey. \n\n Thanks,"  %(waiting_id.user_to_review_id.name, waiting_id.survey_id.title)
+                tools.email_send(tools.config['email_from'], [waiting_id.user_to_review_id.work_email],\
+                                          'Reminder to fill up Survey', msg)
+        return {'type': 'ir.actions.act_window_close'}
+
+hr_evaluation_reminder()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml b/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml
new file mode 100644 (file)
index 0000000..fff5509
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+
+    <data>
+       <record id="view_hr_evaluation_send_mail" model="ir.ui.view">
+            <field name="name">hr.evaluation.send.mail</field>
+            <field name="model">hr.evaluation.reminder</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+               <form string="Evaluation Reminders">
+                               <field name="evaluation_id"/>
+                               <newline/>
+                               <button special="cancel" string="Cancel" />
+                       <button name="send_mail" string="Send Mail" type="object"/>
+               </form>
+            </field>
+               </record>
+
+    <record id="action_hr_evaluation_send_mail" model="ir.actions.act_window">
+            <field name="name">Evaluation Send Mail</field>
+            <field name="res_model">hr.evaluation.reminder</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+           <field name="view_id" ref="view_hr_evaluation_send_mail"/>
+           <field name="context">{'record_id':active_id}</field>
+           <field name="target">new</field>
+      </record>
+
+     </data>
+</openerp>