summaryrefslogtreecommitdiff
path: root/app/models/ci
diff options
context:
space:
mode:
authorShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-04-07 15:52:25 +0900
committerKamil Trzcinski <ayufan@ayufan.eu>2017-04-07 16:17:27 +0200
commit76c0364ca52ce0b777f2ddb277fe666d95392256 (patch)
tree8923dd63370e13a5c769a438c7769cc4120118f1 /app/models/ci
parent2548c155eed13c806951a6303c85dbb0c5772ca3 (diff)
downloadgitlab-ce-76c0364ca52ce0b777f2ddb277fe666d95392256.tar.gz
Use allow_destroy. Remove condtion from form.haml.
Diffstat (limited to 'app/models/ci')
-rw-r--r--app/models/ci/trigger.rb15
-rw-r--r--app/models/ci/trigger_schedule.rb5
2 files changed, 5 insertions, 15 deletions
diff --git a/app/models/ci/trigger.rb b/app/models/ci/trigger.rb
index 225b6253616..f7ceba0d2a5 100644
--- a/app/models/ci/trigger.rb
+++ b/app/models/ci/trigger.rb
@@ -8,27 +8,16 @@ module Ci
belongs_to :owner, class_name: "User"
has_many :trigger_requests, dependent: :destroy
- has_one :trigger_schedule, dependent: :destroy
+ has_one :trigger_schedule, dependent: :destroy, inverse_of: :trigger
validates :token, presence: true, uniqueness: true
before_validation :set_default_values
- accepts_nested_attributes_for :trigger_schedule
-
- attr_accessor :trigger_schedule_on
+ accepts_nested_attributes_for :trigger_schedule, allow_destroy: true
def set_default_values
self.token = SecureRandom.hex(15) if self.token.blank?
-
- if trigger_schedule_on.present?
- if trigger_schedule_on.to_i == 1
- self.trigger_schedule.project = project
- self.trigger_schedule.trigger = self
- else
- self.trigger_schedule = nil
- end
- end
end
def last_trigger_request
diff --git a/app/models/ci/trigger_schedule.rb b/app/models/ci/trigger_schedule.rb
index d8a2770ea61..f7d602920ba 100644
--- a/app/models/ci/trigger_schedule.rb
+++ b/app/models/ci/trigger_schedule.rb
@@ -6,11 +6,11 @@ module Ci
acts_as_paranoid
belongs_to :project
- belongs_to :trigger
+ belongs_to :trigger, inverse_of: :trigger_schedule
delegate :ref, to: :trigger, allow_nil: true
- validates :trigger, presence: { unless: :importing? }
+ validates_presence_of :trigger
validates :cron, cron: true, presence: { unless: :importing? }
validates :cron_timezone, cron_timezone: true, presence: { unless: :importing? }
validates :ref, presence: { unless: :importing? }
@@ -19,6 +19,7 @@ module Ci
def set_next_run_at
self.next_run_at = Gitlab::Ci::CronParser.new(cron, cron_timezone).next_time_from(Time.now)
+ self.project = trigger.project
end
def schedule_next_run!