Class: Debci::SelfService
Defined Under Namespace
Classes: InvalidRequest
Constant Summary
Constants included
from HTMLHelpers
HTMLHelpers::ICONS
Instance Method Summary
collapse
#invalid_extra_apt_sources
#expand_pin_packages, #expand_url, #filesize, #history_url, #icon, #package_url, #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
53
54
55
56
57
58
|
# File 'lib/debci/self_service.rb', line 53
def authenticate!
return unless session[:user].nil?
redirect('/user/login')
halt
end
|
#get_job_to_retry(run_id) ⇒ Object
285
286
287
288
289
290
291
292
293
|
# File 'lib/debci/self_service.rb', line 285
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
295
296
297
298
299
300
301
302
303
304
305
|
# File 'lib/debci/self_service.rb', line 295
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,
is_private: job.is_private
).select { |j| Set.new(j.pin_packages) == Set.new(job.pin_packages) }
.select { |j| Set.new(j.) == Set.new(job.) }
end
|
#login_callback(uid, username) ⇒ Object
307
308
309
310
311
312
313
314
|
# File 'lib/debci/self_service.rb', line 307
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
|
198
199
200
201
202
203
204
|
# File 'lib/debci/self_service.rb', line 198
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?
= ()
raise InvalidRequest.new("Please enter valid extra apt sources: Invalid apt sources: #{}") unless .empty?
end
|