diff --git a/db/manifest b/db/manifest index 383f6f46b..7ab029e4d 100755 --- a/db/manifest +++ b/db/manifest @@ -229,4 +229,4 @@ deletable_recordings.sql jam_tracks.sql shopping_carts.sql recurly.sql -jam_track_rights_updates.sql \ No newline at end of file +jam_track_updates.sql \ No newline at end of file diff --git a/db/up/jam_track_rights_updates.sql b/db/up/jam_track_rights_updates.sql deleted file mode 100644 index ade318969..000000000 --- a/db/up/jam_track_rights_updates.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE jam_track_rights - DROP CONSTRAINT jam_track_rights_user_id_fkey, - DROP CONSTRAINT jam_track_rights_jam_track_id_fkey, - ADD CONSTRAINT jam_track_rights_user_id_fkey FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE, - ADD CONSTRAINT jam_track_rights_jam_track_id_fkey FOREIGN KEY(jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE, - ADD COLUMN s3_url VARCHAR(2048); - diff --git a/db/up/jam_track_updates.sql b/db/up/jam_track_updates.sql new file mode 100644 index 000000000..1c42254ed --- /dev/null +++ b/db/up/jam_track_updates.sql @@ -0,0 +1,29 @@ +-- Drop Jam Track Tracks constraints: +ALTER TABLE jam_track_tracks + DROP CONSTRAINT jam_track_tracks_jam_track_id_fkey; + +-- Drop Jam Track Tracks constraints: +ALTER TABLE jam_track_rights + DROP CONSTRAINT jam_track_rights_user_id_fkey, + DROP CONSTRAINT jam_track_rights_jam_track_id_fkey; + +-- Change Jam Tracks ID type to BIGINT so it can work like the other downloadable items: +ALTER TABLE jam_tracks + ALTER COLUMN id DROP DEFAULT, + ALTER COLUMN id TYPE BIGINT USING nextval('tracks_next_tracker_seq'), + ALTER COLUMN id SET DEFAULT nextval('tracks_next_tracker_seq'); + +-- Change referencing ID type and re-add constraints: +ALTER TABLE jam_track_tracks + ALTER COLUMN jam_track_id TYPE BIGINT USING 0, + ALTER COLUMN jam_track_id SET NOT NULL, + ADD CONSTRAINT jam_track_tracks_jam_track_id_fkey FOREIGN KEY(jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE; + +-- Change referencing ID type and re-add constraints. Also +-- add S3 URL for user-specific downloads: +ALTER TABLE jam_track_rights + ADD COLUMN s3_url VARCHAR(2048), + ALTER COLUMN jam_track_id TYPE BIGINT USING 0, + ALTER COLUMN jam_track_id SET NOT NULL, + ADD CONSTRAINT jam_track_rights_user_id_fkey FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE, + ADD CONSTRAINT jam_track_rights_jam_track_id_fkey FOREIGN KEY(jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE; diff --git a/web/app/assets/javascripts/jamtrack.js b/web/app/assets/javascripts/jamtrack.js index 6ae767514..a0771762a 100644 --- a/web/app/assets/javascripts/jamtrack.js +++ b/web/app/assets/javascripts/jamtrack.js @@ -156,7 +156,6 @@ e.preventDefault(); var params = {id: $(e.target).attr("data-jamtrack-id")}; - rest.addJamtrackToShoppingCart(params) .done(function(response) { context.location = "/client#/shoppingCart"; diff --git a/web/app/views/api_jamtracks/show.rabl b/web/app/views/api_jamtracks/show.rabl index dde7bb3dd..f47fec76e 100644 --- a/web/app/views/api_jamtracks/show.rabl +++ b/web/app/views/api_jamtracks/show.rabl @@ -7,7 +7,7 @@ node :genres do |item| end node :added_cart do |item| - current_user.shopping_carts.map(&:cart_id).include? item.id + current_user.shopping_carts.where("cart_id='?'",item.id).count != 0 end child(:jam_track_tracks => :tracks) {