mirror of
https://github.com/Threnklyn/Klaus.git
synced 2026-05-18 12:13:28 +02:00
24 lines
662 B
Ruby
24 lines
662 B
Ruby
class Document < ActiveRecord::Base
|
|
belongs_to :doc_type
|
|
belongs_to :professor
|
|
belongs_to :semester
|
|
belongs_to :lesson
|
|
|
|
mount_uploader :file, DocumentUploader
|
|
|
|
validates :doc_type_id, presence: true
|
|
validates :professor_id, presence: true
|
|
validates :semester_id, presence: true
|
|
validates :lesson_id, presence: true
|
|
validates_presence_of :file
|
|
validates_integrity_of :file
|
|
validates_processing_of :file
|
|
|
|
before_validation :set_position
|
|
|
|
private
|
|
def set_position
|
|
self.position = (Document.where(doc_type: self.doc_type, professor: self.professor, semester: self.semester, lesson: self.lesson).maximum(:position) || 0) + 1
|
|
end
|
|
end
|