#631: updated UI and JS validation for build_lists, rewrote migration

This commit is contained in:
Vokhmin Alexey V 2012-09-06 19:34:33 +04:00
parent 30b5188b50
commit 4d1166e6b3
6 changed files with 39 additions and 18 deletions

View File

@ -7,14 +7,6 @@ $(document).ready(function() {
base_platforms.each(function(){
if ($.inArray(platform_id, base_platforms.map(function(){ return $(this).val(); }).get()) >= 0) {
if ($(this).val() == platform_id) {
if ($(this).attr('data-released') === '1') {
$('#build_list_auto_publish').removeAttr('checked').attr('disabled', 'disabled');
//disableUpdateTypes();
} else {
$('#build_list_auto_publish').removeAttr('disabled').attr('checked', 'checked');
//enableUpdateTypes();
}
$(this).attr('checked', 'checked').removeAttr('disabled').trigger('change');
$(this).parent().find('.offset25 input[type="checkbox"]').removeAttr('disabled');
@ -30,7 +22,6 @@ $(document).ready(function() {
} else {
$(this).removeAttr('disabled').removeAttr('checked').trigger('change');
$(this).parent().find('.offset25 input[type="checkbox"]').removeAttr('disabled').removeAttr('checked');
$('#build_list_auto_publish').removeAttr('disabled').attr('checked', 'checked');
}
});
@ -41,7 +32,13 @@ $(document).ready(function() {
setBranchSelected();
checkAccessToAutomatedPublising();
});
$('.all_platforms .offset25 input').change(function() {
checkAccessToAutomatedPublising();
});
$('#build_list_save_to_platform_id').trigger('change');
$('.offset25 label').click(function() {
@ -57,6 +54,16 @@ $(document).ready(function() {
});
function checkAccessToAutomatedPublising() {
if ($('.all_platforms .offset25 input:checked[publish_wtihout_qa="1"]').length > 0) {
$('#build_list_auto_publish').removeAttr('disabled').attr('checked', 'checked');
//enableUpdateTypes();
} else {
$('#build_list_auto_publish').removeAttr('checked').attr('disabled', 'disabled');
//disableUpdateTypes();
}
}
function setPlChecked(pointer, checked) {
var pl_cbx = $(pointer).parent().parent().parent().find('input[type="checkbox"].build_bpl_ids');
var pl_id = pl_cbx.val();

View File

@ -49,7 +49,7 @@ class Projects::BuildListsController < Projects::BaseController
@repository = @project.repositories.where(:id => @platform.repository_ids).first
params[:build_list][:save_to_repository_id] = @repository.id
params[:build_list][:auto_publish] = false if @platform.released && !@repository.publish_wtihout_qa
params[:build_list][:auto_publish] = false unless @repository.publish_wtihout_qa?
Arch.where(:id => params[:arches]).each do |arch|
Platform.main.where(:id => params[:build_for_platforms]).each do |build_for_platform|

View File

@ -1,4 +1,4 @@
- platform.repositories.each do |repo|
.both
= check_box_tag "build_list[include_repos][]", repo.id, repo.name == 'main' || @project.repositories.map(&:id).include?(repo.id), :id => "include_repos_#{repo.id}", :save_to_platform_id => platform.id, :rep_name => repo.name
= check_box_tag "build_list[include_repos][]", repo.id, repo.name == 'main' || @project.repositories.map(&:id).include?(repo.id), :id => "include_repos_#{repo.id}", :save_to_platform_id => platform.id, :rep_name => repo.name, :publish_wtihout_qa => repo.publish_wtihout_qa? ? 1 : 0
= label_tag "include_repos_#{repo.id}", repo.name

View File

@ -6,7 +6,7 @@
- Platform.main.each do |pl|
- if pl.repository_ids.size > 0
.both
= check_box_tag "build_for_platforms[]", pl.id, (params[:build_for_platforms]||[]).include?(pl.id.to_s), :class => 'build_bpl_ids', :id => "bpls_#{pl.id}", :'data-released' => pl.released ? 1 : 0
= check_box_tag "build_for_platforms[]", pl.id, (params[:build_for_platforms]||[]).include?(pl.id.to_s), :class => 'build_bpl_ids', :id => "bpls_#{pl.id}"
= label_tag "bpls_#{pl.id}", pl.name
.offset25{:style => 'padding-left: 25px'}= render 'include_repos', :platform => pl
%section.right

View File

@ -1,5 +1,19 @@
class AddPublishWtihoutQaToRepositories < ActiveRecord::Migration
def change
add_column :repositories, :publish_wtihout_qa, :boolean, :default => false
class Platform < ActiveRecord::Base
end
class Repository < ActiveRecord::Base
belongs_to :platform
end
def up
add_column :repositories, :publish_wtihout_qa, :boolean, :default => true
Repository.where('platforms.released is true').joins(:platform).
update_all(:publish_wtihout_qa => false)
end
def down
remove_column :repositories, :publish_wtihout_qa
end
end

View File

@ -367,12 +367,12 @@ ActiveRecord::Schema.define(:version => 20120906115648) do
end
create_table "repositories", :force => true do |t|
t.string "description", :null => false
t.integer "platform_id", :null => false
t.string "description", :null => false
t.integer "platform_id", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "name", :null => false
t.boolean "publish_wtihout_qa", :default => false
t.string "name", :null => false
t.boolean "publish_wtihout_qa", :default => true
end
create_table "settings_notifiers", :force => true do |t|