2009-12-30 10:20:44 +00:00
# -*- coding: utf-8 -*-
##############################################################################
2010-01-08 11:05:05 +00:00
#
2009-12-30 10:20:44 +00:00
# OpenERP, Open Source Management Solution
2010-01-12 09:18:39 +00:00
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
2009-12-30 10:20:44 +00:00
#
# 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
2010-01-08 11:05:05 +00:00
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2009-12-30 10:20:44 +00:00
#
##############################################################################
from osv import fields , osv
2010-04-28 11:41:59 +00:00
from crm import crm
2010-01-11 11:11:20 +00:00
2010-05-06 06:44:00 +00:00
class crm_claim ( osv . osv , crm . crm_case ) :
2010-03-19 10:06:28 +00:00
"""
Crm claim
"""
2009-12-30 10:20:44 +00:00
_name = " crm.claim "
_description = " Claim Cases "
_order = " id desc "
2010-06-23 20:29:29 +00:00
_inherit = [ ' mailgate.thread ' ]
2010-01-08 11:05:05 +00:00
_columns = {
2010-05-06 06:44:00 +00:00
' id ' : fields . integer ( ' ID ' , readonly = True ) ,
' name ' : fields . char ( ' Name ' , size = 128 , required = True ) ,
2010-05-20 06:16:37 +00:00
' active ' : fields . boolean ( ' Active ' , required = False ) ,
' date_action_last ' : fields . datetime ( ' Last Action ' , readonly = 1 ) ,
' date_action_next ' : fields . datetime ( ' Next Action ' , readonly = 1 ) ,
2010-05-06 06:44:00 +00:00
' description ' : fields . text ( ' Description ' ) ,
' create_date ' : fields . datetime ( ' Creation Date ' , readonly = True ) ,
' write_date ' : fields . datetime ( ' Update Date ' , readonly = True ) ,
' date_deadline ' : fields . date ( ' Deadline ' ) ,
' date_closed ' : fields . datetime ( ' Closed ' , readonly = True ) ,
' date ' : fields . datetime ( ' Date ' ) ,
' ref ' : fields . reference ( ' Reference ' , selection = crm . _links_get , size = 128 ) ,
' ref2 ' : fields . reference ( ' Reference 2 ' , selection = crm . _links_get , size = 128 ) ,
' canal_id ' : fields . many2one ( ' res.partner.canal ' , ' Channel ' , \
2010-05-12 13:16:01 +00:00
help = " The channels represent the different communication " \
" modes available with the customer. " \
" With each commercial opportunity, you can indicate the " \
" canall which is this opportunity source. " ) ,
2010-05-06 06:44:00 +00:00
' planned_revenue ' : fields . float ( ' Planned Revenue ' ) ,
' planned_cost ' : fields . float ( ' Planned Costs ' ) ,
2010-03-22 10:40:26 +00:00
' som ' : fields . many2one ( ' res.partner.som ' , ' State of Mind ' , \
2010-05-12 13:16:01 +00:00
help = " The minds states allow to define a value scale " \
" which represents the partner mentality in " \
" relation to our services.The scale has to be " \
" created with a factor for each level from 0 " \
" (Very dissatisfied) to 10 (Extremely satisfied) " ) ,
2010-05-06 06:44:00 +00:00
' categ_id ' : fields . many2one ( ' crm.case.categ ' , ' Category ' , \
2010-03-22 10:40:26 +00:00
domain = " [( ' section_id ' , ' = ' ,section_id), \
2010-05-06 06:44:00 +00:00
( ' object_id.model ' , ' = ' , ' crm.claim ' ) ] " ),
' priority ' : fields . selection ( crm . AVAILABLE_PRIORITIES , ' Priority ' ) ,
' type_id ' : fields . many2one ( ' crm.case.resource.type ' , ' Claim Type ' , \
2010-03-22 10:40:26 +00:00
domain = " [( ' section_id ' , ' = ' ,section_id), \
2010-05-06 06:44:00 +00:00
( ' object_id.model ' , ' = ' , ' crm.claim ' ) ] " ),
' user_id ' : fields . many2one ( ' res.users ' , ' Responsible ' ) ,
' section_id ' : fields . many2one ( ' crm.case.section ' , ' Sales Team ' , \
2010-05-12 13:16:01 +00:00
select = True , help = " Sales team to which Case belongs to. " \
" Define Responsible user and Email account for " \
" mail gateway. " ) ,
2010-05-06 06:44:00 +00:00
' company_id ' : fields . many2one ( ' res.company ' , ' Company ' ) ,
' partner_id ' : fields . many2one ( ' res.partner ' , ' Partner ' ) ,
' partner_address_id ' : fields . many2one ( ' res.partner.address ' , ' Partner Contact ' , \
2010-06-15 12:41:14 +00:00
# domain="[('partner_id','=',partner_id)]"
) ,
2010-05-12 13:16:01 +00:00
' email_cc ' : fields . text ( ' Watchers Emails ' , size = 252 , help = " These people will receive a copy of the future communication between partner and users by email " ) ,
2010-05-06 06:44:00 +00:00
' email_from ' : fields . char ( ' Email ' , size = 128 , help = " These people will receive email. " ) ,
' partner_name ' : fields . char ( " Employee ' s Name " , size = 64 ) ,
' partner_mobile ' : fields . char ( ' Mobile ' , size = 32 ) ,
' partner_phone ' : fields . char ( ' Phone ' , size = 32 ) ,
' stage_id ' : fields . many2one ( ' crm.case.stage ' , ' Stage ' , \
2010-03-22 10:40:26 +00:00
domain = " [( ' section_id ' , ' = ' ,section_id), \
2010-05-06 06:44:00 +00:00
( ' object_id.model ' , ' = ' , ' crm.claim ' ) ] " ),
' probability ' : fields . float ( ' Probability ( % ) ' ) ,
' state ' : fields . selection ( crm . AVAILABLE_STATES , ' State ' , size = 16 , readonly = True ,
help = ' The state is set to \' Draft \' , when a case is created. \
\nIf the case is in progress the state is set to \' Open \' . \
\nWhen the case is over , the state is set to \' Done \' . \
\nIf the case needs to be reviewed then the state is set to \' Pending \' . ' ) ,
2010-06-23 20:29:29 +00:00
' message_ids ' : fields . one2many ( ' mailgate.message ' , ' res_id ' , ' Messages ' , domain = [ ( ' history ' , ' = ' , True ) , ( ' res_model ' , ' = ' , _name ) ] ) ,
' log_ids ' : fields . one2many ( ' mailgate.message ' , ' res_id ' , ' Logs ' , domain = [ ( ' history ' , ' = ' , False ) , ( ' res_model ' , ' = ' , _name ) ] ) ,
2010-01-11 11:11:20 +00:00
}
2010-03-22 10:40:26 +00:00
2010-01-11 11:11:20 +00:00
_defaults = {
2010-05-06 06:44:00 +00:00
' active ' : lambda * a : 1 ,
' user_id ' : crm . crm_case . _get_default_user ,
' partner_id ' : crm . crm_case . _get_default_partner ,
' 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 ,
' 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 ] ,
2009-12-30 10:20:44 +00:00
}
2010-03-22 10:40:26 +00:00
2009-12-30 10:20:44 +00:00
crm_claim ( )
2009-12-31 12:57:20 +00:00
2010-04-28 11:41:59 +00:00
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: