Skip to content

Commit

Permalink
Merge branch 'master' into debug/gh#1994-prevent_parcel_deletion_when…
Browse files Browse the repository at this point in the history
…_switching_sale_status

Merged master to run accurate tests
  • Loading branch information
Zank94 committed Aug 3, 2017
2 parents ff93ba2 + c4aa16c commit e3b02fc
Show file tree
Hide file tree
Showing 142 changed files with 1,500 additions and 1,261 deletions.
7 changes: 1 addition & 6 deletions .travis.yml
Expand Up @@ -3,12 +3,11 @@ bundler_args: "--full-index --without development"
cache: bundler
rvm:
- 2.2.7
- 2.3.4
env:
- TEST_SUITE=libs
- TEST_SUITE=models
- TEST_SUITE=controllers
- TEST_SUITE=frontend
#- TEST_SUITE=frontend
before_install: test/ci/before_install
before_script: test/ci/before_script
script: xvfb-run bundle exec rake test:$TEST_SUITE DRIVER=webkit
Expand All @@ -19,7 +18,3 @@ notifications:
email: false
slack:
secure: v1/ya/fyroy3BmW9FDMmKi3lwamnzY6ktQAU/vEJCg4AgvauY0QJthMsLXOBb3RnhFWao2Kj2H40XjI7VtH3z46VEq6DPLURBqmAc24c30ZMi/XIM9YqauYeEPHPhM0nDQY+s0ovU2uX/1w7uv/atNjy0n643An61Em+qPwIW5U=
addons:
apt:
packages:
- libqtwebkit-dev
2 changes: 1 addition & 1 deletion Gemfile
Expand Up @@ -189,7 +189,7 @@ gem 'luhn'
gem 'bootstrap-slider-rails'

group :development do
gem 'bullet'
gem 'bullet', '~> 5.5.0'

gem 'quiet_assets'
# gem 'rack-mini-profiler'
Expand Down
40 changes: 20 additions & 20 deletions Gemfile.lock
Expand Up @@ -65,7 +65,7 @@ GEM
sidekiq (>= 2.11)
arel (6.0.4)
ast (2.3.0)
autoprefixer-rails (7.1.2.2)
autoprefixer-rails (7.1.2.3)
execjs
awesome_nested_set (3.1.3)
activerecord (>= 4.0.0, < 5.2)
Expand Down Expand Up @@ -120,7 +120,7 @@ GEM
cocoon (1.2.10)
codacy-coverage (1.1.6)
simplecov
code_analyzer (0.4.7)
code_analyzer (0.4.8)
sexp_processor
code_string (0.0.1)
coderay (1.1.1)
Expand Down Expand Up @@ -168,16 +168,16 @@ GEM
erubis (2.7.0)
et-orbi (1.0.5)
tzinfo
eventmachine (1.2.3)
eventmachine (1.2.5)
exception_notification (4.2.1)
actionmailer (>= 4.0, < 6)
activesupport (>= 4.0, < 6)
execjs (2.7.0)
factory_girl (4.8.0)
activesupport (>= 3.0.0)
faraday (0.12.1)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
faraday_middleware (0.11.0.1)
faraday_middleware (0.12.0)
faraday (>= 0.7.4, < 1.0)
feedjira (2.1.2)
faraday (>= 0.9)
Expand All @@ -198,7 +198,7 @@ GEM
activesupport (>= 4.2.0)
gyoku (1.3.1)
builder (>= 2.1.2)
haml (5.0.1)
haml (5.0.2)
temple (>= 0.8.0)
tilt
hashie (3.5.6)
Expand Down Expand Up @@ -273,7 +273,7 @@ GEM
mime-types-data (3.2016.0521)
mimemagic (0.3.2)
mini_portile2 (2.1.0)
minitest (5.10.2)
minitest (5.10.3)
minitest-reporters (1.1.14)
ansi
builder
Expand Down Expand Up @@ -313,8 +313,8 @@ GEM
paperclip-document (0.0.10)
burisu-docsplit (>= 0.7.9)
paperclip (>= 3.1, < 5.2)
parallel (1.11.2)
parallel_tests (2.14.1)
parallel (1.12.0)
parallel_tests (2.14.2)
parallel
parser (2.4.0.0)
ast (~> 2.2)
Expand Down Expand Up @@ -363,9 +363,9 @@ GEM
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails_best_practices (1.18.1)
rails_best_practices (1.19.0)
activesupport
code_analyzer (>= 0.4.3)
code_analyzer (>= 0.4.8)
erubis
i18n
json
Expand Down Expand Up @@ -430,11 +430,11 @@ GEM
rubyzip (1.2.1)
rufus-scheduler (3.4.2)
et-orbi (~> 1.0)
sass (3.5.0)
sass-listen (~> 3.0.7)
sass-listen (3.0.7)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9.7)
sass (3.5.1)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
Expand All @@ -456,13 +456,13 @@ GEM
selenium-webdriver (3.4.4)
childprocess (~> 0.5)
rubyzip (~> 1.0)
sentry-raven (2.5.3)
sentry-raven (2.6.1)
faraday (>= 0.7.6, < 1.0)
sepa_king (0.9.0)
activemodel (>= 3.0.0)
builder
iban-tools
sexp_processor (4.9.0)
sexp_processor (4.10.0)
shoulda-context (1.2.2)
sidekiq (4.2.10)
concurrent-ruby (~> 1.0)
Expand Down Expand Up @@ -518,7 +518,7 @@ GEM
rack (>= 1, < 3)
thor (0.19.4)
thread_safe (0.3.6)
tilt (2.0.7)
tilt (2.0.8)
timecop (0.9.1)
timeliness (0.3.8)
tins (1.15.0)
Expand Down Expand Up @@ -586,7 +586,7 @@ DEPENDENCIES
bootstrap-slider-rails
bootstrap3-datetimepicker-rails
browser
bullet
bullet (~> 5.5.0)
capybara
capybara-webkit
charlock_holmes
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
2.48.0
2.48.2
58 changes: 38 additions & 20 deletions app/controllers/backend/outgoing_payment_lists_controller.rb
Expand Up @@ -51,25 +51,43 @@ def show

@entity_of_company_full_name = Entity.of_company.full_name

respond_with(@outgoing_payment_list,
methods: %i[currency payments_sum entity],
include: {
payer: {
methods: [:picture_path],
include: { default_mail_address: { methods: [:mail_coordinate] }, websites: {}, emails: {}, mobiles: {} }
},
payments: {
methods: %i[amount_to_letter label affair_reference_numbers],
include: {
responsible: {},
affair: { include: { purchases: {} } },
mode: {},
payee: {
include: { default_mail_address: { methods: [:mail_coordinate] }, websites: {}, emails: {}, mobiles: {} }
}
}
}
})
if %w[pdf odt docx xml csv].include? params[:format].to_s
respond_with(
@outgoing_payment_list,
methods: %i[currency payments_sum entity],
include: {
payer: {
methods: [:picture_path],
include: {
default_mail_address: {
methods: [:mail_coordinate]
},
websites: {},
emails: {},
mobiles: {}
}
},
payments: {
methods: %i[amount_to_letter label affair_reference_numbers],
include: {
responsible: {},
affair: { include: { purchases: {} } },
mode: {},
payee: {
include: {
default_mail_address: {
methods: [:mail_coordinate]
},
websites: {},
emails: {},
mobiles: {}
}
}
}
}
}
)
end
end

def export_to_sepa
Expand Down Expand Up @@ -111,7 +129,7 @@ def create
params[:purchase_affairs] ||= []
params[:purchase_affairs].reject!(&:empty?)

if params[:purchase_affairs] && params[:purchase_affairs].present?
if params[:purchase_affairs].is_a?(Array) && params[:purchase_affairs].any?
affairs = PurchaseAffair.where(id: params[:purchase_affairs].compact).uniq

mode_id = params[:outgoing_payment_list][:mode_id] if params[:outgoing_payment_list] && params[:outgoing_payment_list][:mode_id]
Expand Down
35 changes: 21 additions & 14 deletions app/controllers/backend/target_distributions_controller.rb
Expand Up @@ -46,22 +46,29 @@ class TargetDistributionsController < Backend::BaseController
def edit_many
targets = Product.mine_or_undefined

if params[:activity_id]
activity = Activity.find_by(id: params[:activity_id])
if activity
targets = targets.of_variety(activity.cultivation_variety, activity.support_variety)
end
else
targets = targets.where(type: %w[Animal AnimalGroup Plant LandParcel Equipment EquipmentFleet]) # .where(id: InterventionTarget.includes(:product)) #.where.not(product_id: TargetDistribution.select(:target_id)))
end
targets = if params[:activity_id] && activity = Activity.find_by(id: params[:activity_id])
targets.of_variety(activity.cultivation_variety, activity.support_variety)
else
targets.generic_supports
end

@target_distributions = TargetDistribution.where(target_id: targets).joins(:target).order('products.name')
new_id = -1
targets.order(:name).each do |target|
unless @target_distributions.detect { |d| d.target_id == target.id }
@target_distributions << @target_distributions.build(id: new_id, target: target, activity_production: target.best_activity_production)
end
new_id -= 1

targets = targets.where.not(id: @target_distributions.pluck(:target_id))

activity_productions = ActivityProduction.where(id:
targets.joins('JOIN activity_productions ON activity_productions.support_id = products.id')
.select('MAX(activity_productions.id)')
.group('products.id'))

activity_productions = activity_productions.pluck(:support_id, :id).to_h

targets.order(:name).pluck(:id).each_with_index do |target_id, id|
@target_distributions << @target_distributions.build(
id: -id,
target_id: target_id,
activity_production_id: activity_productions[target_id]
)
end
end

Expand Down
6 changes: 4 additions & 2 deletions app/helpers/backend/activities_helper.rb
Expand Up @@ -4,6 +4,8 @@ def support_series(activity)
activity
.productions
.of_campaign(current_campaign)
.includes(:cultivable_zone)
.includes(:campaign)
.find_each
.map do |support|
next unless support.support_shape
Expand All @@ -19,7 +21,7 @@ def support_series(activity)

def inspection_series(dimension, inspections)
plant_ids = inspections.pluck(:product_id).uniq
Plant.where(id: plant_ids).map do |plant|
Plant.where(id: plant_ids).includes(:nature).map do |plant|
next unless plant.shape

in_qual = inspection_quality(dimension, plant)
Expand Down Expand Up @@ -152,7 +154,7 @@ def popup_calibrations(dimension, plant, round = 2)
last_i
.scales
.map do |scale|
dataset = last_i.calibrations.of_scale(scale).reorder(:id)
dataset = last_i.calibrations.includes(nature: :scale).of_scale(scale).reorder(:id)
dataset.map do |calibration|
{
label: calibration.name,
Expand Down
1 change: 1 addition & 0 deletions app/helpers/backend/activity_productions_helper.rb
Expand Up @@ -3,6 +3,7 @@ module ActivityProductionsHelper
def production_chronologies(productions, campaign = nil)
campaign ||= current_campaign
return nil if productions.empty?
productions = productions.includes(:activity)
dates = (productions.map { |p| p.started_on_for(campaign) } +
productions.map { |p| p.stopped_on_for(campaign) }).sort
margin = ((dates.last - dates.first).to_f * 0.07).to_i
Expand Down
2 changes: 1 addition & 1 deletion app/helpers/backend/form_builder.rb
Expand Up @@ -206,7 +206,7 @@ def items_list(attribute_name, options = {})
else
raise 'Need selection'
end
selection = selection - Indicateable::DEPRECATED if attribute_name == :variable_indicators_list || attribute_name == :frozen_indicators_list
selection -= Indicateable::DEPRECATED if attribute_name == :variable_indicators_list || attribute_name == :frozen_indicators_list
list = @object.send(attribute_name) || []
input(attribute_name, options) do
@template.content_tag(:span, class: 'control-group symbol-list') do
Expand Down
45 changes: 29 additions & 16 deletions app/helpers/backend/land_parcels_helper.rb
Expand Up @@ -4,7 +4,9 @@ def land_parcels_map(options = {})
options[:collection] ||= LandParcel.all
main_serie = []
options[:collection].each do |p|
next unless p.shape
land_parcel_shape = p.shape
next unless land_parcel_shape

popup_content = []

# for all land_parcel
Expand All @@ -15,27 +17,38 @@ def land_parcels_map(options = {})

# for indicators in list
indicators = %i[soil_nature potential_hydrogen available_water_capacity_per_area soil_depth organic_matter_concentration]
indicators.each do |indicator|
next unless p.send(indicator).present? && (p.send(indicator).to_d > 0.0)
available_indicators = (p.readings.map(&:indicator_name).map(&:to_sym) & indicators)

serie = {
name: p.name,
shape: land_parcel_shape,
potential_hydrogen: 0.0,
organic_matter_concentration: 0.0,
available_water_capacity_per_area: 0.0,
soil_nature: :unknown.tl
}

available_indicators.each do |indicator|
indicator_value = p.send(indicator)
next unless indicator_value.present? && (indicator_value.to_d > 0.0)

if indicator == :soil_nature
soil_nature = Nomen::SoilNature[p.soil_nature]
serie[:soil_nature] = soil_nature ? soil_nature.human_name : :unknown.tl
else
serie[indicator] = indicator_value.to_d
end

popup_content << {
label: Nomen::Indicator[indicator].human_name,
value: p.send(indicator).l
value: indicator_value.l
}
end

popup_content << render('popup', land_parcel: p)

main_serie << {
name: p.name,
shape: p.shape,
potential_hydrogen: p.potential_hydrogen.to_d,
organic_matter_concentration: p.organic_matter_concentration.to_d,
available_water_capacity_per_area: p.available_water_capacity_per_area.to_d,
soil_nature: (Nomen::SoilNature[p.soil_nature] ? Nomen::SoilNature[p.soil_nature].human_name : :unknown.tl),
popup: {
header: true,
content: popup_content
}
}
serie[:popup] = { header: true, content: popup_content }
main_serie << serie
end

if main_serie.any?
Expand Down
2 changes: 1 addition & 1 deletion app/models/activity_production.rb
Expand Up @@ -538,7 +538,7 @@ def harvest_yield(harvest_variety, options = {})
global_coef_harvest_yield = []

if harvest_interventions.any?
harvest_interventions.find_each do |harvest|
harvest_interventions.includes(:outputs).includes(:targets).find_each do |harvest|
harvest_working_area = []
harvest.targets.each do |target|
harvest_working_area << ::Charta.new_geometry(target.working_zone).area.in(:square_meter)
Expand Down

0 comments on commit e3b02fc

Please sign in to comment.