RE: Override project.is_public ยป override_is_public_by_group_ownership_1.2.0.patch
app/models/project.rb | ||
---|---|---|
83 | 83 | |
84 | 84 |
named_scope :has_module, lambda { |mod| { :conditions => ["#{Project.table_name}.id IN (SELECT em.project_id FROM #{EnabledModule.table_name} em WHERE em.name=?)", mod.to_s] } } |
85 | 85 |
named_scope :active, { :conditions => "#{Project.table_name}.status = #{STATUS_ACTIVE}"} |
86 |
named_scope :all_public, { :conditions => { :is_public => true } }
|
|
86 |
named_scope :all_public, lambda { { :conditions => Project.is_public } }
|
|
87 | 87 |
named_scope :visible, lambda {|*args| {:conditions => Project.visible_condition(args.shift || User.current, *args) }} |
88 | 88 |
|
89 | 89 |
def initialize(attributes = nil) |
... | ... | |
103 | 103 |
self.trackers = Tracker.all |
104 | 104 |
end |
105 | 105 |
end |
106 |
|
|
106 |
|
|
107 |
def is_public? |
|
108 |
user = User.current |
|
109 |
isea_group = Group.find_by_lastname('Production iseabloom') |
|
110 |
if user && isea_group && user.group_ids.include?(isea_group.id) |
|
111 |
return true |
|
112 |
else |
|
113 |
return false |
|
114 |
end |
|
115 |
end |
|
107 | 116 |
def identifier=(identifier) |
108 | 117 |
super unless identifier_frozen? |
109 | 118 |
end |
... | ... | |
159 | 168 |
statement_by_role = {} |
160 | 169 |
unless options[:member] |
161 | 170 |
role = user.logged? ? Role.non_member : Role.anonymous |
162 |
if role.allowed_to?(permission) && user.mail.match(/@iseabloom.com$/) |
|
171 |
isea_group = Group.find_by_lastname('Production iseabloom') |
|
172 |
if role.allowed_to?(permission) && isea_group && user.group_ids.include?(isea_group.id) |
|
163 | 173 |
statement_by_role[role] = "#{Project.table_name}.is_public = #{connection.quoted_true}" |
164 | 174 |
end |
165 | 175 |
end |