1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import gettext
from tryton.gui.window.view_form.screen import Screen
from tryton.gui.window.win_form import WinForm
_ = gettext.gettext
class Note(WinForm):
"Note window"
def __init__(self, record, callback=None):
self.resource = '%s,%s' % (record.model_name, record.id)
self.note_callback = callback
title = _('Notes (%s)') % (record.rec_name())
screen = Screen('ir.note', domain=[
('resource', '=', self.resource),
], mode=['tree', 'form'])
super(Note, self).__init__(screen, self.callback, view_type='tree',
title=title)
screen.search_filter()
def destroy(self):
self.prev_view.save_width()
super(Note, self).destroy()
def callback(self, result):
if result:
unread = self.screen.group.fields['unread']
for record in self.screen.group:
if record.loaded or record.id < 0:
if 'unread' not in record.modified_fields:
unread.set_client(record, False)
self.screen.save_current()
if self.note_callback:
self.note_callback()
|