From 560ee0a2fcdf1bfde4c4967613cb6bbe58e85e96 Mon Sep 17 00:00:00 2001 From: nwb Date: Fri, 25 Jul 2014 15:24:55 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/schema.rb | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index fe80b7d6f..c34e15d93 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 => 20140725013735) do +ActiveRecord::Schema.define(:version => 20140725034309) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -436,6 +436,26 @@ ActiveRecord::Schema.define(:version => 20140725013735) do t.datetime "updated_at", :null => false end + create_table "gitlab_projects", :force => true do |t| + t.integer "gitlab_project_id" + t.integer "project_id" + t.string "repository_url" + t.string "web_url" + t.string "localfile_url" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "gitlab_users", :force => true do |t| + t.integer "gitlab_user_id" + t.integer "user_id" + t.string "email" + t.string "password" + t.string "login", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "groups_users", :id => false, :force => true do |t| t.integer "group_id", :null => false t.integer "user_id", :null => false @@ -878,19 +898,6 @@ ActiveRecord::Schema.define(:version => 20140725013735) do add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id" - create_table "rich_rich_files", :force => true do |t| - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "rich_file_file_name" - t.string "rich_file_content_type" - t.integer "rich_file_file_size" - t.datetime "rich_file_updated_at" - t.string "owner_type" - t.integer "owner_id" - t.text "uri_cache" - t.string "simplified_type", :default => "file" - end - create_table "roles", :force => true do |t| t.string "name", :limit => 30, :default => "", :null => false t.integer "position", :default => 1 From 4fae105b9698f6e6e56ece56ede5abd1def9e7b6 Mon Sep 17 00:00:00 2001 From: yanxd Date: Fri, 25 Jul 2014 17:42:38 +0800 Subject: [PATCH 2/6] project testing. --- app/views/projects/new.html.erb | 35 ++---- test/fixtures/journals_for_messages.yml | 122 ++++++++++++++++++++ test/fixtures/projects.yml | 45 ++++++-- test/functional/projects_controller_test.rb | 95 +++++++++++++++ 4 files changed, 261 insertions(+), 36 deletions(-) create mode 100644 test/fixtures/journals_for_messages.yml create mode 100644 test/functional/projects_controller_test.rb diff --git a/app/views/projects/new.html.erb b/app/views/projects/new.html.erb index 0b76a7f44..184a67e3d 100644 --- a/app/views/projects/new.html.erb +++ b/app/views/projects/new.html.erb @@ -1,28 +1,15 @@ <% @nav_dispaly_project_label = 1 @nav_dispaly_forum_label = 1 %> + <%= labelled_form_for @project do |f| %> - - <% if @course_tag == '1' %> -

<%=l(:label_course_new)%>

-
- - <%= render :partial => 'course_form', :locals => { :f => f } %> - - <%= submit_tag l(:button_create), :class => "enterprise"%> - -
- - <% else %> -

<%=l(:label_project_new)%>

-
-

<%=raw l(:label_project_new_description)%>

- <%= render :partial => 'form', :locals => { :f => f } %> - - <%= submit_tag l(:button_create), :class => "enterprise"%> - -
- - <% end %> - <%= javascript_tag "$('#project_name').focus();" %> +

<%=l(:label_project_new)%>

+
+

<%=raw l(:label_project_new_description)%>

+ <%= render :partial => 'form', :locals => { :f => f } %> + + <%= submit_tag l(:button_create), :class => "enterprise"%> + +
+ <%#= submit_tag l(:button_create_and_continue), :name => 'continue' %> + <%= javascript_tag "$('#project_name').focus();" %> <% end %> - diff --git a/test/fixtures/journals_for_messages.yml b/test/fixtures/journals_for_messages.yml new file mode 100644 index 000000000..d0fc66d84 --- /dev/null +++ b/test/fixtures/journals_for_messages.yml @@ -0,0 +1,122 @@ +jfm_001: + id: 45 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: 我觉得这个系统挺实用,界面挺简洁美观! + status: + reply_id: 0 + created_on: 2013-08-16 15:27:2 + updated_on: 2013-08-16 15:27:2 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_048: + id: 48 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: aqfbLT wcqmhgdpgfvy, [url=http://flyhqtjjtskb.com/]flyhqtjjtskb[/url], + [link=http://idlilqzxissn.com/]idlilqzxissn[/link], http://sfeezearevbp.com/ + status: + reply_id: 0 + created_on: 2013-08-18 20:44:18 + updated_on: 2013-08-18 20:44:18 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_049: + id: 49 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: 搜索用户时,若无对应结果,没有返回提示信息,比如不会提示:暂无此人 + status: + reply_id: 0 + created_on: 2013-08-19 08:45:27 + updated_on: 2013-08-19 08:45:27 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_058: + id: 58 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: 问题板块中 “新建问题”能不能移动到靠右~ + status: + reply_id: 0 + created_on: 2013-08-20 00:24:44 + updated_on: 2013-08-20 00:24:44 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_060: + id: 60 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: something very nice + status: + reply_id: 0 + created_on: 2013-08-21 07:04:43 + updated_on: 2013-08-21 07:04:43 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_086: + id: 86 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: 谢谢大家的反馈! + status: + reply_id: 0 + created_on: 2013-08-23 02:36:48 + updated_on: 2013-08-23 02:36:48 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_087: + id: 87 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: ”与我相关“处不可以直接回复 + status: + reply_id: 0 + created_on: 2013-08-23 02:44:56 + updated_on: 2013-08-23 02:44:56 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: +jfm_088: + id: 88 + jour_id: 2 + jour_type: Project + user_id: 2 + notes: 任何有关回复的地方可在任意显示处回复 + status: + reply_id: 0 + created_on: 2013-08-23 02:45:45 + updated_on: 2013-08-23 02:45:45 + m_parent_id: + is_readed: + m_reply_count: + m_reply_id: + is_comprehensive_evaluation: + diff --git a/test/fixtures/projects.yml b/test/fixtures/projects.yml index 0105f9356..c979498fb 100644 --- a/test/fixtures/projects.yml +++ b/test/fixtures/projects.yml @@ -11,18 +11,18 @@ projects_001: parent_id: lft: 1 rgt: 10 -projects_002: - created_on: 2006-07-19 19:14:19 +02:00 - name: OnlineStore - updated_on: 2006-07-19 19:14:19 +02:00 - id: 2 - description: E-commerce web site - homepage: "" - is_public: false - identifier: onlinestore - parent_id: - lft: 11 - rgt: 12 +#projects_002: +# created_on: 2006-07-19 19:14:19 +02:00 +# name: OnlineStore +# updated_on: 2006-07-19 19:14:19 +02:00 +# id: 2 +# description: E-commerce web site +# homepage: "" +# is_public: false +# identifier: onlinestore +# parent_id: +# lft: 11 +# rgt: 12 projects_003: created_on: 2006-07-19 19:15:21 +02:00 name: eCookbook Subproject 1 @@ -71,3 +71,24 @@ projects_006: parent_id: 5 lft: 3 rgt: 4 +trustie: + id: 2 + name: SocialForge + description: "SocialForge是TrustieForge的升级版,支持社交化协同开发与合作。 SocialForge aims to provide a socialized and crowd sourcing enabled collaboration development platform. It is combining and will combine TrustieForge, Influx, Redmine and other open source projects." + homepage: http://forge.trustie.net + is_public: true + parent_id: + created_on: 2013-06-25 06:02:19.000000000 Z + updated_on: 2013-11-13 12:52:42.000000000 Z + identifier: trustie + status: 1 + lft: 11 + rgt: 12 +# lft: 115 +# rgt: 116 + project_type: 0 + hidden_repo: true + attachmenttype: 1 + user_id: + dts_test: 0 + diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb new file mode 100644 index 000000000..412165620 --- /dev/null +++ b/test/functional/projects_controller_test.rb @@ -0,0 +1,95 @@ +require File.expand_path('../../test_helper', __FILE__) + +class ProjectsControllerTest < ActionController::TestCase + fixtures :projects, + :issues, + :issue_statuses, + :enumerations, + :users, + :issue_categories, + :trackers, + :projects_trackers, + :roles, + :member_roles, + :members, + :enabled_modules, + :journals, + :journal_details, + :journals_for_messages + + def setup + @request.session[:user_id] = nil + @request.session[:ctime] = Time.now + @request.session[:atime] = Time.now + Setting.default_language = 'en' + end + + test 'get :index' do + get :index + assert_response :success + end + test ':new by admin should accept get' do + @request.session[:user_id] = 1 + get :new + assert_response :success + end + test ':new by non-admin user with add_project permission should accept get' do + Role.non_member.add_permission! :add_project + @request.session[:user_id] = 9 + get :new + assert_response :success + assert_template 'new' + end + + test ':create by admin user should create a new project' do + @request.session[:user_id] = 1 + post :create, :project => { + name: "blog1", + description: 'weblog', + homepage: 'http://weblog', + identifier: 'blog', + is_public: 1, + custom_field_values: {'3' => 'Beta'}, + tracker_ids: ['1', '3'], + :issue_custom_field_ids => ['9'], + :enabled_module_names => ['issue_tracking', 'news', 'repository'] + } + project = Project.find_by_name(blog) + assert_not_nil project + assert_redirected_to "/projects/#{project.id}/settings" + + assert_kind_of Project, project + assert project.active? + assert_equal 'weblog', project.description + assert_equal 'http://weblog', project.homepage + assert_equal true, project.is_public? + assert_nil project.parent + assert_equal 'Beta', project.custom_value_for(3).value + assert_equal [1, 3], project.trackers.map(&:id).sort + assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort + assert project.issue_custom_fields.include?(IssueCustomField.find(9)) + end + + test 'get :show trustie' do + get :show, {id: 2} + assert_response :success + end + + test 'get :search, forge' do + query_condition = "forge" + get :search, {'name' => query_condition } + projects = assigns(:projects_all) + assert projects.any?, "projects should have anything." + projects.each do |project| + assert project.name.downcase.include?(query_condition), "project name is invalid: #{project.name}" + end + end + + test 'get :feedback' do + get :feedback, {id: 2} + assert_response :success + # prject_id = 2 总有8个留言 + assert_equal assigns(:jour).count, 8 + end + +end From 00cf448bda7be4f58b0313aa2b3e03f0b1558820 Mon Sep 17 00:00:00 2001 From: nwb Date: Mon, 28 Jul 2014 09:18:24 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E7=A9=BA=E7=95=99=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/show.html.erb | 7 ++++++- db/schema.rb | 8 +++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 6270b5f50..7c016e33b 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -137,7 +137,12 @@ <% end %> -

<%= act.notes.html_safe %>

+ <% if act.notes.nil? %> + <% desStr = '' %> + <% else %> + <% desStr=act.notes.html_safe %> + <% end %> +

<%= desStr %>

diff --git a/db/schema.rb b/db/schema.rb index c34e15d93..219666f79 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 => 20140725034309) do +ActiveRecord::Schema.define(:version => 20140725073357) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -419,10 +419,12 @@ ActiveRecord::Schema.define(:version => 20140725034309) do t.string "web_title" t.string "title" t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + 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 end create_table "forums", :force => true do |t| From 979d6dd067ff50f21f3c1786b1386c6772cc5e79 Mon Sep 17 00:00:00 2001 From: yanxd Date: Mon, 28 Jul 2014 09:22:52 +0800 Subject: [PATCH 4/6] dts_test. controller ===> model --- app/controllers/projects_controller.rb | 162 +++++-------------------- app/models/project.rb | 1 + 2 files changed, 33 insertions(+), 130 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index f767aed10..eedb29329 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -16,6 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class ProjectsController < ApplicationController layout :select_project_layout + menu_item :overview menu_item :roadmap, :only => :roadmap menu_item :settings, :only => :settings @@ -459,24 +460,10 @@ class ProjectsController < ApplicationController end def new - @project_type = params[:project_type] ||= params[:course] @issue_custom_fields = IssueCustomField.sorted.all @trackers = Tracker.sorted.all - - case @project_type - when '0' # Project - @project = Project.new - @project.safe_attributes = params[:project] - when '1' # Course - @project = Project.new - @project.safe_attributes = params[:project] - @course_tag = params[:course] - @course = Course.new - @course.safe_attributes = params[:course] - else # default Project - @project = Project.new - @project.safe_attributes = params[:project] - end + @project = Project.new + @project.safe_attributes = params[:project] render :layout => 'base' end @@ -490,128 +477,43 @@ class ProjectsController < ApplicationController end def create - - @course_tag = params[:project][:project_type] - if(@course_tag=="1") - if User.current.user_extensions.identity#.include?(UserExtensions::TEACHER,UserExtensions::DEVELOPER) - @course = Course.new - @course.extra='course' + DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d_%H-%M-%S').to_s - @course.safe_attributes = params[:project][:course] - @course.tea_id = User.current.id - # added by bai - @course.term = params[:term] - @course.time = params[:time] - #@course.school_id = params[:occupation] - @course.school_id = User.current.user_extensions.school_id - @course.setup_time = params[:setup_time] - @course.endup_time = params[:endup_time] - @course.class_period = params[:class_period] - end - end @issue_custom_fields = IssueCustomField.sorted.all @trackers = Tracker.sorted.all @project = Project.new - @project.user_id = User.current.id - @project.dts_test = params[:project][:dts_test] @project.safe_attributes = params[:project] - if @course_tag == '1' - @project.identifier = @course.extra - end - if @course_tag == '1' - if User.current.user_extensions.identity == 0 - if@course.save - if validate_parent_id && @project.save - @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') - # Add current user as a project member if he is not admin - unless User.current.admin? - r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first - m = Member.new(:user => User.current, :roles => [r]) - project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id) - user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id) - if params[:project][:is_public] == '1' - project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :grade => 0, :project_type => @course_tag) - end - @project.members << m - @project.project_infos << project - end - respond_to do |format| - format.html { - flash[:notice] = l(:notice_successful_create) - if params[:continue] - attrs = {:parent_id => @project.parent_id}.reject {|k,v| v.nil?} - redirect_to new_project_path(attrs, :course => '0') - #Added by young - - elsif params[:course_continue] - redirect_to new_project_path(:course => '1') - #Ended by young - else - redirect_to settings_project_path(@project,:project_type => 1) - end - } - format.api { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) } - end - else - @course.destroy - respond_to do |format| - format.html { render :action => 'new', :layout => 'base'}#Added by young - format.api { render_validation_errors(@project) } - end - end - else - if validate_parent_id && @project.save - @project.delete - respond_to do |format| - format.html { render :action => 'new', :layout => 'base'}#Added by young - format.api { render_validation_errors(@project) } - end + if validate_parent_id && @project.save + @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') + # Add current user as a project member if he is not admin + #unless User.current.admin? + r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first + m = Member.new(:user => User.current, :roles => [r]) + project_info = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id) + user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id) + Rails.logger.debug "UserGrade created: #{user_grades.to_json}" + if params[:project][:is_public] == '1' + project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @project.project_type) + Rails.logger.debug "ProjectStatus created: #{project_status.to_json}" + end + @project.members << m + @project.project_infos << project_info + #end + respond_to do |format| + format.html { + flash[:notice] = l(:notice_successful_create) + if params[:continue] + attrs = {:parent_id => @project.parent_id}.reject {|k,v| v.nil?} + redirect_to new_project_path(attrs, :course => '0') else - respond_to do |format| - format.html { render :action => 'new', :layout => 'base'}#Added by young - format.api { render_validation_errors(@project) } - end + redirect_to settings_project_path(@project) end - end + } + format.api { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) } end else - #@project.memberships.create - if validate_parent_id && @project.save - @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') - # Add current user as a project member if he is not admin - #unless User.current.admin? - r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first - m = Member.new(:user => User.current, :roles => [r]) - project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id) - user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id) - if params[:project][:is_public] == '1' || @course_tag=="1" - project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @project.project_type) - end - @project.members << m - @project.project_infos << project - #end - respond_to do |format| - format.html { - flash[:notice] = l(:notice_successful_create) - if params[:continue] - attrs = {:parent_id => @project.parent_id}.reject {|k,v| v.nil?} - redirect_to new_project_path(attrs, :course => '0') - #Added by young - - elsif params[:course_continue] - redirect_to new_project_path(:course => '1') - #Ended by young - else - redirect_to settings_project_path(@project) - end - } - format.api { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) } - end - else - respond_to do |format| - format.html { render :action => 'new', :layout => 'base'}#Added by young - format.api { render_validation_errors(@project) } - end - end + respond_to do |format| + format.html { render :action => 'new', :layout => 'base'}#Added by young + format.api { render_validation_errors(@project) } + end end end diff --git a/app/models/project.rb b/app/models/project.rb index d6283e44f..1a2c0504d 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -758,6 +758,7 @@ class Project < ActiveRecord::Base 'tracker_ids', 'issue_custom_field_ids', 'project_type', + 'dts_test', 'attachmenttype' From 9c9778d433e840e1a3b01143e28de0ed0030475b Mon Sep 17 00:00:00 2001 From: nwb Date: Mon, 28 Jul 2014 09:23:40 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E2=80=9C?= =?UTF-8?q?=E8=B5=84=E6=96=99=E4=B8=8B=E8=BD=BD=E2=80=9D=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E2=80=9C=E4=BD=9C=E5=93=81=E4=B8=8B=E8=BD=BD=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/locales/zh.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh.yml b/config/locales/zh.yml index bb4c445e8..73629d72b 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -498,7 +498,7 @@ zh: project_module_time_tracking: 时间跟踪 project_module_news: 新闻 project_module_documents: 文档 - project_module_files: 资料下载 + project_module_files: 作品下载 project_module_wiki: Wiki project_module_repository: 版本库 project_module_boards: 讨论区 From ef62fc1fac5ded629c02c81dd709fd59f2b7090e Mon Sep 17 00:00:00 2001 From: nwb Date: Mon, 28 Jul 2014 09:46:19 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BC=BA=E9=99=B7=E7=BC=96=E5=8F=B7=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/auto_completes/issues.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/auto_completes/issues.html.erb b/app/views/auto_completes/issues.html.erb index b097eaff4..1df31e41b 100644 --- a/app/views/auto_completes/issues.html.erb +++ b/app/views/auto_completes/issues.html.erb @@ -1,6 +1,6 @@ <%= raw @issues.map {|issue| { 'id' => issue.id, - 'label' => "#{issue.tracker} ##{issue.id}: #{truncate issue.subject.to_s, :length => 60}", + 'label' => "#{issue.tracker} ##{issue.project_index}: #{truncate issue.subject.to_s, :length => 60}", 'value' => issue.id } }.to_json