houdini/app/controllers/campaign_gift_options_controller.rb
Bradley M. Kuhn 6772312ea7 Relicense all .rb files under new project license.
The primary license of the project is changing to:
  AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later

with some specific files to be licensed under the one of two licenses:
   CC0-1.0
   LGPL-3.0-or-later

This commit is one of the many steps to relicense the entire codebase.

Documentation granting permission for this relicensing (from all past
contributors who hold copyrights) is on file with Software Freedom
Conservancy, Inc.
2018-03-25 15:10:40 -04:00

40 lines
1.3 KiB
Ruby

# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
class CampaignGiftOptionsController < ApplicationController
include CampaignHelper
before_filter :authenticate_campaign_editor!, only: [:create, :destroy, :update, :update_order]
def index
@gift_options = current_campaign.campaign_gift_options.order('"order", amount_recurring, amount_one_time')
render json: {data: @gift_options}
end
def show
render json: {data: current_campaign.campaign_gift_options.find(params[:id])}
end
def create
campaign = current_campaign
json_saved CreateCampaignGiftOption.create(campaign, params[:campaign_gift_option]),
'Gift option successfully created!'
end
def update
@campaign = current_campaign
gift_option = @campaign.campaign_gift_options.find params[:id]
json_saved UpdateCampaignGiftOption.update(gift_option, params[:campaign_gift_option]), 'Successfully updated'
end
# put /nonprofits/:nonprofit_id/campaigns/:campaign_id/campaign_gift_options/update_order
# Pass in {data: [{id: 1, order: 1}]}
def update_order
updated_gift_options = UpdateOrder.with_data('campaign_gift_options', params[:data])
render json: updated_gift_options
end
def destroy
@campaign = current_campaign
render_json { DeleteCampaignGiftOption.delete(@campaign, params[:id])}
end
end