bsw/jbe@0: local area = Area:by_id(param.get("area_id", atom.integer)) bsw/jbe@0: if area then bsw/jbe@0: slot.put_into("title", encode.html(_"Set delegation for Area '#{name}'":gsub("#{name}", area.name))) bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: local issue = Issue:by_id(param.get("issue_id", atom.integer)) bsw/jbe@0: if issue then bsw/jbe@0: slot.put_into("title", encode.html(_"Set delegation for Issue ##{number} in Area '#{area_name}'":gsub("#{number}", issue.id):gsub("#{area_name}", issue.area.name))) bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: local contact_members = Member:new_selector() bsw/jbe@0: :add_where{ "contact.member_id = ?", app.session.member.id } bsw/jbe@0: :join("contact", nil, "member.id = contact.other_member_id") bsw/jbe@0: :add_order_by("member.login") bsw/jbe@0: :exec() bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: ui.form{ bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: module = "delegation", bsw/jbe@0: action = "update", bsw/jbe@0: params = { bsw/jbe@0: area_id = area and area.id or nil, bsw/jbe@0: issue_id = issue and issue.id or nil, bsw/jbe@0: }, bsw/jbe@0: routing = { bsw/jbe@0: default = { bsw/jbe@0: mode = "redirect", bsw/jbe@0: module = area and "area" or "issue", bsw/jbe@0: view = "show", bsw/jbe@0: id = area and area.id or issue.id, bsw/jbe@0: } bsw/jbe@0: }, bsw/jbe@0: content = function() bsw/jbe@0: ui.field.select{ bsw/jbe@0: label = _"Trustee", bsw/jbe@0: name = "trustee_id", bsw/jbe@0: foreign_records = contact_members, bsw/jbe@0: foreign_id = "id", bsw/jbe@0: foreign_name = "name" bsw/jbe@0: } bsw/jbe@0: ui.submit{ text = _"Save" } bsw/jbe@0: end bsw/jbe@0: }