[IMP] Give users the possibility to view emails
[IMP] Add 'action_needed' flag to mails - default on for new messages receivedpull/78/head
parent
51d244a35c
commit
fc0cd8a45c
|
@ -0,0 +1,22 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2013 Therp BV (<http://therp.nl>)
|
||||
# All Rights Reserved
|
||||
#
|
||||
# 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
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import model
|
|
@ -0,0 +1,48 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2013 Therp BV (<http://therp.nl>)
|
||||
# All Rights Reserved
|
||||
#
|
||||
# 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
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'User email access',
|
||||
'version': '6.1.r0025',
|
||||
'description': '''
|
||||
Adds a menu to the customer address book that enables ordinary users to
|
||||
look at customer or other mail. Also adds an 'action needed' boolean to
|
||||
mail messages, to quickly select all mails that still have to be acted on.
|
||||
|
||||
The action_needed flag will be shown to users in a tree view as a red
|
||||
circle, no action needed will be green. In a form users either have the
|
||||
button 'confirm action done' (if action needed), or the button 'set
|
||||
action needed.
|
||||
''',
|
||||
'author': 'Therp BV',
|
||||
'website': 'http://www.therp.nl',
|
||||
'category': 'Tools',
|
||||
'depends': ['mail'],
|
||||
'data': [
|
||||
'view/mail_user_menu.xml',
|
||||
'view/mail_user_view.xml',
|
||||
],
|
||||
'js': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '',
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
import mail_message
|
|
@ -0,0 +1,40 @@
|
|||
# -*- coding: UTF-8 -*-
|
||||
'''
|
||||
Created on 16 apr. 2013
|
||||
|
||||
@author: Therp BV
|
||||
|
||||
http://www.therp.nl
|
||||
'''
|
||||
from openerp.osv import osv
|
||||
from openerp.osv import fields
|
||||
|
||||
|
||||
class mail_message(osv.osv):
|
||||
'''Extend mail_message with action_needed flag'''
|
||||
_inherit = 'mail.message'
|
||||
|
||||
def set_action_needed_off(self, cr, user, ids, args):
|
||||
self.write(cr, user, ids, {'action_needed': False})
|
||||
return True
|
||||
|
||||
def set_action_needed_on(self, cr, user, ids, args):
|
||||
self.write(cr, user, ids, {'action_needed': True, })
|
||||
return True
|
||||
|
||||
def create(self, cr, user, vals, context=None):
|
||||
# Set newly received messages as needing action, unless an
|
||||
# explicit value for action_needed has been passed.
|
||||
if ((not 'action_needed' in vals)
|
||||
and ('state' in vals)
|
||||
and (vals['state'] == 'received')):
|
||||
vals['action_needed'] = True
|
||||
mm_id = super(mail_message, self).create(cr, user, vals, context)
|
||||
return mm_id
|
||||
|
||||
_columns = {
|
||||
'action_needed': fields.boolean('Action needed',
|
||||
help='Action needed is True whenever a new mail is received, or'
|
||||
' when a user flags a message as needing attention.'
|
||||
),
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem
|
||||
id="mail_user_menu"
|
||||
name="Messages"
|
||||
parent="base.menu_address_book"
|
||||
action="mail.action_view_mail_message"
|
||||
sequence="80" />
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,98 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record
|
||||
id="view_mail_action_needed_search"
|
||||
model="ir.ui.view">
|
||||
<field name="name">view_mail_action_needed_search</field>
|
||||
<field name="model">mail.message</field>
|
||||
<field
|
||||
name="inherit_id"
|
||||
ref="mail.view_email_message_search" />
|
||||
<field
|
||||
name="arch"
|
||||
type="xml">
|
||||
<data>
|
||||
<field
|
||||
name="email_from"
|
||||
position="before">
|
||||
<separator orientation="vertical"/>
|
||||
<filter
|
||||
icon="terp-check"
|
||||
name="action"
|
||||
string="Action needed"
|
||||
domain="[('action_needed','=',True)]" />
|
||||
</field>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
id="view_mail_action_needed_tree"
|
||||
model="ir.ui.view">
|
||||
<field name="name">view_mail_action_needed_tree</field>
|
||||
<field name="model">mail.message</field>
|
||||
<field
|
||||
name="inherit_id"
|
||||
ref="mail.view_email_message_tree" />
|
||||
<field
|
||||
name="arch"
|
||||
type="xml">
|
||||
<data>
|
||||
<field
|
||||
name="state"
|
||||
position="after">
|
||||
<field
|
||||
name="action_needed"
|
||||
invisible="True" />
|
||||
<button
|
||||
name="set_action_needed_off"
|
||||
attrs="{'invisible': [('action_needed','=',False)]}"
|
||||
string="confirm action done"
|
||||
icon="gtk-no"
|
||||
type="object" />
|
||||
<button
|
||||
name="set_action_needed_on"
|
||||
attrs="{'invisible': [('action_needed','=',True)]}"
|
||||
string="set action needed"
|
||||
icon="gtk-yes"
|
||||
type="object" />
|
||||
</field>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
id="view_mail_action_needed_form"
|
||||
model="ir.ui.view">
|
||||
<field name="name">view_mail_action_needed_form</field>
|
||||
<field name="model">mail.message</field>
|
||||
<field
|
||||
name="inherit_id"
|
||||
ref="mail.view_email_message_form" />
|
||||
<field
|
||||
name="arch"
|
||||
type="xml">
|
||||
<data>
|
||||
<button
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
position="after">
|
||||
<field
|
||||
name="action_needed"
|
||||
invisible="True" />
|
||||
<button
|
||||
name="set_action_needed_off"
|
||||
attrs="{'invisible': [('action_needed','=',False)]}"
|
||||
string="confirm action done"
|
||||
icon="gtk-no"
|
||||
type="object" />
|
||||
<button
|
||||
name="set_action_needed_on"
|
||||
attrs="{'invisible': [('action_needed','=',True)]}"
|
||||
string="set action needed"
|
||||
icon="gtk-yes"
|
||||
type="object" />
|
||||
</button>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
Loading…
Reference in New Issue