[Git][noosfero/noosfero][master] 2 commits: Fixes foreign key on profile followers migration
Larissa Reis
gitlab at mg.gitlab.com
Mon Jul 18 15:30:46 BRT 2016
Larissa Reis pushed to branch master at Noosfero / noosfero
Commits:
88fd96e9 by Larissa Reis at 2016-07-18T15:29:02-03:00
Fixes foreign key on profile followers migration
- - - - -
15f77ee3 by Larissa Reis at 2016-07-18T15:29:02-03:00
Correctly remove followers from circle when unfriend
- - - - -
3 changed files:
- app/models/friendship.rb
- db/migrate/20160608123748_create_profile_followers_table.rb
- db/schema.rb
Changes:
=====================================
app/models/friendship.rb
=====================================
--- a/app/models/friendship.rb
+++ b/app/models/friendship.rb
@@ -20,8 +20,11 @@ class Friendship < ApplicationRecord
Friendship.update_cache_counter(:friends_count, friendship.person, -1)
Friendship.update_cache_counter(:friends_count, friendship.friend, -1)
- circle = Circle.find_by(:person => friendship.person, :name => (friendship.group.blank? ? 'friendships': friendship.group) )
- friendship.person.remove_profile_from_circle(friendship.friend, circle) if circle
+ groups = friendship.group.blank? ? ['friendships'] : friendship.group.split(',').map(&:strip)
+ groups.each do |group|
+ circle = Circle.find_by(:person => friendship.person, :name => group )
+ friendship.person.remove_profile_from_circle(friendship.friend, circle) if circle
+ end
end
def self.remove_friendship(person1, person2)
=====================================
db/migrate/20160608123748_create_profile_followers_table.rb
=====================================
--- a/db/migrate/20160608123748_create_profile_followers_table.rb
+++ b/db/migrate/20160608123748_create_profile_followers_table.rb
@@ -12,7 +12,7 @@ class CreateProfileFollowersTable < ActiveRecord::Migration
t.column :profile_type, :string, :null => false
end
- add_foreign_key :profiles_circles, :circles, :on_delete => :nullify
+ add_foreign_key :profiles_circles, :circles, :on_delete => :cascade
add_index :profiles_circles, [:profile_id, :circle_id], :name => "profiles_circles_composite_key_index", :unique => true
add_index :circles, [:person_id, :name], :name => "circles_composite_key_index", :unique => true
=====================================
db/schema.rb
=====================================
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -877,5 +877,5 @@ ActiveRecord::Schema.define(version: 20160608123748) do
add_index "votes", ["voteable_id", "voteable_type"], name: "fk_voteables", using: :btree
add_index "votes", ["voter_id", "voter_type"], name: "fk_voters", using: :btree
- add_foreign_key "profiles_circles", "circles", on_delete: :nullify
+ add_foreign_key "profiles_circles", "circles", on_delete: :cascade
end
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/d0cc3c8aa04e050891e550169fae9dce0d4ed876...15f77ee32b2bf33ad7eb5db837ed92adf0f3a959
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20160718/8ca853c8/attachment-0001.html>
More information about the Noosfero-dev
mailing list