建立了open source project部分的框架,并且建立了相应的帖子
This commit is contained in:
parent
d935152ed7
commit
cfa5532598
|
@ -1,5 +1,9 @@
|
|||
class OpenSourceProject < ActiveRecord::Base
|
||||
attr_accessible :String
|
||||
|
||||
has_many :tags, :through => :project_tags, :class_name => 'Tag'
|
||||
has_many :project_tags, :class_name => 'ProjectTags'
|
||||
acts_as_taggable
|
||||
def short_description(length = 255)
|
||||
description.gsub(/^(.{#{length}}[^\n\r]*).*$/m, '\1...').strip if description
|
||||
end
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
class RelativeMemo < ActiveRecord::Base
|
||||
# attr_accessible :title, :body
|
||||
end
|
|
@ -26,7 +26,7 @@
|
|||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf">软件项目托管社区</td>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf">开源项目社区</td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
|
@ -69,8 +69,8 @@
|
|||
</tr>
|
||||
|
||||
<tr class="font_aram">
|
||||
<td align="center" width="70px"> <%= l(:label_member) %></td>
|
||||
<td align="center" width="100px"><%= l(:label_user_watchered) %></td>
|
||||
<td align="center" width="70px"> 贡献者</td>
|
||||
<td align="center" width="100px">讨论</td>
|
||||
<td align="center" width="70px"> <%= l(:label_project_issues) %></td>
|
||||
<!-- <td align="center" width="58px"><%= l(:label_attachment) %></td> -->
|
||||
</tr>
|
||||
|
@ -90,6 +90,10 @@
|
|||
<div class="created_on_project">
|
||||
<strong style="color: #15bccf"><%= l(:label_create_time) %>:</strong><%= format_time(@open_source_project.created_at) %>
|
||||
</div>
|
||||
<div class="created_on_project">
|
||||
<strong style="color: #15bccf"> 项目来源:</strong><%= link_to @open_source_project.url, @open_source_project.url %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="user_underline"></div>
|
||||
</div>
|
||||
|
@ -97,6 +101,11 @@
|
|||
|
||||
<div class="user_fans">
|
||||
<!-- added by william -for tag -->
|
||||
<div class="user_tags">
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/tag', :locals => {:obj => @open_source_project,:object_flag => "2"}%>
|
||||
</div>
|
||||
</div>
|
||||
<!-- tag -->
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
<!--Added by nie-->
|
||||
<div class="project-block">
|
||||
<div class="img-tag">
|
||||
图片
|
||||
|
@ -28,7 +27,7 @@
|
|||
<p class="stats">
|
||||
<strong><span style="font-size: 17px;margin-left: 145px">
|
||||
<%= 1 %></span></strong>
|
||||
<%= content_tag('span', l(:label_commit_on)) %>
|
||||
<%= content_tag('span', "行代码") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -45,12 +44,17 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div class="url">
|
||||
<div class="main-language">
|
||||
<%= content_tag('span', "项目来源:")%><%= link_to project.url, project.url %>
|
||||
</div>
|
||||
<div class="licences">
|
||||
<%= content_tag('span', "数据更新时间") %><%= content_tag('span', format_time(project.created_at)) %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tags">
|
||||
<!-- added by william -for tag -->
|
||||
<div id="tags">
|
||||
|
||||
<%= image_tag( "/images/sidebar/tags.png") %>
|
||||
|
||||
|
||||
<%= render :partial => 'tags/tag_name', :locals => {:obj => project,:object_flag => "2",:non_list_all => true }%>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<% @open_source_projects.each do |project| %>
|
||||
<li class='project-table'>
|
||||
<div class = 'root'>
|
||||
<%= link_to project.name, open_source_projects_path(project), :class=>"project root leaf"%>
|
||||
<%= link_to project.name, open_source_project_path(project), :class=>"project root leaf"%>
|
||||
<span style="float: right;"></span>
|
||||
<%= render :partial => 'open_source_projects/os_project', :locals => {:project => project}%>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
class CreateRelativeMemos < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :relative_memos do |t|
|
||||
t.integer :osp_id, :null => false
|
||||
t.integer :parent_id, null: true
|
||||
t.string :subject, null: false
|
||||
t.text :content, null: false
|
||||
t.integer :author_id
|
||||
t.integer :replies_count, default: 0
|
||||
t.integer :last_reply_id
|
||||
t.boolean :lock, default: false
|
||||
t.boolean :sticky, default: false
|
||||
t.boolean :is_quote, default: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
199
db/schema.rb
199
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20140324015819) do
|
||||
ActiveRecord::Schema.define(:version => 20140401004102) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
|
@ -62,6 +62,20 @@ ActiveRecord::Schema.define(:version => 20140324015819) do
|
|||
|
||||
add_index "auth_sources", ["id", "type"], :name => "index_auth_sources_on_id_and_type"
|
||||
|
||||
create_table "bak_mentioned", :primary_key => "Id", :force => true do |t|
|
||||
t.string "this_real_name", :limit => 1000
|
||||
t.integer "is_mentioned_in"
|
||||
t.string "context", :limit => 2000
|
||||
end
|
||||
|
||||
add_index "bak_mentioned", ["this_real_name", "is_mentioned_in"], :name => "name_mention", :length => {"this_real_name"=>900, "is_mentioned_in"=>nil}
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name"
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name_2"
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name_3", :length => {"this_real_name"=>900}
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name_4"
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name_5"
|
||||
add_index "bak_mentioned", ["this_real_name"], :name => "this_real_name_6"
|
||||
|
||||
create_table "biding_projects", :force => true do |t|
|
||||
t.integer "project_id"
|
||||
t.integer "bid_id"
|
||||
|
@ -101,6 +115,11 @@ ActiveRecord::Schema.define(:version => 20140324015819) 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 "categories", :primary_key => "Id", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "proj_categories"
|
||||
end
|
||||
|
||||
create_table "changes", :force => true do |t|
|
||||
t.integer "changeset_id", :null => false
|
||||
t.string "action", :limit => 1, :default => "", :null => false
|
||||
|
@ -232,6 +251,14 @@ ActiveRecord::Schema.define(:version => 20140324015819) do
|
|||
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
|
||||
add_index "documents", ["project_id"], :name => "documents_project_id"
|
||||
|
||||
create_table "eco_projects", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.integer "eco_proj_id"
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "eco_projects", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "enabled_modules", :force => true do |t|
|
||||
t.integer "project_id"
|
||||
t.string "name", :null => false
|
||||
|
@ -253,6 +280,137 @@ ActiveRecord::Schema.define(:version => 20140324015819) 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", :primary_key => "event_id", :force => true do |t|
|
||||
t.string "job_name"
|
||||
t.datetime "event_time"
|
||||
t.string "event_type", :limit => 20
|
||||
end
|
||||
|
||||
create_table "fm_article", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "article_title", :limit => 16777215
|
||||
t.text "article_link", :limit => 16777215
|
||||
t.text "article_time", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_article", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_bugtracker_link", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_bugtracker_link", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_datametric_link", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_datametric_link", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_dependency_link", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_dependency_link", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_download_link", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "download_link", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_download_link", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_heartbeat", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.float "popularity_score", :limit => 12
|
||||
t.float "vitality_score", :limit => 12
|
||||
t.integer "subscription"
|
||||
t.integer "voting_score"
|
||||
t.integer "voting_count"
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_heartbeat", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_license", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_license", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_mailinglist_link", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_mailinglist_link", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_operating_system", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_operating_system", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_programming_language", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_programming_language", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_project_spotlight", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.text "project_name", :limit => 16777215
|
||||
t.text "project_spotlight_link", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_project_spotlight", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_release", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.text "release_version", :limit => 16777215
|
||||
t.text "release_time", :limit => 16777215
|
||||
t.text "release_tag", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_release", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_submit", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "submitter", :limit => 16777215
|
||||
t.text "submitter_link", :limit => 16777215
|
||||
t.text "submit_time", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_submit", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "fm_summary", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.text "description", :limit => 16777215
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "fm_summary", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "forums", :force => true do |t|
|
||||
t.string "name", :null => false
|
||||
t.string "description", :default => ""
|
||||
|
@ -478,6 +636,14 @@ ActiveRecord::Schema.define(:version => 20140324015819) do
|
|||
add_index "news", ["created_on"], :name => "index_news_on_created_on"
|
||||
add_index "news", ["project_id"], :name => "news_project_id"
|
||||
|
||||
create_table "ohloh_tagged", :force => true do |t|
|
||||
t.integer "proj_id", :default => 0, :null => false
|
||||
t.string "description", :limit => 100, :null => false
|
||||
t.datetime "date_collected"
|
||||
end
|
||||
|
||||
add_index "ohloh_tagged", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "open_id_authentication_associations", :force => true do |t|
|
||||
t.integer "issued"
|
||||
t.integer "lifetime"
|
||||
|
@ -585,6 +751,21 @@ ActiveRecord::Schema.define(:version => 20140324015819) do
|
|||
add_index "queries", ["project_id"], :name => "index_queries_on_project_id"
|
||||
add_index "queries", ["user_id"], :name => "index_queries_on_user_id"
|
||||
|
||||
create_table "relative_memos", :force => true do |t|
|
||||
t.integer "osp_id", :null => false
|
||||
t.integer "parent_id"
|
||||
t.string "subject", :null => false
|
||||
t.text "content", :null => false
|
||||
t.integer "author_id"
|
||||
t.integer "replies_count", :default => 0
|
||||
t.integer "last_reply_id"
|
||||
t.boolean "lock", :default => false
|
||||
t.boolean "sticky", :default => false
|
||||
t.boolean "is_quote", :default => false
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "repositories", :force => true do |t|
|
||||
t.integer "project_id", :default => 0, :null => false
|
||||
t.string "url", :default => "", :null => false
|
||||
|
@ -720,6 +901,22 @@ ActiveRecord::Schema.define(:version => 20140324015819) do
|
|||
add_index "tokens", ["user_id"], :name => "index_tokens_on_user_id"
|
||||
add_index "tokens", ["value"], :name => "tokens_value", :unique => true
|
||||
|
||||
create_table "tprojects", :force => true do |t|
|
||||
t.string "name", :limit => 1000, :default => "0"
|
||||
t.text "description", :limit => 16777215
|
||||
t.string "commit_count", :limit => 100, :default => "0"
|
||||
t.string "code_line", :limit => 100
|
||||
t.string "last_commit_time", :limit => 100
|
||||
t.string "url", :limit => 1000
|
||||
t.datetime "date_collected"
|
||||
t.string "created_at", :limit => 100
|
||||
t.string "updated_at", :limit => 100
|
||||
t.integer "proj_id", :null => false
|
||||
t.string "user_count", :limit => 100
|
||||
end
|
||||
|
||||
add_index "tprojects", ["proj_id"], :name => "proj_id"
|
||||
|
||||
create_table "trackers", :force => true do |t|
|
||||
t.string "name", :limit => 30, :default => "", :null => false
|
||||
t.boolean "is_in_chlog", :default => false, :null => false
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
|
||||
|
||||
# This model initially had no columns defined. If you add columns to the
|
||||
# model remove the '{}' from the fixture names and add the columns immediately
|
||||
# below each fixture, per the syntax in the comments below
|
||||
#
|
||||
one: {}
|
||||
# column: value
|
||||
#
|
||||
two: {}
|
||||
# column: value
|
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class RelativeMemoTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
Loading…
Reference in New Issue