[REM] remove res.request, reorg technical menu.
bzr revid: al@openerp.com-20131006122843-r6k0i0aj0yzz50j5
This commit is contained in:
@@ -35,21 +35,21 @@ The kernel of OpenERP, needed for all installation.
|
||||
'depends': [],
|
||||
'data': [
|
||||
'base_data.xml',
|
||||
'currency_data.xml',
|
||||
'res/res_currency_data.xml',
|
||||
'res/res_country_data.xml',
|
||||
'security/base_security.xml',
|
||||
'base_menu.xml',
|
||||
'res/res_security.xml',
|
||||
'res/res_config.xml',
|
||||
'data/res.country.state.csv',
|
||||
'res/res.country.state.csv',
|
||||
'ir/wizard/wizard_menu_view.xml',
|
||||
'ir/ir_actions.xml',
|
||||
'ir/ir_attachment_view.xml',
|
||||
'ir/ir_config_parameter_view.xml',
|
||||
'ir/ir_cron_view.xml',
|
||||
'ir/ir_filters.xml',
|
||||
'ir/ir_mail_server_view.xml',
|
||||
'ir/ir_model_view.xml',
|
||||
'ir/ir_attachment_view.xml',
|
||||
'ir/ir_rule_view.xml',
|
||||
'ir/ir_sequence_view.xml',
|
||||
'ir/ir_translation_view.xml',
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
<menuitem id="menu_email" name="Email" parent="menu_custom" sequence="1"/>
|
||||
<menuitem id="menu_security" name="Security" parent="menu_custom" sequence="25"/>
|
||||
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
|
||||
<menuitem id="next_id_4" name="Low Level Objects" parent="menu_custom" sequence="30"/>
|
||||
|
||||
<record id="action_client_base_menu" model="ir.actions.client">
|
||||
<field name="name">Open Settings Menu</field>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -89,7 +89,7 @@
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_attachment_search"/>
|
||||
</record>
|
||||
<menuitem action="action_attachment" id="menu_action_attachment" parent="base.next_id_4"/>
|
||||
<menuitem action="action_attachment" id="menu_action_attachment" parent="base.next_id_9"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -19,74 +19,14 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
|
||||
from openerp.osv import osv, fields
|
||||
|
||||
def _links_get(self, cr, uid, context=None):
|
||||
def referencable_models(self, cr, uid, context=None):
|
||||
obj = self.pool.get('res.request.link')
|
||||
ids = obj.search(cr, uid, [], context=context)
|
||||
res = obj.read(cr, uid, ids, ['object', 'name'], context)
|
||||
return [(r['object'], r['name']) for r in res]
|
||||
|
||||
class res_request(osv.osv):
|
||||
_name = 'res.request'
|
||||
|
||||
def request_send(self, cr, uid, ids, *args):
|
||||
for id in ids:
|
||||
cr.execute('update res_request set state=%s,date_sent=%s where id=%s', ('waiting', time.strftime('%Y-%m-%d %H:%M:%S'), id))
|
||||
cr.execute('select act_from,act_to,body,date_sent from res_request where id=%s', (id,))
|
||||
values = cr.dictfetchone()
|
||||
if values['body'] and (len(values['body']) > 128):
|
||||
values['name'] = values['body'][:125] + '...'
|
||||
else:
|
||||
values['name'] = values['body'] or '/'
|
||||
values['req_id'] = id
|
||||
self.pool.get('res.request.history').create(cr, uid, values)
|
||||
return True
|
||||
|
||||
def request_reply(self, cr, uid, ids, *args):
|
||||
for id in ids:
|
||||
cr.execute("update res_request set state='active', act_from=%s, act_to=act_from, trigger_date=NULL, body='' where id=%s", (uid,id))
|
||||
return True
|
||||
|
||||
def request_close(self, cr, uid, ids, *args):
|
||||
self.write(cr, uid, ids, {'state':'closed'})
|
||||
return True
|
||||
|
||||
def request_get(self, cr, uid):
|
||||
cr.execute('select id from res_request where act_to=%s and (trigger_date<=%s or trigger_date is null) and active=True and state != %s', (uid,time.strftime('%Y-%m-%d'), 'closed'))
|
||||
ids = map(lambda x:x[0], cr.fetchall())
|
||||
cr.execute('select id from res_request where act_from=%s and (act_to<>%s) and (trigger_date<=%s or trigger_date is null) and active=True and state != %s', (uid,uid,time.strftime('%Y-%m-%d'), 'closed'))
|
||||
ids2 = map(lambda x:x[0], cr.fetchall())
|
||||
return ids, ids2
|
||||
|
||||
_columns = {
|
||||
'create_date': fields.datetime('Created Date', readonly=True),
|
||||
'name': fields.char('Subject', states={'waiting':[('readonly',True)],'active':[('readonly',True)],'closed':[('readonly',True)]}, required=True, size=128),
|
||||
'active': fields.boolean('Active'),
|
||||
'priority': fields.selection([('0','Low'),('1','Normal'),('2','High')], 'Priority', states={'waiting':[('readonly',True)],'closed':[('readonly',True)]}, required=True),
|
||||
'act_from': fields.many2one('res.users', 'From', required=True, readonly=True, states={'closed':[('readonly',True)]}, select=1),
|
||||
'act_to': fields.many2one('res.users', 'To', required=True, states={'waiting':[('readonly',True)],'closed':[('readonly',True)]}, select=1),
|
||||
'body': fields.text('Request', states={'waiting':[('readonly',True)],'closed':[('readonly',True)]}),
|
||||
'date_sent': fields.datetime('Date', readonly=True),
|
||||
'trigger_date': fields.datetime('Trigger Date', states={'waiting':[('readonly',True)],'closed':[('readonly',True)]}, select=1),
|
||||
'ref_partner_id':fields.many2one('res.partner', 'Partner Ref.', states={'closed':[('readonly',True)]}),
|
||||
'ref_doc1':fields.reference('Document Ref 1', selection=_links_get, size=128, states={'closed':[('readonly',True)]}),
|
||||
'ref_doc2':fields.reference('Document Ref 2', selection=_links_get, size=128, states={'closed':[('readonly',True)]}),
|
||||
'state': fields.selection([('draft','draft'),('waiting','waiting'),('active','active'),('closed','closed')], 'Status', required=True, readonly=True),
|
||||
'history': fields.one2many('res.request.history','req_id', 'History')
|
||||
}
|
||||
_defaults = {
|
||||
'act_from': lambda obj,cr,uid,context=None: uid,
|
||||
'state': 'draft',
|
||||
'active': True,
|
||||
'priority': '1',
|
||||
}
|
||||
_order = 'priority desc, trigger_date, create_date desc'
|
||||
_table = 'res_request'
|
||||
res_request()
|
||||
|
||||
class res_request_link(osv.osv):
|
||||
_name = 'res.request.link'
|
||||
_columns = {
|
||||
@@ -98,26 +38,6 @@ class res_request_link(osv.osv):
|
||||
'priority': 5,
|
||||
}
|
||||
_order = 'priority'
|
||||
res_request_link()
|
||||
|
||||
class res_request_history(osv.osv):
|
||||
_name = 'res.request.history'
|
||||
_columns = {
|
||||
'name': fields.char('Summary', size=128, states={'active':[('readonly',True)],'waiting':[('readonly',True)]}, required=True),
|
||||
'req_id': fields.many2one('res.request', 'Request', required=True, ondelete='cascade', select=True),
|
||||
'act_from': fields.many2one('res.users', 'From', required=True, readonly=True),
|
||||
'act_to': fields.many2one('res.users', 'To', required=True, states={'waiting':[('readonly',True)]}),
|
||||
'body': fields.text('Body', states={'waiting':[('readonly',True)]}),
|
||||
'date_sent': fields.datetime('Date sent', states={'waiting':[('readonly',True)]}, required=True)
|
||||
}
|
||||
_defaults = {
|
||||
'name': 'NoName',
|
||||
'act_from': lambda obj,cr,uid,context=None: uid,
|
||||
'act_to': lambda obj,cr,uid,context=None: uid,
|
||||
'date_sent': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
}
|
||||
res_request_history()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -35,16 +35,15 @@
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_request_link-act" model="ir.actions.act_window">
|
||||
<field name="name">Request Reference Types</field>
|
||||
<field name="name">Referencable Models</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">res.request.link</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="res_request_link_search_view"/>
|
||||
</record>
|
||||
<menuitem action="res_request_link-act" id="menu_res_request_link_act" parent="base.next_id_4" />
|
||||
<menuitem action="res_request_link-act" id="menu_res_request_link_act" parent="base.next_id_9"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -69,10 +69,6 @@
|
||||
"access_res_partner_category_group_partner_manager","res_partner_category group_partner_manager","model_res_partner_category","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_title_group_user","res_partner_title group_user","model_res_partner_title","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_title_group_partner_manager","res_partner_title group_partner_manager","model_res_partner_title",,1,0,0,0
|
||||
"access_res_request_group_user","res_request group_user","model_res_request","base.group_user",1,1,1,1
|
||||
"access_res_request_history_group_user","res_request_history group_user","model_res_request_history","base.group_user",1,1,1,1
|
||||
"access_res_request_group_user_all","res_request group_user all","model_res_request",,1,0,0,0
|
||||
"access_res_request_history_group_user_all","res_request_history group_user all","model_res_request_history",,1,0,0,0
|
||||
"access_res_request_link_group_system","res_request_link group_system","model_res_request_link","group_system",1,1,1,1
|
||||
"access_res_request_link_group_user","res_request_link group_user","model_res_request_link",,1,0,0,0
|
||||
"access_res_users_all","res_users all","model_res_users",,1,0,0,0
|
||||
|
||||
|
@@ -182,7 +182,7 @@ class reference(_column):
|
||||
_type = 'reference'
|
||||
_classic_read = False # post-process to handle missing target
|
||||
|
||||
def __init__(self, string, selection, size, **args):
|
||||
def __init__(self, string, selection, size=None, **args):
|
||||
_column.__init__(self, string=string, size=size, selection=selection, **args)
|
||||
|
||||
def get(self, cr, obj, ids, name, uid=None, context=None, values=None):
|
||||
|
||||
Reference in New Issue
Block a user