bsw@1248: local newsletter = Newsletter:new_selector() bsw@1248: :add_order_by("published DESC") bsw@1248: :exec() bsw@1248: bsw@1248: ui.titleAdmin(_"Newsletter") bsw@1248: bsw@1465: ui.grid{ content = function() bsw@1248: bsw@1465: ui.cell_main{ content = function() bsw@1465: ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function() bsw@1465: ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function() bsw@1465: ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Newsletter list" } bsw@1465: end } bsw@1465: ui.container{ attr = { class = "mdl-card__content" }, content = function() bsw@1248: bsw@1465: ui.list{ bsw@1465: records = newsletter, bsw@1465: columns = { bsw@1465: { label = _"Unit", content = function(r) ui.tag{ content = r.unit and r.unit.name or _"All members" } end }, bsw@1465: { name = "published", label = _"Published" }, bsw@1465: { name = "subject", label = _"Subject" }, bsw@1465: { label = _"sent", content = function(r) bsw@1465: if not r.sent then bsw@1465: ui.link{ text = _"Edit", module = "admin", view = "newsletter_edit", id = r.id } bsw@1465: else bsw@1465: ui.tag{ content = format.timestamp(r.sent) } bsw@1465: end bsw@1465: end } bsw@1465: } bsw@1465: } bsw@1465: end } bsw@1465: end } bsw@1465: end } bsw@1465: end }