Skip to content

Commit

Permalink
[webui] don't query cmd=showlinked for packages
Browse files Browse the repository at this point in the history
We have the links_to info in the database now
  • Loading branch information
coolo committed Oct 25, 2013
1 parent 1d61160 commit 23c3708
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 48 deletions.
4 changes: 4 additions & 0 deletions src/api/app/models/package.rb
Expand Up @@ -739,6 +739,10 @@ def update_if_dirty
self.backend_package
end

def linking_packages
::Package.joins(:backend_package).where(backend_packages: { links_to_id: self.id })
end

def backend_package
bp = super
# if it's there, it's supposed to be fine
Expand Down
10 changes: 1 addition & 9 deletions src/api/webui/app/controllers/webui/package_controller.rb
Expand Up @@ -71,15 +71,7 @@ def files
end

def set_linking_packages
if @spider_bot
@linking_packages = []
return
end
cache_string = '%s/%s_linking_packages' % [ @project, @package ]
Rails.cache.delete(cache_string) if discard_cache?
@linking_packages = Rails.cache.fetch( cache_string, :expires_in => 30.minutes) do
@package.linking_packages
end
@linking_packages = @package.api_obj.linking_packages
end

def linking_packages
Expand Down
23 changes: 0 additions & 23 deletions src/api/webui/app/models/webui/package.rb
Expand Up @@ -104,29 +104,6 @@ def bugowners
return users('bugowner')
end

def linking_packages
opt = Hash.new
opt[:project] = self.project
opt[:package] = self.name
opt[:cmd] = 'showlinked'
result = []
begin
fc = FrontendCompat.new
answer = fc.do_post nil, opt

doc = ActiveXML::Node.new(answer)
doc.each('/collection/package') do |e|
hash = {}
hash[:project] = e.value('project')
hash[:package] = e.value('name')
result.push( hash )
end
rescue ActiveXML::Transport::NotFoundError
# No answer is ok, it only means no linking projects...
end
return result
end

def user_has_role?(user, role)
user && api_obj.relationships.where(user: user, role_id: Role.rolecache[role]).exists?
end
Expand Down
30 changes: 15 additions & 15 deletions src/api/webui/app/views/webui/package/_linking_packages.html.erb
@@ -1,19 +1,19 @@
<div class="dialog" id="disable_mask"></div>
<div class="dialog darkgrey_box" id="linking_packages">
<div class="box box-shadow">
<h2 class="box-header">Derived Packages</h2>
<ul>
<% @linking_packages.each do |lp| %>
<% if lp[:package] != @package.name %>
<% name = elide_two(lp[:project], lp[:package], 46).join(' / ') %>
<div class="dialog" id="disable_mask"></div>
<div class="dialog darkgrey_box" id="linking_packages">
<div class="box box-shadow">
<h2 class="box-header">Derived Packages</h2>
<ul>
<% @linking_packages.each do |lp| %>
<% if lp.name != @package.name %>
<% name = elide_two(lp.project.name, lp.name, 46).join(' / ') %>
<% else %>
<% name = elide(lp[:project], 46) %>
<% name = elide(lp.project.name, 46) %>
<% end %>
<li><%= link_to(name, :controller => 'package', :action => 'show', :project => lp[:project], :package => lp[:package]) %></li>
<% end %>
</ul>
<div class="buttons">
<%= remove_dialog_tag('Cancel') %>
</div>
<li><%= link_to(name, :controller => 'package', :action => 'show', :project => lp.project.name, :package => lp.name) %></li>
<% end %>
</ul>
<div class="buttons">
<%= remove_dialog_tag('Cancel') %>
</div>
</div>
</div>
2 changes: 1 addition & 1 deletion src/api/webui/app/views/webui/package/show.html.erb
Expand Up @@ -77,7 +77,7 @@
<% end %>
</div>

<% if (not @bugowners_mail.empty? and @configuration['bugzilla_url']) or !User.current.is_nobody? %>
<% if (@bugowners_mail.present? and @configuration['bugzilla_url']) and !User.current.is_nobody? %>
<div class="grid_16 alpha omega">
<ul class="horizontal-list">
<% unless @bugowners_mail.empty? or @configuration['bugzilla_url']%>
Expand Down

0 comments on commit 23c3708

Please sign in to comment.