diff --git a/addons/board/board.py b/addons/board/board.py index eda4a9228c5..7c7db853baa 100644 --- a/addons/board/board.py +++ b/addons/board/board.py @@ -29,17 +29,68 @@ import time from osv import fields,osv -class board(osv.osv): +class board_board(osv.osv): _name = 'board.board' - def create(self, cr, user, vals, context={}): - return False - def copy(self, cr, uid, id, default=None, context={}): - return False + def create(self, cr, user, vals, context=None): + if not 'name' in vals: + return False + return super(board_board, self).create(cr, user, vals, context) + def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False): + if context and ('view' in context): + board = self.pool.get('board.board').browse(cr, user, int(context['view']), context) + left = [] + right = [] + for line in board.line_ids: + linestr = ' + + + %s + + + %s + + +""" % ('\n'.join(left), '\n'.join(right)) + result = { + 'toolbar': {'print':[],'action':[],'relate':[]}, + 'fields': {}, + 'arch': arch + } + return result + res = super(board_board, self).fields_view_get(cr, user, view_id, view_type, context, toolbar) + return res _columns = { - 'name': fields.char('Board', size=64), + 'name': fields.char('Board', size=64, required=True), + 'line_ids': fields.one2many('board.board.line', 'board_id', 'Action Views') } -board() +board_board() +class board_line(osv.osv): + _name = 'board.board.line' + _order = 'position,sequence' + _columns = { + 'name': fields.char('Board', size=64, required=True), + 'sequence': fields.integer('Sequence'), + 'height': fields.integer('Height'), + 'width': fields.integer('Width'), + 'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'), + 'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True), + 'position': fields.selection([('left','Left'),('right','Right')], 'Position', required=True) + } + _defaults = { + 'position': lambda *args: 'left' + } +board_line() class board_note_type(osv.osv): _name = 'board.note.type' diff --git a/addons/board/board_view.xml b/addons/board/board_view.xml index d57e33b44c6..3a38d32f15a 100644 --- a/addons/board/board_view.xml +++ b/addons/board/board_view.xml @@ -39,5 +39,62 @@ action="action_view_board_note_form" sequence="100" id="menu_view_board_note_form"/> + + + + board.board.tree + board.board + tree + + + + + + + + board.board.form + board.board + form + + +
+ + + + + + + + + + + + + + + + + + + +
+ + Dashboard Definition + board.board + form + tree,form + + + + + +