# HG changeset patch # User bsw # Date 1437229230 -7200 # Node ID fede09736f2b4aeb9d5f7e51cacaebf1f3751505 # Parent 24f4c23f76ffb8a51777b159b5640c5f0217d5f0 Added support for external references diff -r 24f4c23f76ff -r fede09736f2b app/main/admin/_action/area_update.lua --- a/app/main/admin/_action/area_update.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/admin/_action/area_update.lua Sat Jul 18 16:20:30 2015 +0200 @@ -1,6 +1,6 @@ local area = Area:by_id(param.get_id()) or Area:new() -param.update(area, "unit_id", "name", "description", "active") +param.update(area, "unit_id", "name", "description", "external_reference", "active") if #area.name < 1 then slot.select("error", function() diff -r 24f4c23f76ff -r fede09736f2b app/main/admin/_action/unit_update.lua --- a/app/main/admin/_action/unit_update.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/admin/_action/unit_update.lua Sat Jul 18 16:20:30 2015 +0200 @@ -1,5 +1,5 @@ local unit = Unit:by_id(param.get_id()) or Unit:new() -param.update(unit, "parent_id", "name", "description", "active") +param.update(unit, "parent_id", "name", "description", "external_reference", "active") unit:save() diff -r 24f4c23f76ff -r fede09736f2b app/main/admin/area_show.lua --- a/app/main/admin/area_show.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/admin/area_show.lua Sat Jul 18 16:20:30 2015 +0200 @@ -48,6 +48,7 @@ ui.field.text{ label = _"Unit", value = area.unit.name, readonly = true } ui.field.text{ label = _"Name", name = "name" } ui.field.text{ label = _"Description", name = "description", multiline = true } + ui.field.text{ label = _"External reference", name = "external_reference" } ui.field.select{ label = _"Default Policy", name = "default_policy", value=area.default_policy and area.default_policy.id or "-1", foreign_records = def_policy, diff -r 24f4c23f76ff -r fede09736f2b app/main/admin/unit_edit.lua --- a/app/main/admin/unit_edit.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/admin/unit_edit.lua Sat Jul 18 16:20:30 2015 +0200 @@ -39,6 +39,7 @@ } ui.field.text{ label = _"Name", name = "name" } ui.field.text{ label = _"Description", name = "description", multiline = true } + ui.field.text{ label = _"External reference", name = "external_reference" } ui.field.boolean{ label = _"Active?", name = "active" } slot.put("
") diff -r 24f4c23f76ff -r fede09736f2b app/main/draft/show.lua --- a/app/main/draft/show.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/draft/show.lua Sat Jul 18 16:20:30 2015 +0200 @@ -41,6 +41,12 @@ ui.heading { level = 2, content = _("Draft revision #{id}", { id = draft.id } ) } end) + if config.render_external_reference and config.render_external_reference.draft then + config.render_external_reference.draft(draft, function (callback) + ui.sectionRow(callback) + end) + end + ui.sectionRow( function() execute.view{ diff -r 24f4c23f76ff -r fede09736f2b app/main/initiative/history.lua --- a/app/main/initiative/history.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/initiative/history.lua Sat Jul 18 16:20:30 2015 +0200 @@ -95,6 +95,17 @@ } end + if config.render_external_reference and config.render_external_reference.draft then + columns[#columns+1] = { + label = _"external reference", + content = function(draft) + config.render_external_reference.draft(draft, function (callback) + callback() + end) + end + } + end + ui.list{ records = initiative.drafts, columns = columns diff -r 24f4c23f76ff -r fede09736f2b app/main/initiative/show.lua --- a/app/main/initiative/show.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/app/main/initiative/show.lua Sat Jul 18 16:20:30 2015 +0200 @@ -137,8 +137,13 @@ end end end + + if config.render_external_reference and config.render_external_reference.initiative then + config.render_external_reference.initiative(initiative, function (callback) + ui.sectionRow(callback) + end) + end - ui.sectionRow( function () ui.container { attr = { class = "draft" }, diff -r 24f4c23f76ff -r fede09736f2b config/example.lua --- a/config/example.lua Sat Jul 18 15:58:39 2015 +0200 +++ b/config/example.lua Sat Jul 18 16:20:30 2015 +0200 @@ -255,6 +255,25 @@ } +-- External references +-- ------------------------------------------------------------------------ +-- Rendering of external references + +--[[ +config.render_external_reference = { + draft = function(draft, wrapper) + wrapper(function() + ui.tag{ content = draft.external_reference) + end) + end, + initiative = function(initiative, wrapper) + wrapper(function() + ui.tag{ content = initiative.external_reference) + end) + end +end +--]] + -- Admin logger -- ------------------------------------------------------------------------ -- Logging administrative activities