[IMP] mail.group: cleaned code; added user as default responsible when creating a group.
bzr revid: tde@openerp.com-20120313161902-dwxzjy68bcuj39kk
This commit is contained in:
parent
e2fe93c646
commit
69904e2036
|
@ -2,7 +2,7 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# OpenERP, Open Source Management Solution
|
# OpenERP, Open Source Management Solution
|
||||||
# Copyright (C) 2010-2011 OpenERP SA (<http://www.openerp.com>)
|
# Copyright (C) 2010-today OpenERP SA (<http://www.openerp.com>)
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Affero General Public License as
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
@ -29,9 +29,9 @@ from PIL import Image
|
||||||
|
|
||||||
class mail_group(osv.osv):
|
class mail_group(osv.osv):
|
||||||
"""
|
"""
|
||||||
A mail_group is a collection of users sharing messages in a discussion group.
|
A mail_group is a collection of users sharing messages in a discussion
|
||||||
Mail groups are different from user groups because they don't have a specific field holding users.
|
group. Group users are users that follow the mail group, using the
|
||||||
Group users are users that follow the mail group, using the subscription/follow mechanism of OpenChatter.
|
subscription/follow mechanism of OpenSocial.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_name = 'mail.group'
|
_name = 'mail.group'
|
||||||
|
@ -42,26 +42,31 @@ class mail_group(osv.osv):
|
||||||
|
|
||||||
def action_group_leave(self, cr, uid, ids, context={}):
|
def action_group_leave(self, cr, uid, ids, context={}):
|
||||||
return self.message_unsubscribe(cr, uid, ids, context=context);
|
return self.message_unsubscribe(cr, uid, ids, context=context);
|
||||||
|
|
||||||
def _get_photo_mini(self, cr, uid, ids, name, args, context=None):
|
|
||||||
result = {}
|
|
||||||
for obj in self.browse(cr, uid, ids, context=context):
|
|
||||||
if not obj.photo:
|
|
||||||
result[obj.id] = False
|
|
||||||
continue
|
|
||||||
|
|
||||||
image_stream = io.BytesIO(obj.photo.decode('base64'))
|
def onchange_photo_mini(self, cr, uid, ids, value, context=None):
|
||||||
img = Image.open(image_stream)
|
return {'value': {'photo': value, 'photo_mini': self._photo_resize(cr, uid, value) } }
|
||||||
img.thumbnail((120, 100), Image.ANTIALIAS)
|
|
||||||
img_stream = StringIO.StringIO()
|
|
||||||
img.save(img_stream, "JPEG")
|
|
||||||
result[obj.id] = img_stream.getvalue().encode('base64')
|
|
||||||
return result
|
|
||||||
|
|
||||||
def _set_photo_mini(self, cr, uid, id, name, value, args, context=None):
|
def _set_photo_mini(self, cr, uid, id, name, value, args, context=None):
|
||||||
self.write(cr, uid, [id], {'photo': value}, context=context)
|
self.write(cr, uid, [id], {'photo': value}, context=context)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _photo_resize(self, cr, uid, photo, context=None):
|
||||||
|
image_stream = io.BytesIO(photo.decode('base64'))
|
||||||
|
img = Image.open(image_stream)
|
||||||
|
img.thumbnail((120, 100), Image.ANTIALIAS)
|
||||||
|
img_stream = StringIO.StringIO()
|
||||||
|
img.save(img_stream, "JPEG")
|
||||||
|
return img_stream.getvalue().encode('base64')
|
||||||
|
|
||||||
|
def _get_photo_mini(self, cr, uid, ids, name, args, context=None):
|
||||||
|
result = {}
|
||||||
|
for group in self.browse(cr, uid, ids, context=context):
|
||||||
|
if not group.photo:
|
||||||
|
result[group.id] = False
|
||||||
|
else:
|
||||||
|
result[group.id] = self._photo_resize(cr, uid, group.photo, context=context)
|
||||||
|
return result
|
||||||
|
|
||||||
def is_subscriber(self, cr, uid, ids, name, args, context=None):
|
def is_subscriber(self, cr, uid, ids, name, args, context=None):
|
||||||
result = {}
|
result = {}
|
||||||
for id in ids:
|
for id in ids:
|
||||||
|
@ -83,7 +88,7 @@ class mail_group(osv.osv):
|
||||||
def get_members_nbr(self, cr, uid, ids, name, args, context=None):
|
def get_members_nbr(self, cr, uid, ids, name, args, context=None):
|
||||||
result = {}
|
result = {}
|
||||||
for id in ids:
|
for id in ids:
|
||||||
result[id] = len(self._message_get_subscribers_ids(cr, uid, [id], context=context))
|
result[id] = len(self.message_get_subscribers_ids(cr, uid, [id], context=context))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
|
@ -105,6 +110,7 @@ class mail_group(osv.osv):
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'public': True,
|
'public': True,
|
||||||
|
'responsible_id': (lambda s, cr, uid, ctx: uid),
|
||||||
}
|
}
|
||||||
|
|
||||||
mail_group()
|
mail_group()
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</group>
|
</group>
|
||||||
<group colspan="1" col="2">
|
<group colspan="1" col="2">
|
||||||
<separator string="Group image" colspan="2"/>
|
<separator string="Group image" colspan="2"/>
|
||||||
<field name="photo_mini" widget='image' nolabel="1"/>
|
<field name="photo_mini" widget='image' nolabel="1" on_change="onchange_photo_mini(photo_mini)"/>
|
||||||
</group>
|
</group>
|
||||||
<group colspan="1" col="2">
|
<group colspan="1" col="2">
|
||||||
<separator string="Privacy settings" colspan="2"/>
|
<separator string="Privacy settings" colspan="2"/>
|
||||||
|
|
Loading…
Reference in New Issue