diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb
index 047f7103e..0cf8ea45d 100644
--- a/app/controllers/bids_controller.rb
+++ b/app/controllers/bids_controller.rb
@@ -496,11 +496,18 @@ class BidsController < ApplicationController
#@homework_list = @bid.homeworks
#增加作业按评分排序,
#@homework_list = @bid.homeworks.eager_load(:rate_averages, :user, :attachments).order('seems_rateable_cached_ratings.avg DESC').order("#{HomeworkAttach.table_name}.created_at ASC")
- @homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
+ all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{@bid.author_id}) AS t_score,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id <> #{@bid.author_id}) AS s_score
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY
(CASE WHEN t_score IS NULL THEN 0 ELSE t_score * #{teacher_proportion} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - teacher_proportion} END) DESC,created_at ASC")
+
+ limit = 10
+ feedback_count = all_homework_list.count
+ @feedback_pages = Paginator.new feedback_count, limit, params['page']
+ offset ||= @feedback_pages.offset
+ @homework_list = all_homework_list[offset, limit]
+
if params[:student_id].present?
@temp = []
@homework_list.each do |pro|
@@ -832,15 +839,25 @@ class BidsController < ApplicationController
}
end
else
- render 403
+ render_403
end
end
def update
@bid = Bid.find(params[:id])
@course = @bid.courses.first#Project.find(params[:course_id])
+ @bid.name = params[:bid][:name]
+ @bid.description = params[:bid][:description]
+ @bid.is_evaluation = params[:bid][:is_evaluation]
+ @bid.proportion = params[:bid][:proportion]
+ @bid.reward_type = 3
+ @bid.deadline = params[:bid][:deadline]
+ @bid.budget = 0
+ @bid.author_id = User.current.id
+ @bid.commit = 0
+ @bid.homework_type = 1
@bid.save_attachments(params[:attachments] || (params[:bid] && params[:bid][:uploads]))
- if @bid.update_attributes(params[:bid]) && @bid.save
+ if @bid.save
flash[:notice] = l(:label_update_homework_succeed)
redirect_to course_homework_path(@course)
else
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index e24a7386d..945b8c514 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -216,10 +216,15 @@ class CoursesController < ApplicationController
end
def settings
- @issue_custom_fields = IssueCustomField.sorted.all
- @issue_category ||= IssueCategory.new
- @member ||= @course.members.new
- @trackers = Tracker.sorted.all
+ if User.current.allowed_to?(:as_teacher,@course)
+ @issue_custom_fields = IssueCustomField.sorted.all
+ @issue_category ||= IssueCategory.new
+ @member ||= @course.members.new
+ @trackers = Tracker.sorted.all
+ else
+ render_403
+ end
+
end
def create
@@ -470,23 +475,27 @@ class CoursesController < ApplicationController
end
def homework
- @offset, @limit = api_offset_and_limit({:limit => 10})
- @bids = @course.homeworks.order('deadline DESC')
- @bids = @bids.like(params[:name]) if params[:name].present?
- @bid_count = @bids.count
- @bid_pages = Paginator.new @bid_count, @limit, params['page']
+ if @course.is_public != 0 || User.current.member_of_course?(@course)
+ @offset, @limit = api_offset_and_limit({:limit => 10})
+ @bids = @course.homeworks.order('deadline DESC')
+ @bids = @bids.like(params[:name]) if params[:name].present?
+ @bid_count = @bids.count
+ @bid_pages = Paginator.new @bid_count, @limit, params['page']
- @offset ||= @bid_pages.reverse_offset
- unless @offset == 0
- @bids = @bids.offset(@offset).limit(@limit).all.reverse
- else
- limit = @bid_count % @limit
- if limit == 0
- limit = 10
+ @offset ||= @bid_pages.reverse_offset
+ unless @offset == 0
+ @bids = @bids.offset(@offset).limit(@limit).all.reverse
+ else
+ limit = @bid_count % @limit
+ if limit == 0
+ limit = 10
+ end
+ @bids = @bids.offset(@offset).limit(limit).all.reverse
end
- @bids = @bids.offset(@offset).limit(limit).all.reverse
+ render :layout => 'base_courses'
+ else
+ render_403
end
- render :layout => 'base_courses'
end
# 新建作业
diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb
index 56b2ec0f4..155485b4c 100644
--- a/app/helpers/watchers_helper.rb
+++ b/app/helpers/watchers_helper.rb
@@ -97,7 +97,7 @@ module WatchersHelper
return '' unless user && user.logged?
# modify by nwb
# 主讲教师不允许退出课程
- return '' if user.id == course.tea_id
+ return '' if user.id == course.tea_id || course.is_public == 0
joined = user.member_of_course?(course)
text = joined ? l(:label_exit_course) : l(:label_join_course)
url_t = join_path(:object_id => course.id)
diff --git a/app/views/attachments/_form.html.erb b/app/views/attachments/_form.html.erb
index d6cbb72fe..16de21226 100644
--- a/app/views/attachments/_form.html.erb
+++ b/app/views/attachments/_form.html.erb
@@ -3,7 +3,7 @@
<% container.attachments.each_with_index do |attachment, i| %>
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
- <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
+ <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
<%= l(:field_is_public)%>:
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, :class => 'is_public')%>
<%= if attachment.id.nil?
diff --git a/app/views/bids/_homework_form.html.erb b/app/views/bids/_homework_form.html.erb
index 463b2b621..226eae650 100644
--- a/app/views/bids/_homework_form.html.erb
+++ b/app/views/bids/_homework_form.html.erb
@@ -1,44 +1,45 @@
<%= error_messages_for 'bid' %>
-
<%= l(:label_homeworks_form_new_description) %>
-<%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT %>
+
+ <%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT, :onblur => "regexName();" %>
-
<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => Bid::DESCRIPTION_LENGTH_LIMIT %>
-
-<%= f.text_field :deadline, :required => true, :size => 60, :style => "width:150px;" %><%= calendar_for('bid_deadline')%>
-
<%= f.select :is_evaluation, is_evaluation_option %>
-
<%= hidden_field_tag 'course_id', @project_id %>
+
+<%= f.select :proportion, proportion_option %>
+
+<%= hidden_field_tag 'course_id', @course.id %>
<%= l(:label_attachment_plural) %>
-<%= render :partial => 'attachments/form', :locals => {:container => @bid} %>
+ <%= render :partial => 'attachments/form', :locals => {:container => @homework} %>
\ No newline at end of file
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 9bf997cbe..3ed809fe0 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -136,7 +136,8 @@
终评得分:
<%# totle_homework_score = score_for_homework(homework) %>
- <% totle_homework_score = format("%.2f",(homework.t_score.nil? ? 0.00 : homework.t_score) * (@bid.proportion * 1.0 / 100) + (homework.s_score.nil? ? 0.00 : homework.s_score) * (1 - @bid.proportion * 1.0 / 100)) %>
+ <% totle_homework_score = format("%.2f",(homework.t_score.nil? ? 0.00 : homework.t_score) * ((@bid.proportion.nil? ? 60 : @bid.proportion) * 1.0 / 100) +
+ (homework.s_score.nil? ? 0.00 : homework.s_score) * (1 - (@bid.proportion.nil? ? 60 : @bid.proportion) * 1.0 / 100)) %>
;">
<% score = totle_homework_score == "0.00"? "N/A" : totle_homework_score %>
<%= score %>
@@ -152,4 +153,11 @@
-<% end %>
\ No newline at end of file
+<% end %>
+
+
+
\ No newline at end of file
diff --git a/app/views/bids/edit.html.erb b/app/views/bids/edit.html.erb
index 028a1a88e..fe92977ae 100644
--- a/app/views/bids/edit.html.erb
+++ b/app/views/bids/edit.html.erb
@@ -1,9 +1,60 @@
-修改作业
+
+
+<%= l(:label_edit_homework) %>
<%= labelled_form_for @bid do |f| %>
- <%= render :partial => 'homework_form', :locals => { :f => f } %>
- <%= submit_tag l(:button_create) %>
- <%= javascript_tag "$('#bid_name').focus();" %>
+ <%#= render :partial => 'homework_form', :locals => { :f => f } %>
+ <%= render :partial => 'homework_form', :locals => { :f => f } %>
+
<% end %>
\ No newline at end of file
diff --git a/app/views/bids/show.html.erb b/app/views/bids/show.html.erb
index b431ef97a..5545a8c14 100644
--- a/app/views/bids/show.html.erb
+++ b/app/views/bids/show.html.erb
@@ -1,7 +1,7 @@
<% reply_allow = JournalsForMessage.create_by_user? User.current %>
<%= image_tag(url_to_avatar(@bid.author), :class => "avatar")%>
-
+
<%= link_to(@bid.author.lastname+@bid.author.firstname, user_path(@bid.author))%>:<%= link_to(@bid.name,respond_path(@bid)) %>
<% if @bid.reward_type.nil? or @bid.reward_type == 1%>
diff --git a/app/views/courses/_course_form.html.erb b/app/views/courses/_course_form.html.erb
index 7395c9845..1b1c86b64 100644
--- a/app/views/courses/_course_form.html.erb
+++ b/app/views/courses/_course_form.html.erb
@@ -40,7 +40,9 @@
<%= l(:label_class_period) %>
*
- <%= text_field_tag :class_period, @course.class_period, :placeholder => "在此输入课时", :maxlength => 5 %>
+
+ <%= text_field_tag :class_period, @course.class_period, :placeholder => "#{l(:lable_input_class)}", :maxlength => 5 %>
+
<%= l(:label_class_hour) %>
@@ -53,7 +55,10 @@
<%= l(:label_class_period) %>
*
- <%= text_field_tag :class_period, nil, :placeholder => "在此输入课时", :maxlength => 5 %> <%= l(:label_class_hour) %>
+
+ <%= text_field_tag :class_period, nil, :placeholder => "#{l(:lable_input_class)}", :maxlength => 5 %>
+
+ <%= l(:label_class_hour) %>
diff --git a/app/views/courses/_homework_form.html.erb b/app/views/courses/_homework_form.html.erb
index f93d57f90..4b63b8852 100644
--- a/app/views/courses/_homework_form.html.erb
+++ b/app/views/courses/_homework_form.html.erb
@@ -34,9 +34,9 @@
<%#= f.text_field :budget, :required => true, :size => 60, :style => "width:350px;", :placeholder => l(:label_bids_reward_what) %>
-->
<% time = (Time.now + 3600 * 24).strftime('%Y-%m-%d') %>
-
<%= f.text_field(:deadline, :required => true, :size => 60, :style => "width:150px;",:value => "#{time}", :onchange => "regexDeadLine();") %><%= calendar_for('bid_deadline')%>
+
<%= f.text_field(:deadline, :required => true, :size => 60, :style => "width:150px;",:value => "#{time}", :onchange => "regexDeadLine();") %>
+ <%= calendar_for('bid_deadline')%>
-
<%= f.select :is_evaluation, is_evaluation_option %>
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 4554b0466..e3c137fb4 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -74,11 +74,10 @@
<% if User.current.logged? %>
- <% if @course.teacher.id == User.current.id %>
+ <% if User.current.allowed_to?(:as_teacher,@course) %>
<%= link_to l(:label_course_modify_settings), {:controller => 'courses', :action => 'settings', :id => @course} %>
<%= render :partial => 'courses/set_course_time', :locals => {:course => @course} %>
<% else %>
-
<%= join_in_course(@course, User.current) %>
<% end %>
<% unless User.current.member_of_course?(@course) %>
diff --git a/app/views/layouts/base_users.html.erb b/app/views/layouts/base_users.html.erb
index 380481fe2..1410e2277 100644
--- a/app/views/layouts/base_users.html.erb
+++ b/app/views/layouts/base_users.html.erb
@@ -24,17 +24,17 @@
@@ -48,24 +48,30 @@
-
-
- <%= l(:label_user_home) %>
- <%= l(:label_user_location) %> :
-
-
- <%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
- <%= text_field_tag 'name', params[:name], :size => 20 %>
- <%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
- <% end %>
-
-
-
-
- <%=link_to request.host()+"/users" ,:controller => 'users', :action => 'index' %>
- <%=link_to "主页", home_path %> > <%=link_to "软件创客", :controller => 'users', :action => 'index' %> > <%=link_to @user.name, user_path %>
-
-
+
+
+ <%= l(:label_user_home) %>
+ <%= l(:label_user_location) %> :
+
+
+ <%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
+ <%= text_field_tag 'name', params[:name], :size => 20 %>
+ <%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
+ <% end %>
+
+
+
+
+
+ <%=link_to request.host()+"/users" ,:controller => 'users', :action => 'index' %>
+
+
+ <%=link_to "主页", home_path %> >
+ <%=link_to "软件创客", :controller => 'users', :action => 'index' %> >
+ <%=link_to @user.name, user_path %>
+
+
+
@@ -92,11 +98,12 @@
<% end %>
-
-
- <%= render :partial => 'users/user_score', :locals => {:user => @user}%>
-
-
+
+
+
+ <%= render :partial => 'users/user_score', :locals => {:user => @user}%>
+
+
@@ -104,40 +111,45 @@
-
<%= link_to l(:label_user_watcher)+"("+User.watched_by(@user.id).count.to_s+")" ,:controller=>"users", :action=>"user_watchlist"%>
+
+ <%= link_to l(:label_user_watcher)+"("+User.watched_by(@user.id).count.to_s+")" ,:controller=>"users", :action=>"user_watchlist"%>
+
-
<%= link_to l(:label_x_user_fans, :count => User.current.watcher_users(User.current.id).count)+"("+@user.watcher_users.count.to_s+")", :controller=>"users", :action=>"user_fanslist" %>
-
-
-
+
+ <%= link_to l(:label_x_user_fans, :count => User.current.watcher_users(User.current.id).count)+"("+@user.watcher_users.count.to_s+")", :controller=>"users", :action=>"user_fanslist" %>
+
<% if @user.id == User.current.id %>
<%= toggle_link l(:label_brief_introduction), 'introduction', {:focus => 'new_form_user_introduction'} %>
<% end %>
<% unless @user.user_extensions.nil? %>
-
- <%= @user.user_extensions.brief_introduction %>
-
+
+ <%= @user.user_extensions.brief_introduction %>
+
<% end %>
<%= form_for('new_form', :method => :post,
- :url => {:controller => 'words', :action => 'add_brief_introdution'}) do |f|%>
-
-
- <%= f.text_area 'user_introduction', :rows => 3,
- :cols => 65,
- :placeholder => "#{l(:label_my_brief_introduction)}",
- :style => "resize: none;",
- :class => 'noline'%>
-
-
-
-
- <%= submit_tag l(:button_submit), :name => nil ,
- :class => "bid_btn" %>
-
-
+ :url => {:controller => 'words', :action => 'add_brief_introdution'}) do |f|%>
+
+
+
+ <%= f.text_area 'user_introduction', :rows => 3,
+ :cols => 65,
+ :placeholder => "#{l(:label_my_brief_introduction)}",
+ :style => "resize: none;",
+ :class => 'noline'%>
+
+
+
+
+
+
+ <%= submit_tag l(:button_submit), :name => nil ,
+ :class => "bid_btn" %>
+
+
+
<% end %>
@@ -148,55 +160,64 @@
- <%= l(:label_user_joinin) %>:
+
+ <%= l(:label_user_joinin) %>:
+
+
- <%= l(:label_user_login) %>:
+
+ <%= l(:label_user_login) %>:
+
+
-
-
-
-
-
<% unless @user.user_extensions.nil? %>
- <% unless @user.user_extensions.identity == 2 %>
-
- <%= l(:field_occupation) %>:
-
- <% end %>
+ <% unless @user.user_extensions.identity == 2 %>
+
+ <%= l(:field_occupation) %>:
+
+ <% end %>
<%= l(:label_location) %>:
<% if @user.user_extensions.identity == 0 %>
-
- <%= l(:label_technical_title) %>:
+
+ <%= l(:label_technical_title) %>:
+
+
<% end %>
<% if( (@user.user_extensions.identity == 1) && (is_watching?(@user) ) )%>
-
- <%= l(:label_bidding_user_studentcode)%>:
-
+
+
+ <%= l(:label_bidding_user_studentcode)%>:
+
+
+
<% end %>
<% else%>
-
- <%= l(:field_occupation) %>:
-
-
- <%= l(:label_location) %>:
-
+
+ <%= l(:field_occupation) %>:
+
+
+ <%= l(:label_location) %>:
+
<% end %>
-
@@ -251,9 +272,9 @@
<% if @user.user_extensions.identity == 2 %>
- <%= render_menu :user_enterprise_menu %>
+ <%= render_menu :user_enterprise_menu %>
<% else %>
- <%= render_menu :user_menu %>
+ <%= render_menu :user_menu %>
<% end %>
diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb
index ad55e9be7..028be4b83 100644
--- a/app/views/messages/_project_show.html.erb
+++ b/app/views/messages/_project_show.html.erb
@@ -96,11 +96,11 @@
-
+
<% if @project %>
- <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject.truncate(29, omission: '...'), project_boards_path(@topic.project),title: @topic.subject.to_s %>
+ <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject, project_boards_path(@topic.project),title: @topic.subject.to_s %>
<% elsif @course %>
- <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject.truncate(29,omission:'...'), course_boards_path(@topic.course),title: @topic.subject.to_s %>
+ <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject, course_boards_path(@topic.course),title: @topic.subject.to_s %>
<% end %>
diff --git a/app/views/news/_course_news.html.erb b/app/views/news/_course_news.html.erb
index c49e46799..f8bd9c638 100644
--- a/app/views/news/_course_news.html.erb
+++ b/app/views/news/_course_news.html.erb
@@ -64,12 +64,12 @@
<%= label_tips %>
-<%= link_to(btn_tips,
- new_course_news_path(@course),
- :class => 'icon icon-add',
- :onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %>
<% if @course && User.current.allowed_to?(:manage_news, @course) %>
+ <%= link_to(btn_tips, new_course_news_path(@course),
+ :class => 'icon icon-add',
+ :onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %>
+
<%= labelled_form_for @news, :url => course_news_index_path(@course),
:html => {:id => 'news-form', :multipart => true} do |f| %>
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 1e3bd0098..7ddff7d04 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2120,7 +2120,7 @@ zh:
label_bug: 漏洞
label_school_no_course: 该学校未开设任何课程,您可以查看其他学校课程
- label_school_less_course: 该学校开设课程较少,您可以查看其他学校课程
+ label_school_less_course: 您也可以查看其他学校课程
label_file_not_found: 对不起,该文件现在不能下载
label_goto_homepage: 返回主页
@@ -2143,3 +2143,5 @@ zh:
lable_bar_active: 贴吧动态
lable_student_list_visable: 学生列表是否公开
lable_sure_exit_project: 是否确认退出该项目
+ lable_input_class: 在此输入课时
+ lable_input_class_vilidate: 学时只能为整数
diff --git a/db/migrate/20140930072719_add_open_student_to_course.rb b/db/migrate/20140930072719_add_open_student_to_course.rb
new file mode 100644
index 000000000..f158726d5
--- /dev/null
+++ b/db/migrate/20140930072719_add_open_student_to_course.rb
@@ -0,0 +1,5 @@
+class AddOpenStudentToCourse < ActiveRecord::Migration
+ def change
+ add_column :courses, :open_student, :integer, :default => 0
+ end
+end
diff --git a/db/migrate/20141009010934_update_bids_proportion.rb b/db/migrate/20141009010934_update_bids_proportion.rb
new file mode 100644
index 000000000..b589a6c32
--- /dev/null
+++ b/db/migrate/20141009010934_update_bids_proportion.rb
@@ -0,0 +1,12 @@
+class UpdateBidsProportion < ActiveRecord::Migration
+ def up
+ Bid.where("proportion is null").each do |bid|
+ bid.proportion = 60
+ bid.save
+ end
+ end
+
+ def down
+
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index e13ff4942..172a11ec5 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20140916005319) do
+ActiveRecord::Schema.define(:version => 20141009010934) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -350,6 +350,7 @@ ActiveRecord::Schema.define(:version => 20140916005319) do
t.integer "rgt"
t.integer "is_public", :limit => 1, :default => 1
t.integer "inherit_members", :limit => 1, :default => 1
+ t.integer "open_student", :default => 0
end
create_table "custom_fields", :force => true do |t|
@@ -437,9 +438,9 @@ ActiveRecord::Schema.define(:version => 20140916005319) do
t.string "web_title"
t.string "title"
t.text "description"
+ t.string "page_type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
- t.string "page_type"
t.integer "sort_type"
t.integer "image_width", :default => 107
t.integer "image_height", :default => 63
@@ -878,18 +879,18 @@ ActiveRecord::Schema.define(:version => 20140916005319) do
create_table "relative_memos", :force => true do |t|
t.integer "osp_id"
t.integer "parent_id"
- t.string "subject", :null => false
- t.text "content", :null => false
+ t.string "subject", :null => false
+ t.text "content", :limit => 16777215, :null => false
t.integer "author_id"
- t.integer "replies_count", :default => 0
+ 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
- t.integer "viewed_count_crawl", :default => 0
- t.integer "viewed_count_local", :default => 0
+ 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
+ t.integer "viewed_count_crawl", :default => 0
+ t.integer "viewed_count_local", :default => 0
t.string "url"
t.string "username"
t.string "userhomeurl"
diff --git a/public/javascripts/attachments.js b/public/javascripts/attachments.js
index 1b60b370e..c20617ce5 100644
--- a/public/javascripts/attachments.js
+++ b/public/javascripts/attachments.js
@@ -22,7 +22,7 @@ function addFile(inputEl, file, eagerUpload) {
fileSpan.append(
$('
', { 'type': 'text', 'class': 'filename readonly', 'name': 'attachments[' + attachmentId + '][filename]', 'readonly': 'readonly'} ).val(file.name),
- $('
', { 'type': 'text', 'class': 'description', 'name': 'attachments[' + attachmentId + '][description]', 'maxlength': 255, 'placeholder': $(inputEl).data('description-placeholder') } ).toggle(!eagerUpload),
+ $('
', { 'type': 'text', 'class': 'description', 'name': 'attachments[' + attachmentId + '][description]', 'maxlength': 254, 'placeholder': $(inputEl).data('description-placeholder') } ).toggle(!eagerUpload),
$('
公开: ').attr({ 'class': 'ispublic-label' }) ,
$('
', { 'type': 'checkbox', 'class': 'is_public_checkbox','value':1, 'name': 'attachments[' + attachmentId + '][is_public]', checked:'checked' } ).toggle(!eagerUpload),
$('
  ').attr({ 'href': "#", 'class': 'remove-upload', 'data-confirm' : "您确定要删除吗?" }).click(removeFile).toggle(!eagerUpload),