Skip to content

Commit

Permalink
Merge pull request #2370 from Ericsson/packages-changed-column
Browse files Browse the repository at this point in the history
Packages list changed column
  • Loading branch information
hennevogel committed Dec 8, 2016
2 parents 9cc1ae5 + f119dc7 commit aacfca1
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 6 deletions.
2 changes: 2 additions & 0 deletions src/api/Gemfile
Expand Up @@ -157,4 +157,6 @@ group :assets do
# gem 'bootstrap-sass-rails'
# assets for font-awesome vector icons
gem "font-awesome-rails"
# assets for formatting dates
gem 'momentjs-rails'
end
3 changes: 3 additions & 0 deletions src/api/Gemfile.lock
Expand Up @@ -162,6 +162,8 @@ GEM
ruby-progressbar
mocha (1.1.0)
metaclass (~> 0.0.1)
momentjs-rails (2.15.1)
railties (>= 3.1)
mysql2 (0.4.4)
nio4r (1.2.1)
nokogiri (1.6.8.1)
Expand Down Expand Up @@ -370,6 +372,7 @@ DEPENDENCIES
minitest-fail-fast
minitest-reporters
mocha (> 0.13.0)
momentjs-rails
mysql2
nokogiri (~> 1.6.7)
nyan-cat-formatter
Expand Down
1 change: 1 addition & 0 deletions src/api/app/assets/javascripts/webui/application.js
Expand Up @@ -24,6 +24,7 @@
//= require jquery_ujs
//= require dataTables/jquery.dataTables
//= require cocoon
//= require moment
//
//= require webui/application/bento/script.js
//= require webui/application/bento/global-navigation.js
Expand Down
16 changes: 15 additions & 1 deletion src/api/app/assets/javascripts/webui/application/project.js
Expand Up @@ -4,15 +4,29 @@ function renderPackagesTable(wrapper, packages, length) {
$("#" + wrapper).html('<table cellpadding="0" cellspacing="0" border="0" class="compact stripe" id="' + wrapper + '_table"></table>');
$("#" + wrapper + "_table").dataTable({
"data": packages,
"ordering": false,
"ordering": true,
"paging": packages.length > 12,
"autoWidth": false,
"pagingType": "simple",
"columns": [
{
"title": "Name",
"width": "70%",
"render": function (obj) {
var url = packageurl.replace(/REPLACEIT/, obj);
return '<a href="' + url + '">' + obj + '</a>';
}
},
{
"title": "Changed",
"width": "30%",
"render": function (obj) {
var fromnow = moment.unix(parseInt(obj)).fromNow();
if (fromnow.match(/^in\s/)) {
fromnow = "now"; // in case server time is ahead of client
}
return '<span class="hidden">' + obj + '</span>' + fromnow;
}
}
],
"pageLength": length,
Expand Down
9 changes: 6 additions & 3 deletions src/api/app/controllers/webui/project_controller.rb
Expand Up @@ -187,7 +187,7 @@ def show

# An incident has a patchinfo if there is a package 'patchinfo' with file '_patchinfo', try to find that:
@has_patchinfo = false
if @packages.include? 'patchinfo'
if @packages.map {|p| p[0]}.include? 'patchinfo'
Directory.hashed(project: @project.name, package: 'patchinfo').elements('entry') do |e|
@has_patchinfo = true if e['name'] == '_patchinfo'
end
Expand Down Expand Up @@ -765,8 +765,11 @@ def set_maintained_project

def load_project_info
find_maintenance_infos
@packages = @project.packages.order_by_name.pluck(:name)
@ipackages = @project.expand_all_packages.find_all{ |p| !@packages.include?(p[0]) }
@packages = Array.new
@project.packages.order_by_name.pluck(:name, :updated_at).each do |p|
@packages << [p[0], p[1].to_i.to_s] # convert Time to epoch ts and then to string
end
@ipackages = @project.expand_all_packages.find_all{ |ip| !@packages.map{|p| p[0]}.include?(ip[0]) }
@linking_projects = @project.linked_by_projects.pluck(:name)

reqs = @project.open_requests
Expand Down
2 changes: 1 addition & 1 deletion src/api/app/views/webui/project/_packages_table.html.erb
Expand Up @@ -24,7 +24,7 @@
<% cache [packageurl, Digest::MD5.hexdigest(@packages.join)] do %>
<div id="packages_table_wrapper" data-url="<%= packageurl %>">
<%= javascript_tag do %>
var packages = [ <%= escape_list(@packages) %> ];
var packages = [ <%= escape_nested_list(@packages) %> ];
renderPackagesTable("packages_table_wrapper", packages);
<% end %>
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/api/app/views/webui/project/packages_simple.html.erb
Expand Up @@ -3,7 +3,7 @@
<% packageurl = url_for(controller: 'package', action: 'show', project: @project, package: 'REPLACEPKG') %>
<% @packages.each do |p| %>
<tr>
<td><%= link_to p, packageurl.sub('REPLACEPKG', p) %></td>
<td><%= link_to p[0], packageurl.sub('REPLACEPKG', p[0]) %></td>
</tr>
<% end %>
<% @ipackages.each do |p| %>
Expand Down

0 comments on commit aacfca1

Please sign in to comment.