This is just an interim work uploaded to get more guidance http://codereview.appspot.com/1930041/diff/1/4 File electronic_mail.py (right): http://codereview.appspot.com/1930041/diff/1/4#newcode299 electronic_mail.py:299: def request_copy(self, cursor, user, ids, context=None): To be removed
http://codereview.appspot.com/1930041/diff/1/3 File __tryton__.py (right): http://codereview.appspot.com/1930041/diff/1/3#newcode4 __tryton__.py:4: 'name': 'electronic_mail', Electronic Mail http://codereview.appspot.com/1930041/diff/1/3#newcode5 __tryton__.py:5: 'description': '''e-mail integration into Tryton''', Electronic mail storage http://codereview.appspot.com/1930041/diff/1/3#newcode6 __tryton__.py:6: 'version': '1.6.0.1', Use 0.1 when developing http://codereview.appspot.com/1930041/diff/1/4 File electronic_mail.py (right): http://codereview.appspot.com/1930041/diff/1/4#newcode3 electronic_mail.py:3: "Action" To remove http://codereview.appspot.com/1930041/diff/1/4#newcode14 electronic_mail.py:14: class ElectronicMailMailbox(ModelSQL, ModelView): Simply Mailbox http://codereview.appspot.com/1930041/diff/1/4#newcode17 electronic_mail.py:17: necessarily pertain to file storage.""" Simply Mailbox http://codereview.appspot.com/1930041/diff/1/4#newcode23 electronic_mail.py:23: parent = fields.Many2One('electronic_mail.mailbox', 'Parent') Better to be a many2many http://codereview.appspot.com/1930041/diff/1/4#newcode29 electronic_mail.py:29: view = fields.Many2One('electronic_mail.mailbox', 'View', If parent is a many2many no more need of this http://codereview.appspot.com/1930041/diff/1/4#newcode45 electronic_mail.py:45: Checks if the user has access to the mailbox I think it should be solved by ir.rule http://codereview.appspot.com/1930041/diff/1/4#newcode139 electronic_mail.py:139: ' Main Menu >> User >> Preferences \n' Avoid to have GUI description in message it is hard to maintain. http://codereview.appspot.com/1930041/diff/1/4#newcode146 electronic_mail.py:146: def default_flag_seen(self, *args): Avoid to use *args here, it doesn't detect wrong calls http://codereview.appspot.com/1930041/diff/1/4#newcode158 electronic_mail.py:158: def check_access(self, cursor, user, ids, mode='read', context=None): Should be done with ir.rule http://codereview.appspot.com/1930041/diff/1/4#newcode202 electronic_mail.py:202: result[electronic_mail] = self._get_email(cursor, user, You should not split into to function or you must pass browserecords instead of ids http://codereview.appspot.com/1930041/diff/1/4#newcode258 electronic_mail.py:258: def make_digest(self, mail): I don't think this is useful to be able to change the digest http://codereview.appspot.com/1930041/diff/1/5 File electronic_mail.xml (right): http://codereview.appspot.com/1930041/diff/1/5#newcode7 electronic_mail.xml:7: <menuitem name="Email Management" sequence="10" id="menu_email_management"/> Perhaps to put inside Administration>Users