bsw@1025: local issue = Issue bsw@1025: :new_selector() bsw@1025: :add_where{ "id = ?", param.get_id()} bsw@1025: :single_object_mode() bsw@1025: :for_update() bsw@1025: :exec() bsw@1025: bsw@1025: if issue.closed then bsw@1030: slot.put_into("error", _"This issue is already closed.") bsw@1025: return false bsw@1025: end bsw@1025: bsw@1025: issue.state = "canceled_by_admin" bsw@1025: issue.closed = "now" bsw@1025: bsw@1025: local admin_notice bsw@1025: if issue.admin_notice then bsw@1025: admin_notice = issue.admin_notice .. "\n\n" bsw@1025: else bsw@1025: admin_notice = "" bsw@1025: end bsw@1025: bsw@1025: admin_notice = admin_notice .. param.get("admin_notice") bsw@1025: bsw@1025: issue.admin_notice = admin_notice bsw@1025: bsw@1025: issue:save() bsw@1030: bsw@1030: slot.put_into("notice", _"Issue has been canceled")