diff --git a/app/controllers/quality_analysis_controller.rb b/app/controllers/quality_analysis_controller.rb
index 15fdcef61..1f5695605 100644
--- a/app/controllers/quality_analysis_controller.rb
+++ b/app/controllers/quality_analysis_controller.rb
@@ -1,7 +1,8 @@
class QualityAnalysisController < ApplicationController
before_filter :find_project_by_project_id#, :except => [:getattachtype]
+ before_filter :find_quality_analysis, :only => [:edit, :update_jenkins_job]
before_filter :authorize
- before_filter :connect_jenkins, :only => [:create]
+ before_filter :connect_jenkins, :only => [:create, :edit, :update_jenkins_job]
layout "base_projects"
include ApplicationHelper
require 'jenkins_api_client'
@@ -54,7 +55,7 @@ class QualityAnalysisController < ApplicationController
# return '201' if build successed
code = @client.job.build("#{job_name}")
logger.error("build result ==> #{code}")
- d = @client.delete("#{job_name}") if jenkins_job == '200' && code != '201'
+ d = @client.job.delete("#{job_name}") if jenkins_job == '200' && code != '201'
logger.error("delete result ==> #{code}")
if qa.blank? && code == '201'
QualityAnalysis.create(:project_id => @project.id, :author_login => user_name, :rep_identifier => identifier,
@@ -86,11 +87,54 @@ class QualityAnalysisController < ApplicationController
end
def edit
- @quality_analysis = QualityAnalysis.where(:id => params[:id])
+ @g = Gitlab.client
+ gitlab_branches = @g.branches(@project.gpid)
+ @branch_names = gitlab_branches.map{|b| b.name}
+ @gitlab_default_branch = @g.project(@project.gpid).default_branch
end
- def update
- @quality_analysis = QualityAnalysis.where(:id => params[:id])
+ def update_jenkins_job
+ begin
+ rep_id = Repository.where(:project_id => @project.id).first.try(:id)
+ logger.error("#############################===>666")
+ sonar_name = @quality_analysis.sonar_name
+ job_name = "#{@quality_analysis.author_login}-#{rep_id}"
+ version = @quality_analysis.sonar_version
+ path = params[:path].blank? ? "./" : params[:path]
+ language = swith_language_type(params[:language])
+ branch = params[:branch]
+ identifier = @quality_analysis.rep_identifier
+ properties = "sonar.projectKey=#{sonar_name}
+ sonar.projectName=#{sonar_name}
+ sonar.projectVersion=#{version}
+ sonar.sources=#{path}
+ sonar.language=#{language.downcase}
+ sonar.sourceEncoding=utf-8"
+ git_url = @gitlab_address.to_s+"/"+@project.owner.to_s+"/"+ identifier + "."+"git"
+
+ # modify config.yml
+ @doc = Nokogiri::XML(File.open(File.join(Rails.root, 'tmp', 'config.xml')))
+ @doc.at_xpath("//hudson.plugins.git.UserRemoteConfig/url").content = git_url
+ @doc.at_xpath("//hudson.plugins.git.BranchSpec/name").content = "*/#{branch}"
+ @doc.at_xpath("//hudson.plugins.sonar.SonarRunnerBuilder/properties").content = properties # sonar-properties
+
+ # return '200' if successed
+ jenkins_job = @client.job.update("#{job_name}", @doc.to_xml)
+ logger.error("Failed to update job: ==> #{jenkins_job}") unless jenkins_job == '200'
+ if jenkins_job == '200'
+ logger.info("quality_ananlysis will be updated: ==> #{jenkins_job}")
+ @quality_analysis.path = path
+ @quality_analysis.language = language
+ @quality_analysis.branch = branch
+ @quality_analysis.save
+ end
+ rescue Exception => e
+ logger.error("Update jenkins job: #{e}")
+ end
+ respond_to do |format|
+ format.html{redirect_to project_quality_analysis_path(:project_id => @project.id)}
+ format.js
+ end
end
# resource_id: login + @repository.id
@@ -123,6 +167,14 @@ class QualityAnalysisController < ApplicationController
render_404
end
+ def find_quality_analysis
+ begin
+ @quality_analysis = QualityAnalysis.find(params[:id])
+ rescue
+ render_404
+ end
+ end
+
# Authorize the user for the requested action
def authorize(ctrl = params[:controller], action = params[:action], global = false)
unless @project.archived? && @project.gpid.nil?
diff --git a/app/views/quality_analysis/_edit.html.erb b/app/views/quality_analysis/_edit.html.erb
index d5cd49d0c..f508ee5de 100644
--- a/app/views/quality_analysis/_edit.html.erb
+++ b/app/views/quality_analysis/_edit.html.erb
@@ -1,21 +1,21 @@
代码质量分析
- <%= form_tag( url_for(:controller => 'quality_analysis', :action => 'create', :project_id => @project.id, :user_id => User.current.id, :identifier => @repository.identifier, :rep_id => @repository.id), :remote => true, :id => 'quality_analyses_form') do %>
+ <%= form_tag( url_for(:controller => 'quality_analysis', :action => 'update_jenkins_job', :project_id => @project.id), :id => 'quality_analyses_edit_form') do %>
diff --git a/app/views/quality_analysis/_result_list.html.erb b/app/views/quality_analysis/_result_list.html.erb
index b4a40de0d..c47d51f1f 100644
--- a/app/views/quality_analysis/_result_list.html.erb
+++ b/app/views/quality_analysis/_result_list.html.erb
@@ -3,22 +3,21 @@
- 名称
- - 版本
- - 分支
- - 语言
- - 路径
- - bianji
+ - 分支
+ - 语言
+ - 路径
+ - 编辑
+
<% if @quality_analyses.count >0 %>
<% @quality_analyses.each do |qa| %>
- <%=link_to "#{qa.author_login}:#{qa.rep_identifier}", project_quality_analysis_path(:resource_id => qa.sonar_name, :branch => (qa.branch.nil? ? "master" : qa.branch)), :class => "analysis-result-name fl fontBlue2" %>
- - 1.0
- - <%= qa.branch %>
- - <%= qa.language %>
- - <%= qa.path %>
- - <%=link_to "bianji", edit_project__quality_analysis_path(@quality_analysis) %>
+ - <%= qa.branch %>
+ - <%= qa.language %>
+ - <%= qa.path %>
+ - <%=link_to "编辑", edit_project_quality_analysi_path(qa, :project_id => @project.id), :remote => true %>
<% end %>
diff --git a/app/views/quality_analysis/edit.js.erb b/app/views/quality_analysis/edit.js.erb
index e69de29bb..4277ae28e 100644
--- a/app/views/quality_analysis/edit.js.erb
+++ b/app/views/quality_analysis/edit.js.erb
@@ -0,0 +1,8 @@
+$('#ajax-modal').html('<%= escape_javascript( render :partial => 'quality_analysis/edit', :locals => {}) %>');
+showModal('ajax-modal', '615px');
+$('#ajax-modal').siblings().remove();
+$('#ajax-modal').before("
");
+$('#ajax-modal').parent().css("top","20%").css("left","32%").css("border","3px solid #269ac9");
+$('#ajax-modal').parent().addClass("popbox_polls");
+
+
diff --git a/config/routes.rb b/config/routes.rb
index 5404e4ecf..075aff6e1 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -790,7 +790,8 @@ RedmineApp::Application.routes.draw do
collection do
end
member do
-
+ match 'update_jenkins_job'
+ match 'edit'
end
end
# resources :files, :only => [:index, :new, :create] do
diff --git a/db/schema.rb b/db/schema.rb
index 16f39f6a1..3258f89c1 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -52,28 +52,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
- create_table "application_settings", :force => true do |t|
- t.integer "default_projects_limit"
- t.boolean "signup_enabled"
- t.boolean "signin_enabled"
- t.boolean "gravatar_enabled"
- t.text "sign_in_text"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "home_page_url"
- t.integer "default_branch_protection", :default => 2
- t.boolean "twitter_sharing_enabled", :default => true
- t.text "restricted_visibility_levels"
- t.boolean "version_check_enabled", :default => true
- t.integer "max_attachment_size", :default => 10, :null => false
- t.integer "default_project_visibility"
- t.integer "default_snippet_visibility"
- t.text "restricted_signup_domains"
- t.boolean "user_oauth_applications", :default => true
- t.string "after_sign_out_path"
- t.integer "session_expire_delay", :default => 10080, :null => false
- end
-
create_table "applied_projects", :force => true do |t|
t.integer "project_id", :null => false
t.integer "user_id", :null => false
@@ -178,20 +156,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.string "typeName", :limit => 50
end
- create_table "audit_events", :force => true do |t|
- t.integer "author_id", :null => false
- t.string "type", :null => false
- t.integer "entity_id", :null => false
- t.string "entity_type", :null => false
- t.text "details"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "audit_events", ["author_id"], :name => "index_audit_events_on_author_id"
- add_index "audit_events", ["entity_id", "entity_type"], :name => "index_audit_events_on_entity_id_and_entity_type"
- add_index "audit_events", ["type"], :name => "index_audit_events_on_type"
-
create_table "auth_sources", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
t.string "name", :limit => 60, :default => "", :null => false
@@ -289,17 +253,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
add_index "boards", ["project_id"], :name => "boards_project_id"
- create_table "broadcast_messages", :force => true do |t|
- t.text "message", :null => false
- t.datetime "starts_at"
- t.datetime "ends_at"
- t.integer "alert_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "color"
- t.string "font"
- end
-
create_table "bug_to_osps", :force => true do |t|
t.integer "osp_id"
t.integer "relative_memo_id"
@@ -598,8 +551,11 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "is_copy", :default => 0
t.integer "visits", :default => 0
t.integer "syllabus_id"
+ t.string "invite_code"
+ t.string "qrcode"
end
+ add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true
add_index "courses", ["syllabus_id"], :name => "index_courses_on_syllabus_id"
create_table "custom_fields", :force => true do |t|
@@ -663,15 +619,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
- create_table "deploy_keys_projects", :force => true do |t|
- t.integer "deploy_key_id", :null => false
- t.integer "project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "deploy_keys_projects", ["project_id"], :name => "index_deploy_keys_projects_on_project_id"
-
create_table "discuss_demos", :force => true do |t|
t.string "title"
t.text "body"
@@ -721,16 +668,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "created_at"
end
- create_table "emails", :force => true do |t|
- t.integer "user_id", :null => false
- t.string "email", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "emails", ["email"], :name => "index_emails_on_email", :unique => true
- add_index "emails", ["user_id"], :name => "index_emails_on_user_id"
-
create_table "enabled_modules", :force => true do |t|
t.integer "project_id"
t.string "name", :null => false
@@ -753,25 +690,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type"
add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id"
- create_table "events", :force => true do |t|
- t.string "target_type"
- t.integer "target_id"
- t.string "title"
- t.text "data"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "action"
- t.integer "author_id"
- end
-
- add_index "events", ["action"], :name => "index_events_on_action"
- add_index "events", ["author_id"], :name => "index_events_on_author_id"
- add_index "events", ["created_at"], :name => "index_events_on_created_at"
- add_index "events", ["project_id"], :name => "index_events_on_project_id"
- add_index "events", ["target_id"], :name => "index_events_on_target_id"
- add_index "events", ["target_type"], :name => "index_events_on_target_type"
-
create_table "exercise_answers", :force => true do |t|
t.integer "user_id"
t.integer "exercise_question_id"
@@ -874,15 +792,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type"
add_index "forge_messages", ["user_id", "project_id", "created_at"], :name => "index_forge_messages_on_user_id_and_project_id_and_created_at"
- create_table "forked_project_links", :force => true do |t|
- t.integer "forked_to_project_id", :null => false
- t.integer "forked_from_project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "forked_project_links", ["forked_to_project_id"], :name => "index_forked_project_links_on_forked_to_project_id", :unique => true
-
create_table "forums", :force => true do |t|
t.string "name", :null => false
t.text "description"
@@ -1012,17 +921,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "identities", :force => true do |t|
- t.string "extern_uid"
- t.string "provider"
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "identities", ["created_at", "id"], :name => "index_identities_on_created_at_and_id"
- add_index "identities", ["user_id"], :name => "index_identities_on_user_id"
-
create_table "invite_lists", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1166,20 +1064,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "private", :default => 0
end
- create_table "keys", :force => true do |t|
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.text "key"
- t.string "title"
- t.string "type"
- t.string "fingerprint"
- t.boolean "public", :default => false, :null => false
- end
-
- add_index "keys", ["created_at", "id"], :name => "index_keys_on_created_at_and_id"
- add_index "keys", ["user_id"], :name => "index_keys_on_user_id"
-
create_table "kindeditor_assets", :force => true do |t|
t.string "asset"
t.integer "file_size"
@@ -1191,27 +1075,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "owner_type", :default => 0
end
- create_table "label_links", :force => true do |t|
- t.integer "label_id"
- t.integer "target_id"
- t.string "target_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "label_links", ["label_id"], :name => "index_label_links_on_label_id"
- add_index "label_links", ["target_id", "target_type"], :name => "index_label_links_on_target_id_and_target_type"
-
- create_table "labels", :force => true do |t|
- t.string "title"
- t.string "color"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "labels", ["project_id"], :name => "index_labels_on_project_id"
-
create_table "member_roles", :force => true do |t|
t.integer "member_id", :null => false
t.integer "role_id", :null => false
@@ -1262,47 +1125,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "viewed_count", :default => 0
end
- create_table "merge_request_diffs", :force => true do |t|
- t.string "state"
- t.text "st_commits", :limit => 2147483647
- t.text "st_diffs", :limit => 2147483647
- t.integer "merge_request_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "merge_request_diffs", ["merge_request_id"], :name => "index_merge_request_diffs_on_merge_request_id", :unique => true
-
- create_table "merge_requests", :force => true do |t|
- t.string "target_branch", :null => false
- t.string "source_branch", :null => false
- t.integer "source_project_id", :null => false
- t.integer "author_id"
- t.integer "assignee_id"
- t.string "title"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "milestone_id"
- t.string "state"
- t.string "merge_status"
- t.integer "target_project_id", :null => false
- t.integer "iid"
- t.text "description"
- t.integer "position", :default => 0
- t.datetime "locked_at"
- end
-
- add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id"
- add_index "merge_requests", ["author_id"], :name => "index_merge_requests_on_author_id"
- add_index "merge_requests", ["created_at", "id"], :name => "index_merge_requests_on_created_at_and_id"
- add_index "merge_requests", ["created_at"], :name => "index_merge_requests_on_created_at"
- add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id"
- add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch"
- add_index "merge_requests", ["source_project_id"], :name => "index_merge_requests_on_source_project_id"
- add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch"
- add_index "merge_requests", ["target_project_id", "iid"], :name => "index_merge_requests_on_target_project_id_and_iid", :unique => true
- add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title"
-
create_table "message_alls", :force => true do |t|
t.integer "user_id"
t.integer "message_id"
@@ -1337,39 +1159,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
add_index "messages", ["parent_id"], :name => "messages_parent_id"
- create_table "milestones", :force => true do |t|
- t.string "title", :null => false
- t.integer "project_id", :null => false
- t.text "description"
- t.date "due_date"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "state"
- t.integer "iid"
- end
-
- add_index "milestones", ["created_at", "id"], :name => "index_milestones_on_created_at_and_id"
- add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date"
- add_index "milestones", ["project_id", "iid"], :name => "index_milestones_on_project_id_and_iid", :unique => true
- add_index "milestones", ["project_id"], :name => "index_milestones_on_project_id"
-
- create_table "namespaces", :force => true do |t|
- t.string "name", :null => false
- t.string "path", :null => false
- t.integer "owner_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type"
- t.string "description", :default => "", :null => false
- t.string "avatar"
- end
-
- add_index "namespaces", ["created_at", "id"], :name => "index_namespaces_on_created_at_and_id"
- add_index "namespaces", ["name"], :name => "index_namespaces_on_name", :unique => true
- add_index "namespaces", ["owner_id"], :name => "index_namespaces_on_owner_id"
- add_index "namespaces", ["path"], :name => "index_namespaces_on_path", :unique => true
- add_index "namespaces", ["type"], :name => "index_namespaces_on_type"
-
create_table "news", :force => true do |t|
t.integer "project_id"
t.string "title", :limit => 60, :default => "", :null => false
@@ -1395,31 +1184,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "notes", :force => true do |t|
- t.text "note"
- t.string "noteable_type"
- t.integer "author_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "project_id"
- t.string "attachment"
- t.string "line_code"
- t.string "commit_id"
- t.integer "noteable_id"
- t.boolean "system", :default => false, :null => false
- t.text "st_diff", :limit => 2147483647
- end
-
- add_index "notes", ["author_id"], :name => "index_notes_on_author_id"
- add_index "notes", ["commit_id"], :name => "index_notes_on_commit_id"
- add_index "notes", ["created_at", "id"], :name => "index_notes_on_created_at_and_id"
- add_index "notes", ["created_at"], :name => "index_notes_on_created_at"
- add_index "notes", ["noteable_id", "noteable_type"], :name => "index_notes_on_noteable_id_and_noteable_type"
- add_index "notes", ["noteable_type"], :name => "index_notes_on_noteable_type"
- add_index "notes", ["project_id", "noteable_type"], :name => "index_notes_on_project_id_and_noteable_type"
- add_index "notes", ["project_id"], :name => "index_notes_on_project_id"
- add_index "notes", ["updated_at"], :name => "index_notes_on_updated_at"
-
create_table "notificationcomments", :force => true do |t|
t.string "notificationcommented_type"
t.integer "notificationcommented_id"
@@ -1429,49 +1193,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "oauth_access_grants", :force => true do |t|
- t.integer "resource_owner_id", :null => false
- t.integer "application_id", :null => false
- t.string "token", :null => false
- t.integer "expires_in", :null => false
- t.text "redirect_uri", :null => false
- t.datetime "created_at", :null => false
- t.datetime "revoked_at"
- t.string "scopes"
- end
-
- add_index "oauth_access_grants", ["token"], :name => "index_oauth_access_grants_on_token", :unique => true
-
- create_table "oauth_access_tokens", :force => true do |t|
- t.integer "resource_owner_id"
- t.integer "application_id"
- t.string "token", :null => false
- t.string "refresh_token"
- t.integer "expires_in"
- t.datetime "revoked_at"
- t.datetime "created_at", :null => false
- t.string "scopes"
- end
-
- add_index "oauth_access_tokens", ["refresh_token"], :name => "index_oauth_access_tokens_on_refresh_token", :unique => true
- add_index "oauth_access_tokens", ["resource_owner_id"], :name => "index_oauth_access_tokens_on_resource_owner_id"
- add_index "oauth_access_tokens", ["token"], :name => "index_oauth_access_tokens_on_token", :unique => true
-
- create_table "oauth_applications", :force => true do |t|
- t.string "name", :null => false
- t.string "uid", :null => false
- t.string "secret", :null => false
- t.text "redirect_uri", :null => false
- t.string "scopes", :default => "", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "owner_id"
- t.string "owner_type"
- end
-
- add_index "oauth_applications", ["owner_id", "owner_type"], :name => "index_oauth_applications_on_owner_id_and_owner_type"
- add_index "oauth_applications", ["uid"], :name => "index_oauth_applications_on_uid", :unique => true
-
create_table "onclick_times", :force => true do |t|
t.integer "user_id"
t.datetime "onclick_time"
@@ -1629,23 +1350,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "allow_teacher", :default => 0
end
- create_table "permissions", :force => true do |t|
- t.string "controller", :limit => 30, :default => "", :null => false
- t.string "action", :limit => 30, :default => "", :null => false
- t.string "description", :limit => 60, :default => "", :null => false
- t.boolean "is_public", :default => false, :null => false
- t.integer "sort", :default => 0, :null => false
- t.boolean "mail_option", :default => false, :null => false
- t.boolean "mail_enabled", :default => false, :null => false
- end
-
- create_table "permissions_roles", :id => false, :force => true do |t|
- t.integer "permission_id", :default => 0, :null => false
- t.integer "role_id", :default => 0, :null => false
- end
-
- add_index "permissions_roles", ["role_id"], :name => "permissions_roles_role_id"
-
create_table "phone_app_versions", :force => true do |t|
t.string "version"
t.text "description"
@@ -1728,11 +1432,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "project_import_data", :force => true do |t|
- t.integer "project_id"
- t.text "data"
- end
-
create_table "project_infos", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1823,24 +1522,13 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "projects_trackers", ["project_id", "tracker_id"], :name => "projects_trackers_unique", :unique => true
add_index "projects_trackers", ["project_id"], :name => "projects_trackers_project_id"
- create_table "protected_branches", :force => true do |t|
- t.integer "project_id", :null => false
- t.string "name", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "developers_can_push", :default => false, :null => false
- end
-
- add_index "protected_branches", ["project_id"], :name => "index_protected_branches_on_project_id"
-
create_table "quality_analyses", :force => true do |t|
t.integer "project_id"
t.string "author_login"
t.string "rep_identifier"
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
- t.float "version", :default => 0.0
- t.integer "sonar_version", :default => 1
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "sonar_version", :default => 0
t.string "path"
t.string "branch"
t.string "language"
@@ -1981,25 +1669,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.integer "is_teacher_score", :default => 0
end
- create_table "services", :force => true do |t|
- t.string "type"
- t.string "title"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "active", :default => false, :null => false
- t.text "properties"
- t.boolean "template", :default => false
- t.boolean "push_events", :default => true
- t.boolean "issues_events", :default => true
- t.boolean "merge_requests_events", :default => true
- t.boolean "tag_push_events", :default => true
- t.boolean "note_events", :default => true, :null => false
- end
-
- add_index "services", ["created_at", "id"], :name => "index_services_on_created_at_and_id"
- add_index "services", ["project_id"], :name => "index_services_on_project_id"
-
create_table "settings", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "value"
@@ -2038,26 +1707,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "snippets", :force => true do |t|
- t.string "title"
- t.text "content", :limit => 2147483647
- t.integer "author_id", :null => false
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "file_name"
- t.datetime "expires_at"
- t.string "type"
- t.integer "visibility_level", :default => 0, :null => false
- end
-
- add_index "snippets", ["author_id"], :name => "index_snippets_on_author_id"
- add_index "snippets", ["created_at", "id"], :name => "index_snippets_on_created_at_and_id"
- add_index "snippets", ["created_at"], :name => "index_snippets_on_created_at"
- add_index "snippets", ["expires_at"], :name => "index_snippets_on_expires_at"
- add_index "snippets", ["project_id"], :name => "index_snippets_on_project_id"
- add_index "snippets", ["visibility_level"], :name => "index_snippets_on_visibility_level"
-
create_table "softapplications", :force => true do |t|
t.string "name"
t.text "description"
@@ -2196,17 +1845,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "subscriptions", :force => true do |t|
- t.integer "user_id"
- t.integer "subscribable_id"
- t.string "subscribable_type"
- t.boolean "subscribed"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "subscriptions", ["subscribable_id", "subscribable_type", "user_id"], :name => "subscriptions_user_id_and_ref_fields", :unique => true
-
create_table "syllabuses", :force => true do |t|
t.string "title"
t.text "description"
@@ -2457,17 +2095,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
add_index "users", ["id", "type"], :name => "index_users_on_id_and_type"
add_index "users", ["type"], :name => "index_users_on_type"
- create_table "users_star_projects", :force => true do |t|
- t.integer "project_id", :null => false
- t.integer "user_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "users_star_projects", ["project_id"], :name => "index_users_star_projects_on_project_id"
- add_index "users_star_projects", ["user_id", "project_id"], :name => "index_users_star_projects_on_user_id_and_project_id", :unique => true
- add_index "users_star_projects", ["user_id"], :name => "index_users_star_projects_on_user_id"
-
create_table "versions", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "name", :default => "", :null => false
@@ -2519,23 +2146,6 @@ ActiveRecord::Schema.define(:version => 20160627090316) do
t.datetime "updated_at", :null => false
end
- create_table "web_hooks", :force => true do |t|
- t.string "url"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type", :default => "ProjectHook"
- t.integer "service_id"
- t.boolean "push_events", :default => true, :null => false
- t.boolean "issues_events", :default => false, :null => false
- t.boolean "merge_requests_events", :default => false, :null => false
- t.boolean "tag_push_events", :default => false
- t.boolean "note_events", :default => false, :null => false
- end
-
- add_index "web_hooks", ["created_at", "id"], :name => "index_web_hooks_on_created_at_and_id"
- add_index "web_hooks", ["project_id"], :name => "index_web_hooks_on_project_id"
-
create_table "wechat_logs", :force => true do |t|
t.string "openid", :null => false
t.text "request_raw"