Class: CultivableZone

Inherits:
Ekylibre::Record::Base show all
Includes:
Attachable, Customizable
Defined in:
app/models/cultivable_zone.rb

Overview

Informations

License

Ekylibre - Simple agricultural ERP Copyright (C) 2008-2009 Brice Texier, Thibaud Merigon Copyright (C) 2010-2012 Brice Texier Copyright (C) 2012-2019 Brice Texier, David Joulin

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see www.gnu.org/licenses.

Table: cultivable_zones

codes                  :jsonb
created_at             :datetime         not null
creator_id             :integer
custom_fields          :jsonb
description            :text
farmer_id              :integer
id                     :integer          not null, primary key
lock_version           :integer          default(0), not null
name                   :string           not null
owner_id               :integer
production_system_name :string
shape                  :geometry({:srid=>4326, :type=>"multi_polygon"}) not null
soil_nature            :string
updated_at             :datetime         not null
updater_id             :integer
uuid                   :uuid
work_number            :string           not null

Instance Method Summary collapse

Methods included from Customizable

#custom_value, #set_custom_value, #validate_custom_fields

Methods inherited from Ekylibre::Record::Base

#already_updated?, #check_if_destroyable?, #check_if_updateable?, columns_definition, #customizable?, customizable?, #customized?, #destroyable?, #editable?, has_picture, #human_attribute_name, nomenclature_reflections, #old_record, #others, refers_to, #unsuppress, #updateable?

Methods included from Userstamp::Stampable

included

Methods included from Userstamp::Stamper

included

Instance Method Details

#cap_numberObject

Returns last created islet number from cap statements


89
90
91
92
93
# File 'app/models/cultivable_zone.rb', line 89

def cap_number
  islets = CapIslet.shape_intersecting(shape).order(id: :desc)
  return islets.first.islet_number if islets.any?
  nil
end

#city_nameObject


95
96
97
98
99
# File 'app/models/cultivable_zone.rb', line 95

def city_name
  islets = CapIslet.shape_intersecting(shape).order(id: :desc)
  return islets.first.city_name if islets.any?
  nil
end

#current_cultivations(at = Time.zone.now) ⇒ Object

get the first object with variety 'plant', availables


84
85
86
# File 'app/models/cultivable_zone.rb', line 84

def current_cultivations(at = Time.zone.now)
  Plant.contained_by(current_supports, at)
end

#shape_svgObject


79
80
81
# File 'app/models/cultivable_zone.rb', line 79

def shape_svg
  shape.to_svg(srid: 2154)
end