[IMP] Improved res widget per user.

bzr revid: vda@tinyerp.com-20101015150018-1hdbak0wue5loiqa
This commit is contained in:
vda (Open ERP)
2010-10-15 20:30:18 +05:30
parent 90997ccc20
commit e7c6535c6b
7 changed files with 131 additions and 3 deletions
+1
View File
@@ -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',
+3 -1
View File
@@ -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()
+1
View File
@@ -34,4 +34,5 @@ import res_lang
import res_log
import ir_property
import res_widget
import res_widget_wizard
+22 -2
View File
@@ -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()
+48
View File
@@ -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>
+38
View File
@@ -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>