bsw@1248: local id = param.get_id() bsw@1248: bsw@1248: local newsletter = {} bsw@1248: bsw@1248: if id then bsw@1248: newsletter = Newsletter:by_id(id) bsw@1248: end bsw@1248: bsw@1248: ui.titleAdmin(_"Newsletter") bsw@1248: bsw@1465: ui.grid{ content = function() bsw@1465: 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@1466: ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = newsletter and (newsletter.subject) or _"New newsletter" } bsw@1465: end } bsw@1465: ui.container{ attr = { class = "mdl-card__content" }, content = function() bsw@1465: ui.form{ bsw@1465: attr = { class = "vertical section" }, bsw@1465: module = "admin", bsw@1465: action = "newsletter_update", bsw@1465: id = newsletter and newsletter.id, bsw@1465: record = newsletter, bsw@1465: routing = { bsw@1465: default = { bsw@1465: mode = "redirect", bsw@1465: modules = "admin", bsw@1465: view = "newsletter_list" bsw@1465: } bsw@1465: }, bsw@1465: content = function() bsw@1248: bsw@1466: local units = { bsw@1466: { id = 0, name = _"All members" }, bsw@1466: { id = "_", name = _"" }, bsw@1466: } bsw@1505: for i, unit in ipairs(Unit:get_flattened_tree{include_hidden = true}) do bsw@1466: units[#units+1] = unit bsw@1466: end bsw@1466: ui.field.text{ label = _"Date", name = "published" } bsw@1466: ui.field.select{ bsw@1466: label = "Recipient", bsw@1466: name = "unit_id", bsw@1466: foreign_records = units, bsw@1466: foreign_id = "id", bsw@1466: foreign_name = "name", bsw@1466: disabled_records = { ["_"] = true }, bsw@1466: value = newsletter.unit_id bsw@1466: } bsw@1466: ui.field.boolean{ label = _"Override disable notifications?", name = "include_all_members" } bsw@1466: slot.put("
") bsw@1466: ui.field.text{ label = _"Subject", name = "subject" } bsw@1466: ui.field.text{ label = _"Content", name = "content", multiline = true, attr = { rows = "20" } } bsw@1248: bsw@1467: ui.submit{ bsw@1467: attr = { class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-js-ripple-effect" }, bsw@1467: text = _"create newsletter" bsw@1467: } bsw@1466: slot.put(" ") bsw@1467: ui.link { bsw@1467: attr = { class = "mdl-button mdl-js-button" }, bsw@1467: module = "admin", view = "index", content = _"cancel" bsw@1467: } bsw@1466: bsw@1465: end bsw@1465: } bsw@1465: end } bsw@1465: end } bsw@1465: end } bsw@1465: end }