it fixes the issue If you need only fixed amount discount, then you can remove the validate for Discount Amount field so that you can add negative value in this field, so when you try to apply this coupon it will automatically add that amount instead to decrease. So you need to override below two classes. For more details on Magento override see this Link.
fixed the issue. Will look into that further There is an event in magento, sales_quote_collect_totals_after This is fired whenever your total is calculated, what you can do is set a flag in session on click on the button to apply discount, and in this above event's observer method, check if it is set then apply discount.