From e7c6535c6bc94b91fef267566c7078d09d1bd596 Mon Sep 17 00:00:00 2001 From: "vda (Open ERP)" Date: Fri, 15 Oct 2010 20:30:18 +0530 Subject: [PATCH] [IMP] Improved res widget per user. bzr revid: vda@tinyerp.com-20101015150018-1hdbak0wue5loiqa --- bin/addons/base/__openerp__.py | 1 + bin/addons/base/ir/ir_ui_menu.py | 4 +- bin/addons/base/res/__init__.py | 1 + bin/addons/base/res/res_widget.py | 24 +++++++++- bin/addons/base/res/res_widget_view.xml | 48 +++++++++++++++++++ bin/addons/base/res/res_widget_wizard.py | 38 +++++++++++++++ .../base/res/res_widget_wizard_view.xml | 18 +++++++ 7 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 bin/addons/base/res/res_widget_wizard.py create mode 100644 bin/addons/base/res/res_widget_wizard_view.xml diff --git a/bin/addons/base/__openerp__.py b/bin/addons/base/__openerp__.py index 2bf126f5300..d2536b0f04c 100644 --- a/bin/addons/base/__openerp__.py +++ b/bin/addons/base/__openerp__.py @@ -75,6 +75,7 @@ 'security/ir.model.access.csv', 'res/res_widget_view.xml', + 'res/res_widget_wizard_view.xml', ], 'demo_xml': [ 'base_demo.xml', diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py index ec923074573..6a6f3917fdf 100644 --- a/bin/addons/base/ir/ir_ui_menu.py +++ b/bin/addons/base/ir/ir_ui_menu.py @@ -260,6 +260,8 @@ class ir_ui_menu(osv.osv): return False level -= 1 return True + + _columns = { 'name': fields.char('Menu', size=64, required=True, translate=True), @@ -289,7 +291,7 @@ class ir_ui_menu(osv.osv): _defaults = { 'icon' : lambda *a: 'STOCK_OPEN', 'icon_pict': lambda *a: ('stock', ('STOCK_OPEN','ICON_SIZE_MENU')), - 'sequence' : lambda *a: 10 + 'sequence' : lambda *a: 10, } _order = "sequence,id" ir_ui_menu() diff --git a/bin/addons/base/res/__init__.py b/bin/addons/base/res/__init__.py index 1536f8b2d75..313897a6d33 100644 --- a/bin/addons/base/res/__init__.py +++ b/bin/addons/base/res/__init__.py @@ -34,4 +34,5 @@ import res_lang import res_log import ir_property import res_widget +import res_widget_wizard diff --git a/bin/addons/base/res/res_widget.py b/bin/addons/base/res/res_widget.py index a152a6bb5fd..0c9294811c1 100644 --- a/bin/addons/base/res/res_widget.py +++ b/bin/addons/base/res/res_widget.py @@ -20,12 +20,32 @@ ############################################################################## from osv import fields,osv - class res_widget(osv.osv): _name = "res.widget" +res_widget() + +class res_widget_user(osv.osv): + _name="res.widget.user" + _columns = { + 'sequence': fields.integer('Sequence'), + 'user_id': fields.one2many('res.users', 'widget_user', 'Users'), + 'widget_id': fields.one2many('res.widget', 'widget_res', 'Widgets'), + } +res_widget_user() + +class res_users(osv.osv): + _inherit = 'res.users' + _columns = { + 'widget_user': fields.many2one('res.widget.user', 'Widget User'), + } +res_users() + +class res_widget(osv.osv): + _inherit = "res.widget" _rec_name = "title" _columns = { 'title' : fields.char('Title', size=64, required=True), - 'content': fields.text('Content', required=True) + 'content': fields.text('Content', required=True), + 'widget_res': fields.many2one('res.widget.user', 'Widget') } res_widget() diff --git a/bin/addons/base/res/res_widget_view.xml b/bin/addons/base/res/res_widget_view.xml index 7ddd5a06e8a..9a3acce09ce 100644 --- a/bin/addons/base/res/res_widget_view.xml +++ b/bin/addons/base/res/res_widget_view.xml @@ -47,5 +47,53 @@ id="menu_res_widget_act_window" parent="base.next_id_2" /> + + + res.widget.user.tree + res.widget.user + tree + + + + + + + + + + + res.widget.user.form + res.widget.user + form + +
+ + + + + +
+ + + Res user Widgets + res.widget.user + form + tree,form + + + + + + diff --git a/bin/addons/base/res/res_widget_wizard.py b/bin/addons/base/res/res_widget_wizard.py new file mode 100644 index 00000000000..c5acd1b02bb --- /dev/null +++ b/bin/addons/base/res/res_widget_wizard.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# 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 . +# +############################################################################## +from osv import fields, osv + +class res_widget_wizard(osv.osv_memory): + _name = "res.widget.wizard" + _description = "Res Widget Wizard" + + _columns = { + 'res_widget': fields.one2many("res.widget", 'widget_res', 'Res Widget', required=True), + } + + def res_widget_add(self, cr, uid, ids, context=None): + if context is None: + context = {} + res_widget = self.read(cr, uid, ids)[0] + self.pool.get('res.widget').write(cr, uid, res_widget['res_widget'],{'widget_res':context['active_ids'][0]}) + return {} + +res_widget_wizard() \ No newline at end of file diff --git a/bin/addons/base/res/res_widget_wizard_view.xml b/bin/addons/base/res/res_widget_wizard_view.xml new file mode 100644 index 00000000000..6fa4fd7544f --- /dev/null +++ b/bin/addons/base/res/res_widget_wizard_view.xml @@ -0,0 +1,18 @@ + + + + + + Res Widget Wizard + res.widget.wizard + form + +
+ + +