diff --git a/odoo.hy b/odoo.hy index 02ab982..44554f9 100644 --- a/odoo.hy +++ b/odoo.hy @@ -44,6 +44,15 @@ (ox-field-inherit ~inherit) (ox-field-arch ~@body)]))) +(defmacro ox-actions-server-code [xmlid name modelref code] + "Server actions of type code" + `(do + (ox-record {"id" ~xmlid "model" "ir.actions.server"} + [(ox-field-name ~name) + (ox-field {"name" "model_id" "ref" ~modelref} []) + (ox-field {"name" "state"} ["code"]) + (ox-field {"name" "code"} #[[~code]])]))) + (defmacro ox-field [&rest args] `(xmlna "field" ~@args)) (defmacro ox-field-name [name] `(ox-field {"name" "name"} [~name])) (defmacro ox-field-model [model] `(ox-field {"name" "model"} [~model]))