bullet_train 1.4.7 → 1.4.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b37d49a851243ce6ee4762eb3939db28bbe9566fc7897f3dde6f46639d41cf6b
4
- data.tar.gz: 54e743ef8e8859657bd43e0294c96d7c9f9b91eae5b08f49e7f3c5350d189ca4
3
+ metadata.gz: 86b25cd3f8b935ed66013d2f4f906a58f50445a1d0250fc92f661d96478c9798
4
+ data.tar.gz: 2020c0ee2cc8d7e14f96f4ff00976729227b434d0c94ba216e8eeeb2ab93c6df
5
5
  SHA512:
6
- metadata.gz: 7a694f756dcb9f8defd2f3a731ac981328f22e793937b68b5117600c83f880d60e9fb092714de7da50da03cf9167e11ad4c25ada0776062b165e6976b087a7ea
7
- data.tar.gz: 38ebed0df0636b49bda73a1d5d11a2f5edf2db7e01a4e9a16882a7efbc4bdee1fbc139bcb4cd7a1f4533ea5d5b55d3f299ac892d35b6f80288186f77d44e65dd
6
+ metadata.gz: 75b39744eeffb426ad00c56dc257ab48f3039914f4372093ea49b2a50ec7ec64fac89876f5e0e4856fb179273ba7949f472699147d9a9d8cc01ae0c101304b1c
7
+ data.tar.gz: 1f4ed96750b8261f799f7aff62e64356360319039a71292f18ac51e004de902e8d40cea5dea28c6ce1bc6a3d8dd345564841132bf3a19e6322fa918ee0f7a517
@@ -111,17 +111,14 @@ module Account::Teams::ControllerBase
111
111
  # # DELETE /teams/1
112
112
  # # DELETE /teams/1.json
113
113
  def destroy
114
- if current_user.teams.size == 1
115
- respond_to do |format|
116
- format.html { redirect_to edit_account_team_url(@team), alert: t("account.teams.notifications.cannot_delete_last_team") }
117
- format.json { head :no_content }
118
- end
119
- else
114
+ respond_to do |format|
115
+ raise RemovingLastTeamException if current_user.one_team?
120
116
  @team.destroy
121
- respond_to do |format|
122
- format.html { redirect_to account_teams_url, notice: t("account.teams.notifications.destroyed") }
123
- format.json { head :no_content }
124
- end
117
+ format.html { redirect_to account_teams_url, notice: t("account.teams.notifications.destroyed") }
118
+ format.json { head :no_content }
119
+ rescue RemovingLastTeamException => _
120
+ format.html { redirect_to edit_account_team_url(@team), alert: t("account.teams.notifications.cannot_delete_last_team") }
121
+ format.json { head :no_content }
125
122
  end
126
123
  end
127
124
 
@@ -7,6 +7,10 @@ module Teams::Base
7
7
  has_many :scaffolding_absolutely_abstract_creative_concepts, class_name: "Scaffolding::AbsolutelyAbstract::CreativeConcept", dependent: :destroy, enable_cable_ready_updates: true
8
8
  end
9
9
 
10
+ # added_by_id is a foreign_key to other Memberships on the same team,
11
+ # so we nullify this to remove the constraint to delete the team.
12
+ before_destroy { Membership.where(team: self).update_all(added_by_id: nil) }
13
+
10
14
  # memberships and invitations
11
15
  has_many :memberships, dependent: :destroy
12
16
  has_many :users, through: :memberships
@@ -1,3 +1,3 @@
1
1
  module BulletTrain
2
- VERSION = "1.4.7"
2
+ VERSION = "1.4.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bullet_train
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-21 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: standard