diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index fd8d2942337..d0abc98e518 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -350,7 +350,7 @@ class crm_case(crm_base):
value = {}
if hasattr(self,'onchange_stage_id'):
value = self.onchange_stage_id(cr, uid, ids, stage_id)['value']
- value['stage_id'] = stage_id
+ value['stage_id'] = stage_id
self.write(cr, uid, ids, value, context=context)
def stage_change(self, cr, uid, ids, op, order, context=None):
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index 72170a70b15..401c43b0455 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -82,33 +82,6 @@ class crm_claim(crm.crm_case, osv.osv):
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
-
- def stage_next(self, cr, uid, ids, context=None):
- stage = super(crm_claim, self).stage_next(cr, uid, ids, context=context)
- if stage:
- stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
- self.history(cr, uid, ids, _("Changed Stage to: ") + stage_obj.name)
- return stage
-
- def stage_previous(self, cr, uid, ids, context=None):
- stage = super(crm_claim, self).stage_previous(cr, uid, ids, context=context)
- if stage:
- stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
- self.history(cr, uid, ids, _("Changed Stage to: ") + stage_obj.name)
- return stage
-
- def _get_stage_id(self, cr, uid, context=None):
- """Finds type of stage according to object.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param context: A standard dictionary for contextual values
- """
- if context is None:
- context = {}
- type = context and context.get('stage_type', '')
- stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [('type','=',type),('sequence','>=',1)])
- return stage_ids and stage_ids[0] or False
_defaults = {
'user_id': crm.crm_case._get_default_user,
@@ -116,19 +89,14 @@ class crm_claim(crm.crm_case, osv.osv):
'partner_address_id': crm.crm_case._get_default_partner_address,
'email_from':crm.crm_case. _get_default_email,
'state': lambda *a: 'draft',
- 'section_id':crm.crm_case. _get_section,
+ 'section_id': crm.crm_case._get_section,
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
- #'stage_id': _get_stage_id,
}
def onchange_partner_id(self, cr, uid, ids, part, email=False):
"""This function returns value of partner address based on partner
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case IDs
@param part: Partner's id
@email: Partner's email ID
"""
@@ -145,10 +113,6 @@ class crm_claim(crm.crm_case, osv.osv):
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
"""This function returns value of partner email based on Partner Address
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case IDs
@param add: Id of Partner's address
@email: Partner's email ID
"""
@@ -156,28 +120,23 @@ class crm_claim(crm.crm_case, osv.osv):
return {'value': {'email_from': False}}
address = self.pool.get('res.partner.address').browse(cr, uid, add)
return {'value': {'email_from': address.email, 'partner_phone': address.phone, 'partner_mobile': address.mobile}}
-
+
def case_open(self, cr, uid, ids, *args):
- """
- Opens Claim
- """
+ for l in self.browse(cr, uid, ids):
+ # When coming from draft override date and stage otherwise just set state
+ if l.state == 'draft':
+ message = _("The claim '%s' has been opened.") % l.name
+ self.log(cr, uid, l.id, message)
+ value = {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')}
+ self.write(cr, uid, [l.id], value)
+ stage_id = self.stage_find(cr, uid, l.section_id.id or False, [('sequence','>',0)])
+ if stage_id:
+ self.stage_set(cr, uid, [l.id], stage_id)
res = super(crm_claim, self).case_open(cr, uid, ids, *args)
- claims = self.browse(cr, uid, ids)
-
- for i in xrange(0, len(ids)):
- if not claims[i].stage_id :
- stage_id = self._find_first_stage(cr, uid, 'claim', claims[i].section_id.id or False)
- self.write(cr, uid, [ids[i]], {'stage_id' : stage_id})
-
return res
def message_new(self, cr, uid, msg, context=None):
- """
- Automatically calls when new email message arrives
-
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks
+ """ Automatically calls when new email message arrives
"""
mailgate_pool = self.pool.get('email.server.tools')
@@ -217,9 +176,6 @@ class crm_claim(crm.crm_case, osv.osv):
def message_update(self, cr, uid, ids, vals={}, msg="", default_act='pending', context=None):
"""
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
@param ids: List of update mail’s IDs
"""
if isinstance(ids, (str, int, long)):
@@ -253,21 +209,14 @@ class crm_claim(crm.crm_case, osv.osv):
return res
def msg_send(self, cr, uid, id, *args, **argv):
-
""" Send The Message
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of email’s IDs
- @param *args: Return Tuple Value
- @param **args: Return Dictionary of Keyword Value
+ @param ids: List of email’s IDs
"""
return True
crm_claim()
class res_partner(osv.osv):
-
_inherit = 'res.partner'
_columns = {
'claims_ids': fields.one2many('crm.claim', 'partner_id', 'Claims'),
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 6a9e114299f..72dcabf7c9a 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -82,7 +82,7 @@
-
+