File: __init__.py

package info (click to toggle)
tinyerp-client 3.4.2-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 4,832 kB
  • ctags: 1,024
  • sloc: python: 7,566; sh: 2,253; makefile: 81
file content (66 lines) | stat: -rw-r--r-- 2,818 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
##############################################################################
#
# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved.
#                    Fabien Pinckaers <fp@tiny.Be>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
##############################################################################

import service
import rpc

import common
import form
import tree

class window_int(object):
	def __init__(self, view, datas):
		self.name = datas.get('name', _('Unknown Window'))

class window(service.Service):
	def __init__(self, name='gui.window'):
		service.Service.__init__(self, name)
	def create(self, view_id, model, res_id=False, domain=None, view_type='form', window=None, context={}, mode=None):
		context.update(rpc.session.context)
		if view_type=='form':
			mode = (mode or 'form,tree').split(',')
			win = form.form(model, res_id, domain, view_type=mode, view_ids = (view_id and [view_id]) or [], window=window, context=context)
			spool = service.LocalService('spool')
			spool.publish('gui.window', win, {})
		elif view_type=='tree':
			if view_id:
				view_base =  rpc.session.rpc_exec_auth('/object', 'execute', 'ir.ui.view', 'read', [view_id], ['model', 'type'], context)[0]
				model = view_base['model']
				view = rpc.session.rpc_exec_auth('/object', 'execute', view_base['model'], 'fields_view_get', view_id, view_base['type'],context)
			else:
				view = rpc.session.rpc_exec_auth('/object', 'execute', model, 'fields_view_get', False, view_type, context)

			win = tree.tree(view, model, res_id, domain, context)
			spool = service.LocalService('spool')
			spool.publish('gui.window', win, {})
		else:
			import logging
			log = logging.getLogger('view')
			log.error('unknown view type: '+str(view['type']))
			del log
window()