Class: Debci::SelfService
Defined Under Namespace
Classes: InvalidRequest
Constant Summary
Constants included
from HTMLHelpers
HTMLHelpers::ICONS
Instance Method Summary
collapse
#expand_pin_packages, #expand_url, #filesize, #history_url, #icon, #title_test_trigger_pin
#enqueue, #request_batch_tests, #request_tests, #valid_package_name?, #validate_batch_test, #validate_priority, #validate_tests
Methods inherited from App
#get_page_params, get_page_range, #get_page_range
Instance Method Details
#authenticate! ⇒ Object
51
52
53
54
55
56
|
# File 'lib/debci/self_service.rb', line 51
def authenticate!
return unless session[:user].nil?
redirect('/user/login')
halt
end
|
#get_job_to_retry(run_id) ⇒ Object
257
258
259
260
261
262
263
264
265
|
# File 'lib/debci/self_service.rb', line 257
def get_job_to_retry(run_id)
begin
job = Debci::Job.find(run_id)
rescue ActiveRecord::RecordNotFound
halt(400, "Job ID not known: #{run_id}")
end
halt(403, "Package #{job.package.name} is in the REJECT list and cannot be retried") if Debci.reject_list.include?(job.package, suite: job.suite, arch: job.arch)
job
end
|
#get_same_pending_jobs(job) ⇒ Object
267
268
269
270
271
272
273
274
275
|
# File 'lib/debci/self_service.rb', line 267
def get_same_pending_jobs(job)
Debci::Job.pending.where(
package_id: job.package_id,
suite: job.suite,
arch: job.arch,
requestor: job.requestor,
trigger: job.trigger,
).select { |j| Set.new(j.pin_packages) == Set.new(job.pin_packages) }
end
|
#login_callback(uid, username) ⇒ Object
277
278
279
280
281
282
283
284
|
# File 'lib/debci/self_service.rb', line 277
def login_callback(uid, username)
user = Debci::User.find_or_create_by!(uid: uid) do |c|
c.username = username
end
user.update(username: username) if user.username != username
session[:user] = user
redirect("/user/#{user.username}")
end
|
187
188
189
190
191
|
# File 'lib/debci/self_service.rb', line 187
def validate_form_submission(package, suite, archs)
raise InvalidRequest.new('Please enter a valid package name') unless valid_package_name?(package)
raise InvalidRequest.new('Please select a suite') if suite == ''
raise InvalidRequest.new('Please select an architecture') if archs.empty?
end
|