[IMP] Improved res widget per user.
bzr revid: vda@tinyerp.com-20101015150018-1hdbak0wue5loiqa
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -34,4 +34,5 @@ import res_lang
|
||||
import res_log
|
||||
import ir_property
|
||||
import res_widget
|
||||
import res_widget_wizard
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -47,5 +47,53 @@
|
||||
id="menu_res_widget_act_window"
|
||||
parent="base.next_id_2"
|
||||
/>
|
||||
|
||||
<record id="res_widget_user_tree" model="ir.ui.view">
|
||||
<field name="name">res.widget.user.tree</field>
|
||||
<field name="model">res.widget.user</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User Widgets">
|
||||
<field name="sequence"/>
|
||||
<field name="user_id"/>
|
||||
<field name="widget_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_widget_user_form" model="ir.ui.view">
|
||||
<field name="name">res.widget.user.form</field>
|
||||
<field name="model">res.widget.user</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="User Widgets">
|
||||
<field name="sequence"/>
|
||||
<field name="user_id"/>
|
||||
<field name="widget_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_widget_user_act_window" model="ir.actions.act_window">
|
||||
<field name="name">Res user Widgets</field>
|
||||
<field name="res_model">res.widget.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
action="res_widget_user_act_window"
|
||||
id="menu_res_widget_user_act_window"
|
||||
parent="base.menu_users"
|
||||
/>
|
||||
|
||||
<act_window name="Res Widget Wizard"
|
||||
res_model="res.widget.wizard"
|
||||
src_model="res.widget.user"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_res_widget_wizard"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
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()
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_res_widget_wizard" model="ir.ui.view">
|
||||
<field name="name">Res Widget Wizard</field>
|
||||
<field name="model">res.widget.wizard</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Res Widget" col="4">
|
||||
<field name="res_widget"/>
|
||||
<newline/>
|
||||
<button name="res_widget_add" string="Add Widget" type="object"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
Reference in New Issue
Block a user