add migrations, fix the json, using json partials
This commit is contained in:
parent
0d4773a35e
commit
8be8c4142d
12
Gemfile.lock
12
Gemfile.lock
@ -82,7 +82,6 @@ GEM
|
|||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
warden (~> 1.2.3)
|
warden (~> 1.2.3)
|
||||||
diff-lcs (1.2.5)
|
diff-lcs (1.2.5)
|
||||||
docile (1.1.3)
|
|
||||||
dotenv (0.10.0)
|
dotenv (0.10.0)
|
||||||
dotenv-rails (0.10.0)
|
dotenv-rails (0.10.0)
|
||||||
dotenv (= 0.10.0)
|
dotenv (= 0.10.0)
|
||||||
@ -173,11 +172,10 @@ GEM
|
|||||||
sprockets-rails (~> 2.0.0)
|
sprockets-rails (~> 2.0.0)
|
||||||
shoulda-matchers (2.5.0)
|
shoulda-matchers (2.5.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
simplecov (0.8.2)
|
simplecov (0.7.1)
|
||||||
docile (~> 1.1.0)
|
multi_json (~> 1.0)
|
||||||
multi_json
|
simplecov-html (~> 0.7.1)
|
||||||
simplecov-html (~> 0.8.0)
|
simplecov-html (0.7.1)
|
||||||
simplecov-html (0.8.0)
|
|
||||||
slop (3.5.0)
|
slop (3.5.0)
|
||||||
spring (1.1.2)
|
spring (1.1.2)
|
||||||
spring-commands-rspec (1.0.1)
|
spring-commands-rspec (1.0.1)
|
||||||
@ -249,7 +247,7 @@ DEPENDENCIES
|
|||||||
sass-rails (~> 4.0.2)
|
sass-rails (~> 4.0.2)
|
||||||
shoulda-matchers
|
shoulda-matchers
|
||||||
simple_form!
|
simple_form!
|
||||||
simplecov
|
simplecov (~> 0.7.1)
|
||||||
spring
|
spring
|
||||||
spring-commands-rspec
|
spring-commands-rspec
|
||||||
timecop
|
timecop
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
class CampaignsController < ApplicationController
|
class CampaignsController < ApplicationController
|
||||||
before_action :set_campaign, only: [:show, :edit, :update, :destroy]
|
before_action :set_campaign, only: [:show, :edit, :update, :destroy]
|
||||||
|
before_action :set_api_key
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@campaigns = Campaign.all
|
@campaigns = Campaign.all
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
respond_to do |format|
|
# respond_to do |format|
|
||||||
format.json { render json: @campaign, include: [:videolistings,] }
|
# format.json { render json: @campaign, include: [:videolistings,] }
|
||||||
format.html { render html: @campaign }
|
# format.html { render html: @campaign }
|
||||||
end
|
# end
|
||||||
|
@campaign
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@ -56,17 +58,24 @@ class CampaignsController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def campaign_params
|
def campaign_params
|
||||||
params.require(:campaign).permit(:id, :clientid, :listingcode, :billingcode, :advertisername, :address1,
|
params.require(:campaign).permit(:id, :address, :advertisername, :awards, :background, :billingcode,
|
||||||
:address2, :city, :state, :zip, :emailaddress, :customerfirstname,
|
:businessphone, :categories, :city, :clientid, :companycolors, :contactphone,
|
||||||
:customerlastname, :salesrep, :salesrepemail, :businessphone,
|
:customerfirstname, :customerlastname, :description, :emailaddress, :facebookurl,
|
||||||
:contactphone, :websiteurl,
|
:listingcode, :productsandservices, :state, :targetaudience, :tollfreephone,
|
||||||
videolistings_attributes: [:id, :videocode, :producttypeid, :remoteassetsarchive,
|
:vpa, :websiteurl, :zip,
|
||||||
:voiceoverselection, :musicselection, :clientprovidedscript,
|
videolistings_attributes: [:id, :asseturls, :clientprovidedscript, :focus,
|
||||||
:keywords, :focus, :notes, :asseturls,])
|
:keywords, :musicselection, :notes, :producttypeid,
|
||||||
|
:videocode, :voiceoverselection,
|
||||||
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
def not_found
|
def not_found
|
||||||
raise ActionController::RoutingError.new("Not Found by clientid")
|
raise ActionController::RoutingError.new("Not Found by clientid")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def set_api_key
|
||||||
|
@BETTER_VIDEO_API_KEY = ENV['BETTER_VIDEO_API_KEY']
|
||||||
|
@BETTER_VIDEO_API_KEY ||= "propel test key"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
28
app/views/campaigns/_campaign.json.jbuilder
Normal file
28
app/views/campaigns/_campaign.json.jbuilder
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
json.key @BETTER_VIDEO_API_KEY
|
||||||
|
json.address campaign.address if campaign.address
|
||||||
|
json.advertisername campaign.advertisername if campaign.advertisername
|
||||||
|
json.awards campaign.awards if campaign.awards
|
||||||
|
json.background campaign.background if campaign.background
|
||||||
|
json.billingcode campaign.billingcode if campaign.billingcode
|
||||||
|
json.businessphone campaign.businessphone if campaign.businessphone
|
||||||
|
json.categories campaign.categories if campaign.categories
|
||||||
|
json.city campaign.city if campaign.city
|
||||||
|
json.clientid campaign.clientid if campaign.clientid
|
||||||
|
json.companycolors campaign.companycolors if campaign.companycolors
|
||||||
|
json.contactphone campaign.contactphone if campaign.contactphone
|
||||||
|
json.customerfirstname campaign.customerfirstname if campaign.customerfirstname
|
||||||
|
json.customerlastname campaign.customerlastname if campaign.customerlastname
|
||||||
|
json.description campaign.description if campaign.description
|
||||||
|
json.emailaddress campaign.emailaddress if campaign.emailaddress
|
||||||
|
json.facebookurl campaign.facebookurl if campaign.facebookurl
|
||||||
|
json.listingcode campaign.listingcode if campaign.listingcode
|
||||||
|
json.productsandservices campaign.productsandservices if campaign.productsandservices
|
||||||
|
json.state campaign.state if campaign.state
|
||||||
|
json.targetaudience campaign.targetaudience if campaign.targetaudience
|
||||||
|
json.tollfreephone campaign.tollfreephone if campaign.tollfreephone
|
||||||
|
json.videolistings campaign.videolistings.each do |videolisting|
|
||||||
|
json.partial! 'campaigns/videolisting', videolisting: videolisting
|
||||||
|
end
|
||||||
|
json.vpa campaign.vpa if campaign.vpa
|
||||||
|
json.websiteurl campaign.websiteurl if campaign.websiteurl
|
||||||
|
json.zip campaign.zip if campaign.zip
|
10
app/views/campaigns/_videolisting.json.jbuilder
Normal file
10
app/views/campaigns/_videolisting.json.jbuilder
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
json.assets videolisting.asseturls_array if videolisting.asseturls_array
|
||||||
|
json.clientprovidedscript videolisting.clientprovidedscript if videolisting.clientprovidedscript
|
||||||
|
json.focus videolisting.focus if videolisting.focus
|
||||||
|
json.keywords videolisting.keywords if videolisting.keywords
|
||||||
|
json.musicselection videolisting.musicselection if videolisting.musicselection
|
||||||
|
json.notes videolisting.notes if videolisting.notes
|
||||||
|
json.producttypeid videolisting.producttypeid if videolisting.producttypeid
|
||||||
|
json.toneofvideo videolisting.toneofvideo if videolisting.toneofvideo
|
||||||
|
json.videocode videolisting.videocode if videolisting.videocode
|
||||||
|
json.voiceoverselection videolisting.voiceoverselection if videolisting.voiceoverselection
|
@ -1,31 +1,3 @@
|
|||||||
json.campaigns @campaigns do |campaign|
|
json.campaigns @campaigns do |campaign|
|
||||||
json.clientid campaign.clientid
|
json.partial! 'campaigns/campaign', campaign: campaign
|
||||||
json.listingcode campaign.listingcode
|
|
||||||
json.billingcode campaign.billingcode
|
|
||||||
json.advertisername campaign.advertisername
|
|
||||||
json.address1 campaign.address1
|
|
||||||
json.address2 campaign.address2
|
|
||||||
json.city campaign.city
|
|
||||||
json.state campaign.state
|
|
||||||
json.zip campaign.zip
|
|
||||||
json.emailaddress campaign.emailaddress
|
|
||||||
json.customerfirstname campaign.customerfirstname
|
|
||||||
json.customerlastname campaign.customerlastname
|
|
||||||
json.salesrep campaign.salesrep
|
|
||||||
json.salesrepemail campaign.salesrepemail
|
|
||||||
json.businessphone campaign.businessphone
|
|
||||||
json.contactphone campaign.contactphone
|
|
||||||
json.websiteurl campaign.websiteurl
|
|
||||||
json.videolistings campaign.videolistings.each do |videolisting|
|
|
||||||
json.videocode videolisting.videocode
|
|
||||||
json.producttypeid videolisting.producttypeid
|
|
||||||
json.remoteassetsarchive videolisting.remoteassetsarchive
|
|
||||||
json.voiceoverselection videolisting.voiceoverselection
|
|
||||||
json.musicselection videolisting.musicselection
|
|
||||||
json.clientprovidedscript videolisting.clientprovidedscript
|
|
||||||
json.keywords videolisting.keywords
|
|
||||||
json.focus videolisting.focus
|
|
||||||
json.notes videolisting.notes
|
|
||||||
json.asseturls videolisting.asseturls_array
|
|
||||||
end
|
|
||||||
end
|
end
|
@ -1,19 +1 @@
|
|||||||
json.campaigns @campaign do |campaign|
|
json.partial! 'campaigns/campaign', campaign: @campaign
|
||||||
json.clientid campaign.clientid
|
|
||||||
json.listingcode campaign.listingcode
|
|
||||||
json.billingcode campaign.billingcode
|
|
||||||
json.advertisername campaign.advertisername
|
|
||||||
json.address1 campaign.address1
|
|
||||||
json.address2 campaign.address2
|
|
||||||
json.city campaign.city
|
|
||||||
json.state campaign.state
|
|
||||||
json.zip campaign.zip
|
|
||||||
json.emailaddress campaign.emailaddress
|
|
||||||
json.customerfirstname campaign.customerfirstname
|
|
||||||
json.customerlastname campaign.customerlastname
|
|
||||||
json.salesrep campaign.salesrep
|
|
||||||
json.salesrepemail campaign.salesrepemail
|
|
||||||
json.businessphone campaign.businessphone
|
|
||||||
json.contactphone campaign.contactphone
|
|
||||||
json.websiteurl campaign.websiteurl
|
|
||||||
end
|
|
||||||
|
16
db/migrate/20140421145349_add_many_fields_to_campaign.rb
Normal file
16
db/migrate/20140421145349_add_many_fields_to_campaign.rb
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
class AddManyFieldsToCampaign < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_column :campaigns, :address1, :address
|
||||||
|
remove_column :campaigns, :address2
|
||||||
|
add_column :campaigns, :awards, :string
|
||||||
|
add_column :campaigns, :background, :string
|
||||||
|
add_column :campaigns, :categories, :string
|
||||||
|
add_column :campaigns, :companycolors, :string
|
||||||
|
add_column :campaigns, :description, :string
|
||||||
|
add_column :campaigns, :facebookurl, :string
|
||||||
|
add_column :campaigns, :productsandservices, :string
|
||||||
|
add_column :campaigns, :targetaudience, :string
|
||||||
|
add_column :campaigns, :tollfreephone, :string
|
||||||
|
add_column :campaigns, :vpa, :string
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
class AddToneofvideoToVideolisting < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :videolistings, :toneofvideo, :string
|
||||||
|
end
|
||||||
|
end
|
16
db/schema.rb
16
db/schema.rb
@ -11,7 +11,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20140415174406) do
|
ActiveRecord::Schema.define(version: 20140421150203) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
@ -39,8 +39,7 @@ ActiveRecord::Schema.define(version: 20140415174406) do
|
|||||||
t.string "listingcode"
|
t.string "listingcode"
|
||||||
t.string "billingcode"
|
t.string "billingcode"
|
||||||
t.string "advertisername"
|
t.string "advertisername"
|
||||||
t.string "address1"
|
t.string "address"
|
||||||
t.string "address2"
|
|
||||||
t.string "city"
|
t.string "city"
|
||||||
t.string "state"
|
t.string "state"
|
||||||
t.string "zip"
|
t.string "zip"
|
||||||
@ -56,6 +55,16 @@ ActiveRecord::Schema.define(version: 20140415174406) do
|
|||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
t.boolean "processed"
|
t.boolean "processed"
|
||||||
t.boolean "sent", default: false
|
t.boolean "sent", default: false
|
||||||
|
t.string "awards"
|
||||||
|
t.string "background"
|
||||||
|
t.string "categories"
|
||||||
|
t.string "companycolors"
|
||||||
|
t.string "description"
|
||||||
|
t.string "facebookurl"
|
||||||
|
t.string "productsandservices"
|
||||||
|
t.string "targetaudience"
|
||||||
|
t.string "tollfreephone"
|
||||||
|
t.string "vpa"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "delayed_jobs", force: true do |t|
|
create_table "delayed_jobs", force: true do |t|
|
||||||
@ -107,6 +116,7 @@ ActiveRecord::Schema.define(version: 20140415174406) do
|
|||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
t.integer "campaign_id"
|
t.integer "campaign_id"
|
||||||
|
t.string "toneofvideo"
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user