use new API

This commit is contained in:
Giorgio Borelli 2014-11-11 13:40:44 +01:00
parent 3e61b4c1bc
commit 0ac5e7f875
5 changed files with 51 additions and 45 deletions

View File

@ -30,7 +30,9 @@ Web pages
""", """,
'author': ['OpenERP SA'], 'author': ['OpenERP SA'],
'website': 'http://www.openerp.com/', 'website': 'http://www.openerp.com/',
'depends': ['knowledge'], 'depends': [
'knowledge'
],
'data': [ 'data': [
'wizard/document_page_create_menu_view.xml', 'wizard/document_page_create_menu_view.xml',
'wizard/document_page_show_diff_view.xml', 'wizard/document_page_show_diff_view.xml',

View File

@ -18,10 +18,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################## ##############################################################################
from openerp import models, fields, _
from openerp import exceptions
# , fields, api, _
import difflib import difflib
from openerp import models, fields, api, _
from openerp import exceptions
class document_page(models.Model): class document_page(models.Model):
@ -117,16 +116,11 @@ class document_page(models.Model):
display_content = page.content display_content = page.content
page.display_content = display_content page.display_content = display_content
def onchange_parent_id(self, cr, uid, ids, parent_id, content, @api.onchange("parent_id")
context=None): def do_set_content(self):
res = {} if self.parent_id and not self.content:
if parent_id and not content: if self.parent_id.type == "category":
parent = self.browse(cr, uid, parent_id, context=context) self.content = self.parent_id.content
if parent.type == "category":
res['value'] = {
'content': parent.content,
}
return res
def create_history(self, cr, uid, ids, vals, context=None): def create_history(self, cr, uid, ids, vals, context=None):
for i in ids: for i in ids:

View File

@ -49,16 +49,22 @@
<h1><field name="name" placeholder="Name"/></h1> <h1><field name="name" placeholder="Name"/></h1>
<group class="oe_edit_only"> <group class="oe_edit_only">
<group> <group>
<field name="parent_id" on_change="onchange_parent_id(parent_id,content)" string="Category" context="{'default_type':'category'}"/> <field name="parent_id"
string="Category"
context="{'default_type':'category'}"/>
</group> </group>
<group> <group>
<field name="write_uid" groups="base.group_no_one"/> <field name="write_uid"
<field name="write_date" groups="base.group_no_one"/> groups="base.group_no_one"/>
<field name="menu_id" groups="base.group_no_one"/> <field name="write_date"
groups="base.group_no_one"/>
<field name="menu_id"
groups="base.group_no_one"/>
</group> </group>
</group> </group>
<div class="oe_edit_only" attrs="{'invisible':[('type','=','content')]}"> <div class="oe_edit_only"
attrs="{'invisible':[('type','=','content')]}">
<label for="content" string="Template"/> <label for="content" string="Template"/>
that will be used as a content template for all new page of this category. that will be used as a content template for all new page of this category.
</div> </div>

View File

@ -20,27 +20,33 @@
############################################################################## ##############################################################################
from openerp import SUPERUSER_ID from openerp import SUPERUSER_ID
from openerp.osv import fields, osv from openerp import models, fields
class document_page_create_menu(osv.osv_memory): class document_page_create_menu(models.TransientModel):
""" Create Menu """ """ Create Menu """
_name = "document.page.create.menu" _name = "document.page.create.menu"
_description = "Wizard Create Menu" _description = "Wizard Create Menu"
_columns = { menu_name = fields.Char(
'menu_name': fields.char('Menu Name', size=256, required=True), 'Menu Name',
'menu_parent_id': fields.many2one('ir.ui.menu', 'Parent Menu', required=True
required=True), )
}
menu_parent_id = fields.Many2one(
'ir.ui.menu',
'Parent Menu',
required=True
)
def default_get(self, cr, uid, fields, context=None): def default_get(self, cr, uid, fields, context=None):
if context is None: if context is None:
context = {} context = {}
res = super(document_page_create_menu, self).default_get(cr, uid, res = super(document_page_create_menu, self).default_get(
fields, cr, uid,
context= fields,
context) context=context
)
page_id = context.get('active_id') page_id = context.get('active_id')
obj_page = self.pool.get('document.page') obj_page = self.pool.get('document.page')
page = obj_page.browse(cr, uid, page_id, context=context) page = obj_page.browse(cr, uid, page_id, context=context)

View File

@ -18,13 +18,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################## ##############################################################################
from openerp import models, fields, _
from openerp.osv import fields, osv from openerp import exceptions
from openerp.tools.translate import _
class showdiff(osv.osv_memory): class showdiff(models.TransientModel):
""" Disp[ay Difference for History """ """ Display Difference for History """
_name = 'wizard.document.page.history.show_diff' _name = 'wizard.document.page.history.show_diff'
@ -47,17 +46,16 @@ class showdiff(osv.osv_memory):
nids.sort() nids.sort()
diff = history.getDiff(cr, uid, ids[0], nids[-1]) diff = history.getDiff(cr, uid, ids[0], nids[-1])
else: else:
raise osv.except_osv(_('Warning!'), _('You need to select minimum \ raise exceptions.Warning(
one or maximum two history \ _("You need to select minimum one or maximum "
revisions!')) "two history revisions!")
)
return diff return diff
_columns = { diff = fields.Text(
'diff': fields.text('Diff', readonly=True), 'Diff',
} readonly=True,
default=get_diff
_defaults = { )
'diff': get_diff
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: