[#369] new build list page: add last build lists
This commit is contained in:
parent
b10387c91e
commit
d0ab09902c
|
@ -7,7 +7,7 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
result.length is 1
|
result.length is 1
|
||||||
|
|
||||||
defaultSaveToRepository = ->
|
defaultSaveToRepository = ->
|
||||||
return null unless vm.save_to_repositories
|
return {} unless vm.save_to_repositories
|
||||||
return vm.save_to_repositories[0] unless vm.save_to_repository_id
|
return vm.save_to_repositories[0] unless vm.save_to_repository_id
|
||||||
|
|
||||||
result = _.select(vm.save_to_repositories, (e) ->
|
result = _.select(vm.save_to_repositories, (e) ->
|
||||||
|
@ -17,7 +17,7 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
result[0]
|
result[0]
|
||||||
|
|
||||||
defaultProjectVersion = ->
|
defaultProjectVersion = ->
|
||||||
return null unless vm.project_versions
|
return {} unless vm.project_versions
|
||||||
|
|
||||||
result = _.select(vm.project_versions, (e) ->
|
result = _.select(vm.project_versions, (e) ->
|
||||||
e.name is vm.project_version_name
|
e.name is vm.project_version_name
|
||||||
|
@ -25,6 +25,7 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
return vm.project_versions[0] if result.length is 0
|
return vm.project_versions[0] if result.length is 0
|
||||||
result[0]
|
result[0]
|
||||||
|
|
||||||
|
|
||||||
vm = this
|
vm = this
|
||||||
|
|
||||||
vm.selectSaveToRepository = ->
|
vm.selectSaveToRepository = ->
|
||||||
|
@ -44,7 +45,9 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
if pl.id isnt vm.build_for_platform_id
|
if pl.id isnt vm.build_for_platform_id
|
||||||
r.checked = false
|
r.checked = false
|
||||||
if pl.id is vm.build_for_platform_id or
|
if pl.id is vm.build_for_platform_id or
|
||||||
(!vm.is_build_for_main_platform and vm.project_version.name is pl.name)
|
(!vm.is_build_for_main_platform and
|
||||||
|
vm.project_version and
|
||||||
|
vm.project_version.name is pl.name)
|
||||||
r.checked = true if r.name == 'main' or r.name == 'base'
|
r.checked = true if r.name == 'main' or r.name == 'base'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -138,8 +141,32 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
vm.selected_extra_build_list = null
|
vm.selected_extra_build_list = null
|
||||||
false
|
false
|
||||||
|
|
||||||
|
vm.updateFilterOwner = ->
|
||||||
|
vm.last_build_lists_filter.owner = !vm.last_build_lists_filter.owner;
|
||||||
|
vm.updateLastBuilds()
|
||||||
|
|
||||||
|
vm.updateFilterStatus = ->
|
||||||
|
vm.last_build_lists_filter.status = !vm.last_build_lists_filter.status;
|
||||||
|
vm.updateLastBuilds()
|
||||||
|
|
||||||
|
vm.updateLastBuilds = ->
|
||||||
|
path = Routes.list_project_build_lists_path(
|
||||||
|
{
|
||||||
|
name_with_owner: vm.name_with_owner,
|
||||||
|
page: vm.last_build_lists_filter.page
|
||||||
|
owner_filter: vm.last_build_lists_filter.owner
|
||||||
|
status_filter: vm.last_build_lists_filter.status
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
$http.get(path).then (response) ->
|
||||||
|
vm.last_build_lists = response.data.build_lists
|
||||||
|
vm.total_items = response.data.total_items
|
||||||
|
false
|
||||||
|
|
||||||
init = (dataservice) ->
|
init = (dataservice) ->
|
||||||
|
|
||||||
|
vm.name_with_owner = dataservice.name_with_owner
|
||||||
vm.build_for_platform_id = dataservice.build_for_platform_id
|
vm.build_for_platform_id = dataservice.build_for_platform_id
|
||||||
vm.platforms = dataservice.platforms
|
vm.platforms = dataservice.platforms
|
||||||
vm.save_to_repositories = dataservice.save_to_repositories
|
vm.save_to_repositories = dataservice.save_to_repositories
|
||||||
|
@ -164,6 +191,10 @@ NewBuildListController = (dataservice, $http) ->
|
||||||
|
|
||||||
vm.is_build_for_main_platform = isBuildForMainPlatform()
|
vm.is_build_for_main_platform = isBuildForMainPlatform()
|
||||||
|
|
||||||
|
vm.last_build_lists = []
|
||||||
|
vm.last_build_lists_filter = { owner: true, status: true, page: 1 }
|
||||||
|
vm.updateLastBuilds()
|
||||||
|
|
||||||
init(dataservice)
|
init(dataservice)
|
||||||
vm.selectSaveToRepository() if !dataservice.build_list_id
|
vm.selectSaveToRepository() if !dataservice.build_list_id
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -1,156 +0,0 @@
|
||||||
$(document).ready(function() {
|
|
||||||
var new_form = $('#new_form');
|
|
||||||
var ownership_btn = $('.btn.ownership');
|
|
||||||
var perpage_btn = $('.btn.per_page');
|
|
||||||
|
|
||||||
// TODO: Refactor this handler!! It's too complicated.
|
|
||||||
$(document).on('change', '#build_list_save_to_repository_id', function(){
|
|
||||||
var selected_option = $(this).find("option:selected");
|
|
||||||
var platform_id = selected_option.attr('platform_id');
|
|
||||||
var rep_name = selected_option.text().match(/[\w-]+\/([\w-]+)/)[1];
|
|
||||||
|
|
||||||
var build_platform = $('#build_for_pl_' + platform_id);
|
|
||||||
var all_repositories = $('.all_platforms input');
|
|
||||||
all_repositories.removeAttr('checked');
|
|
||||||
var auto_create_container = $('#build_list_auto_create_container');
|
|
||||||
var extra_repos = $('.autocomplete-form.extra_repositories');
|
|
||||||
|
|
||||||
updateExtraReposAndBuildLists(platform_id);
|
|
||||||
updatedDefaultArches(selected_option);
|
|
||||||
$('.autocomplete-form table tbody').empty();
|
|
||||||
if (build_platform.size() == 0) {
|
|
||||||
all_repositories.removeAttr('disabled');
|
|
||||||
auto_create_container.removeAttr('checked');
|
|
||||||
addPersonalPlatformToExtraRepos(selected_option, extra_repos);
|
|
||||||
extra_repos.show();
|
|
||||||
|
|
||||||
var version_sel = $('#build_list_project_version').val();
|
|
||||||
var parent = $('div.build_for_pl').filter(function (){
|
|
||||||
return $(this).text() == version_sel;
|
|
||||||
}).parent();
|
|
||||||
parent.find('input').removeAttr('disabled');
|
|
||||||
parent.find('input[rep_name="main"]').attr('checked', 'checked');
|
|
||||||
} else {
|
|
||||||
all_repositories.attr('disabled', 'disabled');
|
|
||||||
extra_repos.hide();
|
|
||||||
|
|
||||||
var parent = build_platform.parent();
|
|
||||||
parent.find('input').removeAttr('disabled');
|
|
||||||
parent.find('input[rep_name="main"]').attr('checked', 'checked');
|
|
||||||
parent.find('input[rep_name="base"]').attr('checked', 'checked');
|
|
||||||
if (rep_name != 'main') {
|
|
||||||
parent.find('input[rep_name="' + rep_name + '"]').attr('checked', 'checked');
|
|
||||||
}
|
|
||||||
setBranchSelected(selected_option);
|
|
||||||
}
|
|
||||||
var build_list_auto_publish_status = $('#build_list_auto_publish_status');
|
|
||||||
if (selected_option.attr('publish_without_qa') == '1') {
|
|
||||||
build_list_auto_publish_status.removeAttr('disabled').val('default');
|
|
||||||
} else {
|
|
||||||
build_list_auto_publish_status.val('none').attr('disabled', 'disabled');
|
|
||||||
auto_create_container.attr('checked', 'checked');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ownership_btn.click(function() {
|
|
||||||
ownership_btn.removeClass('active');
|
|
||||||
$('#filter_ownership').val($(this).val());
|
|
||||||
$(this).addClass('active');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
perpage_btn.click(function() {
|
|
||||||
perpage_btn.removeClass('active');
|
|
||||||
$('#per_page').val($(this).val());
|
|
||||||
$(this).addClass('active');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('a#updated_at_clear').click(function() {
|
|
||||||
$($(this).attr('href')).val('');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#filter_clear').click(function() {
|
|
||||||
$('#monitoring_filter .input_cleanse').val('');
|
|
||||||
$('.btn-group .btn').removeClass('active');
|
|
||||||
if(ownership_btn.length > 0) { ownership_btn[0].click(); }
|
|
||||||
perpage_btn[0].click();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.mediumheight.min').datepicker({
|
|
||||||
dateFormat: 'dd/mm/yy',
|
|
||||||
showButtonPanel: true
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('click', '#owner_filter_build_lists, #status_filter_build_lists', function(){
|
|
||||||
$('#datatable').dataTable().fnDraw();
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('click', '#clone_build_list', function() {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: $(this).attr('href') + '&show=inline',
|
|
||||||
success: function(data){
|
|
||||||
new_form.html(data);
|
|
||||||
$(document).scrollTop(new_form.offset().top);
|
|
||||||
},
|
|
||||||
error: function(data){
|
|
||||||
alert('error') // TODO remove
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('change', '#build_list_project_version', function(){
|
|
||||||
var save_to_repo = $('#build_list_save_to_repository_id');
|
|
||||||
var platform_id = save_to_repo.find("option:selected").attr('platform_id');
|
|
||||||
var build_platform = $('#build_for_pl_' + platform_id);
|
|
||||||
|
|
||||||
if (build_platform.size() == 0) {
|
|
||||||
save_to_repo.trigger('change');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function updatedDefaultArches(selected_option) {
|
|
||||||
$('input[name="arches[]"]').removeAttr('checked');
|
|
||||||
_.each(selected_option.attr('default_arches').split(' '), function(id){
|
|
||||||
$('#arches_' + id).attr('checked', 'checked');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateExtraReposAndBuildLists(save_to_platform_id) {
|
|
||||||
$.each($('.autocomplete-form'), function() {
|
|
||||||
var form = $(this);
|
|
||||||
var path = form.attr('path') + '?platform_id=' + save_to_platform_id;
|
|
||||||
form.find('.autocomplete').attr('data-autocomplete', path);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function addPersonalPlatformToExtraRepos(selected_option, extra_repos) {
|
|
||||||
var default_value = extra_repos.find('div[label="' + selected_option.text() + '"]');
|
|
||||||
if (default_value.length == 0) { return; }
|
|
||||||
addDataToAutocompleteForm(
|
|
||||||
extra_repos,
|
|
||||||
default_value.attr('path'),
|
|
||||||
default_value.attr('label'),
|
|
||||||
default_value.attr('name'),
|
|
||||||
default_value.attr('value')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function setBranchSelected(selected_option) {
|
|
||||||
var pl_name = selected_option.text().match(/([\w-.]+)\/[\w-.]+/)[1];
|
|
||||||
var bl_version_sel = $('#build_list_project_version');
|
|
||||||
var branch_pl_opt = bl_version_sel.find('option[value="' + pl_name + '"]');
|
|
||||||
// If there is branch we need - set it selected:
|
|
||||||
if (branch_pl_opt.size() > 0) {
|
|
||||||
bl_version_sel.find('option[selected]').removeAttr('selected');
|
|
||||||
branch_pl_opt.attr('selected', 'selected');
|
|
||||||
bl_version_sel.val(branch_pl_opt);
|
|
||||||
// hack for FF to force render of select box.
|
|
||||||
bl_version_sel[0].innerHTML = bl_version_sel[0].innerHTML;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -185,11 +185,12 @@ class Projects::BuildListsController < Projects::BaseController
|
||||||
|
|
||||||
def list
|
def list
|
||||||
@build_lists = @project.build_lists
|
@build_lists = @project.build_lists
|
||||||
@build_lists = @build_lists.paginate(page: page, per_page: per_page)
|
|
||||||
@total_build_lists = @build_lists.count
|
|
||||||
@build_lists = @build_lists.where(user_id: current_user) if params[:owner_filter] == 'true'
|
@build_lists = @build_lists.where(user_id: current_user) if params[:owner_filter] == 'true'
|
||||||
@build_lists = @build_lists.where(status: [BuildList::BUILD_ERROR, BuildList::FAILED_PUBLISH, BuildList::REJECTED_PUBLISH]) if params[:status_filter] == 'true'
|
@build_lists = @build_lists.where(status: [BuildList::BUILD_ERROR, BuildList::FAILED_PUBLISH, BuildList::REJECTED_PUBLISH]) if params[:status_filter] == 'true'
|
||||||
@build_lists = @build_lists.order("build_lists.updated_at #{sort_dir}")
|
|
||||||
|
@total_build_lists = @build_lists.count
|
||||||
|
|
||||||
|
@build_lists = @build_lists.recent.paginate(page: current_page)
|
||||||
|
|
||||||
render partial: 'build_lists_ajax', layout: false
|
render partial: 'build_lists_ajax', layout: false
|
||||||
end
|
end
|
||||||
|
|
|
@ -106,15 +106,39 @@ module BuildListsHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_list_version_link(bl, str_version = false)
|
def build_list_version_name(bl)
|
||||||
|
hash_size=5
|
||||||
|
if bl.commit_hash.present?
|
||||||
|
if bl.last_published_commit_hash.present? && bl.last_published_commit_hash != bl.commit_hash
|
||||||
|
"#{shortest_hash_id bl.last_published_commit_hash, hash_size}...#{shortest_hash_id bl.commit_hash, hash_size}"
|
||||||
|
else
|
||||||
|
shortest_hash_id(bl.commit_hash, hash_size)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
bl.project_version
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_build_list_version_path(bl)
|
||||||
|
if bl.commit_hash.present?
|
||||||
|
if bl.last_published_commit_hash.present? && bl.last_published_commit_hash != bl.commit_hash
|
||||||
|
diff_path(bl.project, bl.last_published_commit_hash) + "...#{bl.commit_hash}"
|
||||||
|
else
|
||||||
|
commit_path(bl.project, bl.commit_hash)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_list_version_link(bl)
|
||||||
hash_size=5
|
hash_size=5
|
||||||
if bl.commit_hash.present?
|
if bl.commit_hash.present?
|
||||||
if bl.last_published_commit_hash.present? && bl.last_published_commit_hash != bl.commit_hash
|
if bl.last_published_commit_hash.present? && bl.last_published_commit_hash != bl.commit_hash
|
||||||
link_to "#{shortest_hash_id bl.last_published_commit_hash, hash_size}...#{shortest_hash_id bl.commit_hash, hash_size}",
|
link_to "#{shortest_hash_id bl.last_published_commit_hash, hash_size}...#{shortest_hash_id bl.commit_hash, hash_size}",
|
||||||
diff_path(bl.project, bl.last_published_commit_hash) + "...#{bl.commit_hash}"
|
diff_path(bl.project, bl.last_published_commit_hash) + "...#{bl.commit_hash}"
|
||||||
else
|
else
|
||||||
link_to str_version ? "#{shortest_hash_id bl.commit_hash, hash_size}" : shortest_hash_id(bl.commit_hash, hash_size),
|
link_to shortest_hash_id(bl.commit_hash, hash_size), commit_path(bl.project, bl.commit_hash)
|
||||||
commit_path(bl.project, bl.commit_hash)
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
bl.project_version
|
bl.project_version
|
||||||
|
@ -164,6 +188,7 @@ module BuildListsHelper
|
||||||
def new_build_list_data(build_list, project, params)
|
def new_build_list_data(build_list, project, params)
|
||||||
res = {
|
res = {
|
||||||
build_list_id: params[:build_list_id],
|
build_list_id: params[:build_list_id],
|
||||||
|
name_with_owner: project.name_with_owner,
|
||||||
build_for_platform_id: params[:build_list].try(:[], :build_for_platform_id),
|
build_for_platform_id: params[:build_list].try(:[], :build_for_platform_id),
|
||||||
save_to_repository_id: save_to_repository_id(params),
|
save_to_repository_id: save_to_repository_id(params),
|
||||||
project_version: project_version(project, params),
|
project_version: project_version(project, params),
|
||||||
|
@ -176,7 +201,7 @@ module BuildListsHelper
|
||||||
extra_repos: extra_repos(params),
|
extra_repos: extra_repos(params),
|
||||||
extra_build_lists: extra_build_lists(params),
|
extra_build_lists: extra_build_lists(params),
|
||||||
auto_create_container: default_auto_create_container(params, build_list),
|
auto_create_container: default_auto_create_container(params, build_list),
|
||||||
auto_publish_status: params[:build_list][:auto_publish_status]
|
auto_publish_status: params[:build_list].try(:[], :auto_publish_status)
|
||||||
}
|
}
|
||||||
res.to_json
|
res.to_json
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,6 +6,8 @@ class BuildList < ActiveRecord::Base
|
||||||
include BuildListObserver
|
include BuildListObserver
|
||||||
include EventLoggable
|
include EventLoggable
|
||||||
|
|
||||||
|
self.per_page = 25
|
||||||
|
|
||||||
belongs_to :project
|
belongs_to :project
|
||||||
belongs_to :arch
|
belongs_to :arch
|
||||||
belongs_to :save_to_platform, class_name: 'Platform'
|
belongs_to :save_to_platform, class_name: 'Platform'
|
||||||
|
|
|
@ -1,21 +1,30 @@
|
||||||
build_lists = @build_lists.map do |build_list|
|
json.build_lists @build_lists do |bl|
|
||||||
build_for = " (#{build_list.build_for_platform.name})" if build_list.build_for_platform && build_list.save_to_platform.personal?
|
json.id bl.id
|
||||||
[
|
json.path build_list_path(bl)
|
||||||
[link_to(build_list.id, build_list),
|
json.human_status bl.human_status
|
||||||
link_to(t('layout.clone'), new_project_build_list_path(@project, build_list_id: build_list.id),
|
|
||||||
id: 'clone_build_list')
|
json.version do
|
||||||
].join('<br/>').html_safe,
|
json.name build_list_version_name(bl)
|
||||||
build_list.human_status,
|
json.path get_build_list_version_path(bl)
|
||||||
build_list_version_link(build_list),
|
json.release get_version_release(bl)
|
||||||
get_version_release(build_list),
|
end
|
||||||
link_to("#{build_list.save_to_platform.name}/#{build_list.save_to_repository.name}#{build_for}", [build_list.save_to_platform, build_list.save_to_repository]),
|
|
||||||
build_list.arch.try(:name) || t('layout.arches.unexisted_arch'),
|
if bl.build_for_platform && bl.save_to_platform.personal?
|
||||||
link_to(build_list.user.try(:fullname), build_list.user),
|
build_for = " (#{bl.build_for_platform.name})"
|
||||||
datetime_moment(build_list.updated_at).html_safe
|
end
|
||||||
]
|
|
||||||
|
json.save_to_repository do
|
||||||
|
json.path platform_repository_path(bl.save_to_platform, bl.save_to_repository)
|
||||||
|
json.name "#{bl.save_to_platform.name}/#{bl.save_to_repository.name}#{build_for}"
|
||||||
|
end
|
||||||
|
|
||||||
|
json.arch bl.arch.try(:name) || t('layout.arches.unexisted_arch')
|
||||||
|
json.user do
|
||||||
|
json.path user_path(bl.user) if bl.user
|
||||||
|
json.fullname bl.user.try(:fullname)
|
||||||
|
end
|
||||||
|
|
||||||
|
json.updated_at bl.updated_at
|
||||||
end
|
end
|
||||||
|
|
||||||
json.sEcho params[:sEcho].to_i || -1
|
json.total_items @total_build_lists
|
||||||
json.iTotalRecords @total_build_lists
|
|
||||||
json.iTotalDisplayRecords @build_lists.count
|
|
||||||
json.aaData build_lists
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
.all
|
|
||||||
%h3= t 'layout.build_lists.last_build_lists'
|
|
||||||
%h4= t 'layout.relations.filters'
|
|
||||||
.checkbox
|
|
||||||
%label
|
|
||||||
= check_box_tag :owner_filter_build_lists, true, (params[:owner_filter] || 'true') == 'true',
|
|
||||||
class: 'form-control'
|
|
||||||
= t 'layout.build_lists.only_my_build_lists'
|
|
||||||
|
|
||||||
.both
|
|
||||||
= check_box_tag :status_filter_build_lists, true, (params[:status_filter] || 'true') == 'true'
|
|
||||||
= label_tag t('layout.build_lists.failed_build_lists')
|
|
||||||
|
|
||||||
- columns, default_column = [], {type: 'html', sortable: false, searchable: false}
|
|
||||||
- 8.times { columns << default_column }
|
|
||||||
= raw datatable(columns, {sort_by: "[7, 'asc']", processing: t('layout.processing'), search: 'false',
|
|
||||||
pagination_labels: {previous: t('datatables.previous_label'), next: t('datatables.next_label')},
|
|
||||||
empty_label: t('datatables.empty_label'),
|
|
||||||
info_label: t('datatables.info_label'),
|
|
||||||
info_empty_label: t('datatables.info_empty_label'),
|
|
||||||
filtered_label: t('datatables.filtered_label'),
|
|
||||||
table_dom_id: 'datatable',
|
|
||||||
auto_width: 'false',
|
|
||||||
ajax_source: "#{url_for controller: 'projects/build_lists', action: :list}",
|
|
||||||
additional_data: {owner_filter: "' + $('#owner_filter_build_lists:checked').val() + '",
|
|
||||||
status_filter: "' + $('#status_filter_build_lists:checked').val() + '"} })
|
|
||||||
|
|
||||||
%table#datatable.tablesorter.list-users{cellspacing: 0, cellpadding: 0}
|
|
||||||
%thead
|
|
||||||
%tr
|
|
||||||
%th.th1= t('activerecord.attributes.build_list.id')
|
|
||||||
%th.th2= t('activerecord.attributes.build_list.status')
|
|
||||||
%th.th2= t('diff')
|
|
||||||
%th.th2= t('activerecord.attributes.build_list.project_version')
|
|
||||||
%th.th2= t('activerecord.attributes.build_list.save_to_repository')
|
|
||||||
%th.th1= t('activerecord.attributes.build_list.arch_short')
|
|
||||||
%th.th2= t('activerecord.attributes.build_list.user')
|
|
||||||
%th.th1= t('activerecord.attributes.build_list.updated_at')
|
|
||||||
%tbody
|
|
||||||
%br
|
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
.container{ 'ng-controller' => 'NewBuildListController as newBuildCtrl', 'ng-cloak' => true }
|
.container{ 'ng-controller' => 'NewBuildListController as newBuildCtrl', 'ng-cloak' => true }
|
||||||
#new_form= render 'projects/build_lists/new_build/new_form', project: @project, build_list: @build_list
|
#new_form= render 'projects/build_lists/new_build/new_form', project: @project, build_list: @build_list
|
||||||
%br
|
%br
|
||||||
=# render 'last_build_lists', project: @project
|
= render 'projects/build_lists/new_build/last_build_lists', project: @project
|
||||||
= render 'projects/base/submenu'
|
= render 'projects/base/submenu'
|
||||||
|
|
|
@ -10,7 +10,7 @@ div[ ng-hide = "#{field == :ExtraRepositories ? "newBuildCtrl.is_build_for_main_
|
||||||
a<[ class='fa fa-question-circle' href='#' data-toggle='modal' data-target="##{modal_id}" ]
|
a<[ class='fa fa-question-circle' href='#' data-toggle='modal' data-target="##{modal_id}" ]
|
||||||
|
|
||||||
.modal.fade[ id=modal_id tabindex='-1' role='dialog'
|
.modal.fade[ id=modal_id tabindex='-1' role='dialog'
|
||||||
aria-labelledby="#{modal_id}Label" aria-hidden='true' ]
|
aria-labelledby="#{modal_id}Label" aria-hidden='true' ]
|
||||||
.modal-dialog
|
.modal-dialog
|
||||||
.modal-content
|
.modal-content
|
||||||
.modal-header
|
.modal-header
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
h3= t 'layout.build_lists.last_build_lists'
|
||||||
|
h4= t 'layout.relations.filters'
|
||||||
|
|
||||||
|
.checkbox
|
||||||
|
label
|
||||||
|
= check_box_tag :owner_filter_build_lists, true,
|
||||||
|
(params[:owner_filter] || 'true') == 'true',
|
||||||
|
'ng-click' => 'newBuildCtrl.updateFilterOwner()',
|
||||||
|
'ng-value' => 'newBuildCtrl.last_builds_filter.owner'
|
||||||
|
= t 'layout.build_lists.only_my_build_lists'
|
||||||
|
|
||||||
|
.checkbox
|
||||||
|
label
|
||||||
|
= check_box_tag :status_filter_build_lists, true,
|
||||||
|
(params[:status_filter] || 'true') == 'true',
|
||||||
|
'ng-value' => 'newBuildCtrl.last_builds_filter.status',
|
||||||
|
'ng-click' => 'newBuildCtrl.updateFilterStatus()'
|
||||||
|
= t 'layout.build_lists.failed_build_lists'
|
||||||
|
|
||||||
|
table.table
|
||||||
|
thead
|
||||||
|
tr
|
||||||
|
th= t('activerecord.attributes.build_list.id')
|
||||||
|
th= t('activerecord.attributes.build_list.status')
|
||||||
|
th= t('diff')
|
||||||
|
th= t('activerecord.attributes.build_list.project_version')
|
||||||
|
th= t('activerecord.attributes.build_list.save_to_repository')
|
||||||
|
th= t('activerecord.attributes.build_list.arch_short')
|
||||||
|
th= t('activerecord.attributes.build_list.user')
|
||||||
|
th= t('activerecord.attributes.build_list.updated_at')
|
||||||
|
tbody
|
||||||
|
tr[ ng-repeat = 'last in newBuildCtrl.last_build_lists' ]
|
||||||
|
td
|
||||||
|
a[ ng-href = '{{ last.path }}' ] {{ last.id }}
|
||||||
|
br
|
||||||
|
a[ ng-click = 'cloneBuildList(last.id)' ]= t 'layout.clone'
|
||||||
|
td[] {{ last.human_status }}
|
||||||
|
td
|
||||||
|
a[ ng-href = '{{ last.version.path }}' ] {{ last.version.name }}
|
||||||
|
td[] {{ last.version.release }}
|
||||||
|
td
|
||||||
|
a[ ng-href = '{{ last.save_to_repository.path }}' ] {{ last.save_to_repository.name }}
|
||||||
|
td[] {{ last.arch }}
|
||||||
|
td
|
||||||
|
a[ ng-href = '{{ last.user.path }}' ] {{ last.user.fullname }}
|
||||||
|
td
|
||||||
|
span[ am-time-ago = 'last.updated_at'
|
||||||
|
title = "{{ last.updated_at | amDateFormat:'ddd, LLL' }}" ]
|
||||||
|
|
||||||
|
= angularjs_paginate( per_page: BuildList.per_page )
|
|
@ -8,14 +8,16 @@
|
||||||
%select.form-control.boffset20{ 'ng-model' => 'newBuildCtrl.save_to_repository',
|
%select.form-control.boffset20{ 'ng-model' => 'newBuildCtrl.save_to_repository',
|
||||||
'ng-options' => 'r.name for r in newBuildCtrl.save_to_repositories track by r.id',
|
'ng-options' => 'r.name for r in newBuildCtrl.save_to_repositories track by r.id',
|
||||||
'ng-change' => 'newBuildCtrl.selectSaveToRepository()',
|
'ng-change' => 'newBuildCtrl.selectSaveToRepository()',
|
||||||
name: 'build_list[save_to_repository_id]' }
|
name: 'build_list[save_to_repository_id]',
|
||||||
|
required: true }
|
||||||
|
|
||||||
%h4= t 'activerecord.attributes.build_list.project_version'
|
%h4= t 'activerecord.attributes.build_list.project_version'
|
||||||
%select.form-control.boffset20{ 'ng-model' => 'newBuildCtrl.project_version',
|
%select.form-control.boffset20{ 'ng-model' => 'newBuildCtrl.project_version',
|
||||||
'ng-options' => 'v.name group by v.kind for v in newBuildCtrl.project_versions track by v.name',
|
'ng-options' => 'v.name group by v.kind for v in newBuildCtrl.project_versions track by v.name',
|
||||||
'ng-change' => 'newBuildCtrl.selectProjectVersion()',
|
'ng-change' => 'newBuildCtrl.selectProjectVersion()',
|
||||||
'ng-value' => 'newBuildCtrl.project_version',
|
'ng-value' => 'newBuildCtrl.project_version',
|
||||||
name: 'build_list[project_version]' }
|
name: 'build_list[project_version]',
|
||||||
|
required: true }
|
||||||
|
|
||||||
%h4= t 'activerecord.attributes.build_list.arch'
|
%h4= t 'activerecord.attributes.build_list.arch'
|
||||||
.checkbox{ 'ng-repeat' => 'arch in newBuildCtrl.arches' }
|
.checkbox{ 'ng-repeat' => 'arch in newBuildCtrl.arches' }
|
||||||
|
|
Loading…
Reference in New Issue