bsw/jbe@0: local issue bsw/jbe@0: local area bsw/jbe@0: bsw/jbe@0: local issue_id = param.get("issue_id", atom.integer) bsw/jbe@0: if issue_id then bsw/jbe@0: issue = Issue:new_selector():add_where{"id=?",issue_id}:single_object_mode():exec() bsw/jbe@0: area = issue.area bsw/jbe@0: bsw/jbe@0: else bsw/jbe@0: local area_id = param.get("area_id", atom.integer) bsw/jbe@0: area = Area:new_selector():add_where{"id=?",area_id}:single_object_mode():exec() bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: if issue_id then bsw/jbe@19: slot.put_into("title", _"Add alternative initiative to issue") bsw/jbe@0: else bsw/jbe@0: slot.put_into("title", _"Create new issue") bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: ui.form{ bsw/jbe@0: module = "initiative", bsw/jbe@0: action = "create", bsw/jbe@0: params = { bsw/jbe@0: area_id = area.id, bsw/jbe@0: issue_id = issue and issue.id or nil bsw/jbe@0: }, bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: content = function() bsw/jbe@0: ui.field.text{ label = _"Area", value = area.name } bsw/jbe@0: if issue_id then bsw/jbe@0: ui.field.text{ label = _"Issue", value = issue_id } bsw/jbe@0: else bsw@10: tmp = { { id = -1, name = _"Please choose a policy" } } bsw@10: for i, allowed_policy in ipairs(area.allowed_policies) do bsw@10: tmp[#tmp+1] = allowed_policy bsw@10: end bsw/jbe@0: ui.field.select{ bsw/jbe@0: label = _"Policy", bsw/jbe@0: name = "policy_id", bsw@10: foreign_records = tmp, bsw/jbe@0: foreign_id = "id", bsw@7: foreign_name = "name", bsw@10: value = (area.default_policy or {}).id bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@4: ui.field.text{ label = _"Name", name = "name" } bsw/jbe@4: ui.field.text{ label = _"Discussion URL", name = "discussion_url" } bsw/jbe@4: ui.field.select{ bsw/jbe@4: label = _"Wiki engine", bsw/jbe@4: name = "formatting_engine", bsw/jbe@4: foreign_records = { bsw/jbe@4: { id = "rocketwiki", name = "RocketWiki" }, bsw/jbe@4: { id = "compat", name = _"Traditional wiki syntax" } bsw/jbe@4: }, bsw/jbe@4: foreign_id = "id", bsw/jbe@4: foreign_name = "name" bsw/jbe@4: } bsw@2: ui.field.text{ label = _"Draft", name = "draft", multiline = true, attr = { style = "height: 50ex;" } } bsw/jbe@0: ui.submit{ text = _"Save" } bsw/jbe@0: end bsw/jbe@0: }