diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-09-10 17:54:09 +0300 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-09-10 17:54:09 +0300 |
commit | 6db2843bc2e662f785625eb8aff6803c3e2786f8 (patch) | |
tree | 42d15e58b436931a6e7c19ab0427f08ebd882305 /app/models | |
parent | f5af4efabd410f6140fb0ac16f7787bb2a5b457f (diff) |
fix of project creation
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/ci/network.rb | 2 | ||||
-rw-r--r-- | app/models/ci/user.rb | 67 | ||||
-rw-r--r-- | app/models/ci/user_session.rb | 23 |
3 files changed, 1 insertions, 91 deletions
diff --git a/app/models/ci/network.rb b/app/models/ci/network.rb index c307907e6b8..1a54213f4f1 100644 --- a/app/models/ci/network.rb +++ b/app/models/ci/network.rb @@ -99,7 +99,7 @@ module Ci private def url - GitlabCi.config.gitlab_server.url + Gitlab.config.gitlab.url end def default_opts diff --git a/app/models/ci/user.rb b/app/models/ci/user.rb deleted file mode 100644 index f7e2eaae1f1..00000000000 --- a/app/models/ci/user.rb +++ /dev/null @@ -1,67 +0,0 @@ -# User object is stored in session -module Ci - class User - DEVELOPER_ACCESS = 30 - - attr_reader :attributes - - def initialize(hash) - @attributes = hash - end - - def gitlab_projects(search = nil, page = 1, per_page = 100) - Rails.cache.fetch(cache_key(page, per_page, search)) do - Ci::Project.from_gitlab(self, :authorized, { page: page, per_page: per_page, search: search, ci_enabled_first: true }) - end - end - - def method_missing(meth, *args, &block) - if attributes.has_key?(meth.to_s) - attributes[meth.to_s] - else - super - end - end - - def avatar_url - attributes['avatar_url'] - end - - def cache_key(*args) - "#{self.id}:#{args.join(":")}:#{sync_at.to_s}" - end - - def sync_at - @sync_at ||= Time.now - end - - def reset_cache - @sync_at = Time.now - end - - def authorized_runners - Ci::Runner.specific.includes(:runner_projects). - where(Ci::RunnerProject.table_name => { project_id: authorized_projects } ) - end - - def authorized_projects - Ci::Project.where(gitlab_id: current_user.authorized_projects.map(&:id)) - end - - def authenticate_options - if attributes['access_token'] - { access_token: attributes['access_token'] } - else - { private_token: attributes['private_token'] } - end - end - - private - - def project_info(project_gitlab_id) - Rails.cache.fetch(cache_key("project_info", project_gitlab_id, sync_at)) do - Ci::Network.new.project(authenticate_options, project_gitlab_id) - end - end - end -end diff --git a/app/models/ci/user_session.rb b/app/models/ci/user_session.rb deleted file mode 100644 index 27c71e30591..00000000000 --- a/app/models/ci/user_session.rb +++ /dev/null @@ -1,23 +0,0 @@ -module Ci - class UserSession - include ActiveModel::Conversion - include Ci::StaticModel - extend ActiveModel::Naming - - def authenticate(auth_opts) - network = Ci::Network.new - user = network.authenticate(auth_opts) - - if user - user["access_token"] = auth_opts[:access_token] - return Ci::User.new(user) - else - nil - end - - user - rescue - nil - end - end -end |