[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