fix: remove watcher when project change is_public
This commit is contained in:
parent
90ace8b753
commit
02f8e453f1
|
@ -127,8 +127,8 @@ class Project < ApplicationRecord
|
||||||
has_many :has_pinned_users, through: :pinned_projects, source: :user
|
has_many :has_pinned_users, through: :pinned_projects, source: :user
|
||||||
has_many :webhooks, class_name: "Gitea::Webhook", primary_key: :gpid, foreign_key: :repo_id
|
has_many :webhooks, class_name: "Gitea::Webhook", primary_key: :gpid, foreign_key: :repo_id
|
||||||
|
|
||||||
after_save :check_project_members, :reset_cache_data
|
after_save :check_project_members
|
||||||
before_save :set_invite_code
|
before_save :set_invite_code, :reset_cache_data, :reset_unmember_followed
|
||||||
after_destroy :reset_cache_data
|
after_destroy :reset_cache_data
|
||||||
scope :project_statics_select, -> {select(:id,:name, :is_public, :identifier, :status, :project_type, :user_id, :forked_count, :visits, :project_category_id, :project_language_id, :license_id, :ignore_id, :watchers_count, :created_on)}
|
scope :project_statics_select, -> {select(:id,:name, :is_public, :identifier, :status, :project_type, :user_id, :forked_count, :visits, :project_category_id, :project_language_id, :license_id, :ignore_id, :watchers_count, :created_on)}
|
||||||
scope :no_anomory_projects, -> {where("projects.user_id is not null and projects.user_id != ?", 2)}
|
scope :no_anomory_projects, -> {where("projects.user_id is not null and projects.user_id != ?", 2)}
|
||||||
|
@ -158,6 +158,12 @@ class Project < ApplicationRecord
|
||||||
self.reset_user_cache_async_job(self.owner)
|
self.reset_user_cache_async_job(self.owner)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def reset_unmember_followed
|
||||||
|
if changes[:is_public].present? && changes[:is_public] == [true, false]
|
||||||
|
self.watchers.where.not(user_id: self.all_collaborators).destroy_all
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def set_invite_code
|
def set_invite_code
|
||||||
if self.invite_code.nil?
|
if self.invite_code.nil?
|
||||||
self.invite_code= self.generate_dcode('invite_code', 6)
|
self.invite_code= self.generate_dcode('invite_code', 6)
|
||||||
|
|
Loading…
Reference in New Issue