bullet_train 1.4.7 → 1.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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