[refs #232] Merge 3.2-master into 232-new_groups_design

This commit is contained in:
konstantin.grabar 2012-03-02 13:44:54 +04:00
commit 1700588b97
206 changed files with 5103 additions and 13508 deletions

20
Gemfile
View File

@ -1,19 +1,19 @@
source 'http://rubygems.org' source 'http://rubygems.org'
gem 'rails', '3.2.1' #, :git => 'git://github.com/rails/rails.git' gem 'rails', '3.2.2' #, :git => 'git://github.com/rails/rails.git'
gem 'pg', '~> 0.13.1' gem 'pg', '~> 0.13.2'
# gem 'silent-postgres', :git => 'git://github.com/dolzenko/silent-postgres.git' #'~> 0.1.1' # gem 'silent-postgres', :git => 'git://github.com/dolzenko/silent-postgres.git' #'~> 0.1.1'
gem 'redhillonrails_core', :git => 'git://github.com/chipiga/redhillonrails_core.git', :branch => 'rails31' # '~> 2.0.0.pre' # deprecated gem 'redhillonrails_core', :git => 'git://github.com/chipiga/redhillonrails_core.git', :branch => 'rails31' # '~> 2.0.0.pre' # deprecated
# gem 'schema_plus', '~> 0.2.1' # buggy shit! # gem 'schema_plus', '~> 0.2.1' # buggy shit!
gem 'devise', '~> 2.0.1' gem 'devise', '~> 2.0.4'
gem 'omniauth', '~> 1.0.2' gem 'omniauth', '~> 1.0.2'
gem 'omniauth-openid', '~> 1.0.1' gem 'omniauth-openid', '~> 1.0.1'
gem 'cancan', '~> 1.6.7' gem 'cancan', '~> 1.6.7'
gem 'ancestry', '~> 1.2.4' gem 'ancestry', '~> 1.2.4'
gem 'paperclip', '~> 2.5.2' gem 'paperclip', '~> 2.7.0'
gem 'delayed_job_active_record', '~> 0.3.2' gem 'delayed_job_active_record', '~> 0.3.2'
gem 'russian', '~> 0.6.0' gem 'russian', '~> 0.6.0'
gem 'highline', '~> 1.6.11' gem 'highline', '~> 1.6.11'
@ -32,26 +32,26 @@ gem 'RedCloth'
gem 'wikicloth' gem 'wikicloth'
gem 'unicorn', '~> 4.2.0' gem 'unicorn', '~> 4.2.0'
gem 'newrelic_rpm', '~> 3.3.1' gem 'newrelic_rpm', '~> 3.3.2'
gem 'rails3-jquery-autocomplete', '~> 1.0.6' gem 'rails3-jquery-autocomplete', '~> 1.0.6'
gem 'will_paginate', '~> 3.0.3' gem 'will_paginate', '~> 3.0.3'
gem 'meta-tags', '~> 1.2.4', :require => 'meta_tags' gem 'meta-tags', '~> 1.2.4', :require => 'meta_tags'
gem "haml-rails", '~> 0.3.4' gem "haml-rails", '~> 0.3.4'
gem 'jquery-rails', '~> 2.0.0' gem 'jquery-rails', '~> 2.0.1'
group :assets do group :assets do
gem 'sass-rails', '~> 3.2.4' gem 'sass-rails', '~> 3.2.4'
gem 'coffee-rails', '~> 3.2.2' gem 'coffee-rails', '~> 3.2.2'
gem 'uglifier', '~> 1.2.1' gem 'uglifier', '~> 1.2.1'
gem 'compass', '~> 0.12.rc.1' # :git => 'git://github.com/chriseppstein/compass.git', :branch => 'rails31' gem 'compass', '~> 0.12.rc.1' # :git => 'git://github.com/chriseppstein/compass.git', :branch => 'rails31'
gem 'therubyracer', '~> 0.9.9' gem 'therubyracer', '~> 0.9.10'
end end
group :production do group :production do
gem "airbrake", '~> 3.0.9' gem "airbrake", '~> 3.0.9'
gem 'bluepill', '~> 0.0.55', :require => false gem 'bluepill', '~> 0.0.59', :require => false
gem 'daemons', '~> 1.1.8' # for DJ gem 'daemons', '1.1.6' # for DJ
end end
group :development do group :development do
@ -69,6 +69,6 @@ end
group :test do group :test do
gem 'rspec-rails', '~> 2.8.1' gem 'rspec-rails', '~> 2.8.1'
gem 'factory_girl_rails', '~> 1.6.0' gem 'factory_girl_rails', '~> 1.7.0'
gem 'rr', '~> 1.0.4' gem 'rr', '~> 1.0.4'
end end

View File

@ -26,12 +26,12 @@ GEM
remote: http://rubygems.org/ remote: http://rubygems.org/
specs: specs:
RedCloth (4.2.9) RedCloth (4.2.9)
actionmailer (3.2.1) actionmailer (3.2.2)
actionpack (= 3.2.1) actionpack (= 3.2.2)
mail (~> 2.4.0) mail (~> 2.4.0)
actionpack (3.2.1) actionpack (3.2.2)
activemodel (= 3.2.1) activemodel (= 3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
builder (~> 3.0.0) builder (~> 3.0.0)
erubis (~> 2.7.0) erubis (~> 2.7.0)
journey (~> 1.0.1) journey (~> 1.0.1)
@ -39,18 +39,18 @@ GEM
rack-cache (~> 1.1) rack-cache (~> 1.1)
rack-test (~> 0.6.1) rack-test (~> 0.6.1)
sprockets (~> 2.1.2) sprockets (~> 2.1.2)
activemodel (3.2.1) activemodel (3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
builder (~> 3.0.0) builder (~> 3.0.0)
activerecord (3.2.1) activerecord (3.2.2)
activemodel (= 3.2.1) activemodel (= 3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
arel (~> 3.0.0) arel (~> 3.0.2)
tzinfo (~> 0.3.29) tzinfo (~> 0.3.29)
activeresource (3.2.1) activeresource (3.2.2)
activemodel (= 3.2.1) activemodel (= 3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
activesupport (3.2.1) activesupport (3.2.2)
i18n (~> 0.6) i18n (~> 0.6)
multi_json (~> 1.0) multi_json (~> 1.0)
airbrake (3.0.9) airbrake (3.0.9)
@ -60,17 +60,17 @@ GEM
posix-spawn (>= 0.3.6) posix-spawn (>= 0.3.6)
ancestry (1.2.4) ancestry (1.2.4)
activerecord (>= 2.2.2) activerecord (>= 2.2.2)
arel (3.0.0) arel (3.0.2)
bcrypt-ruby (3.0.1) bcrypt-ruby (3.0.1)
bluepill (0.0.55) bluepill (0.0.59)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
daemons (~> 1.1.4) daemons (~> 1.1.4, <= 1.1.6)
i18n (>= 0.5.0) i18n (>= 0.5.0)
state_machine (~> 1.1.0) state_machine (~> 1.1.0)
builder (3.0.0) builder (3.0.0)
cancan (1.6.7) cancan (1.6.7)
cape (1.4.0) cape (1.4.0)
capistrano (2.9.0) capistrano (2.11.2)
highline highline
net-scp (>= 1.0.0) net-scp (>= 1.0.0)
net-sftp (>= 2.0.0) net-sftp (>= 2.0.0)
@ -94,27 +94,27 @@ GEM
fssm (>= 0.2.7) fssm (>= 0.2.7)
sass (~> 3.1) sass (~> 3.1)
creole (0.4.2) creole (0.4.2)
daemons (1.1.8) daemons (1.1.6)
delayed_job (3.0.1) delayed_job (3.0.1)
activesupport (~> 3.0) activesupport (~> 3.0)
delayed_job_active_record (0.3.2) delayed_job_active_record (0.3.2)
activerecord (> 2.1.0) activerecord (> 2.1.0)
delayed_job (~> 3.0.0) delayed_job (~> 3.0.0)
devise (2.0.1) devise (2.0.4)
bcrypt-ruby (~> 3.0) bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.0.3) orm_adapter (~> 0.0.3)
railties (~> 3.1) railties (~> 3.1)
warden (~> 1.1) warden (~> 1.1.1)
diff-lcs (1.1.3) diff-lcs (1.1.3)
erubis (2.7.0) erubis (2.7.0)
eventmachine (0.12.10) eventmachine (0.12.10)
execjs (1.3.0) execjs (1.3.0)
multi_json (~> 1.0) multi_json (~> 1.0)
expression_parser (0.9.0) expression_parser (0.9.0)
factory_girl (2.5.2) factory_girl (2.6.0)
activesupport (>= 2.3.9) activesupport (>= 2.3.9)
factory_girl_rails (1.6.0) factory_girl_rails (1.7.0)
factory_girl (~> 2.5.0) factory_girl (~> 2.6.0)
railties (>= 3.0.0) railties (>= 3.0.0)
fssm (0.2.8.1) fssm (0.2.8.1)
github-markup (0.7.1) github-markup (0.7.1)
@ -138,9 +138,9 @@ GEM
hike (1.2.1) hike (1.2.1)
hirb (0.6.0) hirb (0.6.0)
i18n (0.6.0) i18n (0.6.0)
journey (1.0.1) journey (1.0.3)
jquery-rails (2.0.0) jquery-rails (2.0.1)
railties (>= 3.2.0.beta, < 5.0) railties (>= 3.2.0, < 5.0)
thor (~> 0.14) thor (~> 0.14)
json (1.6.5) json (1.6.5)
kgio (2.7.2) kgio (2.7.2)
@ -161,7 +161,7 @@ GEM
meta-tags (1.2.4) meta-tags (1.2.4)
actionpack actionpack
mime-types (1.17.2) mime-types (1.17.2)
multi_json (1.0.4) multi_json (1.1.0)
mustache (0.99.4) mustache (0.99.4)
net-scp (1.0.4) net-scp (1.0.4)
net-ssh (>= 1.99.1) net-ssh (>= 1.99.1)
@ -170,7 +170,7 @@ GEM
net-ssh (2.3.0) net-ssh (2.3.0)
net-ssh-gateway (1.1.0) net-ssh-gateway (1.1.0)
net-ssh (>= 1.99.1) net-ssh (>= 1.99.1)
newrelic_rpm (3.3.1) newrelic_rpm (3.3.2)
nokogiri (1.5.0) nokogiri (1.5.0)
omniauth (1.0.2) omniauth (1.0.2)
hashie (~> 1.2) hashie (~> 1.2)
@ -179,12 +179,12 @@ GEM
omniauth (~> 1.0) omniauth (~> 1.0)
rack-openid (~> 1.3.1) rack-openid (~> 1.3.1)
orm_adapter (0.0.6) orm_adapter (0.0.6)
paperclip (2.5.2) paperclip (2.7.0)
activerecord (>= 2.3.0) activerecord (>= 2.3.0)
activesupport (>= 2.3.2) activesupport (>= 2.3.2)
cocaine (>= 0.0.2) cocaine (>= 0.0.2)
mime-types mime-types
pg (0.13.1) pg (0.13.2)
polyglot (0.3.3) polyglot (0.3.3)
posix-spawn (0.3.6) posix-spawn (0.3.6)
rack (1.4.1) rack (1.4.1)
@ -199,22 +199,22 @@ GEM
rack rack
rack-test (0.6.1) rack-test (0.6.1)
rack (>= 1.0) rack (>= 1.0)
rails (3.2.1) rails (3.2.2)
actionmailer (= 3.2.1) actionmailer (= 3.2.2)
actionpack (= 3.2.1) actionpack (= 3.2.2)
activerecord (= 3.2.1) activerecord (= 3.2.2)
activeresource (= 3.2.1) activeresource (= 3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
bundler (~> 1.0) bundler (~> 1.0)
railties (= 3.2.1) railties (= 3.2.2)
rails-xmlrpc (0.3.6) rails-xmlrpc (0.3.6)
rails3-generators (0.17.4) rails3-generators (0.17.4)
railties (>= 3.0.0) railties (>= 3.0.0)
rails3-jquery-autocomplete (1.0.6) rails3-jquery-autocomplete (1.0.6)
rails (~> 3.0) rails (~> 3.0)
railties (3.2.1) railties (3.2.2)
actionpack (= 3.2.1) actionpack (= 3.2.2)
activesupport (= 3.2.1) activesupport (= 3.2.2)
rack-ssl (~> 1.3.2) rack-ssl (~> 1.3.2)
rake (>= 0.8.7) rake (>= 0.8.7)
rdoc (~> 3.4) rdoc (~> 3.4)
@ -264,7 +264,7 @@ GEM
tilt (~> 1.1, != 1.3.0) tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.5) sqlite3 (1.3.5)
state_machine (1.1.2) state_machine (1.1.2)
therubyracer (0.9.9) therubyracer (0.9.10)
libv8 (~> 3.3.10) libv8 (~> 3.3.10)
thin (1.3.1) thin (1.3.1)
daemons (>= 1.0.9) daemons (>= 1.0.9)
@ -283,9 +283,9 @@ GEM
kgio (~> 2.6) kgio (~> 2.6)
rack rack
raindrops (~> 0.7) raindrops (~> 0.7)
warden (1.1.0) warden (1.1.1)
rack (>= 1.0) rack (>= 1.0)
whenever (0.7.2) whenever (0.7.3)
activesupport (>= 2.3.4) activesupport (>= 2.3.4)
chronic (~> 0.6.3) chronic (~> 0.6.3)
wikicloth (0.7.1) wikicloth (0.7.1)
@ -300,7 +300,7 @@ DEPENDENCIES
RedCloth RedCloth
airbrake (~> 3.0.9) airbrake (~> 3.0.9)
ancestry (~> 1.2.4) ancestry (~> 1.2.4)
bluepill (~> 0.0.55) bluepill (~> 0.0.59)
cancan (~> 1.6.7) cancan (~> 1.6.7)
cape cape
capistrano capistrano
@ -309,25 +309,25 @@ DEPENDENCIES
coffee-rails (~> 3.2.2) coffee-rails (~> 3.2.2)
compass (~> 0.12.rc.1) compass (~> 0.12.rc.1)
creole creole
daemons (~> 1.1.8) daemons (= 1.1.6)
delayed_job_active_record (~> 0.3.2) delayed_job_active_record (~> 0.3.2)
devise (~> 2.0.1) devise (~> 2.0.4)
factory_girl_rails (~> 1.6.0) factory_girl_rails (~> 1.7.0)
gollum (= 1.3.1) gollum (= 1.3.1)
grack! grack!
grit! grit!
haml-rails (~> 0.3.4) haml-rails (~> 0.3.4)
highline (~> 1.6.11) highline (~> 1.6.11)
hirb hirb
jquery-rails (~> 2.0.0) jquery-rails (~> 2.0.1)
mailcatcher mailcatcher
meta-tags (~> 1.2.4) meta-tags (~> 1.2.4)
newrelic_rpm (~> 3.3.1) newrelic_rpm (~> 3.3.2)
omniauth (~> 1.0.2) omniauth (~> 1.0.2)
omniauth-openid (~> 1.0.1) omniauth-openid (~> 1.0.1)
paperclip (~> 2.5.2) paperclip (~> 2.7.0)
pg (~> 0.13.1) pg (~> 0.13.2)
rails (= 3.2.1) rails (= 3.2.2)
rails-xmlrpc (~> 0.3.6) rails-xmlrpc (~> 0.3.6)
rails3-generators rails3-generators
rails3-jquery-autocomplete (~> 1.0.6) rails3-jquery-autocomplete (~> 1.0.6)
@ -339,7 +339,7 @@ DEPENDENCIES
russian (~> 0.6.0) russian (~> 0.6.0)
sass-rails (~> 3.2.4) sass-rails (~> 3.2.4)
shotgun shotgun
therubyracer (~> 0.9.9) therubyracer (~> 0.9.10)
uglifier (~> 1.2.1) uglifier (~> 1.2.1)
unicorn (~> 4.2.0) unicorn (~> 4.2.0)
whenever whenever

View File

@ -1,52 +0,0 @@
var droplist = function() {
$user_menu.slideToggle("slow");
}
function loadMessages() {
$("#messages-new").fadeOut("slow");
$("#new-messages").delay(700).fadeIn("slow");
}
function loadOldMessages() {
$("#old-messages").fadeIn("slow");
}
$(document).ready(function(){
$user_menu = $('#droplist');
$user_menu.die('click');
$('div.information > div.user').live('click', function() {
if ($user_menu.is(":hidden")) {
droplist();
}
});
$('div.information > div.profile > a').live('click', function(e) {
e.preventDefault();
});
$('.data-expander').live('click', function(e) {
var $button = $(e.target);
var id = "#content-" + $button.attr('id');
var $slider = $(id);
$slider.slideToggle("slow", function(){
$button.toggleClass('expanded collapsed');
});
});
});
$(document).click(function(e) {
if (!$user_menu.is(":hidden") && ($(e.target).parent().attr('id') != $user_menu.attr('id'))) {
droplist();
}
});
function showActivity(elem) {
$("#activity-bottom"+elem).slideToggle("slow");
var img = $("#expand" + elem).attr("src");
if (img == "/assets/expand-gray.png") {
$("#expand" + elem).attr("src","/assets/expand-gray2.png");
} else {
$("#expand" + elem).attr("src","/assets/expand-gray.png");
}
}

View File

@ -3,9 +3,9 @@
//= require jquery-ui //= require jquery-ui
//= require autocomplete-rails //= require autocomplete-rails
//= require vendor //= require vendor
//= require_tree . //= require_tree ./design
// //= require_tree ./extra
// require_self //= require_self
// function disableNotifierCbx(global_cbx) { // function disableNotifierCbx(global_cbx) {
// if ($(global_cbx).attr('checked')) { // if ($(global_cbx).attr('checked')) {
@ -18,47 +18,24 @@
// } // }
// //
// $(document).ready(function() { // $(document).ready(function() {
// $('select#build_list_pl_id').change(function() { // $('input.user_role_chbx').click(function() {
// var platform_id = $(this).val(); // var current = $(this);
// var base_platforms = $('.base_platforms input[type=checkbox]'); // current.parent().find('input.user_role_chbx').each(function(i,el) {
// if ($(el).attr('id') != current.attr('id')) {
// $(el).removeAttr('checked');
// }
// });
// });
// //
// $('#include_repos').html($('.preloaded_include_repos .include_repos_' + platform_id).html()); // $('#settings_notifier_can_notify').click(function() {
// disableNotifierCbx($(this));
// });
// //
// base_platforms.each(function(){ // $('div.information > div.user').live('click', function() {
// if ($.inArray(platform_id, base_platforms.map(function(){ return $(this).val() }).get()) >= 0) { // droplist();
// if ($(this).val() == platform_id) { // });
// $(this).attr('checked', 'checked');
// $(this).removeAttr('disabled');
// } else {
// $(this).removeAttr('checked');
// $(this).attr('disabled', 'disabled');
// }
// } else {
// $(this).removeAttr('disabled');
// }
// });
// });
// $('select#build_list_pl_id').trigger('change');
//
// $('input.user_role_chbx').click(function() {
// var current = $(this);
// current.parent().find('input.user_role_chbx').each(function(i,el) {
// if ($(el).attr('id') != current.attr('id')) {
// $(el).removeAttr('checked');
// }
// });
// });
//
// $('#settings_notifier_can_notify').click(function() {
// disableNotifierCbx($(this));
// });
//
// $('div.information > div.user').live('click', function() {
// droplist();
// });
//
// $('div.information > div.profile > a').live('click', function(e) {
// e.preventDefault();
// });
// //
// $('div.information > div.profile > a').live('click', function(e) {
// e.preventDefault();
// });
// }); // });

View File

@ -1,35 +0,0 @@
function addPeople(num) {
$("#people"+num).fadeOut(0);
$("#people-sections"+num).fadeIn("slow");
$("#people-sections-list"+num).fadeIn("slow");
if ($("#people-span").css("display") != "none") {
$("#people-span").fadeOut(0);
}
}
function remPeople(num) {
$("#people"+num).fadeIn("slow");
$("#people-sections"+num).fadeOut(0);
$("#people-sections-list"+num).fadeOut(0);
if (($("#people-sections-list1").css("display") == "none") && ($("#people-sections-list2").css("display") == "none") && ($("#people-sections-list3").css("display") == "none") && ($("#people-sections-list4").css("display") == "none")) {
$("#people-span").fadeIn("slow");
}
}
function addFlag(num) {
$("#flag"+num).fadeOut(0);
$("#flag-list"+num).fadeIn("slow");
$("#flag-list-sections"+num).fadeIn("slow");
if ($("#flag-span").css("display") != "none") {
$("#flag-span").fadeOut(0);
}
}
function remFlag(num) {
$("#flag"+num).fadeIn("slow");
$("#flag-list"+num).fadeOut(0);
$("#flag-list-sections"+num).fadeOut(0);
if (($("#flag-list-sections1").css("display") == "none") && ($("#flag-list-sections2").css("display") == "none") && ($("#flag-list-sections3").css("display") == "none") && ($("#flag-list-sections4").css("display") == "none")) {
$("#flag-span").fadeIn("slow");
}
}

View File

@ -0,0 +1,44 @@
$(document).ready(function() {
var dropbox = $("#droplist");
function loadMessages() {
$("#messages-new").fadeOut("slow");
$("#new-messages").delay(700).fadeIn("slow");
}
function loadOldMessages() {
$("#old-messages").fadeIn("slow");
}
$(document).click(function() {
var dl = dropbox.css("height");
var dl2 = dropbox.css("display");
if ((dl2 == "block")&&(dl == "91px")) {
dropbox.slideUp("slow");
}
});
$('.data-expander').live('click', function(e) {
var $button = $(e.target);
var id = "#content-" + $button.attr('id');
var $slider = $(id);
$slider.slideToggle("slow", function(){
$button.toggleClass('expanded collapsed');
});
});
function showActivity(elem) {
$("#activity-bottom"+elem).slideToggle("slow");
var img = document.getElementById("expand" + elem).className;
if (img == "expand-gray-down") {
document.getElementById("expand" + elem).className = "expand-gray-up";
} else {
document.getElementById("expand" + elem).className = "expand-gray-down";
}
}
$('div.information > div.user').live('click', function() {
dropbox.slideToggle("slow");
});
});

View File

@ -1,12 +1,12 @@
$(document).ready(function() { $(document).ready(function() {
$("#myTable").tablesorter({ // $("#myTable").tablesorter({
headers: { // headers: {
2: { // 2: {
sorter: false // sorter: false
} // }
} // }
//
}); // });
}); });
$(document).ready(function() { $(document).ready(function() {

View File

@ -0,0 +1,23 @@
$(document).ready(function() {
$('select#build_list_pl_id').change(function() {
var platform_id = $(this).val();
var base_platforms = $('.base_platforms input[type=checkbox]');
$('#include_repos').html($('.preloaded_include_repos .include_repos_' + platform_id).html());
base_platforms.each(function(){
if ($.inArray(platform_id, base_platforms.map(function(){ return $(this).val() }).get()) >= 0) {
if ($(this).val() == platform_id) {
$(this).attr('checked', 'checked');
$(this).removeAttr('disabled');
} else {
$(this).removeAttr('checked');
$(this).attr('disabled', 'disabled');
}
} else {
$(this).removeAttr('disabled');
}
});
});
$('select#build_list_pl_id').trigger('change');
});

View File

@ -0,0 +1,237 @@
$(document).ready(function() {
$("#closed-switcher").live('click', function() {
if ($("#blue-switch-select").css("margin-left") != "130px") {
$("#blue-switch-select").animate({"margin-left": "+=130px"}, "fast");
$("#table1").fadeOut(0);
$("#table2").fadeIn("slow");
$('#issues_status').val('closed');
}
else {
$("#blue-switch-select").animate({"margin-left": "-=130px"}, "fast");
$("#table2").fadeOut(0);
$("#table1").fadeIn("slow");
$('#issues_status').val('open');
}
return send_index_tracker_request('GET');
});
$("#manage-labels").live('click', function () {
var toggled = $(this).data('toggled');
$(this).data('toggled', !toggled);
if (!toggled) {
$("#labels-stock").fadeOut(0);
$("#labels-edit").fadeIn("slow");
}
else {
$("#labels-edit").fadeOut(0);
$("#labels-stock").fadeIn("slow");
}
});
$("div.div-tracker-labels").live('click', function() {
var flag = this.id;
flag = flag.replace("label-","flag-");
var bg = $("#"+flag).css("background-color");
var checkbox = $(this).find(':checkbox');
if ($(this).css("background-color") != bg) {
$(this).css("background-color",bg);
$(this).css("color","#FFFFFF");
checkbox.attr('checked', 'checked');
} else {
$(this).css("background-color","rgb(247, 247, 247)");
$(this).css("color","#565657");
checkbox.removeAttr('checked');
}
return send_index_tracker_request('GET');
});
$("#filter_issues #myradio1").live('change', function(event) {
return send_index_tracker_request('GET');
});
$('#search_issue').live('submit', function() {
return send_index_tracker_request('GET', $(this).attr("action"), $(this).serialize());
});
$('#add_label').live('click', function() {
return send_index_tracker_request('POST', $(this).attr("href"), $('#new_label').serialize());
});
$('.righter #update_label').live('click', function() {
return send_index_tracker_request('POST', $(this).attr("href"), $(this).parents('#update_label').serialize());
});
$('.colors .choose').live('click', function() {
var parent = $(this).parents('.colors');
parent.find('.choose.selected').removeClass('selected');
$(this).addClass('selected');
parent.siblings('.lefter').find('#label_color').val($(this).attr('value'));
return false;
});
$('.custom_color').live('click', function() {
$(this).siblings('#label_color').toggle();
return false;
});
$('article a.edit_label').live('click', function() {
$(this).parents('.label.edit').siblings('.label.edit').find('.edit_label_form').hide();
$(this).parents('.label.edit').find('.edit_label_form').toggle();
return false;
});
$('.delete_label').live('click', function() {
return send_index_tracker_request('POST', $(this).attr('href'));
});
function send_index_tracker_request(type_request, url, data) {
data = data || '';
var filter_form = $('#filter_issues');
url = url || filter_form.attr("action");
var label_form = $('#filter_labels');
var status = 'status=' + $('#issues_status').attr('value');
$.ajax({
type: type_request,
url: url,
data: filter_form.serialize() + '&' + label_form.serialize() + '&' + status + '&' + data,
success: function(data){
$('article').html(data);
$(".niceRadio").each(function() { changeRadioStart(jQuery(this)) });
},
error: function(data){
alert('error') // TODO remove
}
});
return false;
};
$('#search_user, #search_labels').live('submit', function() {
var id = $(this).attr('id');
if(id.indexOf('user') != -1) { // FIXME
var which = 'users';
}
else if (id.indexOf('labels') != -1) {
var which = 'labels';
}
$.ajax({
type: 'GET',
url: $(this).attr("action"),
data: $(this).serialize(),
success: function(data){
var tmp = $('#create_issue_'+ which +'_list');
$('#create_issue_'+ which +'_list').html(data);
},
error: function(data){
alert('error') // TODO remove
}
});
return false;
});
function remExecutor(form) {
var el = form.find('.people.selected.remove_executor');
var id = el.attr('id');
$('#'+id+'.add_executor.people.selected').removeClass('select');
el.remove();
}
$('.add_executor.people.selected').live('click', function() {
var form = $('.form.issue');
form.find('#people-span').fadeOut(0);
remExecutor(form);
form.find('#issue_executor').html($(this).clone().removeClass('add_executor').addClass('remove_executor'));
$(this).addClass('select');
});
$('.remove_executor.people.selected').live('click', function() {
var form = $('.form.issue');
form.find('#people-span').fadeIn(0);
remExecutor(form);
});
function remLabel(form, id) {
var el = form.find('.label.remove_label'+'#'+id);
var label = $('#'+id+'.remove_label.label.selected');
label.find('.flag').fadeIn(0);
label.find('.labeltext.selected').removeClass('selected').attr('style', '');
label.fadeIn('slow');
el.fadeOut('slow').remove();
}
$('.add_label.label').live('click', function() {
$(this).addClass('selected').removeClass('add_label').addClass('remove_label');
$(this).find('.labeltext').addClass('selected');
var style = $(this).find('.flag').attr('style');
$(this).find('.flag').fadeOut(0);
$(this).find('.labeltext.selected').attr('style', style);
var form = $('.form.issue');
form.find('#flag-span').fadeOut(0);
form.find('#issue_labels').append($(this).clone());
});
$('.remove_label.label.selected').live('click', function() {
var form = $('.form.issue');
if(form.find('.remove_label.label.selected').length == 1) {
form.find('#flag-span').fadeIn(0);
}
var str = '.label.remove_label'+'#'+$(this).attr('id');
form.find(str).remove();
var label = $(str);
label.removeClass('selected').addClass('add_label').removeClass('remove_label');
label.find('.labeltext.selected').attr('style', '').removeClass('selected');
label.find('.flag').fadeIn(0);
});
$('.issue_status.switch_issue_status').live('click', function () {
var button = $(this);
var status = (button.hasClass('switcher')) ? 'closed' : 'open';
var form = $('#update_issue_status');
form.find('#issue_status').attr('value', status);
$.ajax({
type: 'POST',
url: form.attr("action"),
data: form.serialize(),
success: function(data){
if (status == "open") { button.addClass('switcher').removeClass("switcher-off"); }
else { button.removeClass('switcher').addClass("switcher-off"); }
$('#closed_issue_text').html(data);
},
error: function(data){
alert('error') // TODO remove
}
});
return false;
});
$('#edit_issue_content').live('click', function() {
$('.edit_form.issue').fadeIn('fast');
$(this).fadeOut('fast');
});
$('#cancel_edit_issue_content').live('click', function() {
$('.edit_form.issue').fadeOut('fast');
$('#edit_issue_content').fadeIn('fast');
});
$('.edit_form.issue').live('submit', function() {
var form = $(this);
$.ajax({
type: 'POST',
url: form.attr("action"),
data: form.serialize(),
success: function(data){
form.fadeOut('slow');
$('#edit_issue_content').fadeIn('slow');
$('h3.issue_title').html(form.find('#issue_title').attr('value'));
$('.fulltext.view.issue_body').html(form.find('#issue_body').attr('value'));
},
error: function(data){
alert('error') // TODO remove
}
});
return false;
});
});

View File

@ -0,0 +1,55 @@
function disError(elem) {
$("#hint").fadeOut("fast");
if (document.getElementById("user_login").className=="registartion-input-error") {
if (this.id=="user_login") {
document.getElementById("user_login").className="registartion-input-focus";
} else {
document.getElementById("user_login").className="registartion-input-no-focus";
}
}
if (document.getElementById("user_password").className=="registartion-input-error") {
if (this.id=="user_password") {
document.getElementById("user_password").className="registartion-input-focus";
} else {
document.getElementById("user_password").className="registartion-input-no-focus";
}
}
buttonCheck();
}
function buttonCheck() {
var login_default = document.getElementById("login_default").value;
var pass_default = document.getElementById("password_default").value;
if ((document.getElementById("user_login").value!="")&&(document.getElementById("user_login").value!=login_default)&&
(document.getElementById("user_password").value!="")&&(document.getElementById("user_password").value!=pass_default)) {
document.getElementById("btnLogin").className = "button";
} else {
document.getElementById("btnLogin").className = "button disabled";
}
}
function changeCheck(el) {
var el = el,
input = el.getElementsByTagName("input")[0];
if(input.checked) {
el.style.backgroundPosition="0 0";
input.checked=false;
}
else {
el.style.backgroundPosition="0 -17px";
input.checked=true;
}
return true;
}
function startChangeCheck(el) {
var el = el,
input = el.getElementsByTagName("input")[0];
if(input.checked) { el.style.backgroundPosition="0 -17px"; }
return true;
}
function startCheck() {
startChangeCheck(document.getElementById("niceCheckbox1"));
}

View File

@ -1,54 +0,0 @@
function switchThis() {
var doc = document.getElementById("switcher");
if (doc.className == "switcher") {
doc.className = "switcher-off";
$("#open-comment").fadeOut(0);
$("#closed-comment").fadeIn("slow");
} else {
doc.className = "switcher";
$("#closed-comment").fadeOut(0);
$("#open-comment").fadeIn("slow");
}
}
function preload() {
if (document.images) {
var imgsrc = preload.arguments;
arr=new Array(imgsrc.length);
for (var j=0; j<imgsrc.length; j++) {
arr[j] = new Image;
arr[j].src = imgsrc[j];
}
}
}
function manage(elem) {
if (elem == "people") {
var doc = document.getElementById("people-manage");
if (doc.className == "view") {
doc.className = "non-view";
$("#people-manage").fadeOut(0);
$("#people-manage-list").fadeIn("slow");
}
else {
$("#people-manage-list").fadeOut(0);
$("#people-manage").fadeIn("slow");
doc.className = "view";
}
}
if (elem == "labels") {
var doc = document.getElementById("labels-manage");
if (doc.className == "view") {
doc.className = "non-view";
$("#labels-manage").fadeOut(0);
$("#labels-manage-list").fadeIn("slow");
}
else {
$("#labels-manage-list").fadeOut(0);
$("#labels-manage").fadeIn("slow");
doc.className = "view";
}
}
}

View File

@ -1,5 +0,0 @@
$(document).ready(function() {
SyntaxHighlighter.defaults.toolbar = false;
SyntaxHighlighter.defaults.gutter = false;
SyntaxHighlighter.all();
});

View File

@ -1,138 +0,0 @@
$(document).ready(function() {
$("#closed-switcher").click(function() {
if ($("#blue-switch-select").css("margin-left") != "130px") {
$("#blue-switch-select").animate({"margin-left": "+=130px"}, "fast");
$("#table1").fadeOut(0);
$("#table2").fadeIn("slow");
}
else {
$("#blue-switch-select").animate({"margin-left": "-=130px"}, "fast");
$("#table2").fadeOut(0);
$("#table1").fadeIn("slow");
}
});
});
$(document).ready(function() {
$("#myTable").tablesorter({
headers: {
1: {
sorter: false
}
}
});
});
$(document).ready(function() {
$("#myTable2").tablesorter({
headers: {
1: {
sorter: false
}
}
});
});
$(document).ready(function() {
$("#manage-labels").click(function() {
$("#labels-stock").fadeOut(0);
$("#labels-edit").fadeIn("slow");
});
});
$(document).ready(function() {
$("div.delete").click(function() {
var div = "#label-"+this.id;
$(div).fadeOut("slow");
});
});
$(document).ready(function() {
$("div.div-tracker-lables").click(function() {
var flag = this.id;
flag = flag.replace("label-","flag-");
var bg = $("#"+flag).css("background-color");
if ($(this).css("background-color") != bg) {
$(this).css("background-color",bg);
$(this).css("color","#FFFFFF");
var labels = document.getElementsByName("label");
var rows = document.getElementsByName("row");
var arrayLabels;
var rowState = 0;
for (var r in rows) {
for (var l in labels) {
var ro = document.getElementById(rows[r].id);
var cls = ro.className;
var clsLabel = labels[l].id.split("label-")[1];
if (($("#"+labels[l].id).css("background-color") != "rgb(247, 247, 247)")&&($("#"+labels[l].id).css("background-color") != "transparent")) {
if (cls.indexOf(clsLabel) != -1) {
rowState = 1;
}
}
}
if (rowState == 1) {
showRow(rows[r].id);
rowState = 0;
}
else {
hideRow(rows[r].id);
}
}
} else {
$(this).css("background-color","rgb(247, 247, 247)");
$(this).css("color","#565657");
var labels = document.getElementsByName("label");
var rows = document.getElementsByName("row");
var rowState = 0;
var labelState = 0;
for (var l in labels) {
if (($("#"+labels[l].id).css("background-color") != "rgb(247, 247, 247)")&&($("#"+labels[l].id).css("background-color") != "transparent")) {
labelState = 1;
}
}
if (labelState == 1) {
for (var r in rows) {
for (var l in labels) {
var ro = document.getElementById(rows[r].id);
var cls = ro.className;
var clsLabel = labels[l].id.split("label-")[1];
if (($("#"+labels[l].id).css("background-color") != "rgb(247, 247, 247)")&&($("#"+labels[l].id).css("background-color") != "transparent")) {
if (cls.indexOf(clsLabel) != -1) {
rowState = 1;
}
}
}
if (rowState == 1) {
showRow(rows[r].id);
rowState = 0;
}
else {
hideRow(rows[r].id);
}
}
} else {
for (var r in rows) {
showRow(rows[r].id);
}
}
}
});
});
function showRow(elem) {
if ($("#"+elem).css("display") == "none") {
$("#"+elem).fadeIn("slow");
} else {
//$("#"+elem).fadeOut(0);
}
}
function hideRow(elem) {
if ($("#"+elem).css("display") != "none") {
$("#"+elem).fadeOut("fast");
} else {
//$("#"+elem).fadeOut(0);
}
}

View File

@ -1,30 +1,5 @@
@import "vendor"; @import "vendor";
@import "main"; @import "design/main";
@import "custom"; @import "design/git";
@import "blue/style"; @import "design/common";
@import "hl/my"; @import "design/custom";
@import "hl/shCore";
//@import "hl/shCoreDefault";
//@import "hl/shCoreDjango";
@import "hl/shCoreEclipse";
//@import "hl/shCoreEmacs";
//@import "hl/shCoreFadeToGrey";
//@import "hl/shCoreMDUltra";
//@import "hl/shCoreMidnight";
//@import "hl/shCoreRDark";
//@import "hl/shThemeDefault";
//@import "hl/shThemeDjango";
@import "hl/shThemeEclipse";
//@import "hl/shThemeEmacs";
//@import "hl/shThemeFadeToGrey";
//@import "hl/shThemeMDUltra";
//@import "hl/shThemeMidnight";
//@import "hl/shThemeRDark";
/*
*= require main
*= require blue/style
*= require_tree hl/
*= require vendor
*= require custom
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,113 +0,0 @@
/* tables */
table.tablesorter {
font-family:arial;
margin:10px 0pt 15px;
font-size: 12px;
width: 100%;
text-align: left;
border: 1px solid #DDD;
border-bottom: none;
}
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
font-size: 12px;
margin: 0px;
}
table.tablesorter thead tr .header {
background-image: image-url("bg-sortable.png");
background-repeat: no-repeat;
background-position: center left;
cursor: pointer;
}
table.tablesorter tbody td {
color: #3D3D3D;
padding: 5px;
margin: 0px;
background-color: #FFF;
vertical-align: top;
}
table.tablesorter tbody tr.odd td {
background-color:#F0F0F6;
}
table.tablesorter thead tr .headerSortUp {
background-image: image-url("asc.png");
}
table.tablesorter thead tr .headerSortDown {
background-image: image-url("desc.png");
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
}
table.tablesorter thead tr {
height: 38px;
background: #ededed;
-webkit-box-shadow: 0px 3px 3px -1px rgba(18, 86, 135, 0.2);
-moz-box-shadow: 0px 3px 3px -1px rgba(18, 86, 135, 0.2);
box-shadow: 0px 3px 3px -1px rgba(18, 86, 135, 0.2);
position: relative;
z-index: 99;
}
table.tablesorter thead tr th{
border-bottom: 1px solid #FFF;
}
table.tablesorter tr {
position: relative;
z-index: 70;
}
table.tablesorter tbody tr td {
border-bottom: 1px solid #DDD;
}
table.tablesorter thead th {
color: #575756;
font-weight: normal;
}
table.tablesorter tbody td {
color: #58595b;
padding-top: 8px;
padding-bottom: 8px;
}
table.tablesorter .th1 {
width: 180px;
padding-left: 17px;
}
table.tablesorter .th2 {
width: 390px;
}
table.tablesorter .th3 {
width: 110px;
padding-left: 17px;
}
table.tablesorter .td2 {
padding-right: 20px;
}
table.tablesorter .th4 {
width: 120px;
}
table.tablesorter .td5 {
text-align: center;
}
table.tablesorter .td5 img{
cursor: pointer;
}
.table-sort-left {
float: left;
width: 25px;
}
.table-sort-right {
float: left;
}

View File

@ -0,0 +1,17 @@
@import 'compass/utilities/tables';
table.info {
width: 100%;
border-spacing: 0;
td {padding: 5px;}
}
table.columns2 {
@include inner-table-borders;
th.first, td.first {width: 30%;}
}
table.columns3 {
@include alternating-rows-and-columns(#eee, #ccc, #000);
th.first, td.first, th.last, td.last {width: 30%;}
}

View File

@ -1,4 +1,12 @@
// PUT custom styles here ONLY // PUT custom styles here ONLY
a#manage-labels {
margin-bottom: 10px;
}
article a.edit_label {
color: #FFF;
}
header div.information div.user { header div.information div.user {
float: left; float: left;
margin-left: 5px; margin-left: 5px;
@ -36,7 +44,7 @@ article div.messages div.activity {
} }
article div.activity .top div.image { article div.activity .top div.image {
position: absolute; //position: absolute; // TODO broken issue page
float: left; float: left;
width: 40px; width: 40px;
height: 40px; height: 40px;
@ -44,31 +52,41 @@ article div.activity .top div.image {
margin-top: 2px; margin-top: 2px;
} }
article div.activity .top .buttons {
display: block;
position: relative;
float: right;
}
article div.activity .top div.text { article div.activity .top div.text {
float: left; float: left;
font-size: 12px; font-size: 12px;
padding-left: 10px; padding-left: 10px;
} }
article div.activity .top div.text.imaged { article div.activity .top .imaged {
margin-left: 44px; margin-left: 44px;
} }
article div.activity .top div.text .name { article div.activity .top div.text .name {
font-weight: 700; font-weight: 700;
display: block;
float: left;
} }
article div.activity .top div.text .date { article div.activity .top div.text .date {
font-size: 11px; font-size: 11px;
float: left;
} }
article div.activity .top div.text { article div.activity div.fulltext {
font-size: 12px;
}
article div.activity .fulltext {
font-size: 12px; font-size: 12px;
padding-top: 10px; padding-top: 10px;
display: block;
}
article div.activity div.fulltext.alone {
padding-top: 0px;
} }
article div.activity .fulltext.hidden { article div.activity .fulltext.hidden {
@ -91,6 +109,11 @@ div.activity .data-expander.expanded {
background-position: 0 2px; background-position: 0 2px;
} }
div.activity .fulltext p {
margin: 5px;
line-height: 1.3em;
}
table.blob td.lines pre { table.blob td.lines pre {
background-color: #ECECEC; background-color: #ECECEC;
border-right: 1px solid #DDDDDD; border-right: 1px solid #DDDDDD;
@ -121,6 +144,10 @@ article div.date-block div.date {
height: 52px; height: 52px;
} }
.date_select {
select {margin:3px 0px; padding:0px;}
}
article div#repo-wrapper div.hr { article div#repo-wrapper div.hr {
width: 100%; width: 100%;
} }
@ -211,3 +238,86 @@ article div.file table {
#repo-wrapper table.diff tr td.code.ins .idiff { #repo-wrapper table.diff tr td.code.ins .idiff {
background-color: #BAFBAD; background-color: #BAFBAD;
} }
#repo-wrapper div.comment {
background: none repeat scroll 0 0 #DCECFA;
border: 1px solid #B3CCE0;
border-radius: 4px 4px 4px 4px;
margin-bottom: 10px;
margin-top: 15px;
padding: 6px;
text-align: left;
}
#repo-wrapper div.view {
display: block;
}
#repo-wrapper div.comment div.wrapper {
border: 1px solid #DEDEDE;
border-radius: 4px 4px 4px 4px;
color: #575756;
background: #FFFFFF;
font-size: 12px;
height: 110px;
margin: 10px 0;
padding: 5px;
}
#repo-wrapper div.comment div.wrapper textarea {
border: none;
color: #575756;
font-family: Tahoma,Geneva,Helvetica,sans-serif;
width: 100%;
height: 100%;
resize: none;
}
div.comment div.comment-left {
float: left;
font-size: 12px;
margin-top: 4px;
}
div.comment div.comment-right {
float: right;
}
#repo-wrapper div.file div.data .formatted {
overflow-x: auto;
overflow-y: none;
}
table.tablesorter tbody td a .issue_title {
color: #58595B;
}
.syntaxhighlighter {
padding: 11px;
}
#output.formatted {
width: auto;
font-family: "Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;
padding: 10px 5px;
margin-left: 45px;
}
#output.formatted pre {
font-family: "Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;
padding: 0;
margin: 0;
}
div.gutter {
border-right: 1px solid #CCCCCC !important;
}
table.tablesorter tr td.centered {
text-align: center;
}
/* TODO change this */
header div.user div.avatar img {
border: 1px solid #DDDDDD;
}

View File

@ -27,17 +27,15 @@ a img { border: none; }
.wrap { .wrap {
width: 940px; width: 940px;
margin: 0 auto; margin: 0 auto;
// text-align: center; text-align: center;
// border: 1px solid #3f668c; border: 1px solid #3f668c;
// -webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5);
// -moz-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5);
// box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5); box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.5);
background: #FFF; background: #FFF;
min-height: 92%; min-height: 92%;
} }
.hui {text-align: center;}
.wrap.columns { .wrap.columns {
background: #FFF image-url("page-bg.png") repeat-y; background: #FFF image-url("page-bg.png") repeat-y;
} }
@ -209,6 +207,8 @@ header div.profile a:hover {
header div.droplist-wrap { header div.droplist-wrap {
margin: -4px 0px 0px 0px; margin: -4px 0px 0px 0px;
width: 151px;
float: right;
} }
header div.droplist { header div.droplist {
@ -220,7 +220,6 @@ header div.droplist {
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5); box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
position: absolute; position: absolute;
margin-top: 0px; margin-top: 0px;
margin-left: 138px;
border-radius: 0px 0px 4px 4px; border-radius: 0px 0px 4px 4px;
display: none; display: none;
text-align: right; text-align: right;
@ -231,7 +230,7 @@ header div.droplist-wrap div.a {
margin-top: 5px; margin-top: 5px;
} }
header div.droplist a { header div.droplist a{
position: relative; position: relative;
padding-left: 15px; padding-left: 15px;
font-size: 12px; font-size: 12px;
@ -241,7 +240,7 @@ header div.droplist a {
margin-top: 10px; margin-top: 10px;
} }
header div.droplist a:hover { header div.droplist a:hover{
text-decoration: underline; text-decoration: underline;
} }
@ -452,7 +451,7 @@ article a.button {
text-align: center; text-align: center;
} }
article a.button:hover { article a.button:hover{
background-color: #34719d; background-color: #34719d;
background-image: -webkit-gradient(linear, left top, left bottom, from(#7fb3e1), to(#34719d)); background-image: -webkit-gradient(linear, left top, left bottom, from(#7fb3e1), to(#34719d));
background-image: -webkit-linear-gradient(top, #7fb3e1, #34719d); background-image: -webkit-linear-gradient(top, #7fb3e1, #34719d);
@ -466,7 +465,7 @@ article a.button:hover {
article a.button:active { article a.button:active{
background-color: #125687; background-color: #125687;
background-image: -webkit-gradient(linear, left top, left bottom, from(#68a3d8), to(#125687)); background-image: -webkit-gradient(linear, left top, left bottom, from(#68a3d8), to(#125687));
background-image: -webkit-linear-gradient(top, #68a3d8, #125687); background-image: -webkit-linear-gradient(top, #68a3d8, #125687);
@ -510,7 +509,7 @@ article input[type="submit"] {
background-image: linear-gradient(top, #68a3d8, #125687); background-image: linear-gradient(top, #68a3d8, #125687);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#68a3d8', EndColorStr='#125687'); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#68a3d8', EndColorStr='#125687');
border: 1px solid #5084b4; border: 1px solid #5084b4;
padding: 4px 20px; padding: 0px 20px 0px;
margin: 0; margin: 0;
font-size: 12px; font-size: 12px;
text-decoration: none; text-decoration: none;
@ -520,11 +519,12 @@ article input[type="submit"] {
border-radius: 5px; border-radius: 5px;
text-align: center; text-align: center;
height: auto; height: auto;
height: 28px;
width: auto; width: auto;
font-family: Tahoma;
} }
article input[type="submit"]:hover { article input[type="submit"]:hover{
background-color: #34719d; background-color: #34719d;
background-image: -webkit-gradient(linear, left top, left bottom, from(#7fb3e1), to(#34719d)); background-image: -webkit-gradient(linear, left top, left bottom, from(#7fb3e1), to(#34719d));
background-image: -webkit-linear-gradient(top, #7fb3e1, #34719d); background-image: -webkit-linear-gradient(top, #7fb3e1, #34719d);
@ -539,7 +539,7 @@ article input[type="submit"]:hover {
article input[type="submit"]:active { article input[type="submit"]:active{
background-color: #125687; background-color: #125687;
background-image: -webkit-gradient(linear, left top, left bottom, from(#68a3d8), to(#125687)); background-image: -webkit-gradient(linear, left top, left bottom, from(#68a3d8), to(#125687));
background-image: -webkit-linear-gradient(top, #68a3d8, #125687); background-image: -webkit-linear-gradient(top, #68a3d8, #125687);
@ -567,7 +567,7 @@ article input[type="submit"]:disabled {
} }
article h3 { article h3{
font-size: 14px; font-size: 14px;
color: #575756; color: #575756;
margin-bottom: 0; margin-bottom: 0;
@ -579,14 +579,14 @@ article h3.fix {
padding-top: 0px; padding-top: 0px;
} }
article a { article a{
color: #7eb7ed; color: #7eb7ed;
font-size: 12px; font-size: 12px;
text-decoration: none; text-decoration: none;
padding: 0px 0px; padding: 0px 0px;
} }
article a:hover { article a:hover{
text-decoration: underline; text-decoration: underline;
} }
@ -728,7 +728,7 @@ article div.right div.messages:hover {
background: #dceffa; background: #dceffa;
} }
article div.right div.messages p { article div.right div.messages p{
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
@ -789,7 +789,7 @@ article div.activity div.fulltext.view {
text-align: left; text-align: left;
} }
.admin-preferences ul li { .admin-preferences ul li{
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
width: 215px; width: 215px;
@ -799,7 +799,7 @@ article div.activity div.fulltext.view {
background: #dcecfa; background: #dcecfa;
} }
.admin-preferences ul li a { .admin-preferences ul li a{
color: #575756; color: #575756;
text-decoration: none; text-decoration: none;
padding-top: 5px; padding-top: 5px;
@ -840,7 +840,7 @@ div.rightlist textarea {
} }
div.rightlist input[type="text"], div.rightlist input[type="password"] { div.rightlist input[type="text"], div.rightlist input[type="password"] {
height: 15px; height: 16px;
width: 350px; width: 350px;
border: 1px solid #dedede; border: 1px solid #dedede;
border-radius: 4px; border-radius: 4px;
@ -851,30 +851,30 @@ div.rightlist input[type="text"], div.rightlist input[type="password"] {
/* Admin-members page */ /* Admin-members page */
.right table div.img { div.img {
float: left; float: left;
} }
.right table div.radio { table div.radio {
float: left; float: left;
margin: 5px 0px 0px 0px; margin: 5px 0px 0px 0px;
} }
.right table div.forimg { div.forimg {
float: left; float: left;
margin: 5px 0px 0px 5px; margin: 5px 0px 0px 5px;
} }
.right table div.forradio { table div.forradio {
float: left; float: left;
margin: 5px 0px 0px 5px; margin: 5px 0px 0px 5px;
} }
.right table span.niceCheck-main { table span.niceCheck-main {
margin-top: 3px; margin-top: 3px;
} }
.right div.admin-search { div.admin-search {
float: left; float: left;
} }
@ -1420,19 +1420,18 @@ div.description-top div.role {
font-size: 11px; font-size: 11px;
} }
div.fork { div.fork {
float: right; float: right;
margin-top: 5px; margin-top: 5px;
margin-right: 10px;
} }
div.fork p { div.fork p {
float: right; float: right;
margin-top: 5px; margin-top: 5px;
margin-right: 2px; margin-right: 2px;
} }
div.fork.rmargin0 { div.description-top div.fork {
margin-right: 0px; margin-right: 10px;
} }
.all div.description { .all div.description {
@ -1561,7 +1560,7 @@ div.files div.l p{
/* Code */ /* Code */
div.gutter-new { div.gutter {
float: left; float: left;
border: 0 !important; border: 0 !important;
padding: 10px 5px 10px 0px; padding: 10px 5px 10px 0px;
@ -1754,7 +1753,7 @@ div.label.edit {
padding-left: 15px; padding-left: 15px;
} }
div.label.edit:hover { div.label.edit:hover{
background: none; background: none;
} }
@ -2163,3 +2162,41 @@ article div.all.error404 p.search {
margin-top: 80px; margin-top: 80px;
width: 230px; width: 230px;
} }
/*search*/
input.button.width100 {
width: 100px;
}
input[type="text"].exsearch {
height: 16px;
border: 1px solid #dedede;
border-radius: 4px;
padding: 5px;
font-family: Tahoma, Geneva, Helvetica, sans-serif;
font-size: 12px;
width: 520px;
margin-right: 10px;
}
div.lineForm.leftside.rmargin10 {
margin-right: 10px;
}
table.tablesorter.bmargin5 {
margin-bottom: 1px;
}
div.width400 {
width: 400px;
float: left;
}
div.width400.rmargin55 {
margin-right: 55px;
}
div.tmargin10 {
margin-top: 10px;
}

View File

@ -0,0 +1,223 @@
html, body {
margin: 0;
padding: 0;
font-family: Tahoma, Geneva, Helvetica, sans-serif;
color: #565667;
background: #1f60a1 image-url("bg.png") repeat-x;
min-width: 940px;
min-height: 300px;
text-align: center;
height: 100%; }
header, section, footer, aside, nav, article, menu {
display: block; }
input {
&[type="text"]:focus, &[type="password"]:focus, &:focus {
outline: none; } }
select:focus {
outline: none; }
a img {
border: none; }
.wrap {
width: 940px;
margin: 0 auto;
text-align: center;
min-height: 95%; }
.both {
clear: both; }
/* Header */
header div {
&.logo {
background: image-url("logo.png") no-repeat 50% 100%;
height: 89px;
width: 233px;
margin: 0 auto;
text-align: center;
padding-top: 12%; }
&.text {
color: #FFF;
font-size: 28px;
width: 800px;
text-align: left;
margin-left: 90px;
margin-top: 50px;
font-family: Arial;
text-shadow: 0px 1px 1px #000000;
filter: dropshadow(color = black, offx = 0, offy = 1);
padding-left: 0px; } }
.niceCheck {
width: 17px;
height: 17px;
display: inline-block;
cursor: pointer;
background: image-url("checkbox.png");
input {
display: none; } }
/* Content */
article {
width: 380px;
height: 254px;
background: #1c394c image-url("bg-signup.png") repeat-x;
border-radius: 5px;
border: 1px solid #38658c;
margin: 0 auto;
text-align: center;
margin-top: 75px;
-webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5); }
a.button, input.button {
background: #125687;
background: image-url("button-green-normal.png");
border-radius: 3px;
color: #FFF;
font-family: Tahoma;
font-size: 12px;
-webkit-font-smoothing: antialiased;
font-weight: normal;
padding: 5px 25px;
text-align: center;
border: none;
height: 25px;
width: 106px;
text-decoration: none; }
article div {
&.left {
float: left;
font-size: 12px;
color: #FFF;
margin-left: 15px;
margin-top: 16px; }
&.right {
float: right;
margin-right: 15px;
padding-bottom: 2px; } }
.first {
padding-top: 5px; }
input.button {
padding: 3px 27px 8px 27px;
height: 25px;
width: auto; }
a.button:hover, input.button:hover {
background: #1874b6;
background: image-url("button-green-hover.png");
cursor: pointer; }
a.button:active, input.button:active {
background: image-url("button-green-press.png"); }
a.button {
&:disabled, &.disabled {
background: #125687;
background: image-url("button-green-disabled.png");
cursor: default; } }
input.button {
&:disabled, &.disabled {
background: #125687;
background: image-url("button-green-disabled.png");
cursor: default; } }
article h1 {
color: #FFF;
font-size: 18px;
font-weight: normal;
font-family: Tahoma;
margin-bottom: 5px; }
.registartion-input, .registartion-input-focus, .registartion-input-error, .registartion-input-no-focus {
height: 24px;
width: 217px;
border: 1px solid #8199a9;
border-radius: 2px;
color: #cfcfcf;
font-family: Tahoma;
font-size: 12px;
padding-left: 10px;
margin-top: 10px; }
.registartion-input-focus, .registartion-input-focus-signup {
color: #575756;
-webkit-box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75);
-moz-box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75);
box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75); }
.registartion-input-no-focus, .registartion-input-no-focus-signup {
color: #575756; }
.registartion-input-error, .registartion-input-error-signup {
border: 1px solid #bd4d40;
outline: 1px solid #bd4d40;
outline-offset: -2px; }
div.in {
float: right;
margin-right: 15px;
margin-top: 12px; }
/* Footer */
footer {
height: 32px;
padding-left: 15px;
width: 900px;
margin: 0 auto;
text-align: center;
ul {
margin: 0;
padding: 0;
list-style: none;
font-size: 12px;
color: #FFF;
padding-top: 10px;
text-align: center;
li {
display: inline;
a {
font-size: 12px;
color: #FFF;
text-decoration: none;
&:hover {
text-decoration: underline; } } } } }
div.error {
background: image-url("error-message.png");
width: 237px;
height: 35px;
font-size: 12px;
position: absolute;
margin-top: -159px;
margin-left: 582px;
//display: none;
p {
margin: 0;
padding: 0;
padding-top: 7px;
text-align: center; }
&.login {
margin-top: -242px;
margin-left: 650px; }
&.name {
margin-top: -202px;
margin-left: 650px; }
&.email {
margin-top: -161px;
margin-left: 650px; }
&.password {
margin-top: -101px;
margin-left: 650px; } }

View File

@ -1,8 +0,0 @@
td.gutter {
background: #ededed;
color: #575756;
}
div.syntaxhighlighter {
margin: 0;
}

View File

@ -1,226 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}

View File

@ -1,328 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #e0e0e0 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: black !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #6ce26c !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #6ce26c !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: blue !important;
background: white !important;
border: 1px solid #6ce26c !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: blue !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #6ce26c !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: black !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #008200 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: blue !important;
}
.syntaxhighlighter .keyword {
color: #006699 !important;
}
.syntaxhighlighter .preprocessor {
color: gray !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #006699 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}

View File

@ -1,331 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #233729 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #f8f8f8 !important;
}
.syntaxhighlighter .gutter {
color: #497958 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #41a83e !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #41a83e !important;
color: #0a2b1d !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #96dd3b !important;
background: black !important;
border: 1px solid #41a83e !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #96dd3b !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: white !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #41a83e !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #ffe862 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #f8f8f8 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #336442 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #9df39f !important;
}
.syntaxhighlighter .keyword {
color: #96dd3b !important;
}
.syntaxhighlighter .preprocessor {
color: #91bb9e !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #96dd3b !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #eb939a !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #91bb9e !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #edef7d !important;
}
.syntaxhighlighter .comments {
font-style: italic !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}

View File

@ -1,348 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0;
/*padding-left: 5px;*/
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: auto;
margin: 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: auto;
}
.syntaxhighlighter table tr td{
padding: 10px 5px;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: auto;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: auto;
height: 100% !important;
border: none !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
}
.syntaxhighlighter .line.alt2 {
background-color: none;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #c3defe !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #565657 !important;
background: #ededed;
}
.syntaxhighlighter .gutter .line {
border-right: none !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #d4d0c8 !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3f5fbf !important;
background: white !important;
border: 1px solid #d4d0c8 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3f5fbf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #aa7700 !important;
}
.syntaxhighlighter .toolbar {
color: #a0a0a0 !important;
background: #d4d0c8 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #a0a0a0 !important;
}
.syntaxhighlighter .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #3f5fbf !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #2a00ff !important;
}
.syntaxhighlighter .keyword {
color: #7f0055 !important;
}
.syntaxhighlighter .preprocessor {
color: #646464 !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #7f0055 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
.syntaxhighlighter .xml .keyword {
color: #3f7f7f !important;
font-weight: normal !important;
}
.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
color: #7f007f !important;
}
.syntaxhighlighter .xml .string {
font-style: italic !important;
color: #2a00ff !important;
}

View File

@ -1,324 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: black !important;
}
.syntaxhighlighter .line.alt1 {
background-color: black !important;
}
.syntaxhighlighter .line.alt2 {
background-color: black !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #2a3133 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #990000 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #990000 !important;
color: black !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #ebdb8d !important;
background: black !important;
border: 1px solid #990000 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #ebdb8d !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #ff7d27 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #990000 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d3d3d3 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #ff7d27 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #ff9e7b !important;
}
.syntaxhighlighter .keyword {
color: aqua !important;
}
.syntaxhighlighter .preprocessor {
color: #aec4de !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #81cef9 !important;
}
.syntaxhighlighter .constants {
color: #ff9e7b !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: aqua !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ebdb8d !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff7d27 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #aec4de !important;
}

View File

@ -1,328 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #2c2c29 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: white !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #3185b9 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #3185b9 !important;
color: #121212 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3185b9 !important;
background: black !important;
border: 1px solid #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #d01d33 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #3185b9 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #96daff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: white !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #696854 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #e3e658 !important;
}
.syntaxhighlighter .keyword {
color: #d01d33 !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #898989 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #aaaaaa !important;
}
.syntaxhighlighter .constants {
color: #96daff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #d01d33 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ffc074 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #4a8cdb !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #96daff !important;
}
.syntaxhighlighter .functions {
font-weight: bold !important;
}

View File

@ -1,324 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: lime !important;
}
.syntaxhighlighter .gutter {
color: #38566f !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #222222 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: lime !important;
}
.syntaxhighlighter .toolbar {
color: #aaaaff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #aaaaff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: lime !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: lime !important;
}
.syntaxhighlighter .keyword {
color: #aaaaff !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: aqua !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ff8000 !important;
}
.syntaxhighlighter .constants {
color: yellow !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #aaaaff !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: red !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: yellow !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -1,324 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #38566f !important;
}
.syntaxhighlighter table caption {
color: #d1edff !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #0f192a !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #1dc116 !important;
}
.syntaxhighlighter .toolbar {
color: #d1edff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #d1edff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #8aa6c1 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d1edff !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #1dc116 !important;
}
.syntaxhighlighter .keyword {
color: #b43d3d !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #b43d3d !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #f8bb00 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -1,324 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #323e41 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #b9bdb6 !important;
}
.syntaxhighlighter table caption {
color: #b9bdb6 !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #1b2426 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #5ba1cf !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #5ba1cf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #5ce638 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #e0e8ff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #b9bdb6 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #878a85 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #5ce638 !important;
}
.syntaxhighlighter .keyword {
color: #5ba1cf !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #5ba1cf !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #e0e8ff !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -1,117 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #e0e0e0 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: black !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #6ce26c !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #6ce26c !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: blue !important;
background: white !important;
border: 1px solid #6ce26c !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: blue !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #6ce26c !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: black !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #008200 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: blue !important;
}
.syntaxhighlighter .keyword {
color: #006699 !important;
}
.syntaxhighlighter .preprocessor {
color: gray !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #006699 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}

View File

@ -1,120 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #233729 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #f8f8f8 !important;
}
.syntaxhighlighter .gutter {
color: #497958 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #41a83e !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #41a83e !important;
color: #0a2b1d !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #96dd3b !important;
background: black !important;
border: 1px solid #41a83e !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #96dd3b !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: white !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #41a83e !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #ffe862 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #f8f8f8 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #336442 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #9df39f !important;
}
.syntaxhighlighter .keyword {
color: #96dd3b !important;
}
.syntaxhighlighter .preprocessor {
color: #91bb9e !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #96dd3b !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #eb939a !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #91bb9e !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #edef7d !important;
}
.syntaxhighlighter .comments {
font-style: italic !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}

View File

@ -1,128 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
}
.syntaxhighlighter .line.alt2 {
background-color: none !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #c3defe !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #ededed !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #d4d0c8 !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: 3px solid #ededed !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3f5fbf !important;
background: white !important;
border: 1px solid #d4d0c8 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3f5fbf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #aa7700 !important;
}
.syntaxhighlighter .toolbar {
color: #a0a0a0 !important;
background: #d4d0c8 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #a0a0a0 !important;
}
.syntaxhighlighter .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #3f5fbf !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #2a00ff !important;
}
.syntaxhighlighter .keyword {
color: #7f0055 !important;
}
.syntaxhighlighter .preprocessor {
color: #646464 !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #7f0055 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
.syntaxhighlighter .xml .keyword {
color: #3f7f7f !important;
font-weight: normal !important;
}
.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
color: #7f007f !important;
}
.syntaxhighlighter .xml .string {
font-style: italic !important;
color: #2a00ff !important;
}

View File

@ -1,113 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: black !important;
}
.syntaxhighlighter .line.alt1 {
background-color: black !important;
}
.syntaxhighlighter .line.alt2 {
background-color: black !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #2a3133 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #990000 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #990000 !important;
color: black !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #ebdb8d !important;
background: black !important;
border: 1px solid #990000 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #ebdb8d !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #ff7d27 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #990000 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d3d3d3 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #ff7d27 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #ff9e7b !important;
}
.syntaxhighlighter .keyword {
color: aqua !important;
}
.syntaxhighlighter .preprocessor {
color: #aec4de !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #81cef9 !important;
}
.syntaxhighlighter .constants {
color: #ff9e7b !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: aqua !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ebdb8d !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff7d27 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #aec4de !important;
}

View File

@ -1,117 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #2c2c29 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: white !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #3185b9 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #3185b9 !important;
color: #121212 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3185b9 !important;
background: black !important;
border: 1px solid #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #d01d33 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #3185b9 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #96daff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: white !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #696854 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #e3e658 !important;
}
.syntaxhighlighter .keyword {
color: #d01d33 !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #898989 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #aaaaaa !important;
}
.syntaxhighlighter .constants {
color: #96daff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #d01d33 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ffc074 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #4a8cdb !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #96daff !important;
}
.syntaxhighlighter .functions {
font-weight: bold !important;
}

View File

@ -1,113 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: lime !important;
}
.syntaxhighlighter .gutter {
color: #38566f !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #222222 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: lime !important;
}
.syntaxhighlighter .toolbar {
color: #aaaaff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #aaaaff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: lime !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: lime !important;
}
.syntaxhighlighter .keyword {
color: #aaaaff !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: aqua !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ff8000 !important;
}
.syntaxhighlighter .constants {
color: yellow !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #aaaaff !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: red !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: yellow !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -1,113 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #38566f !important;
}
.syntaxhighlighter table caption {
color: #d1edff !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #0f192a !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #1dc116 !important;
}
.syntaxhighlighter .toolbar {
color: #d1edff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #d1edff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #8aa6c1 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d1edff !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #1dc116 !important;
}
.syntaxhighlighter .keyword {
color: #b43d3d !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #b43d3d !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #f8bb00 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -1,113 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
background-color: #323e41 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #b9bdb6 !important;
}
.syntaxhighlighter table caption {
color: #b9bdb6 !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #1b2426 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #5ba1cf !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #5ba1cf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #5ce638 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #e0e8ff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #b9bdb6 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #878a85 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #5ce638 !important;
}
.syntaxhighlighter .keyword {
color: #5ba1cf !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #5ba1cf !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #e0e8ff !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}

View File

@ -0,0 +1,276 @@
html, body {
margin: 0;
padding: 0;
font-family: Tahoma, Geneva, Helvetica, sans-serif;
color: #565667;
background: #1f60a1 image-url("bg.png") repeat-x;
min-width: 940px;
min-height: 300px;
text-align: center;
height: 100%; }
header, section, footer, aside, nav, article, menu {
display: block; }
input {
&[type="text"]:focus, &[type="password"]:focus, &:focus {
outline: none; } }
select:focus {
outline: none; }
a img {
border: none; }
.wrap {
width: 940px;
margin: 0 auto;
text-align: center;
min-height: 95%; }
.both {
clear: both; }
/* Header */
header div {
&.logo {
background: image-url("logo.png") no-repeat 50% 100%;
height: 89px;
width: 233px;
margin: 0 auto;
text-align: center;
padding-top: 12%; }
&.text {
color: #FFF;
font-size: 28px;
width: 800px;
text-align: left;
margin-left: 90px;
margin-top: 50px;
font-family: Arial;
text-shadow: 0px 1px 1px #000000;
filter: dropshadow(color = black, offx = 0, offy = 1);
padding-left: 0px; } }
.niceCheck {
width: 17px;
height: 17px;
display: inline-block;
cursor: pointer;
background: image-url("checkbox.png");
input {
display: none; } }
/* Content */
article {
width: 257px;
height: 227px;
background: #1c394c image-url("bg-signup.png") repeat-x;
border-radius: 5px;
border: 1px solid #38658c;
margin: 0 auto;
text-align: center;
margin-top: 75px;
-webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5); }
a.button {
background: #125687;
background: image-url("button-green-normal.png");
border-radius: 3px;
color: #FFF;
font-family: Tahoma;
font-size: 12px;
-webkit-font-smoothing: antialiased;
font-weight: normal;
padding: 5px 25px;
text-align: center;
border: none;
height: 25px;
width: 106px;
text-decoration: none; }
input.button {
background: #125687;
background: image-url("button-green-normal.png");
border-radius: 3px;
color: #FFF;
font-family: Tahoma;
font-size: 12px;
-webkit-font-smoothing: antialiased;
font-weight: normal;
padding: 5px 25px;
text-align: center;
border: none;
height: 25px;
width: 106px;
text-decoration: none;
padding: 3px 27px 8px 27px;
height: 25px;
width: auto; }
a.button:hover, input.button:hover {
background: #1874b6;
background: image-url("button-green-hover.png");
cursor: pointer; }
a.button:active, input.button:active {
background: image-url("button-green-press.png"); }
a.button {
&:disabled, &.disabled {
background: #125687;
background: image-url("button-green-disabled.png");
cursor: default; } }
input.button {
&:disabled, &.disabled {
background: #125687;
background: image-url("button-green-disabled.png");
cursor: default; } }
article h1 {
color: #FFF;
font-size: 18px;
font-weight: normal;
font-family: Tahoma;
margin-bottom: 5px; }
.registartion-input, .registartion-input-focus, .registartion-input-error, .registartion-input-no-focus {
height: 24px;
width: 217px;
border: 1px solid #8199a9;
border-radius: 2px;
color: #cfcfcf;
font-family: Tahoma;
font-size: 12px;
padding-left: 10px;
margin-top: 10px; }
.registartion-input-focus, .registartion-input-focus-signup {
color: #575756;
-webkit-box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75);
-moz-box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75);
box-shadow: 0px 0px 7px 2px rgba(126, 183, 237, 0.75); }
.registartion-input-no-focus, .registartion-input-no-focus-signup {
color: #575756; }
.registartion-input-error, .registartion-input-error-signup {
border: 1px solid #bd4d40;
outline: 1px solid #bd4d40;
outline-offset: -2px; }
div {
&.registration div {
&.remember {
color: #FFF;
font-size: 12px;
float: left;
padding-left: 15px;
padding-top: 5px;
div {
&.check {
float: left;
margin-top: 15px;
margin-right: 4px; }
&.text {
float: left;
margin-top: 15px; } } }
&.in {
float: right;
padding-right: 15px;
padding-top: 15px; } }
&.hr {
margin-top: 10px;
height: 1px;
width: 100%;
border-bottom: 1px solid #264862;
border-top: 1px solid #264862; } }
article div.other div {
&.left {
float: left;
font-size: 12px;
color: #FFFFFF;
margin-top: 6px;
margin-left: 15px; }
&.right {
float: right;
margin-right: 15px;
margin-top: 13px; } }
div {
&.forgot {
width: 257px;
text-align: center;
margin: 0 auto; }
&.password {
float: right;
padding-top: 4px;
p {
margin: 0;
padding: 0; }
a {
color: #FFF;
font-size: 12px;
text-decoration: none;
&:hover {
text-decoration: underline; } } } }
nav {
width: 96px;
height: 47px;
background: image-url("registration.png") no-repeat;
float: right;
cursor: pointer;
a {
font-size: 14px;
color: #FFF;
margin: 0;
padding: 0;
padding-top: 10px;
text-decoration: none;} }
div.error {
background: image-url("error-message.png");
width: 237px;
height: 35px;
font-size: 12px;
position: absolute;
margin-top: -159px;
margin-left: 582px;
display: none;
p {
margin: 0;
padding: 0;
padding-top: 7px;
text-align: center; } }
/* Footer */
footer {
height: 32px;
padding-left: 15px;
width: 900px;
margin: 0 auto;
text-align: center;
ul {
margin: 0;
padding: 0;
list-style: none;
font-size: 12px;
color: #FFF;
padding-top: 10px;
text-align: center;
li {
display: inline;
a {
font-size: 12px;
color: #FFF;
text-decoration: none;
&:hover {
text-decoration: underline; } } } } }

View File

@ -0,0 +1,23 @@
@import "devise/registration";
nav {
width: 96px;
height: 47px;
background: image-url("registration.png") no-repeat;
float: right;
cursor: pointer;
a {
font-size: 14px;
color: #FFF;
margin: 0;
padding: 0;
padding-top: 10px;
text-decoration: none;} }
div.error.forgot {
margin-top: 8px;
margin-left: 308px; }
div.error.reset {
margin-top: -141px;
margin-left: 645px; }

View File

@ -1,7 +1,7 @@
# -*- encoding : utf-8 -*- # -*- encoding : utf-8 -*-
class BuildListsController < ApplicationController class BuildListsController < ApplicationController
CALLBACK_ACTIONS = [:publish_build, :status_build, :pre_build, :post_build, :circle_build, :new_bbdt] CALLBACK_ACTIONS = [:publish_build, :status_build, :pre_build, :post_build, :circle_build, :new_bbdt]
NESTED_ACTIONS = [:index, :new, :create] NESTED_ACTIONS = [:search, :index, :new, :create]
before_filter :authenticate_user!, :except => CALLBACK_ACTIONS before_filter :authenticate_user!, :except => CALLBACK_ACTIONS
before_filter :authenticate_build_service!, :only => CALLBACK_ACTIONS before_filter :authenticate_build_service!, :only => CALLBACK_ACTIONS
@ -13,30 +13,23 @@ class BuildListsController < ApplicationController
load_and_authorize_resource :build_list, :through => :project, :only => NESTED_ACTIONS, :shallow => true load_and_authorize_resource :build_list, :through => :project, :only => NESTED_ACTIONS, :shallow => true
load_and_authorize_resource :except => CALLBACK_ACTIONS.concat(NESTED_ACTIONS) load_and_authorize_resource :except => CALLBACK_ACTIONS.concat(NESTED_ACTIONS)
def search
new_params = {:filter => {}}
params[:filter].each do |k,v|
new_params[:filter][k] = v unless v.empty?
end
redirect_to @project ? project_build_lists_path(@project, new_params) : build_lists_path(new_params)
end
def index def index
if request.post? @action_url = @project ? search_project_build_lists_path(@project) : search_build_lists_path
new_params = {:filter => {}} @filter = BuildList::Filter.new(@project, current_user, params[:filter] || {})
params[:filter].each do |k,v| @build_lists = @filter.find.recent.paginate :page => params[:page]
new_params[:filter][k] = v unless v.empty?
end
redirect_to build_lists_path(new_params) @build_server_status = begin
else BuildServer.get_status
filter_params = params[:filter] || {} rescue Exception # Timeout::Error
if @project {}
@action_url = project_build_lists_path(@project)
else
@action_url = build_lists_path
end
@filter = BuildList::Filter.new(@project, filter_params)
@build_lists = @filter.find.accessible_by(current_ability).recent.paginate :page => params[:page]
@build_server_status = begin
BuildServer.get_status
rescue Exception # Timeout::Error
{}
end
end end
end end

View File

@ -14,6 +14,7 @@ class Git::TreesController < Git::BaseController
# @commit = @git_repository.commits(@treeish, 1).first # @commit = @git_repository.commits(@treeish, 1).first
# Raises Grit::Git::GitTimeout # Raises Grit::Git::GitTimeout
@commit = @branch.present? ? @branch.commit() : @git_repository.log(@treeish, @path, :max_count => 1).first @commit = @branch.present? ? @branch.commit() : @git_repository.log(@treeish, @path, :max_count => 1).first
render :template => "git/repositories/empty" and return unless @commit
if @path if @path
@path.force_encoding(Encoding::ASCII_8BIT) @path.force_encoding(Encoding::ASCII_8BIT)

View File

@ -1,23 +1,38 @@
# -*- encoding : utf-8 -*- # -*- encoding : utf-8 -*-
class IssuesController < ApplicationController class IssuesController < ApplicationController
NON_RESTFUL_ACTION = [:create_label, :update_label, :destroy_label, :search_collaborators]
before_filter :authenticate_user! before_filter :authenticate_user!
before_filter :find_project
before_filter :find_issue_by_serial_id, :only => [:show, :edit, :update, :destroy]
load_and_authorize_resource :project load_and_authorize_resource :project, :except => NON_RESTFUL_ACTION
load_and_authorize_resource :issue, :through => :project, :find_by => :serial_id load_and_authorize_resource :issue, :through => :project, :find_by => :serial_id, :only => [:show, :edit, :update, :destroy]
before_filter :load_and_authorize_label, :only => NON_RESTFUL_ACTION
autocomplete :user, :uname layout 'application'
def index def index(status = 200)
logger.debug "!!!!!!!!!!!!!!!!!!"
logger.debug "request format is #{request.format}"
@is_assigned_to_me = params[:filter] == 'to_me'
@status = params[:status] == 'closed' ? 'closed' : 'open'
@labels = params[:labels] || []
@issues = @project.issues @issues = @project.issues
case params[:status] @issues = @issues.where(:user_id => current_user.id) if @is_assigned_to_me
when 'open' @issues = @issues.joins(:labels).where(:labels => {:name => @labels}) unless @labels == []
@issues = @issues.where(:status => 'open')
when 'closed' if params[:search_issue]
@issues = @issues.where(:status => 'closed') @issues = @issues.where('issues.title ILIKE ?', "%#{params[:search_issue].mb_chars.downcase}%")
end
@opened_issues = @issues.opened.count
@closed_issues = @issues.closed.count
@issues = @issues.where(:status => @status)
@issues = @issues.includes(:creator, :user).order('serial_id desc').uniq.paginate :per_page => 10, :page => params[:page]
if status == 200
render 'index', :layout => request.format == '*/*' ? 'issues' : 'application' # maybe FIXME '*/*'?
else
render :status => status, :nothing => true
end end
@issues = @issues.paginate :per_page => 10, :page => params[:page]
end end
def new def new
@ -29,6 +44,7 @@ class IssuesController < ApplicationController
@user_uname = params[:user_uname] @user_uname = params[:user_uname]
@issue = Issue.new(params[:issue]) @issue = Issue.new(params[:issue])
@issue.creator_id = current_user.id
@issue.user_id = @user_id @issue.user_id = @user_id
@issue.project_id = @project.id @issue.project_id = @project.id
@ -43,21 +59,18 @@ class IssuesController < ApplicationController
end end
end end
def edit
@user_id = @issue.user_id
@user_uname = @issue.assign_uname
end
def update def update
@user_id = params[:user_id].blank? ? @issue.user_id : params[:user_id] if status = params[:issue][:status]
@user_uname = params[:user_uname].blank? ? @issue.assign_uname : params[:user_uname] action = 'issues/_status'
@issue.set_close(current_user) if status == 'closed'
if @issue.update_attributes( params[:issue].merge({:user_id => @user_id}) ) @issue.set_open if status == 'open'
flash[:notice] = I18n.t("flash.issue.saved") status = 200 if @issue.save
redirect_to [@project, @issue] render action, :status => (status || 500), :layout => false
else else
flash[:error] = I18n.t("flash.issue.save_error") @issue.title = params[:issue][:title]
render :action => :new @issue.body = params[:issue][:body]
status = 200 if @issue.save
render :nothing => true, :status => (status || 500), :layout => false
end end
end end
@ -68,13 +81,39 @@ class IssuesController < ApplicationController
redirect_to root_path redirect_to root_path
end end
def create_label
status = @project.labels.create(:name => params[:name], :color => params[:color]) ? 200 : 500
index(status)
end
def update_label
status = @label.update_attributes( :name => params[:name], :color => params[:color]) ? 200 : 500
index(status)
end
def destroy_label
status = (@label && @label_destroy) ? 200 : 500
index(status)
end
def search_collaborators
search = "%#{params[:search_user]}%"
users = User.joins(:groups => :projects).where(:projects => {:id => @project.id}).where("users.uname ILIKE ?", search)
users2 = @project.collaborators.where("users.uname ILIKE ?", search)
@users = (users + users2).uniq.sort {|x,y| x.uname <=> y.uname}.first(10)
render 'issues/_search_collaborators', :layout => false
end
def search_labels
@labels = @project.labels.where("labels.name ILIKE ?", "%#{params[:search_labels]}%").order('labels.name').limit(10)
render 'issues/_search_labels', :layout => false
end
private private
def find_project def load_and_authorize_label
@project = Project.find(params[:project_id]) @project = Project.find(params[:project_id])
end @label = Label.find(params[:label_id]) if params[:label_id]
authorize! :write, @project
def find_issue_by_serial_id
@issue = @project.issues.find_by_serial_id!(params[:id])
end end
end end

View File

@ -45,9 +45,7 @@ class ProjectsController < ApplicationController
@project = Project.new params[:project] @project = Project.new params[:project]
#@project.owner = get_owner #@project.owner = get_owner
@project.owner = choose_owner @project.owner = choose_owner
puts "OWNER_TYPE: " + @project.owner_type
@who_owns = (@project.owner_type == 'User' ? :me : :group) @who_owns = (@project.owner_type == 'User' ? :me : :group)
puts "WHO_OWNS: " + @who_owns.to_s
if @project.save if @project.save
flash[:notice] = t('flash.project.saved') flash[:notice] = t('flash.project.saved')
@ -118,11 +116,11 @@ class ProjectsController < ApplicationController
if params[:user_id] if params[:user_id]
@user = User.find params[:user_id] @user = User.find params[:user_id]
@projects_path = user_path(@user) # user_projects_path @user @projects_path = user_path(@user) # user_projects_path @user
@new_project_path = new_user_project_path @user @new_project_path = new_project_path
elsif params[:group_id] elsif params[:group_id]
@group = Group.find params[:group_id] @group = Group.find params[:group_id]
@projects_path = group_path(@group) # group_projects_path @group @projects_path = group_path(@group) # group_projects_path @group
@new_projects_path = new_group_project_path @group @new_projects_path = new_project_path
else else
@projects_path = projects_path @projects_path = projects_path
@new_projects_path = new_project_path @new_projects_path = new_project_path

View File

@ -9,4 +9,17 @@ module ApplicationHelper
return title return title
end end
def layout_class
case
when params[:controller] == 'issues' && params[:action] == 'new'
'right nopadding'
when params[:controller] == 'build_lists' && params[:action] == 'index'
'right slim'
when params[:controller] == 'build_lists' && ['new', 'create'].include?(params[:action])
nil
else
content_for?(:sidebar) ? 'right' : 'all'
end
end
end end

View File

@ -5,7 +5,7 @@ module CommitHelper
res = ["<table class='commit_stats'>"] res = ["<table class='commit_stats'>"]
stats.files.each do |filename, adds, deletes, total| stats.files.each do |filename, adds, deletes, total|
res << "<tr>" res << "<tr>"
res << "<td><a href='##{h(filename)}'>#{h(filename)}</a></td>" res << "<td><a href='##{h(filename)}'>#{h(filename)}</a></td>".encode_to_default
res << "<td class='diffstat'>" res << "<td class='diffstat'>"
res << I18n.t("layout.projects.inline_changes_count", :count => total).strip + res << I18n.t("layout.projects.inline_changes_count", :count => total).strip +
" (" + " (" +

View File

@ -39,9 +39,9 @@ module GitHelper
def render_line_numbers(n) def render_line_numbers(n)
res = "" res = ""
1.upto(n) {|i| res += "<span>#{i}</span>\n" } 1.upto(n) {|i| res += "<span>#{i}</span><br/>" }
res res.html_safe
end end
def render_blob(blob) def render_blob(blob)

View File

@ -1,3 +1,9 @@
# -*- encoding : utf-8 -*- # -*- encoding : utf-8 -*-
module IssuesHelper module IssuesHelper
def tracker_search_field(name, txt)
str = "<input name='#{name}' id='#{name}' type='text' value='#{txt}'"
str << "onblur=\"if(this.value==''){this.value='#{txt}';this.className='gray';}\""
str << "onclick=\"if(this.value=='#{txt}'){this.value='';this.className='black';}\" class=\"gray\">"
str.html_safe
end
end end

View File

@ -17,8 +17,8 @@ module WikiHelper
end end
end end
def gravatar_url(email) def gravatar_url(email, size = 16)
"http://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(email.downcase)}?s=16&r=pg" "https://secure.gravatar.com/avatar/#{Digest::MD5.hexdigest(email.downcase)}?s=#{size}&r=pg"
end end
def escaped_name def escaped_name

View File

@ -12,25 +12,27 @@ class Ability
user ||= User.new # guest user (not logged in) user ||= User.new # guest user (not logged in)
@user = user @user = user
if user.admin? # Shared rights between guests and registered users
can :manage, :all can :forbidden, Platform
cannot :destroy, Subscribe # TODO remove because auth callbacks skipped
cannot :create, Subscribe can :auto_build, Project
cannot :create, RegisterRequest can [:publish_build, :status_build, :pre_build, :post_build, :circle_build, :new_bbdt], BuildList
cannot :approve, RegisterRequest, :approved => true
cannot :reject, RegisterRequest, :rejected => true
else
# Shared rights between guests and registered users
can :forbidden, Platform
# TODO remove because auth callbacks skipped if user.guest? # Guest rights
can :auto_build, Project can :create, User
can [:publish_build, :status_build, :pre_build, :post_build, :circle_build, :new_bbdt], BuildList can [:create, :show_message], RegisterRequest
else # Registered user rights
if user.admin?
can :manage, :all
cannot :destroy, Subscribe
cannot :create, Subscribe
cannot :create, RegisterRequest
cannot :approve, RegisterRequest, :approved => true
cannot :reject, RegisterRequest, :rejected => true
cannot [:owned, :related], BuildList
end
if user.guest? # Guest rights if user.user?
can :create, User
can [:create, :show_message], RegisterRequest
else # Registered user rights
can [:show, :autocomplete_user_uname], User can [:show, :autocomplete_user_uname], User
can [:show, :update], Settings::Notifier, :user_id => user.id can [:show, :update], Settings::Notifier, :user_id => user.id
@ -55,12 +57,14 @@ class Ability
#can :create, AutoBuildList #can :create, AutoBuildList
#can [:index, :destroy], AutoBuildList, :project_id => user.own_project_ids #can [:index, :destroy], AutoBuildList, :project_id => user.own_project_ids
can [:read, :owned], BuildList, :user_id => user.id
can :read, BuildList, :project => {:visibility => 'open'} can :read, BuildList, :project => {:visibility => 'open'}
can :read, BuildList, :project => {:owner_type => 'User', :owner_id => user.id} can [:read, :related], BuildList, :project => {:owner_type => 'User', :owner_id => user.id}
can :read, BuildList, :project => {:owner_type => 'Group', :owner_id => user.group_ids} can [:read, :related], BuildList, :project => {:owner_type => 'Group', :owner_id => user.group_ids}
can(:read, BuildList, read_relations_for('build_lists', 'projects')) {|build_list| can? :read, build_list.project} can(:read, BuildList, read_relations_for('build_lists', 'projects')) {|build_list| can? :read, build_list.project}
can(:create, BuildList) {|build_list| can? :write, build_list.project} can(:create, BuildList) {|build_list| build_list.project.is_rpm && can?(:write, build_list.project)}
can(:publish, BuildList) {|build_list| build_list.can_publish? && can?(:write, build_list.project)} can(:publish, BuildList) {|build_list| build_list.can_publish? && can?(:write, build_list.project)}
can(:cancel, BuildList) {|build_list| build_list.can_cancel? && can?(:write, build_list.project)}
can :read, Platform, :visibility => 'open' can :read, Platform, :visibility => 'open'
can :read, Platform, :owner_type => 'User', :owner_id => user.id can :read, Platform, :owner_type => 'User', :owner_id => user.id
@ -103,19 +107,19 @@ class Ability
cannot(:manage, Comment) {|comment| comment.commentable_type == 'Issue' && !comment.commentable.project.has_issues} # switch off issues cannot(:manage, Comment) {|comment| comment.commentable_type == 'Issue' && !comment.commentable.project.has_issues} # switch off issues
cannot :manage, RegisterRequest cannot :manage, RegisterRequest
end end
end
# Shared cannot rights for all users (guests, registered, admin) # Shared cannot rights for all users (registered, admin)
cannot :destroy, Platform, :platform_type => 'personal' cannot :destroy, Platform, :platform_type => 'personal'
cannot :destroy, Repository, :platform => {:platform_type => 'personal'} cannot :destroy, Repository, :platform => {:platform_type => 'personal'}
cannot :fork, Project, :owner_id => user.id, :owner_type => user.class.to_s cannot :fork, Project, :owner_id => user.id, :owner_type => user.class.to_s
cannot :destroy, Issue cannot :destroy, Issue
can :create, Subscribe do |subscribe| can :create, Subscribe do |subscribe|
!subscribe.subscribeable.subscribes.exists?(:user_id => user.id) !subscribe.subscribeable.subscribes.exists?(:user_id => user.id)
end end
can :destroy, Subscribe do |subscribe| can :destroy, Subscribe do |subscribe|
subscribe.subscribeable.subscribes.exists?(:user_id => user.id) && user.id == subscribe.user_id subscribe.subscribeable.subscribes.exists?(:user_id => user.id) && user.id == subscribe.user_id
end
end end
end end

View File

@ -35,8 +35,9 @@ class BuildList < ActiveRecord::Base
BuildServer::PLATFORM_PENDING, BuildServer::PLATFORM_PENDING,
BuildServer::PROJECT_NOT_FOUND, BuildServer::PROJECT_NOT_FOUND,
BuildServer::PROJECT_VERSION_NOT_FOUND, BuildServer::PROJECT_VERSION_NOT_FOUND,
BuildServer::BINARY_TEST_FAILED, # BuildServer::BINARY_TEST_FAILED,
BuildServer::DEPENDENCY_TEST_FAILED ] # BuildServer::DEPENDENCY_TEST_FAILED
]
HUMAN_STATUSES = { WAITING_FOR_RESPONSE => :waiting_for_response, HUMAN_STATUSES = { WAITING_FOR_RESPONSE => :waiting_for_response,
BUILD_CANCELED => :build_canceled, BUILD_CANCELED => :build_canceled,
@ -51,8 +52,8 @@ class BuildList < ActiveRecord::Base
BuildServer::PLATFORM_PENDING => :platform_pending, BuildServer::PLATFORM_PENDING => :platform_pending,
BuildServer::PROJECT_NOT_FOUND => :project_not_found, BuildServer::PROJECT_NOT_FOUND => :project_not_found,
BuildServer::PROJECT_VERSION_NOT_FOUND => :project_version_not_found, BuildServer::PROJECT_VERSION_NOT_FOUND => :project_version_not_found,
BuildServer::DEPENDENCY_TEST_FAILED => :dependency_test_failed, # BuildServer::DEPENDENCY_TEST_FAILED => :dependency_test_failed,
BuildServer::BINARY_TEST_FAILED => :binary_test_failed # BuildServer::BINARY_TEST_FAILED => :binary_test_failed
} }
scope :recent, order("#{table_name}.updated_at DESC") scope :recent, order("#{table_name}.updated_at DESC")

View File

@ -1,7 +1,8 @@
# -*- encoding : utf-8 -*- # -*- encoding : utf-8 -*-
class BuildList::Filter class BuildList::Filter
def initialize(project, options = {}) def initialize(project, user, options = {})
@project = project @project = project
@user = user
set_options(options) set_options(options)
end end
@ -11,6 +12,7 @@ class BuildList::Filter
if @options[:bs_id] if @options[:bs_id]
build_lists = build_lists.where(:bs_id => @options[:bs_id]) build_lists = build_lists.where(:bs_id => @options[:bs_id])
else else
build_lists = build_lists.accessible_by(::Ability.new(@user), @options[:ownership].to_sym) if @options[:ownership]
build_lists = build_lists.for_status(@options[:status]) if @options[:status] build_lists = build_lists.for_status(@options[:status]) if @options[:status]
build_lists = build_lists.scoped_to_arch(@options[:arch_id]) if @options[:arch_id] build_lists = build_lists.scoped_to_arch(@options[:arch_id]) if @options[:arch_id]
build_lists = build_lists.scoped_to_project_version(@options[:project_version]) if @options[:project_version] build_lists = build_lists.scoped_to_project_version(@options[:project_version]) if @options[:project_version]
@ -25,7 +27,7 @@ class BuildList::Filter
end end
end end
build_lists.recent build_lists
end end
def respond_to?(name) def respond_to?(name)
@ -41,6 +43,7 @@ class BuildList::Filter
def set_options(options) def set_options(options)
@options = HashWithIndifferentAccess.new(options.reverse_merge({ @options = HashWithIndifferentAccess.new(options.reverse_merge({
:ownership => nil,
:status => nil, :status => nil,
:created_at_start => nil, :created_at_start => nil,
:created_at_end => nil, :created_at_end => nil,
@ -53,6 +56,7 @@ class BuildList::Filter
:project_name => nil :project_name => nil
})) }))
@options[:ownership] = @options[:ownership].presence || 'owned'
@options[:status] = @options[:status].present? ? @options[:status].to_i : nil @options[:status] = @options[:status].present? ? @options[:status].to_i : nil
@options[:created_at_start] = build_date_from_params(:created_at_start, @options) @options[:created_at_start] = build_date_from_params(:created_at_start, @options)
@options[:created_at_end] = build_date_from_params(:created_at_end, @options) @options[:created_at_end] = build_date_from_params(:created_at_end, @options)

View File

@ -6,6 +6,8 @@ class Comment < ActiveRecord::Base
validates :body, :user_id, :commentable_id, :commentable_type, :presence => true validates :body, :user_id, :commentable_id, :commentable_type, :presence => true
default_scope order('created_at')
after_create :invoke_helper, :if => "commentable_type == 'Grit::Commit'" after_create :invoke_helper, :if => "commentable_type == 'Grit::Commit'"
after_create :subscribe_users after_create :subscribe_users
after_create {|c| Subscribe.new_comment_notification(c)} after_create {|c| Subscribe.new_comment_notification(c)}

View File

@ -4,9 +4,13 @@ class Issue < ActiveRecord::Base
belongs_to :project belongs_to :project
belongs_to :user belongs_to :user
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
belongs_to :closer, :class_name => 'User', :foreign_key => 'closed_by'
has_many :comments, :as => :commentable, :dependent => :destroy #, :finder_sql => proc { "comments.commentable_id = '#{self.id}' AND comments.commentable_type = '#{self.class.name}'"} has_many :comments, :as => :commentable, :dependent => :destroy #, :finder_sql => proc { "comments.commentable_id = '#{self.id}' AND comments.commentable_type = '#{self.class.name}'"}
has_many :subscribes, :as => :subscribeable, :dependent => :destroy #, :finder_sql => proc { "subscribes.subscribeable_id = '#{self.id}' AND subscribes.subscribeable_type = '#{self.class.name}'"} has_many :subscribes, :as => :subscribeable, :dependent => :destroy #, :finder_sql => proc { "subscribes.subscribeable_id = '#{self.id}' AND subscribes.subscribeable_type = '#{self.class.name}'"}
has_many :labels, :through => :labelings
has_many :labelings
validates :title, :body, :project_id, :presence => true validates :title, :body, :project_id, :presence => true
@ -19,6 +23,12 @@ class Issue < ActiveRecord::Base
after_update :deliver_issue_assign_notification after_update :deliver_issue_assign_notification
after_update :subscribe_issue_assigned_user after_update :subscribe_issue_assigned_user
attr_accessible :labelings_attributes, :title, :body, :project, :project_id, :closed_at, :closed_by
accepts_nested_attributes_for :labelings, :allow_destroy => true
scope :opened, where(:status => 'open', :closed_by => nil, :closed_at => nil)
scope :closed, where(:status => 'closed').where("closed_by is not null and closed_at is not null")
def assign_uname def assign_uname
user.uname if user user.uname if user
end end
@ -33,6 +43,21 @@ class Issue < ActiveRecord::Base
end end
end end
def closed?
closed_by && closed_at && status == 'closed'
end
def set_close(closed_by)
self.closed_at = Time.now
self.closer = closed_by
self.status = 'closed'
end
def set_open
self.closed_at = self.closed_by = nil
self.status = 'open'
end
protected protected
def set_serial_id def set_serial_id
@ -81,4 +106,5 @@ class Issue < ActiveRecord::Base
end end
end end
end end
end end

9
app/models/label.rb Normal file
View File

@ -0,0 +1,9 @@
class Label < ActiveRecord::Base
has_many :labelings, :dependent => :destroy
has_many :issues, :through => :labelings
belongs_to :project
validates :name, :uniqueness => { :scope => :project_id}
validates :name, :color, :presence => true
validates :color, :format => { :with => /\A([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/, :message => I18n.t('layout.issues.invalid_labels')}
end

5
app/models/labeling.rb Normal file
View File

@ -0,0 +1,5 @@
class Labeling < ActiveRecord::Base
belongs_to :issue
belongs_to :label
end

View File

@ -17,6 +17,7 @@ class Project < ActiveRecord::Base
has_many :relations, :as => :target, :dependent => :destroy has_many :relations, :as => :target, :dependent => :destroy
has_many :collaborators, :through => :relations, :source => :object, :source_type => 'User' has_many :collaborators, :through => :relations, :source => :object, :source_type => 'User'
has_many :groups, :through => :relations, :source => :object, :source_type => 'Group' has_many :groups, :through => :relations, :source => :object, :source_type => 'Group'
has_many :labels
validates :name, :uniqueness => {:scope => [:owner_id, :owner_type], :case_sensitive => false}, :presence => true, :format => {:with => /^[a-zA-Z0-9_\-\+\.]+$/} validates :name, :uniqueness => {:scope => [:owner_id, :owner_type], :case_sensitive => false}, :presence => true, :format => {:with => /^[a-zA-Z0-9_\-\+\.]+$/}
validates :owner, :presence => true validates :owner, :presence => true
@ -192,7 +193,7 @@ class Project < ActiveRecord::Base
class << self class << self
def commit_comments(commit, project) def commit_comments(commit, project)
comments = Comment.where(:commentable_id => commit.id.hex, :commentable_type => 'Grit::Commit').order(:created_at) comments = Comment.where(:commentable_id => commit.id.hex, :commentable_type => 'Grit::Commit')
comments.each {|x| x.project = project; x.helper} comments.each {|x| x.project = project; x.helper}
end end
end end

View File

@ -44,8 +44,12 @@ class User < ActiveRecord::Base
role == 'admin' role == 'admin'
end end
def user?
persisted?
end
def guest? def guest?
self.id.blank? # persisted? new_record?
end end
def fullname def fullname
@ -93,6 +97,10 @@ class User < ActiveRecord::Base
email.downcase == commit.committer.email.downcase email.downcase == commit.committer.email.downcase
end end
def avatar(size)
"https://secure.gravatar.com/avatar/#{Digest::MD5.hexdigest(email.downcase)}?s=#{size}&r=pg"
end
private private
def create_settings_notifier def create_settings_notifier

View File

@ -0,0 +1,68 @@
# -*- encoding : utf-8 -*-
class CommentPresenter < ApplicationPresenter
attr_accessor :comment, :options
attr_reader :header, :image, :date, :caption, :content, :buttons
def initialize(comment, opts = {})
@comment = comment
@user = comment.user
@options = opts
@content = simple_format(@comment.body, {}, :sanitize => true).html_safe
end
def expandable?
false
end
def buttons?
true
end
def content?
true
end
def caption?
false
end
def buttons
project = options[:project]
commentable = options[:commentable]
puts "PROJECT = " + project.inspect
puts "COMMENTABLE = " + commentable.inspect
puts "COMMENT = " + comment.inspect
(ep, dp) = if commentable.class == Issue
[edit_project_issue_comment_path(project, commentable, comment),
project_issue_comment_path(project, commentable, comment)]
elsif commentable.class == Grit::Commit
[edit_project_commit_comment_path(project, commentable, comment),
project_commit_comment_path(project, commentable, comment)]
end
res = []
if controller.can? :update, @comment
res << link_to(t("layout.edit"), ep).html_safe
end
if controller.can? :delete, @comment
res << link_to(t("layout.delete"), dp, :method => "delete",
:confirm => t("layout.comments.confirm_delete")).html_safe
end
res
end
def header
res = link_to @user.uname, user_path(@user.uname)
res += ' ' + t("layout.comments.has_commented")
end
def image
@image ||= "https://secure.gravatar.com/avatar/#{Digest::MD5.hexdigest(@user.email.downcase)}?s=40&r=pg"
end
def date
@date ||= I18n.l(@comment.updated_at, :format => :long)
end
end

View File

@ -16,7 +16,7 @@ class GitPresenters::CommitAsMessagePresenter < ApplicationPresenter
I18n.t("layout.messages.commits.header_with_branch", I18n.t("layout.messages.commits.header_with_branch",
:committer => committer_link, :commit => commit_link, :branch => options[:branch].name) :committer => committer_link, :commit => commit_link, :branch => options[:branch].name)
elsif options[:project].present? elsif options[:project].present?
I18n.t("layout.messages.commits.header_with_project", I18n.t("layout.messages.commits.header",
:committer => committer_link, :commit => commit_link, :project => options[:project].name) :committer => committer_link, :commit => commit_link, :project => options[:project].name)
end.html_safe end.html_safe
end end
@ -33,10 +33,18 @@ class GitPresenters::CommitAsMessagePresenter < ApplicationPresenter
true true
end end
def buttons?
false
end
def content? def content?
!content.blank? !content.blank?
end end
def caption?
true
end
protected protected
def committer def committer
@ -63,6 +71,7 @@ class GitPresenters::CommitAsMessagePresenter < ApplicationPresenter
@content = (@content.present?) ? tmp + @content : tmp @content = (@content.present?) ? tmp + @content : tmp
@caption = @caption[0..68] + '...' @caption = @caption[0..68] + '...'
end end
@content = @content.gsub("\n", "<br />").html_safe if @content # @content = @content.gsub("\n", "<br />").html_safe if @content
@content = simple_format(@content, {}, :sanitize => true).html_safe if @content
end end
end end

View File

@ -0,0 +1,9 @@
%tr{:id => "row#{build_list_counter}"}
%td= link_to (build_list.bs_id.present? ? build_list.bs_id : t("layout.build_lists.bs_id_not_set")), build_list
%td= build_list.human_status
%td= link_to build_list.project.name, build_list.project
%td= link_to build_list.project_version, "#"
%td= build_list.arch.name
%td= link_to build_list.user.try(:fullname), build_list.user
%td= link_to image_tag('x.png', :class => 'delete-row', :id => "delete-row#{build_list_counter}"), cancel_build_list_path(build_list), :method => :put, :confirm => t('layout.confirm') if build_list.can_cancel? and can?(:cancel, build_list)
%td= build_list.notified_at

View File

@ -1,25 +0,0 @@
%table.table
%tr
%th.first= t("activerecord.attributes.build_list.bs_id")
%th= t("activerecord.attributes.build_list.status")
%th= t("activerecord.attributes.build_list.project_version")
%th= t("activerecord.attributes.build_list.project")
%th= t("activerecord.attributes.build_list.arch")
%th= t("activerecord.attributes.build_list.user")
- unless @project
%th= t("layout.build_lists.cancel_button_header")
%th.last= t("activerecord.attributes.build_list.notified_at")
- build_lists.each do |build_list|
%tr{:class => cycle("odd", "even")}
%td= link_to (build_list.bs_id.present? ? build_list.bs_id : t("layout.build_lists.bs_id_not_set")), build_list
%td= build_list.human_status
%td= link_to build_list.project_version, "#"
%td= link_to build_list.project.name, project_path(build_list.project)
%td= build_list.arch.name
%td= build_list.user.try(:fullname)
- unless @project
%td= link_to t("layout.build_lists.cancel_button"), cancel_build_list_path(build_list), :method => "put", :confirm => t("layout.confirm") if build_list.can_cancel?
%td.last= build_list.notified_at
= will_paginate build_lists

View File

@ -1,50 +1,55 @@
%h2.title= t("layout.build_lists.filter_header") - content_for :sidebar do
.bordered.nopadding
%h3= t('layout.build_lists.build_server_status.header')
.table
.lefter= t('layout.build_lists.build_server_status.client_count')
.righter= @build_server_status['client_count']
.both
.table
.lefter= t('layout.build_lists.build_server_status.count_new_task')
.righter= @build_server_status['count_new_task']
.both
.table
.lefter= t('layout.build_lists.build_server_status.count_build_task')
.righter= @build_server_status['count_build_task']
.both
= form_for :filter, :url => @action_url, :html => { :method => :post, :class => :form } do |f| = form_for :filter, :url => @action_url, :html => { :method => :post, :class => :form } do |f|
.columns.wat-cf .bordered.nopadding
.column.left %h3= t("layout.build_lists.ownership.header")
.group .table
= f.label :status, t("activerecord.attributes.build_list.status"), :class => :label .lefter= f.radio_button :ownership, 'owned', :class => 'niceRadio', :id => 'myradio1'
= f.select :status, BuildList::STATUSES.collect{|status| [BuildList.human_status(status), status]}, :include_blank => true, :selected => @filter.status .lefter= t("layout.build_lists.ownership.owned")
.group .both
= f.label :arch_id, t("activerecord.attributes.build_list.arch"), :class => :label .table
= f.select :arch_id, Arch.recent.collect{|arch| [arch.name, arch.id]}, :include_blank => true, :selected => @filter.arch_id .lefter= f.radio_button :ownership, 'related', :class => 'niceRadio', :id => 'myradio2'
.column.right .lefter= t("layout.build_lists.ownership.related")
- if @project .both
.group .table
= f.label :project_version, t("activerecord.attributes.build_list.project_version"), :class => :label .lefter= f.radio_button :ownership, 'index', :class => 'niceRadio', :id => 'myradio3'
= f.select :project_version, @project.versions, :include_blank => true, :selected => @filter.project_version .lefter= t("layout.build_lists.ownership.index")
.group .both
= f.label :is_circle, t("activerecord.attributes.build_list.is_circle"), :class => :label %br
= f.select :is_circle, [[t("layout.yes_"), 1], [t("layout.no_"), 0]], :include_blank => true, :selected => @filter.is_circle.present? ? (@filter.is_circle ? "1" : "0") : nil = f.submit t("layout.search")
.block
.columns.wat-cf %h3.small= t("activerecord.attributes.build_list.status")
.column.left .lineForm.aside= f.select :status, BuildList::STATUSES.collect{|status| [BuildList.human_status(status), status]}, {:include_blank => true, :selected => @filter.status}, {:class => 'sel80 aside', :id => 'status', :tabindex => 2}
.group %h3.small= t("activerecord.attributes.build_list.is_circle")
= f.label :created_at_start, t("layout.build_lists.created_at_start"), :class => :label .lineForm.aside= f.select :is_circle, [[t("layout.yes_"), 1], [t("layout.no_"), 0]], {:include_blank => true, :selected => @filter.is_circle.present? ? (@filter.is_circle ? "1" : "0") : nil}, {:class => 'sel80 aside', :id => 'recurrent', :tabindex => 2}
= f.date_select(:created_at_start, :include_blank => true, :selected => @filter.created_at_start) %h3.small= t("activerecord.attributes.build_list.arch")
.group .lineForm.aside= f.select :arch_id, Arch.recent.collect{|arch| [arch.name, arch.id]}, {:include_blank => true, :selected => @filter.arch_id}, {:class => 'sel80 aside', :id => 'architecture', :tabindex => 2}
= f.label :notified_at_start, t("layout.build_lists.notified_at_start"), :class => :label %h3.small= t("layout.build_lists.created_at_start")
= f.date_select(:notified_at_start, :include_blank => true, :selected => @filter.notified_at_start) .date_select= f.date_select(:created_at_start, :include_blank => true, :selected => @filter.created_at_start)
.column.right %h3.small= t("layout.build_lists.created_at_end")
.group .date_select= f.date_select(:created_at_end, :include_blank => true, :selected => @filter.created_at_end)
= f.label :created_at_end, t("layout.build_lists.created_at_end"), :class => :label %h3.small= t("layout.build_lists.notified_at_start")
= f.date_select(:created_at_end, :include_blank => true, :selected => @filter.created_at_end) .date_select= f.date_select(:notified_at_start, :include_blank => true, :selected => @filter.notified_at_start)
.group %h3.small= t("layout.build_lists.notified_at_end")
= f.label :notified_at_end, t("layout.build_lists.notified_at_end"), :class => :label .date_select= f.date_select(:notified_at_end, :include_blank => true, :selected => @filter.notified_at_end)
= f.date_select(:notified_at_end, :include_blank => true, :selected => @filter.notified_at_end) %h3.small= t("layout.build_lists.project_name_search")
= f.text_field :project_name
.columns.wat-cf %h3.small= t("layout.build_lists.bs_id_search")
.column.left = f.text_field :bs_id
.group %br
= f.label :project_name, t("layout.build_lists.project_name_search"), :class => :label %br
= f.text_field :project_name, :class => :text_field = f.submit t("layout.search")
.column.right
.group
= f.label :bs_id, t("layout.build_lists.bs_id_search"), :class => :label
= f.text_field :bs_id, :class => :text_field
.group.navform.wat-cf
%button.button{ :type => "submit" }
= image_tag("choose.png", :alt => "Save")
= t("layout.search")

View File

@ -1,3 +1,4 @@
- platform.repositories.each do |repo| - platform.repositories.each do |repo|
= check_box_tag "build_list[include_repos][]", repo.id, repo.name == 'main' || @project.repositories.map(&:id).include?(repo.id), :id => "include_repos_#{repo.id}" # (params[:build_list]||[]).fetch(:include_repos, []).include?(repo.id.to_s) .both
= label_tag "include_repos_#{repo.id}", 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}" # (params[:build_list]||[]).fetch(:include_repos, []).include?(repo.id.to_s)
= label_tag "include_repos_#{repo.id}", repo.name

View File

@ -1,10 +0,0 @@
.block.notice
%h3= t("layout.repositories.current_repository_header")
.content
- project.repositories.each do |repository|
%p= link_to "#{repository.name} (#{repository.platform.name})", platform_repository_path(repository.platform, repository)
.block.notice
%h3= t("layout.projects.current_project_header")
.content
%p= link_to project.name, project

View File

@ -0,0 +1,7 @@
- content_for :submenu do
- if content_for?(:sidebar)
.left
%nav
%ul
%li= link_to t('layout.projects.list_header'), build_lists_path, :class => (params[:controller] == 'build_lists' ? 'active' : nil)
%li= link_to t('layout.products.list_header'), '#'

View File

@ -1,28 +1,21 @@
.block / #myTable
- if @project %table.tablesorter{:cellpadding => "0", :cellspacing => "0"}
.secondary-navigation %thead
%ul.wat-cf %tr
%li.first= link_to t("layout.build_lists.current"), project_path(@project) + "#build_lists" %th.lpadding16= t("activerecord.attributes.build_list.bs_id")
%li.active= link_to t("layout.build_lists.all"), project_build_lists_path(@project) %th.lpadding16= t("activerecord.attributes.build_list.status")
%th.lpadding16= t("activerecord.attributes.build_list.project")
%th.lpadding16= t("activerecord.attributes.build_list.project_version")
%th.lpadding16= t("activerecord.attributes.build_list.arch")
%th.lpadding16= t("activerecord.attributes.build_list.user")
%th= t("layout.build_lists.action")
%th.lpadding16= t("activerecord.attributes.build_list.notified_at")
%tbody= render @build_lists
.both
.content = will_paginate @build_lists
- unless @project
.inner
%h2= t('layout.build_lists.build_server_status.header')
.field
%span= t('layout.build_lists.build_server_status.client_count') + ":"
%span= @build_server_status['client_count']
.field
%span= t('layout.build_lists.build_server_status.count_new_task') + ":"
%span= @build_server_status['count_new_task']
.field
%span= t('layout.build_lists.build_server_status.count_build_task') + ":"
%span= @build_server_status['count_build_task']
.inner = link_to t('layout.build_lists.new_header'), new_project_build_list_path(@project), :class => 'button' if @project and can?(:create, @project => BuildList)
= render :partial => "build_lists/filter", :action_url => @action_url
.inner = render 'build_lists/filter'
= render :partial => "build_lists/build_lists", :object => @build_lists = render @project ? 'projects/submenu' : 'build_lists/submenu'
- content_for :sidebar, render('sidebar', :project => @project) if @project

View File

@ -1,66 +1,37 @@
.block = form_for [@project, @build_list], :html => { :class => :form, :method => :post } do |f|
.secondary-navigation %section.left
%ul.wat-cf %h3= t("activerecord.attributes.build_list.project_version")
%li.first=# link_to t("layout.projects.list"), platform_repository_path(@platform, @repository) + "#projects" .lineForm= f.select :project_version, @project.versions
%li= link_to t("layout.projects.new"), new_project_path %h3= t("activerecord.attributes.build_list.bpl")
%li= link_to t("layout.projects.show"), project_path(@project) .base_platforms
%li=# link_to "git-repo", project_repo_path(@platform, @repository, @project) - Platform.main.each do |bpl|
%li.active= link_to t("layout.projects.build"), new_project_build_list_path(@project) .both
= check_box_tag "bpls[]", bpl.id, (params[:bpls]||[]).include?(bpl.id.to_s), :class => 'build_bpl_ids', :id => "bpls_#{bpl.id}"
.content = label_tag "bpls_#{bpl.id}", bpl.name
%h2.title= t("layout.projects.new_build", :project_name => @project.name) %h3= t("activerecord.attributes.build_list.update_type")
.lineForm= f.select :update_type, BuildList::UPDATE_TYPES
.inner %h3= t("activerecord.attributes.build_list.preferences")
= form_for [@project, @build_list], :html => { :class => :form, :method => :post } do |f| .both
.columns.wat-cf = f.check_box :auto_publish
.column.left = f.label :auto_publish
.group .both
= f.label :project_version, t("activerecord.attributes.build_list.project_version"), :class => :label = f.check_box :build_requires
= f.select :project_version, @project.versions = f.label :build_requires
%br
.group.base_platforms = f.submit t("layout.projects.build_button")
= f.label :bpl, t("activerecord.attributes.build_list.bpl"), :class => :label %section.right
- Platform.main.each do |bpl| %h3= t("activerecord.attributes.build_list.arch")
= check_box_tag "bpls[]", bpl.id, (params[:bpls]||[]).include?(bpl.id.to_s), :class => 'build_bpl_ids', :id => "bpls_#{bpl.id}" - Arch.recent.each do |arch|
= label_tag "bpls_#{bpl.id}", bpl.name .both
%br = check_box_tag "arches[]", arch.id, (params[:arches]||[]).include?(arch.id.to_s), :id => "arches_#{arch.id}"
= label_tag "arches_#{arch.id}", arch.name
.group %h3= t("activerecord.attributes.build_list.pl")
= f.label :update_type, t("activerecord.attributes.build_list.update_type"), :class => :label .lineForm= f.select :pl_id, @project.repositories.collect{|r| ["#{r.platform.name}/#{r.name}", r.platform.id]}
= f.select :update_type, BuildList::UPDATE_TYPES %h3= t("activerecord.attributes.build_list.include_repos")
#include_repos
.group
= f.check_box :build_requires
= f.label :build_requires, t("activerecord.attributes.build_list.build_requires")
.column.right
.group
= f.label :arches, t("activerecord.attributes.build_list.arch"), :class => :label
- Arch.recent.each do |arch|
= check_box_tag "arches[]", arch.id, (params[:arches]||[]).include?(arch.id.to_s), :id => "arches_#{arch.id}"
= label_tag "arches_#{arch.id}", arch.name
%br
.group
= f.label :pl_id, t("activerecord.attributes.build_list.pl"), :class => :label
= f.select :pl_id, @project.repositories.collect{|r| ["#{r.platform.name}/#{r.name}", r.platform.id]}
.group
= f.label :include_repos, t("activerecord.attributes.build_list.include_repos"), :class => :label
#include_repos
.group
= f.check_box :auto_publish
= f.label :auto_publish, t("activerecord.attributes.build_list.auto_publish")
.group.navform.wat-cf
%button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("layout.projects.build_button"))
= t("layout.projects.build_button")
%span.text_button_padding= t("layout.or")
= link_to t("layout.cancel"), root_path, :class => "text_button_padding link_button"
.preloaded_include_repos{:style => 'display: none'} .preloaded_include_repos{:style => 'display: none'}
- @project.platforms.each do |p| - @project.platforms.each do |p|
%div{:class => "include_repos_#{p.id}"}= render 'include_repos', :platform => p %div{:class => "include_repos_#{p.id}"}= render 'include_repos', :platform => p
= render 'projects/submenu'

View File

@ -1,121 +1,81 @@
.block %table.columns2.info
.secondary-navigation %tr
%ul.wat-cf %td.first= t("activerecord.attributes.build_list.name")
%li.first= link_to t("layout.build_lists.current"), project_path(@build_list.project) + "#build_lists" %td= @build_list.present? ? @build_list.name : t("layout.build_lists.name_not_yet_defined")
%li= link_to t("layout.build_lists.all"), project_build_lists_path(@build_list.project) %tr
%li.active= link_to t("layout.build_lists.show"), @build_list %td= t("activerecord.attributes.build_list.bs_id")
%td= @build_list.bs_id
%tr
%td= t("activerecord.attributes.build_list.container_path")
%td
- if @build_list.status == BuildList::BUILD_PUBLISHED
= t("layout.build_lists.container_published")
- elsif @build_list.container_path.present?
- container_url = "http://#{request.host_with_port}/downloads#{@build_list.container_path}"
= link_to container_url, container_url
%tr
%td= t("activerecord.attributes.build_list.bpl")
%td= link_to @build_list.bpl.name, @build_list.bpl
%tr
%td= t("activerecord.attributes.build_list.pl")
%td= link_to @build_list.pl.name, @build_list.pl
%tr
%td= t("activerecord.attributes.build_list.include_repos")
%td= (@build_list.include_repos||[]).map{|r| Repository.find(r).name}.join(', ')
%tr
%td= t("activerecord.attributes.build_list.update_type")
%td= @build_list.update_type
%tr
%td= t("activerecord.attributes.build_list.build_requires")
%td= @build_list.build_requires
%tr
%td= t("activerecord.attributes.build_list.auto_publish")
%td= @build_list.auto_publish
%tr
%td= t("activerecord.attributes.build_list.status")
%td= @build_list.human_status
%tr
%td= t("activerecord.attributes.build_list.project")
%td= link_to @build_list.project.name, project_path(@build_list.project)
%tr
%td= t("activerecord.attributes.build_list.project_version")
%td= @build_list.project_version
%tr
%td= t("activerecord.attributes.build_list.arch")
%td= @build_list.arch.name
%tr
%td= t("activerecord.attributes.build_list.user")
%td= link_to @build_list.user.try(:fullname), @build_list.user
%tr
%td= t("activerecord.attributes.build_list.notified_at")
%td= @build_list.notified_at
%tr
%td= t("activerecord.attributes.build_list.is_circle")
%td= t("layout.#{@build_list.is_circle?}_")
.content %br
.inner %br
%p
%b
= t("activerecord.attributes.build_list.name")
\:
= @build_list.present? ? @build_list.name : t("layout.build_lists.name_not_yet_defined")
%p
%b
= t("activerecord.attributes.build_list.bs_id")
\:
= @build_list.bs_id
%p
%b
= t("activerecord.attributes.build_list.container_path")
\:
- if @build_list.status == BuildList::BUILD_PUBLISHED
= t("layout.build_lists.container_published")
- elsif @build_list.container_path.present?
- container_url = "http://#{request.host_with_port}/downloads#{@build_list.container_path}"
= link_to container_url, container_url
%p
%b
= t("activerecord.attributes.build_list.bpl")
\:
= @build_list.bpl.name
%p
%b
= t("activerecord.attributes.build_list.pl")
\:
= @build_list.pl.name
%p
%b
= t("activerecord.attributes.build_list.include_repos")
\:
= (@build_list.include_repos||[]).map{|r| Repository.find(r).name}.join(', ')
%p
%b
= t("activerecord.attributes.build_list.update_type")
\:
= @build_list.update_type
%p
%b
= t("activerecord.attributes.build_list.build_requires")
\:
= @build_list.build_requires
%p
%b
= t("activerecord.attributes.build_list.auto_publish")
\:
= @build_list.auto_publish
%p
%b
= t("activerecord.attributes.build_list.status")
\:
= @build_list.human_status
%p
%b
= t("activerecord.attributes.build_list.project_version")
\:
= @build_list.project_version
%p
%b
= t("activerecord.attributes.build_list.project")
\:
= link_to @build_list.project.name, project_path(@build_list.project)
%p
%b
= t("activerecord.attributes.build_list.arch")
\:
= @build_list.arch.name
%p
%b
= t("activerecord.attributes.build_list.user")
\:
= @build_list.user.try(:fullname)
%p
%b
= t("activerecord.attributes.build_list.notified_at")
\:
= @build_list.notified_at
%p
%b
= t("activerecord.attributes.build_list.is_circle")
\:
= t("layout.#{@build_list.is_circle?}_")
- if @build_list.can_publish? = link_to t("layout.publish"), publish_build_list_path(@build_list), :method => "put", :confirm => t("layout.confirm"), :class => "button" if @build_list.can_publish? and can?(:publish, @build_list)
.wat-cf
= link_to image_tag("choose.png", :alt => t("layout.publish")) + " " + t("layout.publish"), publish_build_list_path(@build_list), :method => "put", :class => "button", :confirm => t("layout.confirm")
.block %br
.content %br
%h2= t("layout.build_lists.items_header")
.inner %h2= t("layout.build_lists.items_header")
- if @item_groups.blank? = t("layout.build_lists.no_items_data") if @item_groups.blank?
= t("layout.build_lists.no_items_data")
- @item_groups.each_with_index do |group, level| - @item_groups.each_with_index do |group, level|
%h3.title Level ##{level} %h3.title Level ##{level}
%table.table %table.columns3.info
%tr %tr
%th.first= t("activerecord.attributes.build_list/item.name") %th.first= t("activerecord.attributes.build_list/item.name")
%th= t("activerecord.attributes.build_list/item.version") %th= t("activerecord.attributes.build_list/item.version")
%th.last= t("activerecord.attributes.build_list/item.status") %th.last= t("activerecord.attributes.build_list/item.status")
- group.each do |item| - group.each do |item|
%tr{:class => cycle("odd", "even")} %tr{:class => cycle("odd", "even")}
%td= item.name %td= item.name
%td= item.version %td= item.version
%td.last= item.human_status %td= item.human_status
- content_for :sidebar, render('sidebar', :project => @build_list.project) = render 'build_lists/submenu'

View File

@ -20,7 +20,7 @@
%td %td
.img .img
= image_tag(gravatar_url(user.email)) = image_tag(gravatar_url(user.email))
.forimg= link_to user.name, user_path(user) .forimg= link_to "#{user.uname} (#{user.name})", user_path(user)
- Relation::ROLES.each_with_index do |role, i| - Relation::ROLES.each_with_index do |role, i|
%td %td
.radio .radio

View File

@ -0,0 +1,27 @@
#open-comment.comment.view
%h3.tmargin0= t("layout.comments.new_header")
- if commentable.class == Issue
- new_path = project_issue_comments_path(project, commentable)
- is_subscribed = commentable.subscribes.exists?(:user_id => current_user.id)
- subscribe_path = is_subscribed ? project_issue_subscribe_path(project, commentable, current_user.id) : project_issue_subscribes_path(project, commentable)
- else commentable.class == Grit::Commit
- new_path = project_commit_comments_path(project, commentable)
- is_subscribed = Subscribe.subscribed_to_commit?(project, current_user, commentable)
- subscribe_path = is_subscribed ? unsubscribe_commit_path(project, commentable) : subscribe_commit_path(project, commentable)
= form_for :comment, :url => new_path, :method => :post, :html => { :class => :form } do |f|
= render :partial => "comments/form", :locals => {:f => f}
.comment-left
= t("layout.comments.notifications_are")
%span.bold
- if is_subscribed
= t("layout.turned_on")\
- else
= t("layout.turned_off")\
\.
- if is_subscribed
= link_to t('layout.commits.unsubscribe_btn'), subscribe_path, :method => :delete
- else
= link_to t('layout.commits.subscribe_btn'), subscribe_path, :method => :post
.both

View File

@ -1,8 +1,12 @@
.group .wrapper
= f.text_area :body, :cols => 80
.comment-right
= submit_tag t("layout.save")
-#.group
= f.label :body, t("activerecord.attributes.comment.body"), :class => :label = f.label :body, t("activerecord.attributes.comment.body"), :class => :label
= f.text_area :body, :class => 'text_field', :cols => 80 = f.text_area :body, :class => 'text_field', :cols => 80
.group.navform.wat-cf -#.group.navform.wat-cf
%button.button{:type => "submit"} %button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("layout.save")) = image_tag("choose.png", :alt => t("layout.save"))
= t("layout.save") = t("layout.save")

View File

@ -1,5 +1,10 @@
%a{ :name => "comments" } %a{ :name => "comments" }
.block#block-list .hr
%h3= t("layout.comments.comments_header")
- list.each do |comment|
- CommentPresenter.present(comment, :project => project, :commentable => commentable) do |presenter|
= render :partial => 'shared/feed_message', :locals => {:presenter => presenter}
-#.block#block-list
.content .content
%h2.title %h2.title
= t("layout.issues.comments_header") = t("layout.issues.comments_header")
@ -23,7 +28,7 @@
=# link_to image_tag("x.png", :alt => t("layout.delete")) + " " + t("layout.delete"), delete_path, :method => "delete", :class => "button", :confirm => t("layout.comments.confirm_delete") if can? :delete, comment =# link_to image_tag("x.png", :alt => t("layout.delete")) + " " + t("layout.delete"), delete_path, :method => "delete", :class => "button", :confirm => t("layout.comments.confirm_delete") if can? :delete, comment
= link_to t("layout.delete"), delete_path, :method => "delete", :confirm => t("layout.comments.confirm_delete") if can? :delete, comment = link_to t("layout.delete"), delete_path, :method => "delete", :confirm => t("layout.comments.confirm_delete") if can? :delete, comment
.block -#.block
.content .content
%h2.title %h2.title
= t("layout.comments.new_header") = t("layout.comments.new_header")

View File

@ -1,10 +1,10 @@
.block .block
.secondary-navigation .secondary-navigation
%ul.wat-cf %ul.wat-cf
%li.first= link_to t(@comment.commentable_type == 'Grit::Commit' ? "layout.git.repositories.commits" : "layout.issues.list"), @commentable_path %li.first= link_to t("layout.comments.back"), @commentable_path
.content .content
%h2.title %h2.title
= t("layout.#{@comment.commentable_type == 'Grit::Commit' ? 'comments' : 'issues'}.edit_header") = t("layout.comments.edit_header")
.inner .inner
= form_for @comment, :url => @update_url, :html => { :class => :form } do |f| = form_for @comment, :url => @update_url, :html => { :class => :form } do |f|
= render :partial => "form", :locals => {:f => f} = render :partial => "form", :locals => {:f => f}

View File

@ -1,28 +1,33 @@
.block .wrap
%h2= title t('devise.passwords.edit') %nav
.content %a{:href => new_register_request_path}
%p=t("layout.devise.shared_links.sign_up")
/ Top block
%header
.logo
/ Page
%article
%br
%h1= title t('devise.passwords.edit')
%br
.content
-password_error = nil
- if resource.errors.present? - if resource.errors.present?
.flash - resource.errors.each do |attr, array|
.message.error -password_error = array if attr == :password
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
= messages
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put, :class => "form" }) do |f| = form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put, :class => "form" }) do |f|
= f.hidden_field :reset_password_token = f.hidden_field :reset_password_token
.group.wat-cf .left.first=t('activerecord.attributes.user.password')
.left .right.first
= f.label :password, :class => "label" = f.text_field :password, :id => 'pass', :class => "registartion-input #{password_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};"
.right .both
= f.text_field :password, :class => "text_field" .left=t('activerecord.attributes.user.password_confirm')
.group.wat-cf .right
.left = f.text_field :password_confirmation, :id => 'pass2', :class => "registartion-input #{password_error ? "registartion-input-error" : ''}", :onClick => "this.className='registartion-input-focus';disError(this);", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();"
= f.label :password_confirmation, :class => "label" .both
.right %br
= f.text_field :password_confirmation, :class => "text_field" =f.submit t("devise.passwords.edit_button"), :class => 'button', :id => 'btnLogin'
- if password_error
.group.navform.wat-cf #hint.error.reset{:style => 'display: block;'}
%button.button{:tyle => "submit"} %p=password_error
= image_tag("code.png", :alt => t("devise.passwords.edit_button"))
= t("devise.passwords.edit_button")
%span.text_button_padding
= render :partial => "devise/shared/links"

View File

@ -1,22 +1,24 @@
.block .wrap
%h2= title t('devise.passwords.link') %nav
.content %a{:href => new_register_request_path}
- if resource.errors.present? %p=t("layout.devise.shared_links.sign_up")
.flash / Top block
.message.error %header
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe .logo
= messages / Page
%article
%br
%h1= title t('devise.passwords.forgot')
%br
.content
- if resource.errors.present?
.flash
.message.error.forgot
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
= messages
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post, :class => "form" }) do |f| = form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post, :class => "form" }) do |f|
.group.wat-cf = f.text_field :login, :name => 'user[email]', :class => "registartion-input", :onblur => "if(this.value==''){this.value='#{t('activerecord.attributes.user.email')}';this.className='registartion-input';} else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value=='#{t('activerecord.attributes.user.email')}'){this.value='';this.className='registartion-input-focus';};", :value => t('activerecord.attributes.user.email')
.left .both
= f.label :email, :class => "label" %br
.right =f.submit t("devise.passwords.send"), :class => 'button', :id => 'btnLogin'
= f.text_field :email, :class => "text_field"
.group.navform.wat-cf
%button.button{:tyle => "submit"}
= image_tag "choose.png", :alt => t("devise.passwords.button")
= t("devise.passwords.button")
%span.text_button_padding
= render :partial => "devise/shared/links"

View File

@ -1,52 +1,53 @@
#block-signup.block .wrap
%h2= title t("devise.registrations.sign_up_header") / Top block
.content %header
.logo
/ Page
- uname_error = name_error = email_error = password_error = password_confirm_error = nil
- if resource.errors.present? # Trash
- resource.errors.each do |attr, array|
-uname_error = array if attr == :uname
-name_error = array if attr == :name
-email_error = array if attr == :email
-password_error = array if attr == :password
-password_confirm_error = array if attr == :password_confirmation
%article
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :class => "form" }) do |f| = form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :class => "form" }) do |f|
= hidden_field_tag :invitation_token, @invitation_token = hidden_field_tag :invitation_token, @invitation_token
- if resource.errors.present? .left.first=t('activerecord.attributes.user.uname')
.flash .right.first
.message.error= resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe = f.text_field :uname, :id => 'login', :class => "registartion-input #{uname_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};"
.both
.left=t('activerecord.attributes.user.name')
.right
= f.text_field :name, :id => 'name', :class => "registartion-input #{name_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};"
.both
.left=t('activerecord.attributes.user.email')
.right
= f.text_field :email, :id => 'email', :readonly => 'readonly', :class => "registartion-input #{email_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};"
.both
.left=t('activerecord.attributes.user.password')
.right
= f.text_field :password, :id => 'pass', :class => "registartion-input #{password_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};"
.both
.left=t('activerecord.attributes.user.password_confirm')
.right
= f.text_field :password_confirmation, :id => 'pass2', :class => "registartion-input #{password_confirm_error ? "registartion-input-error" : ''}", :onClick => "this.className='registartion-input-focus';disError(this);", :onblur => "if(this.value==''){this.value='';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value==''){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();"
.both
.in
=f.submit t("layout.devise.shared_links.sign_up"), :class => 'button', :id => 'btnLogin'
.both
.group.wat-cf -if uname_error
.left .error.login#hintLogin
= f.label :uname, :class => "label" %p=uname_error
.right -if name_error
= f.text_field :uname, :class => "text_field" .error.name#hintName
%p=name_error
.group.wat-cf -if email_error
.left .error.email#hintEmail
= f.label :email, :class => "label" %p=email_error
.right -if password_error
= f.text_field :email, :class => "text_field", :readonly => 'readonly' .error.password#hintPassword
%p=password_error
.group.wat-cf
.left
= f.label :name, :class => "label"
.right
= f.text_field :name, :class => "text_field"
- if resource.authentications.blank?
.group.wat-cf
.left
= f.label :password, :class => "label"
.right
= f.password_field :password, :class => "text_field"
.group.wat-cf
.left
= f.label :password_confirmation, :class => "label"
.right
= f.password_field :password_confirmation, :class => "text_field"
.group.wat-cf
.left
= f.label :language, :class => "label"
.right
= f.select :language, User::LANGUAGES_FOR_SELECT
.group.navform.wat-cf
%button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("devise.registrations.sign_up_header"))
= t("devise.registrations.sign_up_header")
%span.text_button_padding
= render :partial => "devise/shared/links"

View File

@ -1,22 +1,34 @@
#block-login.block .wrap
%h2= title t("layout.sessions.sign_in_header") %nav
.content.login %a{:href => new_register_request_path}
- if flash.present? %p=t("layout.devise.shared_links.sign_up")
.flash / Top block
- flash.each do |key, value| %header
.message{ :title => key.to_s.humanize, :class => (key == :alert ? "error" : key) } .logo
%p= value / Page
%article
- is_error = (flash.try(:first).try(:first) == :alert && flash.try(:first).try(:last) == t('devise.failure.invalid')) # Trash
- login = t('devise.sessions.login'); password = t('devise.sessions.password')
=hidden_field_tag :login_default, login
=hidden_field_tag :password_default, password
= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => "form login" }) do |f| = form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => "form login" }) do |f|
.group.wat-cf %h1= title t("layout.sessions.sign_in_header")
.left= f.label :login, :class => "label right" = f.text_field :login, :class => "registartion-input #{is_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='#{login}';this.className='registartion-input';} else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value=='#{login}'){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();", :type => "text", :value => login
.right= f.text_field :login, :class => "text_field" %br/
.group.wat-cf = f.password_field :password, :class => "registartion-input #{is_error ? "registartion-input-error" : ''}", :onblur => "if(this.value==''){this.value='#{password}';this.className='registartion-input';}else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value=='#{password}'){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();", :type => "password", :value => password
.left= f.label :password, :class => "label right" %br/
.right= f.password_field :password, :class => "text_field" .registration
.group.navform.wat-cf .remember
.right .check
%button.button{:type => "submit"} %span#niceCheckbox1.niceCheck{:onclick => "changeCheck(this)"}
= image_tag 'code.png', :alt => "Save" = f.check_box :remember_me
= t("layout.login") .text=t('devise.sessions.remember_me')
%span.text_button_padding .in=f.submit t('layout.devise.shared_links.sign_in'), :class => 'button disabled', :id => 'btnLogin'
= render :partial => "devise/shared/links" %div{:style => "clear: both;"}
.hr
.both
#hint.error{:style => is_error ? 'display: block;' : ''}
%p=t('devise.failure.invalid')
.forgot
.password
%p= link_to t("layout.devise.shared_links.forgot_password"), new_password_path(resource_name)

View File

@ -9,8 +9,8 @@
= text_area_tag :content, @blob.data.encode_to_default, :id => 'code' = text_area_tag :content, @blob.data.encode_to_default, :id => 'code'
.both .both
= t("enter_commit_message") = t("layout.enter_commit_message")
= text_area_tag :message, '', :class => 'commit-message' = text_area_tag :message, "Updated #{@blob.name.encode_to_default}", :class => 'commit-message'
%br %br
%br %br

View File

@ -17,7 +17,7 @@
- if render_way == :text and can? :write, @project and @treeish.in? @project.branches.map(&:name) - if render_way == :text and can? :write, @project and @treeish.in? @project.branches.map(&:name)
= raw "#{link_to "Edit", edit_blob_path(@project, @treeish, @path) } | " = raw "#{link_to "Edit", edit_blob_path(@project, @treeish, @path) } | "
= raw "#{link_to "Raw", raw_path(@project, @treeish, @path)} | " = raw "#{link_to "Raw", raw_path(@project, @treeish, @path)} | "
= raw "#{link_to "Blame", blame_path(@project, @treeish, @path)} | " =# raw "#{link_to "Blame", blame_path(@project, @treeish, @path)} | "
= link_to "History", commits_path(@project, @treeish, @path) = link_to "History", commits_path(@project, @treeish, @path)
.both .both
.data .data
@ -32,12 +32,14 @@
<center> <img src='?raw=true'/></center> <center> <img src='?raw=true'/></center>
<br/> <br/>
- when :text - when :text
.gutter-new .gutter
:plain = render_line_numbers(text.length)
<pre>#{render_line_numbers(text.length)}</pre> #output.formatted
%pre{:class => "brush: #{@blob.mime_type.split('/').last}"} %pre#code
=#{render_blob(@blob)} =#{render_blob(@blob)}
= @blob.data.encode_to_default.html_safe :preserve
#{@blob.data.encode_to_default.html_safe}
.both
- when :binary - when :binary
%table.table.blob %table.table.blob
%tr %tr
@ -47,3 +49,8 @@
<br/> <br/>
<pre>#{ link_to @blob.basename.encode_to_default, raw_path(@project, @treeish, @path) }</pre> <pre>#{ link_to @blob.basename.encode_to_default, raw_path(@project, @treeish, @path) }</pre>
<br/> <br/>
:javascript
$(document).ready(function() {
CodeMirror.runMode(document.getElementById("code").innerHTML, "#{@blob.mime_type}",
document.getElementById("output"));
});

View File

@ -4,7 +4,7 @@
- commits.each_pair do |year, by_month| - commits.each_pair do |year, by_month|
- if year != cur_year - if year != cur_year
.year= "#{year} #{t("year")}" .year= "#{year} #{t("layout.year")}"
- by_month.each_pair do |month, by_day| - by_month.each_pair do |month, by_day|
- by_day.each_pair do |day, commits| - by_day.each_pair do |day, commits|

View File

@ -2,7 +2,8 @@
= render :partial => 'projects/repo_block', :locals => {:project => @project} = render :partial => 'projects/repo_block', :locals => {:project => @project}
= render :partial => 'git/commits/commits', :object => @commits = render :partial => 'git/commits/commits', :object => @commits
= render :partial => 'git/commits/paginate' - if @render_paginate
= render :partial => 'git/commits/paginate'
-#.block -#.block
.content .content
.inner .inner

View File

@ -14,6 +14,9 @@
#repo-wrapper #repo-wrapper
= render :partial => 'show' = render :partial => 'show'
= render :partial => "comments/list", :locals => {:list => Project.commit_comments(@commit, @project), :project => @project, :commentable => @commit}
= render :partial => "comments/add", :locals => {:project => @project, :commentable => @commit}
-#.block -#.block
= render :partial => "git/shared/navigation" = render :partial => "git/shared/navigation"

View File

@ -7,16 +7,15 @@
%table#myTable.tablesorter.project{:cellpadding => "0", :cellspacing => "0"} %table#myTable.tablesorter.project{:cellpadding => "0", :cellspacing => "0"}
%thead %thead
%tr %tr
%th.th1.header= t("layout.project.filename") %th.th1= t("layout.projects.filename")
%th.th2.header= t("layout.project.age") %th.th2= t("layout.projects.age")
%th.th3= t("layout.project.message") %th.th3= t("layout.projects.message")
%th.th4.header= t("layout.project.author") %th.th4= t("layout.projects.author")
%tbody %tbody
- if @path.present? - if @path.present?
%tr %tr
%td %td
.pic .pic= image_tag 'folder.png'
%img{:src => "/assets/folder.png"}/
.name .name
= link_to "..", tree_path(@project, @treeish, File.join([@path.dup.encode_to_default, ".."].compact).encode_to_default) = link_to "..", tree_path(@project, @treeish, File.join([@path.dup.encode_to_default, ".."].compact).encode_to_default)
%td== &nbsp; %td== &nbsp;
@ -27,13 +26,11 @@
%td %td
- entry_path = File.join([@path.present? ? @path : nil, entry.name].compact).encode_to_default - entry_path = File.join([@path.present? ? @path : nil, entry.name].compact).encode_to_default
- if entry.is_a? Grit::Blob - if entry.is_a? Grit::Blob
.pic .pic= image_tag 'code.png'
%img{:src => "/assets/code.png"}/
.name .name
= link_to(entry.name, blob_path(@project, @treeish, entry_path), :class => 'files-see').encode_to_default = link_to(entry.name, blob_path(@project, @treeish, entry_path), :class => 'files-see').encode_to_default
- else - else
.pic .pic= image_tag 'folder.png'
%img{:src => "/assets/folder.png"}/
.name .name
= link_to(entry.name, tree_path(@project, @treeish, entry_path), :class => 'files-see').encode_to_default = link_to(entry.name, tree_path(@project, @treeish, entry_path), :class => 'files-see').encode_to_default
%td %td

View File

@ -1 +1,29 @@
%h3= I18n.t("layout.git.repositories.empty") = render :partial => 'projects/submenu'
= render :partial => 'projects/repo_block', :locals => {:project => @project}
.description
%h3= t("layout.projects.about_subheader")
%p
= @project.description
= link_to t('layout.read_more'), '#'
.both
#repo-wrapper
%h3= t("layout.projects.files_in_project")
.files
.l
= render :partial => 'git/shared/whereami'
.both
%table#myTable.tablesorter.project{:cellpadding => "0", :cellspacing => "0"}
%thead
%tr
%th.th1= t("layout.projects.filename")
%th.th2= t("layout.projects.age")
%th.th3= t("layout.projects.message")
%th.th4= t("layout.projects.author")
%tbody
%tr
%td.centered{:colspan => 4}
%h3= I18n.t("layout.git.repositories.empty")

View File

@ -0,0 +1,6 @@
-current_color ||= '0054a6'
.colors
- ['0054a6', '00a651', 'ed1c24', 'e65c00', '9e005d', '464646', '8c6239'].each do |color|
.color{:style => "background: ##{color};"}
#choose1.choose{:value => color, :class => current_color == color ? 'selected' : ''}
.both

View File

@ -0,0 +1,39 @@
-content_for :sidebar do
- if @issue.persisted?
.bordered.nopadding
%h3=t('activerecord.attributes.issue.status')
#switcher.issue_status{:class => "#{@issue.closed? ? 'switcher-off' : 'switcher'} #{can?(:write, @issue.project) ? "switch_issue_status" : ''}"}
.swleft=t('layout.issues.status.open')
.swright=t('layout.issues.status.closed')
- if can? :write, @issue.project
=form_tag [@project, @issue], :id => 'update_issue_status', :method => :put do
=hidden_field_tag "issue_status", @issue.closed? ? 'closed' : 'open', :name => "issue[status]"
.bordered.nopadding
%h3=t('layout.issues.executor')
- if @issue.persisted? && @issue.user
.bordered.nopadding
.people.nopointer
.avatar=image_tag(@issue.user.avatar(25), :alt => 'avatar')
.name="#{@issue.user.uname} (#{@issue.user.name})"
=hidden_field_tag "user-0", @issue.user.id, :name => 'user_id'
.both
- else
=form_tag search_collaborators_project_issues_path(@project), :id => 'search_user', :method => :get do
=tracker_search_field(:search_user, t('layout.issues.search_user'))
#create_issue_users_list
=render 'issues/search_collaborators'
.block
%h3=t('layout.issues.labels')
- if @issue.new_record?
=form_tag search_labels_project_issues_path(@project), :id => 'search_labels', :method => :get do
=tracker_search_field(:search_labels, t('layout.issues.search_labels'))
#create_issue_labels_list
=render 'issues/search_labels'
- else
- (@issue.labels || []).each_with_index do |label|
.label.selected.nopointer
.labeltext.selected{:style => "background: ##{label.color};"}
=label.name
.both

View File

@ -1,24 +1,19 @@
.group .leftlist= t('activerecord.attributes.issue.title') + ':'
= f.label :title, :class => :label .rightlist= f.text_field :title
= f.text_field :title, :class => 'text_field' .leftlist= t('activerecord.attributes.issue.body') + ':'
.rightlist= f.text_area :body
.group .both
= f.label :body, :class => :label .leftlist= t('activerecord.attributes.issue.user') + ':'
= f.text_area :body, :class => 'text_field', :cols => 80 .rightlist
%span#people-span.small-text= t('layout.issues.choose_user_on_left')
- unless @issue.new_record? #issue_executor
.group .both
= f.label :status, :class => :label .leftlist= t('layout.issues.labels')
= f.select :status, Issue::STATUSES, :class => 'text_field' .rightlist
%span#flag-span.small-text= t('layout.issues.choose_labels_on_left')
.group #issue_labels
= label_tag "", t("activerecord.attributes.issue.user_id"), :class => :label .both
= autocomplete_field_tag 'user_id', @user_uname, autocomplete_user_uname_platforms_path, :id_element => '#user_id_field' .leftlist
= hidden_field_tag 'user_id', @user_id, :id => 'user_id_field' .rightlist
%input{:type => "submit", :value => t(@issue.new_record? ? 'layout.create' : 'layout.update')}
.group.navform.wat-cf .both
%button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("layout.save"))
= t("layout.save")
%span.text_button_padding= t("layout.or")
= link_to t("layout.cancel"), project_path(@project), :class => "text_button_padding link_button"

View File

@ -0,0 +1,20 @@
-content_for :sidebar do
=form_tag project_issues_path(@project), :id => 'filter_issues', :method => :get do
.bordered.nopadding
%h3=t("layout.issues.accessory")
%table
%tr
%td.width18=radio_button_tag :myradio, 'all', !@is_assigned_to_me, {:id => 'myradio1', :class => 'niceRadio', :name => 'filter'}
%td.width135=t("layout.issues.all")
%td.width30.right=@project.issues.count
%tr
%td=radio_button_tag :myradio, 'to_me', @is_assigned_to_me, {:id => 'myradio1', :class => 'niceRadio', :name => 'filter'}
%td=t("layout.issues.to_me")
%td.width30.right=@project.issues.where(:user_id => current_user).count
=form_tag project_issues_path(@project), :id => 'search_issue', :method => :get do
.bordered.bpadding20
=tracker_search_field(:search_issue, t('layout.issues.search'))
.bordered.nopadding
%h3.bmargin10=t('layout.issues.new')
= link_to t("layout.add"), new_project_issue_path(@project), :class => 'button' if can? :new, Issue.new(:project_id => @project.id)
=render :partial => 'labels'

View File

@ -0,0 +1,23 @@
%tr#row1{:name => "row", :class => issue.labels.map(&:name).compact}
%td.td0
%span{:style => "display: none;"}=issue.serial_id
%td.td1=issue.serial_id
%td
%a{:href => project_issue_path(@project.id, issue.serial_id)}
%div.issue_title=issue.title
.smalltext
=issue.created_at.to_s(:long)
=t("layout.issues.by") if issue.creator
=link_to(issue.creator.uname, user_path(issue.creator)) if issue.creator
.label.selected.tracker
-issue.labels.each do |label|
.labeltext.selected{:style => "background: ##{label.color};"}=label.name
.both
%td.td3
.avatar
=link_to image_tag(issue.user.avatar(22), :alt => 'avatar'), user_path(issue.user) if issue.user
%a{:href => "#{project_issue_path @project, issue}#block-list"}
.answers
.pic= image_tag 'answers.png'
.count=issue.comments.count
.both

Some files were not shown because too many files have changed in this diff Show More