Merge branch 'master' into i18n
Conflicts: app/assets/javascripts/application.js
This commit is contained in:
commit
98e7189d31
24 changed files with 223 additions and 248 deletions
10
Gemfile
10
Gemfile
|
@ -9,11 +9,10 @@ gem "rails", '~> 3.2.9'
|
|||
group :assets do
|
||||
gem 'sass-rails', '~> 3.2.3'
|
||||
gem 'coffee-rails', '~> 3.2.1'
|
||||
|
||||
gem 'less-rails'
|
||||
gem 'uglifier', '>= 1.0.3'
|
||||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
||||
gem 'therubyracer', platforms: :ruby
|
||||
|
||||
gem 'uglifier', '>= 1.0.3'
|
||||
end
|
||||
|
||||
gem 'jquery-rails'
|
||||
|
@ -27,8 +26,9 @@ gem 'mysql2'
|
|||
gem 'prawn'
|
||||
gem 'haml-rails'
|
||||
gem 'kaminari'
|
||||
gem 'client_side_validations'
|
||||
gem 'simple_form'
|
||||
gem 'client_side_validations'
|
||||
gem 'client_side_validations-simple_form'
|
||||
gem 'inherited_resources'
|
||||
gem 'localize_input', git: "git://github.com/bennibu/localize_input.git"
|
||||
gem 'wikicloth'
|
||||
|
@ -44,7 +44,7 @@ gem 'resque'
|
|||
gem 'whenever', require: false # For defining cronjobs, see config/schedule.rb
|
||||
|
||||
group :production do
|
||||
gem 'exception_notification', require: 'exception_notifier'
|
||||
gem 'exception_notification'
|
||||
end
|
||||
|
||||
group :development do
|
||||
|
|
210
Gemfile.lock
210
Gemfile.lock
|
@ -22,12 +22,12 @@ GEM
|
|||
remote: https://rubygems.org/
|
||||
specs:
|
||||
Ascii85 (1.0.2)
|
||||
actionmailer (3.2.13)
|
||||
actionpack (= 3.2.13)
|
||||
mail (~> 2.5.3)
|
||||
actionpack (3.2.13)
|
||||
activemodel (= 3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
actionmailer (3.2.14)
|
||||
actionpack (= 3.2.14)
|
||||
mail (~> 2.5.4)
|
||||
actionpack (3.2.14)
|
||||
activemodel (= 3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
builder (~> 3.0.0)
|
||||
erubis (~> 2.7.0)
|
||||
journey (~> 1.0.4)
|
||||
|
@ -35,31 +35,33 @@ GEM
|
|||
rack-cache (~> 1.2)
|
||||
rack-test (~> 0.6.1)
|
||||
sprockets (~> 2.2.1)
|
||||
activemodel (3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
activemodel (3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.13)
|
||||
activemodel (= 3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
activerecord (3.2.14)
|
||||
activemodel (= 3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activeresource (3.2.13)
|
||||
activemodel (= 3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
activesupport (3.2.13)
|
||||
i18n (= 0.6.1)
|
||||
activeresource (3.2.14)
|
||||
activemodel (= 3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
activesupport (3.2.14)
|
||||
i18n (~> 0.6, >= 0.6.4)
|
||||
multi_json (~> 1.0)
|
||||
acts_as_tree (1.2.0)
|
||||
acts_as_tree (1.4.0)
|
||||
activerecord (>= 3.0.0)
|
||||
afm (0.2.0)
|
||||
arel (3.0.2)
|
||||
better_errors (0.2.0)
|
||||
better_errors (1.0.1)
|
||||
coderay (>= 1.0.0)
|
||||
erubis (>= 2.7.0)
|
||||
binding_of_caller (0.6.8)
|
||||
bootstrap-datepicker-rails (1.1.1.1)
|
||||
erubis (>= 2.6.6)
|
||||
binding_of_caller (0.7.2)
|
||||
debug_inspector (>= 0.0.1)
|
||||
bootstrap-datepicker-rails (1.1.1.8)
|
||||
railties (>= 3.0)
|
||||
builder (3.0.4)
|
||||
bullet (4.3.0)
|
||||
bullet (4.6.0)
|
||||
uniform_notifier
|
||||
capistrano (2.13.5)
|
||||
highline
|
||||
|
@ -77,72 +79,78 @@ GEM
|
|||
xpath (~> 2.0)
|
||||
childprocess (0.3.9)
|
||||
ffi (~> 1.0, >= 1.0.11)
|
||||
chronic (0.9.0)
|
||||
client_side_validations (3.1.4)
|
||||
coderay (1.0.8)
|
||||
chronic (0.10.2)
|
||||
client_side_validations (3.2.6)
|
||||
client_side_validations-simple_form (2.1.0)
|
||||
client_side_validations (~> 3.2.5)
|
||||
simple_form (~> 2.1.0)
|
||||
coderay (1.1.0)
|
||||
coffee-rails (3.2.2)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (~> 3.2.0)
|
||||
coffee-script (2.2.0)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.3.3)
|
||||
commonjs (0.2.6)
|
||||
coffee-script-source (1.6.3)
|
||||
commonjs (0.2.7)
|
||||
daemons (1.1.9)
|
||||
database_cleaner (0.7.1)
|
||||
database_cleaner (1.2.0)
|
||||
debug_inspector (0.0.2)
|
||||
diff-lcs (1.2.4)
|
||||
erubis (2.7.0)
|
||||
eventmachine (1.0.3)
|
||||
exception_notification (2.6.1)
|
||||
exception_notification (4.0.1)
|
||||
actionmailer (>= 3.0.4)
|
||||
execjs (1.4.0)
|
||||
multi_json (~> 1.0)
|
||||
activesupport (>= 3.0.4)
|
||||
execjs (2.0.2)
|
||||
expression_parser (0.9.0)
|
||||
factory_girl (4.2.0)
|
||||
activesupport (>= 3.0.0)
|
||||
factory_girl_rails (4.2.1)
|
||||
factory_girl (~> 4.2.0)
|
||||
railties (>= 3.0.0)
|
||||
faker (1.1.2)
|
||||
faker (1.2.0)
|
||||
i18n (~> 0.5)
|
||||
ffi (1.9.0)
|
||||
haml (3.1.7)
|
||||
haml-rails (0.3.5)
|
||||
haml (4.0.3)
|
||||
tilt
|
||||
haml-rails (0.4)
|
||||
actionpack (>= 3.1, < 4.1)
|
||||
activesupport (>= 3.1, < 4.1)
|
||||
haml (~> 3.1)
|
||||
haml (>= 3.1, < 4.1)
|
||||
railties (>= 3.1, < 4.1)
|
||||
has_scope (0.5.1)
|
||||
hashery (2.0.1)
|
||||
has_scope (0.6.0.rc)
|
||||
actionpack (>= 3.2, < 5)
|
||||
activesupport (>= 3.2, < 5)
|
||||
hashery (2.1.1)
|
||||
highline (1.6.19)
|
||||
hike (1.2.3)
|
||||
i18n (0.6.1)
|
||||
i18n (0.6.5)
|
||||
i18n-spec (0.4.0)
|
||||
iso
|
||||
inherited_resources (1.3.1)
|
||||
has_scope (~> 0.5.0)
|
||||
responders (~> 0.6)
|
||||
inherited_resources (1.4.1)
|
||||
has_scope (~> 0.6.0.rc)
|
||||
responders (~> 1.0.0.rc)
|
||||
iso (0.2.0)
|
||||
i18n
|
||||
journey (1.0.4)
|
||||
jquery-rails (2.1.3)
|
||||
railties (>= 3.1.0, < 5.0)
|
||||
thor (~> 0.14)
|
||||
json (1.7.7)
|
||||
jquery-rails (3.0.4)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (1.8.0)
|
||||
kaminari (0.14.1)
|
||||
actionpack (>= 3.0.0)
|
||||
activesupport (>= 3.0.0)
|
||||
less (2.2.2)
|
||||
commonjs (~> 0.2.6)
|
||||
less-rails (2.2.3)
|
||||
less (2.4.0)
|
||||
commonjs (~> 0.2.7)
|
||||
less-rails (2.4.2)
|
||||
actionpack (>= 3.1)
|
||||
less (~> 2.2.0)
|
||||
libv8 (3.3.10.4)
|
||||
mail (2.5.3)
|
||||
i18n (>= 0.4.0)
|
||||
less (~> 2.4.0)
|
||||
libv8 (3.16.14.3)
|
||||
mail (2.5.4)
|
||||
mime-types (~> 1.16)
|
||||
treetop (~> 1.4.8)
|
||||
mailcatcher (0.5.11)
|
||||
mailcatcher (0.5.12)
|
||||
activesupport (~> 3.0)
|
||||
eventmachine (~> 1.0.0)
|
||||
haml (>= 3.1, < 5)
|
||||
|
@ -156,24 +164,26 @@ GEM
|
|||
activerecord (~> 3.1)
|
||||
activesupport (~> 3.1)
|
||||
polyamorous (~> 0.5.0)
|
||||
mime-types (1.21)
|
||||
mime-types (1.25)
|
||||
mini_portile (0.5.1)
|
||||
mono_logger (1.1.0)
|
||||
multi_json (1.7.9)
|
||||
mysql2 (0.3.11)
|
||||
net-scp (1.1.1)
|
||||
multi_json (1.8.1)
|
||||
mysql2 (0.3.13)
|
||||
net-scp (1.1.2)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-sftp (2.1.2)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (2.6.7)
|
||||
net-ssh (2.7.0)
|
||||
net-ssh-gateway (1.2.0)
|
||||
net-ssh (>= 2.6.5)
|
||||
nokogiri (1.6.0)
|
||||
mini_portile (~> 0.5.0)
|
||||
pdf-reader (1.2.0)
|
||||
pdf-reader (1.3.3)
|
||||
Ascii85 (~> 1.0.0)
|
||||
afm (~> 0.2.0)
|
||||
hashery (~> 2.0)
|
||||
ruby-rc4
|
||||
ttfunk
|
||||
polyamorous (0.5.0)
|
||||
activerecord (~> 3.0)
|
||||
polyglot (0.3.3)
|
||||
|
@ -191,14 +201,14 @@ GEM
|
|||
rack
|
||||
rack-test (0.6.2)
|
||||
rack (>= 1.0)
|
||||
rails (3.2.13)
|
||||
actionmailer (= 3.2.13)
|
||||
actionpack (= 3.2.13)
|
||||
activerecord (= 3.2.13)
|
||||
activeresource (= 3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
rails (3.2.14)
|
||||
actionmailer (= 3.2.14)
|
||||
actionpack (= 3.2.14)
|
||||
activerecord (= 3.2.14)
|
||||
activeresource (= 3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
bundler (~> 1.0)
|
||||
railties (= 3.2.13)
|
||||
railties (= 3.2.14)
|
||||
rails-assets-listjs (0.2.0.beta.4)
|
||||
railties (>= 3.1)
|
||||
rails-i18n (3.0.0)
|
||||
|
@ -206,31 +216,32 @@ GEM
|
|||
rails (>= 3.0.0, < 4.0.0)
|
||||
rails-settings-cached (0.2.4)
|
||||
rails (>= 3.0.0)
|
||||
railties (3.2.13)
|
||||
actionpack (= 3.2.13)
|
||||
activesupport (= 3.2.13)
|
||||
railties (3.2.14)
|
||||
actionpack (= 3.2.14)
|
||||
activesupport (= 3.2.14)
|
||||
rack-ssl (~> 1.3.2)
|
||||
rake (>= 0.8.7)
|
||||
rdoc (~> 3.4)
|
||||
thor (>= 0.14.6, < 2.0)
|
||||
rake (10.0.3)
|
||||
rake (10.1.0)
|
||||
rdoc (3.12.2)
|
||||
json (~> 1.4)
|
||||
redis (3.0.4)
|
||||
redis (3.0.5)
|
||||
redis-namespace (1.3.1)
|
||||
redis (~> 3.0.0)
|
||||
responders (0.9.3)
|
||||
railties (~> 3.1)
|
||||
resque (1.24.1)
|
||||
ref (1.0.5)
|
||||
responders (1.0.0)
|
||||
railties (>= 3.2, < 5)
|
||||
resque (1.25.1)
|
||||
mono_logger (~> 1.0)
|
||||
multi_json (~> 1.0)
|
||||
redis-namespace (~> 1.2)
|
||||
sinatra (>= 0.9.2)
|
||||
vegas (~> 0.1.2)
|
||||
rspec-core (2.14.2)
|
||||
rspec-expectations (2.14.0)
|
||||
rspec-core (2.14.5)
|
||||
rspec-expectations (2.14.3)
|
||||
diff-lcs (>= 1.1.3, < 2.0)
|
||||
rspec-mocks (2.14.1)
|
||||
rspec-mocks (2.14.3)
|
||||
rspec-rails (2.14.0)
|
||||
actionpack (>= 3.0)
|
||||
activesupport (>= 3.0)
|
||||
|
@ -241,22 +252,22 @@ GEM
|
|||
ruby-prof (0.13.0)
|
||||
ruby-rc4 (0.1.5)
|
||||
rubyzip (0.9.9)
|
||||
sass (3.2.1)
|
||||
sass-rails (3.2.5)
|
||||
sass (3.2.12)
|
||||
sass-rails (3.2.6)
|
||||
railties (~> 3.2.0)
|
||||
sass (>= 3.1.10)
|
||||
tilt (~> 1.3)
|
||||
select2-rails (3.4.2)
|
||||
sass-rails
|
||||
select2-rails (3.5.0)
|
||||
thor (~> 0.14)
|
||||
selenium-webdriver (2.35.1)
|
||||
childprocess (>= 0.2.5)
|
||||
multi_json (~> 1.0)
|
||||
rubyzip (< 1.0.0)
|
||||
websocket (~> 1.0.4)
|
||||
simple-navigation (3.9.0)
|
||||
simple-navigation (3.11.0)
|
||||
activesupport (>= 2.3.2)
|
||||
simple-navigation-bootstrap (0.0.4)
|
||||
simple-navigation-bootstrap (1.0.0)
|
||||
railties (>= 3.1)
|
||||
simple-navigation (>= 3.7.0)
|
||||
simple_form (2.1.0)
|
||||
actionpack (~> 3.0)
|
||||
|
@ -265,10 +276,10 @@ GEM
|
|||
multi_json (~> 1.0)
|
||||
simplecov-html (~> 0.7.1)
|
||||
simplecov-html (0.7.1)
|
||||
sinatra (1.3.6)
|
||||
sinatra (1.4.3)
|
||||
rack (~> 1.4)
|
||||
rack-protection (~> 1.3)
|
||||
tilt (~> 1.3, >= 1.3.3)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (~> 1.3, >= 1.3.4)
|
||||
skinny (0.2.3)
|
||||
eventmachine (~> 1.0.0)
|
||||
thin (~> 1.5.0)
|
||||
|
@ -277,33 +288,34 @@ GEM
|
|||
multi_json (~> 1.0)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
sqlite3 (1.3.6)
|
||||
therubyracer (0.10.2)
|
||||
libv8 (~> 3.3.10)
|
||||
sqlite3 (1.3.8)
|
||||
therubyracer (0.12.0)
|
||||
libv8 (~> 3.16.14.0)
|
||||
ref
|
||||
thin (1.5.1)
|
||||
daemons (>= 1.0.9)
|
||||
eventmachine (>= 0.12.6)
|
||||
rack (>= 1.0.0)
|
||||
thor (0.17.0)
|
||||
thor (0.18.1)
|
||||
tilt (1.4.1)
|
||||
treetop (1.4.12)
|
||||
treetop (1.4.15)
|
||||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
ttfunk (1.0.3)
|
||||
twitter-bootstrap-rails (2.1.3)
|
||||
twitter-bootstrap-rails (2.2.8)
|
||||
actionpack (>= 3.1)
|
||||
less-rails (~> 2.2.3)
|
||||
execjs
|
||||
rails (>= 3.1)
|
||||
railties (>= 3.1)
|
||||
therubyracer (~> 0.10.2)
|
||||
tzinfo (0.3.37)
|
||||
uglifier (1.3.0)
|
||||
tzinfo (0.3.38)
|
||||
uglifier (2.2.1)
|
||||
execjs (>= 0.3.0)
|
||||
multi_json (~> 1.0, >= 1.0.2)
|
||||
uniform_notifier (1.1.1)
|
||||
uniform_notifier (1.3.0)
|
||||
vegas (0.1.11)
|
||||
rack (>= 1.0.0)
|
||||
websocket (1.0.7)
|
||||
whenever (0.8.1)
|
||||
whenever (0.8.4)
|
||||
activesupport (>= 2.3.4)
|
||||
chronic (>= 0.6.3)
|
||||
wikicloth (0.8.0)
|
||||
|
@ -326,6 +338,7 @@ DEPENDENCIES
|
|||
capistrano-ext
|
||||
capybara (~> 2.1.0)
|
||||
client_side_validations
|
||||
client_side_validations-simple_form
|
||||
coffee-rails (~> 3.2.1)
|
||||
daemons
|
||||
database_cleaner
|
||||
|
@ -338,6 +351,7 @@ DEPENDENCIES
|
|||
inherited_resources
|
||||
jquery-rails
|
||||
kaminari
|
||||
less-rails
|
||||
localize_input!
|
||||
mailcatcher
|
||||
meta_search
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
//= require jquery
|
||||
//= require jquery-ui
|
||||
//= require jquery_ujs
|
||||
//= require select2
|
||||
//= require twitter/bootstrap
|
||||
|
@ -7,12 +6,14 @@
|
|||
//= require bootstrap-datepicker/core
|
||||
//= require bootstrap-datepicker/locales/bootstrap-datepicker.de
|
||||
//= require bootstrap-datepicker/locales/bootstrap-datepicker.nl
|
||||
//= require bootstrap-datepicker/locales/bootstrap-datepicker.fr
|
||||
//= require jquery.observe_field
|
||||
//= require list
|
||||
//= require list.unlist
|
||||
//= require list.delay
|
||||
//= require list.reset
|
||||
//= require rails.validations
|
||||
//= require rails.validations.simple_form
|
||||
//= require i18n
|
||||
//= require i18n/translations
|
||||
//= require_self
|
||||
|
@ -36,19 +37,19 @@ $.fn.extend({
|
|||
$(function() {
|
||||
|
||||
// Show/Hide a specific DOM element
|
||||
$('a[data-toggle-this]').live('click', function() {
|
||||
$(document).on('click', 'a[data-toggle-this]', function() {
|
||||
$($(this).data('toggle-this')).toggle();
|
||||
return false;
|
||||
});
|
||||
|
||||
// Remove this item from DOM
|
||||
$('a[data-remove-this]').live('click', function() {
|
||||
$(document).on('click', 'a[data-remove-this]', function() {
|
||||
$($(this).data('remove-this')).remove();
|
||||
return false;
|
||||
});
|
||||
|
||||
// Check/Uncheck a single checkbox
|
||||
$('[data-check-this]').live('click', function() {
|
||||
$(document).on('click', '[data-check-this]', function() {
|
||||
var checkbox = $($(this).data('check-this'));
|
||||
checkbox.attr('checked', !checkbox.is(':checked'));
|
||||
highlightRow(checkbox);
|
||||
|
@ -56,7 +57,7 @@ $(function() {
|
|||
});
|
||||
|
||||
// Check/Uncheck all checkboxes for a specific form
|
||||
$('input[data-check-all]').live('click', function() {
|
||||
$(document).on('click', 'input[data-check-all]', function() {
|
||||
var status = $(this).is(':checked');
|
||||
var context = $(this).data('check-all');
|
||||
var elms = $('input[type="checkbox"]', context);
|
||||
|
@ -68,7 +69,7 @@ $(function() {
|
|||
});
|
||||
|
||||
// Submit form when changing a select menu.
|
||||
$('form[data-submit-onchange] select').live('change', function() {
|
||||
$(document).on('change', 'form[data-submit-onchange] select', function() {
|
||||
var confirmMessage = $(this).children(':selected').data('confirm');
|
||||
if (confirmMessage) {
|
||||
if (confirm(confirmMessage)) {
|
||||
|
@ -101,7 +102,7 @@ $(function() {
|
|||
});
|
||||
|
||||
// Remote paginations
|
||||
$('div.pagination[data-remote] a').live('click', function() {
|
||||
$(document).on('click', 'div.pagination[data-remote] a', function() {
|
||||
$.getScript($(this).attr('href'));
|
||||
return false;
|
||||
});
|
||||
|
@ -123,6 +124,20 @@ $(function() {
|
|||
// Use bootstrap datepicker for dateinput
|
||||
$('.datepicker').datepicker({format: 'yyyy-mm-dd', language: I18n.locale});
|
||||
|
||||
// bootstrap tooltips (for price)
|
||||
// Extra options don't work when using selector, so override defaults
|
||||
// https://github.com/twbs/bootstrap/issues/3875 . These can still be
|
||||
// overridden per tooltip using data-placement attributes and the like.
|
||||
$.extend($.fn.tooltip.defaults, {
|
||||
html: true,
|
||||
animation: false,
|
||||
placement: 'left',
|
||||
container: 'body'
|
||||
});
|
||||
$(document).tooltip({
|
||||
selector: '[data-toggle~="tooltip"]',
|
||||
});
|
||||
|
||||
// See stupidtable.js for initialization of local table sorting
|
||||
});
|
||||
|
||||
|
@ -148,3 +163,5 @@ function highlightRow(checkbox) {
|
|||
function setHiddenId(text, li) {
|
||||
$('hidden_id').value = li.id;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
jQuery ->
|
||||
$("a[rel=popover]").popover()
|
||||
$(".tooltip").tooltip()
|
||||
$("a[rel=tooltip]").tooltip()
|
||||
$("a[rel~=popover], .has-popover").popover()
|
||||
$("a[rel~=tooltip], .has-tooltip").tooltip()
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
@import "twitter/bootstrap/bootstrap";
|
||||
@import "twitter/bootstrap/responsive";
|
||||
body {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
@import "twitter/bootstrap/responsive";
|
||||
|
||||
// Set the correct sprite paths
|
||||
@iconSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings.png');
|
||||
@iconWhiteSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings-white.png');
|
||||
@iconSpritePath: image-url('twitter/bootstrap/glyphicons-halflings.png');
|
||||
@iconWhiteSpritePath: image-url('twitter/bootstrap/glyphicons-halflings-white.png');
|
||||
|
||||
// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines)
|
||||
// Note: If you use asset_path() here, your compiled boostrap_and_overrides.css will not
|
||||
// have the proper paths. So for now we use the absolute path.
|
||||
@fontAwesomeEotPath: '/assets/fontawesome-webfont.eot';
|
||||
@fontAwesomeWoffPath: '/assets/fontawesome-webfont.woff';
|
||||
@fontAwesomeTtfPath: '/assets/fontawesome-webfont.ttf';
|
||||
@fontAwesomeSvgPath: '/assets/fontawesome-webfont.svg';
|
||||
@fontAwesomeEotPath: asset-url('fontawesome-webfont.eot');
|
||||
@fontAwesomeEotPath_iefix: asset-url('fontawesome-webfont.eot?#iefix');
|
||||
@fontAwesomeWoffPath: asset-url('fontawesome-webfont.woff');
|
||||
@fontAwesomeTtfPath: asset-url('fontawesome-webfont.ttf');
|
||||
@fontAwesomeSvgPath: asset-url('fontawesome-webfont.svg#fontawesomeregular');
|
||||
@import 'fontawesome/font-awesome';
|
||||
|
||||
// Font Awesome
|
||||
@import "fontawesome";
|
||||
// Glyphicons
|
||||
//@import "twitter/bootstrap/sprites.less";
|
||||
|
||||
// Your custom LESS stylesheets goes here
|
||||
//
|
||||
|
@ -26,7 +25,7 @@ body {
|
|||
// you may use and inherit here
|
||||
//
|
||||
// If you'd like to override bootstrap's own variables, you can do so here as well
|
||||
// See http://twitter.github.com/bootstrap/less.html for their names and documentation
|
||||
// See http://twitter.github.com/bootstrap/customize.html#variables for their names and documentation
|
||||
//
|
||||
// Example:
|
||||
// @linkColor: #ff0000;
|
||||
|
|
|
@ -98,6 +98,8 @@ class OrdersController < ApplicationController
|
|||
order = Order.find(params[:id])
|
||||
order.finish!(@current_user)
|
||||
redirect_to order, notice: I18n.t('orders.finish.notice')
|
||||
rescue => error
|
||||
redirect_to orders_url, alert: I18n.t('errors.general_msg', :msg => error.message)
|
||||
end
|
||||
|
||||
# Renders the fax-text-file
|
||||
|
|
|
@ -155,7 +155,7 @@ class Order < ActiveRecord::Base
|
|||
unless finished?
|
||||
Order.transaction do
|
||||
# set new order state (needed by notify_order_finished)
|
||||
update_attributes(:state => 'finished', :ends => Time.now, :updated_by => user)
|
||||
update_attributes!(:state => 'finished', :ends => Time.now, :updated_by => user)
|
||||
|
||||
# Update order_articles. Save the current article_price to keep price consistency
|
||||
# Also save results for each group_order_result
|
||||
|
|
|
@ -66,7 +66,7 @@ class Ordergroup < Group
|
|||
end
|
||||
|
||||
def avg_jobs_per_euro
|
||||
stats[:orders_sum] != 0 ? stats[:jobs_size].to_f / stats[:orders_sum].to_f : 0
|
||||
stats[:jobs_size].to_f / stats[:orders_sum].to_f rescue 0
|
||||
end
|
||||
|
||||
# This is the ordergroup job per euro performance
|
||||
|
@ -90,7 +90,7 @@ class Ordergroup < Group
|
|||
# Global average
|
||||
def self.avg_jobs_per_euro
|
||||
stats = Ordergroup.pluck(:stats)
|
||||
stats.sum {|s| s[:jobs_size].to_f } / stats.sum {|s| s[:orders_sum].to_f }
|
||||
stats.sum {|s| s[:jobs_size].to_f } / stats.sum {|s| s[:orders_sum].to_f } rescue 0
|
||||
end
|
||||
|
||||
def account_updated
|
||||
|
|
|
@ -61,8 +61,6 @@
|
|||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
enablePriceTooltips();
|
||||
});
|
||||
|
||||
function mark_article_for_delivery(stock_article_id) {
|
||||
|
@ -80,14 +78,6 @@
|
|||
return ( 0 == $('#stock_change_stock_article_' + stock_article_id).length );
|
||||
}
|
||||
|
||||
function enablePriceTooltips(context) {
|
||||
$('[data-toggle~="tooltip"]', context).tooltip({
|
||||
animation: false,
|
||||
html: true,
|
||||
placement: 'left'
|
||||
});
|
||||
}
|
||||
|
||||
= simple_form_for [@supplier, @delivery], validate: true do |f|
|
||||
= f.error_notification
|
||||
= base_errors f.object
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
var stock_change = $(
|
||||
'<%= j(render(:partial => 'stock_change', :locals => {:stock_change => @stock_change})) %>'
|
||||
).addClass('success');
|
||||
enablePriceTooltips(stock_change);
|
||||
$('input.stock-change-quantity', stock_change).val(quantity);
|
||||
|
||||
$('#stock_changes').append(stock_change);
|
||||
|
|
|
@ -8,7 +8,6 @@ $('div.container-fluid').prepend(
|
|||
var stock_article_for_adding = $(
|
||||
'<%= j(render(:partial => 'stock_article_for_adding', :locals => {:article => @stock_article})) %>'
|
||||
).addClass('success');
|
||||
enablePriceTooltips(stock_article_for_adding);
|
||||
|
||||
$('#stock_articles_for_adding tbody').append(stock_article_for_adding);
|
||||
updateSort('#stock_articles_for_adding');
|
||||
|
|
|
@ -10,7 +10,6 @@ $('div.container-fluid').prepend(
|
|||
var stock_article_for_adding = $(
|
||||
'<%= j(render(:partial => 'stock_article_for_adding', :locals => {:article => @stock_article, :delivery => @delivery})) %>'
|
||||
).addClass('success');
|
||||
enablePriceTooltips(stock_article_for_adding);
|
||||
|
||||
$('#stock_article_<%= @stock_article.id %>').replaceWith(stock_article_for_adding);
|
||||
updateSort('#stock_articles_for_adding');
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
var ordergroup = "#{escape_javascript(render('ordergroup'))}"
|
||||
|
||||
$(function() {
|
||||
$('a[data-remove-transaction]').live('click', function() {
|
||||
$(document).on('click', 'a[data-remove-transaction]', function() {
|
||||
$(this).parents('tr').remove();
|
||||
return false;
|
||||
});
|
||||
|
||||
$('a[data-add-transaction]').click(function() {
|
||||
$(document).on('click', 'a[data-add-transaction]', function() {
|
||||
$('#ordergroups').append(ordergroup);
|
||||
return false;
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
%h2= t '.title'
|
||||
- if ordergroup.not_enough_apples?
|
||||
.alert
|
||||
= t '.not_enough_apples'
|
||||
= t '.not_enough_apples'
|
||||
- unless Order.open.empty?
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
|
|
|
@ -1,20 +1,5 @@
|
|||
- title t('.title')
|
||||
|
||||
- content_for :javascript do
|
||||
:javascript
|
||||
$(function() {
|
||||
enablePriceTooltips();
|
||||
});
|
||||
|
||||
function enablePriceTooltips(context) {
|
||||
$('[data-toggle~="tooltip"]', context).tooltip({
|
||||
animation: false,
|
||||
html: true,
|
||||
placement: 'left',
|
||||
container: 'body'
|
||||
});
|
||||
}
|
||||
|
||||
- content_for :sidebar do
|
||||
%p
|
||||
%i= t('.text_deviations', inv_link: link_to(t('.temp_inventory'), stock_articles_path)).html_safe
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
= simple_form_for @supplier do |f|
|
||||
- if @supplier.shared_supplier
|
||||
.alert.alert-success
|
||||
= t 'suppliers.shared_supplier_note'
|
||||
.alert.alert-info
|
||||
= t 'suppliers.shared_supplier_note'
|
||||
= f.hidden_field :shared_supplier_id
|
||||
= f.input :name
|
||||
= f.input :address
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
.span6
|
||||
- if shared_supplier = @supplier.shared_supplier
|
||||
.alert.alert-info
|
||||
= t 'suppliers.shared_supplier_note'
|
||||
= t 'suppliers.shared_supplier_note'
|
||||
|
||||
%dl.dl-horizontal
|
||||
%dt= heading_helper(Supplier, :address) + ':'
|
||||
|
|
|
@ -1,7 +1,15 @@
|
|||
# ClientSideValidations Initializer
|
||||
|
||||
require 'client_side_validations/simple_form' if defined?(::SimpleForm)
|
||||
require 'client_side_validations/formtastic' if defined?(::Formtastic)
|
||||
# Uncomment to disable uniqueness validator, possible security issue
|
||||
# Disabled because of possible security issue and because of bug
|
||||
# https://github.com/bcardarella/client_side_validations/pull/532
|
||||
ClientSideValidations::Config.disabled_validators = [:uniqueness]
|
||||
|
||||
# Uncomment to validate number format with current I18n locale
|
||||
# Foodsoft is currently using localize_input which is activated on certain
|
||||
# fields only, meaning we can't globally turn this on. The non-i18n number
|
||||
# format is still supported - so for now keep false.
|
||||
# ClientSideValidations::Config.number_format_with_locale = true
|
||||
|
||||
# Uncomment the following block if you want each input field to have the validation messages attached.
|
||||
# ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
|
||||
|
|
|
@ -14,13 +14,15 @@ url_options.merge!({:port => FoodsoftConfig[:port]}) if FoodsoftConfig[:port]
|
|||
Foodsoft::Application.configure do
|
||||
config.action_mailer.default_url_options = url_options
|
||||
|
||||
if Rails.env !~ /development|test/
|
||||
if %w(production).include? Rails.env
|
||||
# Configuration of the exception_notification plugin
|
||||
# Mailadresses are set in config/app_config.yml
|
||||
config.middleware.use ExceptionNotifier,
|
||||
:email_prefix => FoodsoftConfig[:notification]['email_prefix'],
|
||||
:sender_address => FoodsoftConfig[:notification]['sender_address'],
|
||||
:exception_recipients => FoodsoftConfig[:notification]['error_recipients']
|
||||
config.middleware.use ExceptionNotification::Rack,
|
||||
:email => {
|
||||
:email_prefix => FoodsoftConfig[:notification]['email_prefix'],
|
||||
:sender_address => FoodsoftConfig[:notification]['sender_address'],
|
||||
:exception_recipients => FoodsoftConfig[:notification]['error_recipients']
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -507,6 +507,7 @@ fr:
|
|||
filename: Commande %{name}-%{date} - Répartition par cellules
|
||||
rows:
|
||||
- Nom de l'article
|
||||
- Commandée
|
||||
- Quantité
|
||||
- Prix unitaire
|
||||
- Unités par lot
|
||||
|
|
|
@ -8,10 +8,10 @@ nl:
|
|||
fc_price: prijs foodcoop
|
||||
fc_share: marge foodcoop
|
||||
gross_price: bruto prijs
|
||||
name:
|
||||
note:
|
||||
name: Naam
|
||||
note: Notitie
|
||||
price: netto prijs
|
||||
supplier:
|
||||
supplier: Leverancier
|
||||
tax: BTW
|
||||
unit: eenheid
|
||||
unit_quantity: groothandelseenheid
|
||||
|
@ -271,7 +271,7 @@ nl:
|
|||
one: Er moet éen artikel bijgewerkt worden.
|
||||
other: Er moeten %{count} artikelen bijgewerkt worden.
|
||||
upload:
|
||||
body:
|
||||
body: <p>Het bestand moet een utf-8 tekstbestand zijn met als extensie '.csv'. De eerste regel wordt overgeslagen.</p> <p>Velden moeten met een puntkomma (';') gescheiden worden, en tekst mag tussen dubbele aanhalingstekstens ("Tekst...") staan.</p> <p>Volgende van de kolommen:</p>
|
||||
fields:
|
||||
season_amount:
|
||||
season_price:
|
||||
|
@ -346,6 +346,7 @@ nl:
|
|||
filename: Bestelling %{name}-%{date} - Huishoudenslijst
|
||||
rows:
|
||||
- Artikel
|
||||
- Besteld
|
||||
- Hoeveelheid
|
||||
- Prijs
|
||||
- Gr.Eenh.
|
||||
|
@ -679,7 +680,7 @@ nl:
|
|||
remaining: nog %{remaining}
|
||||
title: Lopende bestellingen
|
||||
update:
|
||||
error_general:
|
||||
error_general: Er is een probleem opgetreden, de bestelling kon niet bijgewerkt worden.
|
||||
error_stale: In de tussentijd heeft iemand anders ook bestelt, daarom kon je bestelling niet opgeslagen worden. Sorry!
|
||||
notice: De bestelling is opgeslagen.
|
||||
helpers:
|
||||
|
@ -717,8 +718,8 @@ nl:
|
|||
index:
|
||||
due_date_format: ! '%A %d %B'
|
||||
messages:
|
||||
title:
|
||||
view_all:
|
||||
title: Nieuwste berichten
|
||||
view_all: Alle berichten bekijken
|
||||
my_ordergroup:
|
||||
funds: ! '| Beschikbaar tegoed:'
|
||||
last_update: Laatst gewijzigd %{when} geleden
|
||||
|
@ -748,7 +749,7 @@ nl:
|
|||
description: Omschrijving
|
||||
funds: ! 'Beschikbaar krediet:'
|
||||
invite: Iemand uitnodigen
|
||||
people:
|
||||
people: Personen
|
||||
search: Zoeken ...
|
||||
title: Mijn huishouden
|
||||
ordergroup_cancelled: Je bent geen lid meer van de groep %{group}.
|
||||
|
@ -786,19 +787,25 @@ nl:
|
|||
write_message: Bericht schrijven
|
||||
invites:
|
||||
errors:
|
||||
already_member:
|
||||
already_member: is al lid van de foodcoop.
|
||||
modal_form:
|
||||
body:
|
||||
title:
|
||||
body: <p>Hier kun je iemand die nog geen lid is uitnodigen voor de groep<b>%{group}</b>.</p> <p>Na aanmelding is hij of zij automatisch lid van deze groep.</p>
|
||||
title: Iemand uitnodigen
|
||||
new:
|
||||
action:
|
||||
body:
|
||||
success:
|
||||
action: Uitnodiging versturen
|
||||
body: <p>Hier kun je iemand die nog geen lid is, uitnodigen voor de groep <b>%{group}</b>.</p>
|
||||
success: Persoon is uitgenodigd.
|
||||
layouts:
|
||||
application1:
|
||||
title: Foodsoft - %{title}
|
||||
email:
|
||||
footer:
|
||||
footer: ! '--
|
||||
|
||||
Foodsoft: %{foodsoft}
|
||||
|
||||
Foodcoop-Homepage: %{foodcoop}
|
||||
|
||||
Help: %{help}'
|
||||
foodsoft: Foodsoft
|
||||
header:
|
||||
feedback:
|
||||
|
@ -815,7 +822,7 @@ nl:
|
|||
page: Pagina %{number}
|
||||
login:
|
||||
accept_invitation:
|
||||
body:
|
||||
body: <p>Je bent uitgenodigd als lid voor foodcoop %{foodcoop} in de groep <b>%{group}</b>.</p> <p>Als je wilt meedoen, vul dan dit formulier in.</p> <p>Natuurlijk zullen we je informatie niet delen met anderen. Je kunt zelf aangeven, welke informatie voor andere leden beschikbaar is (maar beheerders hebben daar altijd toegang toe).</p>
|
||||
submit: Foodsoft account aanmaken
|
||||
title: Uitnodiging voor %{name}
|
||||
controller:
|
||||
|
@ -837,9 +844,9 @@ nl:
|
|||
submit: Nieuw wachtwoord opslaan
|
||||
title: Nieuw wachtwoord
|
||||
mailer:
|
||||
dateformat:
|
||||
dateformat: ! '%d %b'
|
||||
feedback:
|
||||
header:
|
||||
header: ! '%{user} schreef op %{date}:'
|
||||
subject:
|
||||
foodsoft_message:
|
||||
footer:
|
||||
|
@ -911,21 +918,21 @@ nl:
|
|||
new:
|
||||
list:
|
||||
desc:
|
||||
mail:
|
||||
mail: bijvoorbeeld door een email te sturen naar %{email}.
|
||||
subscribe:
|
||||
subscribe_msg:
|
||||
wiki:
|
||||
no_user_found: Geen gebruiker gevonden
|
||||
search: Zoeken ...
|
||||
search_user: Gebruiker zoeken
|
||||
title:
|
||||
title: Nieuw bericht
|
||||
show:
|
||||
all_messages:
|
||||
from:
|
||||
reply:
|
||||
sent_on:
|
||||
subject:
|
||||
title:
|
||||
all_messages: Berichtenoverzicht
|
||||
from: ! 'Van:'
|
||||
reply: Antwoorden
|
||||
sent_on: ! 'Verzonden:'
|
||||
subject: ! 'Onderwerp:'
|
||||
title: Bericht lezen
|
||||
model:
|
||||
delivery:
|
||||
each_stock_article_must_be_unique: In een levering mag ieder voorraadsartikel maar een keer voorkomen.
|
||||
|
@ -1014,9 +1021,9 @@ nl:
|
|||
title: Artikel
|
||||
unit_quantity:
|
||||
index:
|
||||
action_end:
|
||||
confirm_delete:
|
||||
confirm_end:
|
||||
action_end: Sluiten
|
||||
confirm_delete: Wil je de bestelling werkelijk verwijderen?
|
||||
confirm_end: Wil je de bestelling %{order} werkelijk sluiten? Dit kun je niet ongedaan maken.
|
||||
ended_orders: Gesloten bestellingen
|
||||
ending:
|
||||
new_order:
|
||||
|
@ -1037,11 +1044,11 @@ nl:
|
|||
title:
|
||||
orders:
|
||||
ending:
|
||||
start:
|
||||
start: Start
|
||||
status:
|
||||
supplier:
|
||||
supplier: Leverancier
|
||||
show:
|
||||
action_end:
|
||||
action_end: Sluiten!
|
||||
amounts:
|
||||
articles:
|
||||
articles_ordered:
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/ruby1.8
|
||||
|
||||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
|
||||
|
||||
# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
|
||||
# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
|
||||
require "dispatcher"
|
||||
|
||||
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
|
||||
Dispatcher.dispatch
|
|
@ -1,26 +0,0 @@
|
|||
#!/usr/bin/ruby1.8
|
||||
#
|
||||
# You may specify the path to the FastCGI crash log (a log of unhandled
|
||||
# exceptions which forced the FastCGI instance to exit, great for debugging)
|
||||
# and the number of requests to process before running garbage collection.
|
||||
#
|
||||
# By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
|
||||
# and the GC period is nil (turned off). A reasonable number of requests
|
||||
# could range from 10-100 depending on the memory footprint of your app.
|
||||
#
|
||||
# Example:
|
||||
# # Default log path, normal GC behavior.
|
||||
# RailsFCGIHandler.process!
|
||||
#
|
||||
# # Default log path, 50 requests between GC.
|
||||
# RailsFCGIHandler.process! nil, 50
|
||||
#
|
||||
# # Custom log path, normal GC behavior.
|
||||
# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
|
||||
#
|
||||
RAILS_ENV = "production"
|
||||
|
||||
require File.dirname(__FILE__) + "/../config/environment"
|
||||
require 'fcgi_handler'
|
||||
|
||||
RailsFCGIHandler.process!
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/ruby1.8
|
||||
|
||||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
|
||||
|
||||
# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
|
||||
# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
|
||||
require "dispatcher"
|
||||
|
||||
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
|
||||
Dispatcher.dispatch
|
Loading…
Reference in a new issue