vidpush/app/controllers/campaigns_controller.rb

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