[MERGE] mail_gate improvement
authorhmo <hmo@hmo>
Tue, 25 May 2010 12:55:52 +0000 (18:25 +0530)
committerhmo <hmo@hmo>
Tue, 25 May 2010 12:55:52 +0000 (18:25 +0530)
bzr revid: hmo@hmo-20100525125552-zm828j610mgabnmt

1  2 
addons/mail_gateway/mail_gateway.py
addons/mail_gateway/mail_gateway_view.xml

@@@ -86,14 -86,23 +86,24 @@@ class mailgate_thread(osv.osv)
              }
  
              if history:
-                 data['history'] = True
-                 data['description'] = details or case.description
-                 data['email_to'] = email or \
-                         (case.user_id and case.user_id.address_id and \
-                             case.user_id.address_id.email) or tools.config.get('email_from', False)
-                 data['email_from'] = email_from or \
-                         (case.user_id and case.user_id.address_id and \
-                             case.user_id.address_id.email) or tools.config.get('email_from', False)
+                 data = {
+                         'name': keyword, 
+                         'history': True, 
+                         'user_id': uid, 
+                         'model_id' : model_ids and model_ids[0] or False, 
++                        'res_id': case.id,
+                         'date': time.strftime('%Y-%m-%d %H:%M:%S'), 
 -                        'description': details or case.description, 
++                        'description': details or (hasattr(case, 'description') and case.description or False), 
+                         'email_to': email or \
 -                                (case.user_id and case.user_id.address_id and \
++                                (hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
+                                     case.user_id.address_id.email) or tools.config.get('email_from', False), 
+                         'email_from': email_from or \
 -                                (case.user_id and case.user_id.address_id and \
++                                (hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
+                                     case.user_id.address_id.email) or tools.config.get('email_from', False), 
 -                        'partner_id': case.partner_id.id, 
++                        'partner_id': hasattr(case, 'partner_id') and (case.partner_id and case.partner_id.id or False) or False, 
+                         'thread_id': case.thread_id.id, 
+                         'message_id': message_id, 
+                         }
              res = obj.create(cr, uid, data, context)
          return True
      
@@@ -112,20 -121,21 +122,22 @@@ class mailgate_message(osv.osv)
      _order = 'date desc'
  
      _columns = {
-         'name':fields.char('Message', size=64),
-         'model_id': fields.many2one('ir.model', 'Model'),
-         'thread_id':fields.many2one('mailgate.thread', 'Thread'),
-         'date': fields.datetime('Date'),
+         'name':fields.char('Message', size=64), 
+         'model_id': fields.many2one('ir.model', 'Model'), 
++        'res_id': fields.integer('Resource ID'),
+         'thread_id':fields.many2one('mailgate.thread', 'Thread'), 
+         'date': fields.datetime('Date'), 
          'history': fields.boolean('Is History?', required=False), 
-         'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
-         'message': fields.text('Description'),
-         'email_from': fields.char('Email From', size=84),
-         'email_to': fields.char('Email To', size=84),
-         'email_cc': fields.char('Email From', size=84),
-         'email_bcc': fields.char('Email From', size=84),
-         'message_id': fields.char('Message Id', size=1024, readonly=True, help="Message Id on Email Server.", select=True),
+         'user_id': fields.many2one('res.users', 'User Responsible', readonly=True), 
+         'message': fields.text('Description'), 
+         'email_from': fields.char('Email From', size=84), 
+         'email_to': fields.char('Email To', size=84), 
+         'email_cc': fields.char('Email CC', size=84), 
+         'email_bcc': fields.char('Email BCC', size=84), 
+         'message_id': fields.char('Message Id', size=1024, readonly=True, help="Message Id on Email Server.", select=True), 
          'description': fields.text('Description'), 
-         'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'),
+         'partner_id': fields.many2one('res.partner', 'Partner', required=False), 
+         'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'), 
      }
  
  mailgate_message()
@@@ -1,19 -1,22 +1,19 @@@
  <?xml version="1.0"?>
  <openerp>
      <data>
-         <record model="ir.ui.view" id="view_maligate_message_form">
-             <field name="name">maligate.message.form</field>
-             <field name="model">maligate.message</field>
+         <record model="ir.ui.view" id="view_mailgate_message_form">
+             <field name="name">mailgate.message.form</field>
+             <field name="model">mailgate.message</field>
              <field name="type">form</field>
              <field name="arch" type="xml">
-                 <form string="maligate message">
-                     <field name="name" />
-                     <field name="date" />
-                     <field name="user_id" />
-                     <field name="history" />
-                     <field name="message_id" />
+                 <form string="mailgate message">
+                     <group colspan="4" col="6">
+                           <field name="name" required="1" select="1"/>
+                           <field name="date" required="1" select="1"/>
+                           <field name="user_id" string="Responsible" select="1"/>
 -                      </group>
 -                      <group colspan="4" col="4">
 -                    <field name="history" select="1" />
 -                    </group>
++                      </group>                        
                      <notebook colspan="4">
-                           <page>
+                           <page string="Details">
                                <group col="4" colspan="4">
                                        <separator string="Email Details" colspan="4"/>
                                            <field name="email_from" />
              <field name="type">tree</field>
              <field name="arch" type="xml">
                  <tree string="Mailgateway Message">
--                    <field name="name" select="1" />
                      <field name="date" />
 -                    <field name="user_id" />
 -                    <field name="history" readonly="1"/>
++                    <field name="email_from" />                    
++                    <field name="user_id" />                    
                  </tree>
              </field>
          </record>
          
+         <record model="ir.ui.view" id="view_mailgate_message_search">
+             <field name="name">mailgate.message.search</field>
+             <field name="model">mailgate.message</field>
+             <field name="type">search</field>
+             <field name="arch" type="xml">
+                 <search string="Mailgateway Message Search">
+                     <field name="name" />
+                     <field name="date" />
+                     <field name="user_id" />
 -                    <field name="message_id" />
 -                    <field name="history" readonly="1"/>
++                    <field name="message_id" />                    
+                 </search>
+             </field>
+         </record>
          
          <record model="ir.ui.view" id="view_mailgate_thread_form">
              <field name="name">mailgate.thread.form</field>
              <field name="model">mailgate.thread</field>
@@@ -61,8 -84,8 +79,7 @@@
                                    <field name="name" />
                                    <field name="date" />
                                    <field name="user_id" />
--                                  <field name="message_id" />
-                                   <field name="history" />
 -                                  <field name="history" readonly="1"/>
++                                  <field name="message_id" />                             
                                    <notebook colspan="4">
                                            <page string="Email Details">
                                                <group col="4" colspan="4">
          <menuitem id="menu_mailgate_thread" name="Mailgateway Threads" action="action_view_mailgate_thread"
                parent="base.menu_crm_configuration"  sequence="20"/>
                -->
-               
+         <act_window domain="[('partner_id', '=', active_id), ('history', '=', True)]"
+             id="act_res_partner_emails" name="Emails"
+             res_model="mailgate.message"
+             src_model="res.partner"
 -            view_id="view_mailgate_message_tree"
 -            groups="base.group_extended"
++            view_id="view_mailgate_message_tree"            
+             />
      </data>
  </openerp>