# HG changeset patch # User bsw # Date 1376252615 -7200 # Node ID 413fd413c4d926ad4253df86bb23667cf79568f8 # Parent 6d93c6958f63f501cbb5f164d9ee3f8a7543697f Added action for admin cancel issue diff -r 6d93c6958f63 -r 413fd413c4d9 app/main/admin/_action/cancel_issue.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/main/admin/_action/cancel_issue.lua Sun Aug 11 22:23:35 2013 +0200 @@ -0,0 +1,27 @@ +local issue = Issue + :new_selector() + :add_where{ "id = ?", param.get_id()} + :single_object_mode() + :for_update() + :exec() + +if issue.closed then + error("issue is already closed") + return false +end + +issue.state = "canceled_by_admin" +issue.closed = "now" + +local admin_notice +if issue.admin_notice then + admin_notice = issue.admin_notice .. "\n\n" +else + admin_notice = "" +end + +admin_notice = admin_notice .. param.get("admin_notice") + +issue.admin_notice = admin_notice + +issue:save()