71 lines
2.0 KiB
Ruby
71 lines
2.0 KiB
Ruby
class CampaignsController < ApplicationController
|
|
before_action :set_campaign, only: [:show, :edit, :update, :destroy]
|
|
|
|
# GET /campaigns
|
|
def index
|
|
@campaigns = Campaign.all
|
|
end
|
|
|
|
# GET /campaigns/1
|
|
def show
|
|
end
|
|
|
|
# GET /campaigns/new
|
|
def new
|
|
@campaign = Campaign.new
|
|
@campaign.videolistings
|
|
end
|
|
|
|
# GET /campaigns/1/edit
|
|
def edit
|
|
end
|
|
|
|
# POST /campaigns
|
|
def create
|
|
clientid = campaign_params.delete(:clientid)
|
|
@campaign = Campaign.find_or_create_by(clientid: clientid)
|
|
@campaign.update(campaign_params)
|
|
|
|
if @campaign.save
|
|
respond_to do |format|
|
|
format.json { render json: @campaign }
|
|
format.html { redirect_to @campaign, notice: 'Campaign was successfully created.' }
|
|
end
|
|
else
|
|
render action: 'new'
|
|
end
|
|
end
|
|
|
|
# PATCH/PUT /campaigns/1
|
|
def update
|
|
if @campaign.update(campaign_params)
|
|
redirect_to @campaign, notice: 'Campaign was successfully updated.'
|
|
else
|
|
render action: 'edit'
|
|
end
|
|
end
|
|
|
|
# DELETE /campaigns/1
|
|
def destroy
|
|
@campaign.destroy
|
|
redirect_to campaigns_url, notice: 'Campaign was successfully destroyed.'
|
|
end
|
|
|
|
private
|
|
# Use callbacks to share common setup or constraints between actions.
|
|
def set_campaign
|
|
@campaign = Campaign.find(params[:id])
|
|
end
|
|
|
|
# Only allow a trusted parameter "white list" through.
|
|
def campaign_params
|
|
params.require(:campaign).permit(:id, :clientid, :listingcode, :billingcode, :advertisername, :address1,
|
|
:address2, :city, :state, :zip, :emailaddress, :customerfirstname,
|
|
:customerlastname, :salesrep, :salesrepemail, :businessphone,
|
|
:contactphone, :websiteurl,
|
|
videolistings_attributes: [:id, :videocode, :producttypeid, :remoteassetsarchive, :voiceoverselection,
|
|
:musicselection, :clientprovidedscript, :keywords, :focus, :notes, :asseturls,])
|
|
end
|
|
|
|
end
|