{"action":"created","issue":{"url":"https://api.github.com/repos/ingenesis/shopp/issues/3143","labels_url":"https://api.github.com/repos/ingenesis/shopp/issues/3143/labels{/name}","comments_url":"https://api.github.com/repos/ingenesis/shopp/issues/3143/comments","events_url":"https://api.github.com/repos/ingenesis/shopp/issues/3143/events","html_url":"https://github.com/ingenesis/shopp/issues/3143","id":50744908,"number":3143,"title":"Drop \"Remove Discount\" link from unremovable Discounts","user":{"login":"crunnells","id":4297811,"avatar_url":"https://avatars.githubusercontent.com/u/4297811?v=3","gravatar_id":"","url":"https://api.github.com/users/crunnells","html_url":"https://github.com/crunnells","followers_url":"https://api.github.com/users/crunnells/followers","following_url":"https://api.github.com/users/crunnells/following{/other_user}","gists_url":"https://api.github.com/users/crunnells/gists{/gist_id}","starred_url":"https://api.github.com/users/crunnells/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crunnells/subscriptions","organizations_url":"https://api.github.com/users/crunnells/orgs","repos_url":"https://api.github.com/users/crunnells/repos","events_url":"https://api.github.com/users/crunnells/events{/privacy}","received_events_url":"https://api.github.com/users/crunnells/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ingenesis/shopp/labels/enhancement","name":"enhancement","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"crunnells","id":4297811,"avatar_url":"https://avatars.githubusercontent.com/u/4297811?v=3","gravatar_id":"","url":"https://api.github.com/users/crunnells","html_url":"https://github.com/crunnells","followers_url":"https://api.github.com/users/crunnells/followers","following_url":"https://api.github.com/users/crunnells/following{/other_user}","gists_url":"https://api.github.com/users/crunnells/gists{/gist_id}","starred_url":"https://api.github.com/users/crunnells/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crunnells/subscriptions","organizations_url":"https://api.github.com/users/crunnells/orgs","repos_url":"https://api.github.com/users/crunnells/repos","events_url":"https://api.github.com/users/crunnells/events{/privacy}","received_events_url":"https://api.github.com/users/crunnells/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2014-12-02T23:24:59Z","updated_at":"2015-05-18T07:49:25Z","closed_at":null,"body":"In instances where discounts are not triggered by a discount code, we should drop the remove discount link from the discount list in the Cart. \r\n\r\nDiscounts like \"Free Shipping when the cart subtotal is greater than $X\" cannot be removed using the link anyway.\r\n\r\nOr, putting it another way, only allow customers to remove promotions that are triggered by discount codes."},"comment":{"url":"https://api.github.com/repos/ingenesis/shopp/issues/comments/102953377","html_url":"https://github.com/ingenesis/shopp/issues/3143#issuecomment-102953377","issue_url":"https://api.github.com/repos/ingenesis/shopp/issues/3143","id":102953377,"user":{"login":"meredevelopment","id":3437528,"avatar_url":"https://avatars.githubusercontent.com/u/3437528?v=3","gravatar_id":"","url":"https://api.github.com/users/meredevelopment","html_url":"https://github.com/meredevelopment","followers_url":"https://api.github.com/users/meredevelopment/followers","following_url":"https://api.github.com/users/meredevelopment/following{/other_user}","gists_url":"https://api.github.com/users/meredevelopment/gists{/gist_id}","starred_url":"https://api.github.com/users/meredevelopment/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meredevelopment/subscriptions","organizations_url":"https://api.github.com/users/meredevelopment/orgs","repos_url":"https://api.github.com/users/meredevelopment/repos","events_url":"https://api.github.com/users/meredevelopment/events{/privacy}","received_events_url":"https://api.github.com/users/meredevelopment/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T07:49:24Z","updated_at":"2015-05-18T07:49:24Z","body":"I was just about to create an issue and maybe a PR for my fix to this:\r\nOn [line 305 of the API/theme/cart.php] (https://github.com/ingenesis/shopp/blob/master/api/theme/cart.php#L305) I've been adding `$remove = 'off'` so that items of type `ShoppOrderDiscount::SHIP_FREE` never get a remove button.\r\n\r\nThe function is ready for a `remove` option for discounts in general, but not individually. However we know that Free Shipping is never removable, so why not 'hard-code' it until a better solution is found?\r\n\r\nHere's the line I'm using in 2 sites:\r\n\r\n    case ShoppOrderDiscount::SHIP_FREE: $string .= Shopp::esc_html__( 'Free Shipping!' ); $remove='off'; break;"}}