Add widget support to SourceColumn

Allow passing a widget class to SourceColumn. This makes
using lambdas to render model column unnecesary and are
mostly removed too.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2018-12-22 05:35:31 -04:00
parent 360e756093
commit 64e1c6bb67
59 changed files with 450 additions and 402 deletions

View File

@@ -53,30 +53,16 @@ class MailerApp(MayanAppConfig):
MailerBackend.initialize()
SourceColumn(attribute='datetime', source=LogEntry)
SourceColumn(attribute='message', source=LogEntry)
SourceColumn(attribute='label', is_identifier=True, source=UserMailer)
SourceColumn(
source=LogEntry, label=_('Date and time'), attribute='datetime'
attribute='default', source=UserMailer, widget=TwoStateWidget
)
SourceColumn(
source=LogEntry, label=_('Message'), attribute='message'
)
SourceColumn(
source=UserMailer, label=_('Label'), attribute='label'
)
SourceColumn(
source=UserMailer, label=_('Default?'),
func=lambda context: TwoStateWidget(
state=context['object'].default
).render()
)
SourceColumn(
source=UserMailer, label=_('Enabled?'),
func=lambda context: TwoStateWidget(
state=context['object'].enabled
).render()
)
SourceColumn(
source=UserMailer, label=_('Label'), attribute='backend_label'
attribute='enabled', source=UserMailer, widget=TwoStateWidget
)
SourceColumn(attribute='backend_label', source=UserMailer)
ModelPermission.register(
model=Document, permissions=(