some fixes to create project

This commit is contained in:
amartynov 2015-09-22 14:30:52 +03:00
parent 1cebb55f43
commit 684a48f6dd
6 changed files with 13 additions and 8 deletions

View File

@ -57,7 +57,9 @@ module Devops
p = parser.create_project
raise InvalidRecord.new("Project '#{p.id}' already exist") if Devops::Db.connector.is_project_exists?(p)
p.add_authorized_user [parser.current_user]
p.deploy_envs.each do |env|
env.add_users [parser.current_user]
end
p.create
if p.multi?
"Project '#{p.id}' with type 'multi' created"

View File

@ -34,7 +34,7 @@ module Devops
body = create_object_from_json_body
check_string(body["name"], "Parameter 'name' must be a not empty string")
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
rl = check_array(body["run_list"], "Parameter 'run_list' should be an array of string", String, true)
rl = check_array(body["run_list"], "Parameter 'run_list' should be an array of string", String, true, true)
Validators::Helpers::RunList.new(rl).validate! unless rl.nil?
Devops::Model::Project.new(body)
end
@ -53,10 +53,8 @@ module Devops
def update
body = create_object_from_json_body
check_string(body["description"], "Parameter 'description' must be a string", true, true)
#check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
rl = check_array(body["run_list"], "Parameter 'run_list' must be an array of string", String, true, true)
Validators::Helpers::RunList.new(rl).validate! unless rl.nil?
#raise InvalidRecord.new("'components' key not found") if c["components"].nil?
#Devops::Model::Project.new(body)
body
end

View File

@ -30,7 +30,7 @@ module Devops
raise "Invalid message value with key '#{key}', it must be a string" unless msg.is_a?(String)
unless msg.nil?
params.each do |k, v|
msg = msg.gsub('%{#{k}}', v)
msg = msg.gsub("%{#{k}}", v)
end
end
msg

View File

@ -37,6 +37,10 @@ module Devops
}
end
def add_users users
self.users = (self.users + users).uniq
end
def build_error_message(message)
"Deploy environment '#{self.identifier}'. " + message
end

View File

@ -72,13 +72,13 @@ module Devops
if env.nil?
self.deploy_envs.each do |e|
return unless e.users.is_a?(Array)
e.users = (e.users + new_users).uniq
e.add_users new_users
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
end
else
e = self.deploy_env(env)
return unless e.users.is_a?(Array)
e.users = (e.users + new_users).uniq
e.add_users new_users
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
end
end

View File

@ -21,7 +21,8 @@ class MongoConnector
[:available_images, :add_available_images, :delete_available_images] => :filters_connector,
[:project, :projects_all, :projects, :project_names_with_envs,
:projects_by_image, :projects_by_user, :project_insert, :project_update,
:project_delete, :is_project_exists?, :check_project_auth, :set_project_run_list, :set_project_deploy_env_field, :set_project_env_run_list, :add_deploy_env_to_project, :remove_deploy_env_from_project, :project_update_field] => :projects_connector,
:project_delete, :is_project_exists?, :check_project_auth, :set_project_run_list, :set_project_deploy_env_field, :set_project_env_run_list, :add_deploy_env_to_project, :remove_deploy_env_from_project, :project_update_field,
:archive_project, :unarchive_project] => :projects_connector,
[:project_templates, :project_template_insert, :project_template_update,
:project_template_delete] => :projects_templates_connector,
[:servers_find, :servers, :stack_servers, :servers_by_names, :server_by_instance_id,