Class: Issue

Inherits:
Ekylibre::Record::Base show all
Includes:
Attachable, Commentable, Customizable, Versionable
Defined in:
app/models/issue.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-2016 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: issues

created_at           :datetime         not null
creator_id           :integer
custom_fields        :jsonb
description          :text
geolocation          :geometry({:srid=>4326, :type=>"point"})
gravity              :integer
id                   :integer          not null, primary key
lock_version         :integer          default(0), not null
name                 :string           not null
nature               :string           not null
observed_at          :datetime         not null
picture_content_type :string
picture_file_name    :string
picture_file_size    :integer
picture_updated_at   :datetime
priority             :integer
state                :string
target_id            :integer
target_type          :string
updated_at           :datetime         not null
updater_id           :integer

Instance Method Summary collapse

Methods included from Customizable

#custom_value, #set_custom_value, #validate_custom_fields

Methods included from Versionable

#add_creation_version, #add_destruction_version, #add_update_version, #last_version, #notably_changed?, #version_object

Methods inherited from Ekylibre::Record::Base

#already_updated?, attr_readonly_with_conditions, #check_if_destroyable?, #check_if_updateable?, columns_definition, complex_scopes, customizable?, #customizable?, #customized?, #destroyable?, #editable?, has_picture, #human_attribute_name, human_attribute_name_with_id, nomenclature_reflections, #old_record, #others, refers_to, scope_with_registration, simple_scopes, #updateable?

Instance Method Details

#has_intervention?Boolean

Returns:

  • (Boolean)

128
129
130
# File 'app/models/issue.rb', line 128

def has_intervention?
  interventions.any?
end

#picture_path(style = :original) ⇒ Object


140
141
142
# File 'app/models/issue.rb', line 140

def picture_path(style = :original)
  picture.path(style)
end

#statusObject


132
133
134
135
136
137
138
# File 'app/models/issue.rb', line 132

def status
  if opened?
    return (has_intervention? ? :caution : :stop)
  else
    return :go
  end
end

#target_nameObject


144
145
146
# File 'app/models/issue.rb', line 144

def target_name
  target ? target.name : :none.tl
end