[MERGE] Bug fix lp:685977,lp:680704,lp:674241

bzr revid: sbh@tinyerp.com-20101207083747-trvx7xeucdjw5huk
This commit is contained in:
Sbh (OpenERP) 2010-12-07 14:07:47 +05:30
commit fd7173ceb6
5 changed files with 23 additions and 13 deletions

View File

@ -57,9 +57,8 @@ class email_server(osv.osv):
'user' : fields.char('User Name', size=256, required=True, readonly=True, states={'draft':[('readonly', False)]}),
'password' : fields.char('Password', size=1024, invisible=True, required=True, readonly=True, states={'draft':[('readonly', False)]}),
'note': fields.text('Description'),
'action_id':fields.many2one('ir.actions.server', 'Reply Email', required=False, domain="[('state','=','email')]",
help="An Email Server Action. It will be run whenever an e-mail is fetched from server."),
'object_id': fields.many2one('ir.model', "Model", required=True, help="OpenObject Model. Generates a record of this model."),
'action_id':fields.many2one('ir.actions.server', 'Email Server Action', required=False, domain="[('state','=','email')]", help="An Email Server Action. It will be run whenever an e-mail is fetched from server."),
'object_id': fields.many2one('ir.model', "Model", required=True, help="OpenObject Model. Generates a record of this model.\nSelect Object with message_new attrbutes."),
'priority': fields.integer('Server Priority', readonly=True, states={'draft':[('readonly', False)]}, help="Priority between 0 to 10, select define the order of Processing"),
'user_id':fields.many2one('res.users', 'User', required=False),
'message_ids': fields.one2many('mailgate.message', 'server_id', 'Messages', readonly=True),
@ -82,8 +81,19 @@ class email_server(osv.osv):
return False
return True
def check_model(self, cr, uid, ids, context = None):
if context is None:
context = {}
current_rec = self.read(cr, uid, ids, context)[0]
if current_rec:
model = self.pool.get(current_rec.get('object_id')[1])
if hasattr(model, 'message_new'):
return True
return False
_constraints = [
(check_duplicate, 'Warning! Can\'t have duplicate server configuration!', ['user', 'password'])
(check_duplicate, 'Warning! Can\'t have duplicate server configuration!', ['user', 'password']),
(check_model, 'Warning! Record for selected Model can not be created\nPlease choose valid Model', ['object_id'])
]
def onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False):

View File

@ -1,8 +1,8 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_phase","project.phase","model_project_phase","project.group_project_user",1,1,1,0
"access_project_resource_allocation","project.resource.allocation","model_project_resource_allocation","project.group_project_user",1,0,0,0
"access_project_phase_manager","project.phase manager","model_project_phase","project.group_project_manager",1,0,0,0
"access_project_resource_allocation_manager","project.resource.allocation manager","model_project_resource_allocation","project.group_project_manager",1,0,0,0
"access_project_phase_manager","project.phase manager","model_project_phase","project.group_project_manager",1,1,1,1
"access_project_resource_allocation_manager","project.resource.allocation manager","model_project_resource_allocation","project.group_project_manager",1,1,1,1
"access_resource_resource_user","resource.resource user","resource.model_resource_resource","project.group_project_user",1,0,0,0
"access_resource_calendar_leaves_user","resource.calendar.leaves user","resource.model_resource_calendar_leaves","project.group_project_user",1,1,1,1
"access_resource_resource_manager","resource.resource manager","resource.model_resource_resource","project.group_project_manager",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_project_phase project.phase model_project_phase project.group_project_user 1 1 1 0
3 access_project_resource_allocation project.resource.allocation model_project_resource_allocation project.group_project_user 1 0 0 0
4 access_project_phase_manager project.phase manager model_project_phase project.group_project_manager 1 0 1 0 1 0 1
5 access_project_resource_allocation_manager project.resource.allocation manager model_project_resource_allocation project.group_project_manager 1 0 1 0 1 0 1
6 access_resource_resource_user resource.resource user resource.model_resource_resource project.group_project_user 1 0 0 0
7 access_resource_calendar_leaves_user resource.calendar.leaves user resource.model_resource_calendar_leaves project.group_project_user 1 1 1 1
8 access_resource_resource_manager resource.resource manager resource.model_resource_resource project.group_project_manager 1 1 1 1

View File

@ -29,11 +29,11 @@
"description": """
This module is required for the thuderbird plug-in to work
properly.
This allows you to select an object that youd like to add
to your email and its attachments. You can select a partner, a task,
a project, an analytical account, or any other object and attach selected
mail as .eml file in attachment of selected record.
The Plugin allows you archive email and its attachments to the selected
OpenERP objects. You can select a partner, a task, a project, an analytical
account,or any other object and attach selected mail as .eml file in
attachment of selected record. You can create Documents for crm Lead,
HR Applicant and project issue from selected mails.
""",
"init_xml" : [],

View File

@ -131,11 +131,11 @@ email_server_tools()
class thunderbird_partner(osv.osv_memory):
_name = "thunderbird.partner"
_description="Thunderbid mails"
_description="Thunderbid Plugin Tools"
def create_contact(self,cr,user,vals):
dictcreate = dict(vals)
# Set False value if 'undefined'. Thunerbird set 'undefined' if user did not set any value.
# Set False value if 'undefined' for record. Id User does not spicify the values, Thunerbird set 'undefined' by default for new contact.
for key in dictcreate:
if dictcreate[key] == 'undefined':
dictcreate[key] = False