From b19ed67d79c4eb0ffef8ba43dbe3f66a3360a56a Mon Sep 17 00:00:00 2001 From: huangjingquan Date: Sun, 29 Sep 2013 19:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=9A=84=E8=AF=BE=E7=A8=8B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80=E4=BA=9Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/bids_controller.rb | 8 +- app/controllers/courses_controller.rb | 2 +- app/controllers/files_controller.rb | 2 +- app/controllers/projects_controller.rb | 150 ++++++++++- app/controllers/users_controller.rb | 3 + app/controllers/welcome_controller.rb | 2 + app/helpers/bids_helper.rb | 27 +- app/helpers/projects_helper.rb | 90 ++++++- app/helpers/users_helper.rb | 40 ++- app/models/course.rb | 3 +- app/models/project_status.rb | 2 +- app/views/bids/_bid_show.html.erb | 2 +- app/views/bids/_homework_list.html.erb | 8 +- app/views/bids/_list_projects.html.erb | 2 +- app/views/bids/_project_list.html.erb | 25 +- app/views/bids/index.html.erb | 22 +- .../layouts/_base_college_header.html.erb | 14 ++ .../layouts/_base_enterprise_header.html.erb | 45 ++++ app/views/layouts/_base_home_menu.html.erb | 23 ++ app/views/layouts/base.html.erb | 8 +- app/views/layouts/base_bids.html.erb | 18 +- app/views/layouts/base_courses.html.erb | 6 +- app/views/layouts/base_homework.html.erb | 2 +- app/views/layouts/base_projects.html.erb | 26 +- app/views/projects/_project.html.erb | 22 ++ app/views/projects/course.html.erb | 67 +++++ app/views/projects/index.html.erb | 22 +- app/views/users/index.html.erb | 10 +- app/views/welcome/index.html.erb | 57 +++-- config/locales/zh.yml | 10 +- config/routes.rb | 4 +- ...27_add_project_type_to_project_statuses.rb | 5 + .../20130927011824_add_password_to_courses.rb | 5 + db/schema.rb | 4 +- lib/redmine.rb | 40 +++ public/images/add_enterprise.png | Bin 0 -> 3484 bytes public/images/logo2.png | Bin 0 -> 30820 bytes public/images/logo3.png | Bin 0 -> 30763 bytes public/images/logo4.png | Bin 0 -> 30995 bytes public/images/logo_ent.png | Bin 0 -> 30947 bytes public/images/sidebar/add_enterprise.png | Bin 0 -> 3484 bytes public/images/sidebar/tags_enterprise.png | Bin 0 -> 2920 bytes public/images/sidebar/tool_tag_enterprise.png | Bin 0 -> 3291 bytes public/stylesheets/application.css | 232 ++++++++++++------ .../stylesheets/application.css | 71 +++++- 45 files changed, 878 insertions(+), 201 deletions(-) create mode 100644 app/views/layouts/_base_college_header.html.erb create mode 100644 app/views/layouts/_base_enterprise_header.html.erb create mode 100644 app/views/layouts/_base_home_menu.html.erb create mode 100644 app/views/projects/course.html.erb create mode 100644 db/migrate/20130926140427_add_project_type_to_project_statuses.rb create mode 100644 db/migrate/20130927011824_add_password_to_courses.rb create mode 100644 public/images/add_enterprise.png create mode 100644 public/images/logo2.png create mode 100644 public/images/logo3.png create mode 100644 public/images/logo4.png create mode 100644 public/images/logo_ent.png create mode 100644 public/images/sidebar/add_enterprise.png create mode 100644 public/images/sidebar/tags_enterprise.png create mode 100644 public/images/sidebar/tool_tag_enterprise.png diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index b7951fbe6..f4ff47fba 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -15,10 +15,16 @@ class BidsController < ApplicationController helper :projects def index + @project_type = params[:project_type] # Modified by nie # @requirement_title = "4" @offset, @limit = api_offset_and_limit({:limit => 10}) - @bids = Bid.visible + if @project_type == '1' + @bids = Bid.visible.where('reward_type = ?', 3) + else + @bids = Bid.visible.where('reward_type = ? or reward_type = ?', 1, 2) + end + @bids = @bids.like(params[:name]) if params[:name].present? @bid_count = @bids.count @bid_pages = Paginator.new @bid_count, @limit, params['page'] diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 137079233..08e35566e 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -6,7 +6,7 @@ class CoursesController < ApplicationController def join if User.current.logged? course = Project.find(params[:object_id]) - if params[:course_password].to_i == Course.find_by_extra(course.identifier).state + if params[:course_password] == Course.find_by_extra(course.identifier).password members = [] members << Member.new(:role_ids => [5], :user_id => User.current.id) course.members << members diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index 1048c12bd..1e1934ecf 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -45,7 +45,7 @@ class FilesController < ApplicationController def new @versions = @project.versions.sort @course_tag = @project.project_type - if @course_tag + if @project.project_type == 1 render :layout => 'base_courses' end end diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index e9e35cbd1..f94c5e7d0 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -41,8 +41,9 @@ class ProjectsController < ApplicationController # menu_item l(:label_course_file), :only => files # menu_item l(:label_settings), :only => settings - before_filter :find_project, :except => [ :index, :search,:list, :new, :create, :copy, :statistics, :new_join] - before_filter :authorize, :except => [:new_join, :new_homework, :homework, :statistics, :search, :watcherlist, :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy, :member, :focus, :file, :statistics, :feedback] + before_filter :find_project, :except => [ :index, :search,:list, :new, :create, :copy, :statistics, :new_join, :course] + before_filter :authorize, :except => [:new_join, :new_homework, :homework, :statistics, :search, :watcherlist, :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy, :member, :focus, :file, + :statistics, :feedback, :course] before_filter :authorize_global, :only => [:new, :create] before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy, :calendar] #by young @@ -110,8 +111,17 @@ class ProjectsController < ApplicationController # @offset ||= @project_pages.offset # @projects = Project.visible.offset(@offset).limit(@limit).order('lft').all @project_type = params[:project_type] + @project_type = params[:project_type] + @offset, @limit = api_offset_and_limit({:limit => 10}) - @projects_status = ProjectStatus.visible + @projects_status = ProjectStatus.visible.where("project_type <> ? or project_type is null", 1) + # @projects_status = ProjectStatus.visible + # @projects_status.each do |project| + # if Project.visible.find_by_id("#{project.project_id}") + # project.project_type = Project.visible.find_by_id("#{project.project_id}").project_type + # project.save + # end + # end # @projects.each do |project| # @admin = project.users_by_role[Role.find(3)] # unless @admin.nil? @@ -192,7 +202,122 @@ class ProjectsController < ApplicationController @projects = [] @projects_status.each do |obj| - @projects << Project.visible.find_by_id("#{obj.project_id}") unless Project.visible.find_by_id("#{obj.project_id}").nil? + @projects << Project.visible.find_by_id("#{obj.project_id}") unless Project.visible.find_by_id("#{obj.project_id}").nil? + end + #end + respond_to do |format| + format.html { + render :layout => 'base' + scope = Project + unless params[:closed] + scope = scope.active + end + } + format.api { + # @offset, @limit = api_offset_and_limit + # @project_count = Project.visible.count + # @projects = Project.visible.offset(@offset).limit(@limit).order('lft').all + } + format.atom { + projects = Project.visible.order('created_on DESC').limit(Setting.feeds_limit.to_i).all + render_feed(projects, :title => "#{Setting.app_title}: #{l(:label_project_latest)}") + } + end + end + + def course + #Modified by nie + # @offset, @limit = api_offset_and_limit({:limit => 10}) + # @project_count = Project.visible.count + # @project_pages = Paginator.new @project_count, @limit, params['page'] + # @offset ||= @project_pages.offset + # @projects = Project.visible.offset(@offset).limit(@limit).order('lft').all + + @project_type = params[:project_type] + + @offset, @limit = api_offset_and_limit({:limit => 10}) + @projects_status = ProjectStatus.visible.where("project_type = ?", 1) + # @projects.each do |project| + # @admin = project.users_by_role[Role.find(3)] + # unless @admin.nil? + # @admin.each do |user| + # ProjectInfo.create(:user_id => user.id, :project_id => project.id) + # end + # + # end + # end + # @projects.each do |project| + # ProjectStatus.create(:changesets_count => project.changesets.count, :project_id => project.id, :watchers_count => project.watcher_users.count) + # end + #@projects_status = Project.visible.like(params[:name]) if params[:name].present? + @project_count = @projects_status.count + @project_pages = Paginator.new @project_count, @limit, params['page'] + + @offset ||= @project_pages.reverse_offset + + #@projects = @projects.offset(@offset).limit(@limit).order('created_on DESC').all + if params[:project_sort_type].present? + case params[:project_sort_type] + when '0' + @offset ||= @project_pages.reverse_offset + unless @offset == 0 + @projects_status = @projects_status.offset(@offset).limit(@limit).all.reverse + else + limit = @project_count % @limit + if limit == 0 + limit = @limit + end + @projects_status = @projects_status.offset(@offset).limit(limit).all.reverse + end + @s_type = 0 + # @projects = @projects.sort {|x,y| y.created_on <=> x.created_on } + # @projects = @projects[@offset, @limit] + when '1' + @offset ||= @project_pages.reverse_offset + unless @offset == 0 + @projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(@limit).all.reverse + else + limit = @project_count % @limit + if limit == 0 + limit = @limit + end + @projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(limit).all.reverse + end + @s_type = 1 + + #@projects = @projects[@offset, @limit] + when '2' + @offset ||= @project_pages.reverse_offset + unless @offset == 0 + @projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(@limit).all.reverse + else + limit = @project_count % @limit + if limit == 0 + limit = @limit + end + @projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(limit).all.reverse + end + @s_type = 2 + end + else + @offset ||= @project_pages.reverse_offset + unless @offset == 0 + @projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(@limit).all.reverse + else + limit = @project_count % @limit + if limit == 0 + limit = @limit + end + @projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(limit).all.reverse + end + @s_type = 1 + # @projects = @projects.sort {|x,y| y.created_on <=> x.created_on } + # @projects = @projects[@offset, @limit] + end + + @projects = [] + @projects_status.each do |obj| + @projects << Project.visible.find_by_id("#{obj.project_id}") unless Project.visible.find_by_id("#{obj.project_id}").nil? end #end respond_to do |format| @@ -328,6 +453,7 @@ class ProjectsController < ApplicationController end def new + @project_type = params[:project_type] @course_tag = params[:course] @issue_custom_fields = IssueCustomField.sorted.all @trackers = Tracker.sorted.all @@ -340,7 +466,8 @@ class ProjectsController < ApplicationController render :layout => 'base' end - def create + def create + @course_tag = params[:project][:project_type] if(@course_tag=="1") @course = Course.new @@ -385,7 +512,7 @@ class ProjectsController < ApplicationController redirect_to new_project_path(:course => '1') #Ended by young else - redirect_to settings_project_path(@project) + 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) } @@ -482,6 +609,9 @@ class ProjectsController < ApplicationController # Show @project def show + + @project_type = params[:project_type] + # try to redirect to the requested menu item if params[:jump] && redirect_to_project_menu_item(@project, params[:jump]) return @@ -491,7 +621,7 @@ class ProjectsController < ApplicationController @subprojects = @project.children.visible.all @news = @project.news.limit(5).includes(:author, :project).reorder("#{News.table_name}.created_on DESC").all @trackers = @project.rolled_up_trackers - @user = User.find_by_id(ProjectInfo.find_by_project_id(@project.id).user_id) + @user = User.find_by_id(ProjectInfo.find_by_project_id(@project.id).user_id) cond = @project.project_condition(Setting.display_subprojects_issues?) @open_issues_by_tracker = Issue.visible.open.where(cond).count(:group => :tracker) @@ -614,9 +744,11 @@ class ProjectsController < ApplicationController @project.safe_attributes = params[:project] if validate_parent_id && @project.save @course = Course.find_by_extra(@project.identifier) - @course.state = params[:project][:course][:state] + unless @course.nil? + @course.password = params[:project][:course][:password] @course.term = params[:project][:course][:term] - @course.save + @course.save + end @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') if params[:project][:is_public] == '0' diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 825c79060..6857e8a11 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -203,6 +203,9 @@ class UsersController < ApplicationController #end def index + + @project_type = params[:project_type] + sort_init 'login', 'asc' sort_update %w(login firstname lastname mail admin created_on last_login_on) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index c06d4d65f..c00f223c9 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -72,4 +72,6 @@ class WelcomeController < ApplicationController @projects = Project.all_public.active render :layout => false, :content_type => 'text/plain' end + + end diff --git a/app/helpers/bids_helper.rb b/app/helpers/bids_helper.rb index ddab8da7e..ed8c8873f 100644 --- a/app/helpers/bids_helper.rb +++ b/app/helpers/bids_helper.rb @@ -39,16 +39,33 @@ module BidsHelper Bid.tagged_with(tag_name).order('updated_on desc') end - def sort_bid(state) + #added by huang + def sort_bid_enterprise(state, project_type) content = ''.html_safe case state when 0 - content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1'))) - content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0'), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") when 1 - content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1'), :class=>"selected"), :class=>"selected") - content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0'))) + content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0', :project_type => project_type))) + end + content = content_tag('ul', content) + content_tag('div', content, :class => "tabs_enterprise") + end + #end + + def sort_bid(state, project_type) + content = ''.html_safe + case state + when 0 + content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") + + when 1 + content << content_tag('li', link_to(l(:label_sort_by_active), calls_path(:bid_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), calls_path(:bid_sort_type => '0', :project_type => project_type))) end content = content_tag('ul', content) content_tag('div', content, :class => "tabs") diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 661d5c627..b38d3497a 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -38,23 +38,91 @@ module ProjectsHelper end - def sort_project(state) + # added bu huang + def sort_project_enterprise(state, project_type) content = ''.html_safe case state when 0 - content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1'))) - content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2'))) - content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0'), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") when 1 - content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1'), :class=>"selected"), :class=>"selected") - content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2'))) - content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0'))) + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type))) when 2 - content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1'))) - content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2'), :class=>"selected"), :class=>"selected") - content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0'))) + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type))) + end + content = content_tag('ul', content) + content_tag('div', content, :class => "tabs_enterprise") + end + + def sort_course(state, project_type) + content = ''.html_safe + case state + when 0 + + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") + when 1 + + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type))) + when 2 + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type))) + end + content = content_tag('ul', content) + content_tag('div', content, :class => "tabs_enterprise") + end + # end + + def sort_project(state, project_type) + content = ''.html_safe + case state + when 0 + + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") + when 1 + + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type))) + when 2 + content << content_tag('li', link_to(l(:label_sort_by_active), projects_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), projects_path(:project_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), projects_path(:project_sort_type => '0', :project_type => project_type))) + end + content = content_tag('ul', content) + content_tag('div', content, :class => "tabs") + end + + def sort_course(state, project_type) + content = ''.html_safe + case state + when 0 + + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") + when 1 + + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type))) + when 2 + content << content_tag('li', link_to(l(:label_sort_by_active), course_path(:project_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), course_path(:project_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), course_path(:project_sort_type => '0', :project_type => project_type))) end content = content_tag('ul', content) content_tag('div', content, :class => "tabs") @@ -95,7 +163,7 @@ module ProjectsHelper render_project_nested_lists(projects) do |project| #Modified by young if (project.project_type==1) - s = link_to_project(project, {}, :class => "#{project.css_classes} #{User.current.member_of?(project) ? 'my-project' : nil}")+"(#{l(:label_course)})".html_safe + s = link_to_project(project, {}, :class => "#{project.css_classes} #{User.current.member_of?(project) ? 'my-project' : nil}").html_safe else s = link_to_project(project, {}, :class => "#{project.css_classes} #{User.current.member_of?(project) ? 'my-project' : nil}") end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 88e918256..ab163f804 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -113,24 +113,44 @@ module UsersHelper end # added by huang -def sort_user(state) +def sort_user(state, project_type) content = ''.html_safe case state when 0 - content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1'))) - content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2'))) - content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0'), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") when 1 - content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1'), :class=>"selected"), :class=>"selected") - content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2'))) - content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0'))) + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type))) when 2 - content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1'))) - content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2'), :class=>"selected"), :class=>"selected") - content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0'))) + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type))) end content = content_tag('ul', content) content_tag('div', content, :class => "tabs") end + + def sort_user_enterprise(state, project_type) + content = ''.html_safe + case state + when 0 + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type), :class=>"selected"), :class=>"selected") + when 1 + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type))) + when 2 + content << content_tag('li', link_to(l(:label_sort_by_active), users_path(:user_sort_type => '1', :project_type => project_type))) + content << content_tag('li', link_to(l(:label_sort_by_influence), users_path(:user_sort_type => '2', :project_type => project_type), :class=>"selected"), :class=>"selected") + content << content_tag('li', link_to(l(:label_sort_by_time), users_path(:user_sort_type => '0', :project_type => project_type))) + end + content = content_tag('ul', content) + content_tag('div', content, :class => "tabs_enterprise") + end #end end diff --git a/app/models/course.rb b/app/models/course.rb index a216798f0..155ad068f 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -14,7 +14,8 @@ class Course < ActiveRecord::Base 'location', 'tea_id', 'password', - 'term' + 'term', + 'password' end diff --git a/app/models/project_status.rb b/app/models/project_status.rb index 02eeb30c8..f6d91bfde 100644 --- a/app/models/project_status.rb +++ b/app/models/project_status.rb @@ -1,5 +1,5 @@ class ProjectStatus < ActiveRecord::Base - attr_accessible :changesets_count, :watchers_count, :project_id + attr_accessible :changesets_count, :watchers_count, :project_id, :project_type belongs_to :projects belongs_to :watchers belongs_to :changesets diff --git a/app/views/bids/_bid_show.html.erb b/app/views/bids/_bid_show.html.erb index d3f1cbb74..03640dc15 100644 --- a/app/views/bids/_bid_show.html.erb +++ b/app/views/bids/_bid_show.html.erb @@ -29,7 +29,7 @@ -
+
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb index 3e9713bdd..7ec7b7073 100644 --- a/app/views/bids/_homework_list.html.erb +++ b/app/views/bids/_homework_list.html.erb @@ -5,8 +5,12 @@ <% if homework.attachments.any?%>
<%= bid.description%>
- - + + <% if User.current.member_of?(@bid.courses.first) %> + + <% else %> + + <% end %>
<%= link_to image_tag(url_to_avatar(homework.user), :class => "avatar"), user_path(homework.user), :class => "avatar" %>
<%= link_to image_tag(url_to_avatar(homework.user), :class => "avatar"), user_path(homework.user), :class => "avatar" %><%= l(:label_bidding_user_studentcode) %><%= homework.user.user_extensions.student_id%><%= link_to image_tag(url_to_avatar(homework.user), :class => "avatar"), user_path(homework.user), :class => "avatar" %> diff --git a/app/views/bids/_list_projects.html.erb b/app/views/bids/_list_projects.html.erb index 6244cb4e6..8fb2abd00 100644 --- a/app/views/bids/_list_projects.html.erb +++ b/app/views/bids/_list_projects.html.erb @@ -78,7 +78,7 @@
diff --git a/app/views/bids/_project_list.html.erb b/app/views/bids/_project_list.html.erb index 18294d0c8..e6dda6cc3 100644 --- a/app/views/bids/_project_list.html.erb +++ b/app/views/bids/_project_list.html.erb @@ -4,12 +4,16 @@ <% if @bid.deadline > Date.today %>
<%= l(:label_bidding_user) %> - <%= link_to(b_project.user.name, user_path(b_project.user)) %> + <%= link_to(b_project.user.lastname+b_project.user.firstname, user_path(b_project.user)) %>
+ <%if @bid.reward_type == 3 %> + + <% else %> - + <% end %> <% if User.current.logged? %> <% if @bid.reward_type.nil? or @bid.reward_type == 1%> - + <% elsif @bid.reward_type == 2%> <% else %> @@ -67,10 +67,12 @@ <%= link_to l(:label_x_bids_responses, :count => @bid.commit)+"("+@bid.commit.to_s+")", respond_path(@bid)%> +
<%= l(:label_tag) %> -
+
+
<%= l(:label_homework_project) %>(<%= @bidding_project.count%>)<%= l(:label_bidding_project) %>(<%= @bidding_project.count%>)<%= l(:label_homework_project) %>(<%= @bidding_project.count%>) <% if User.current.logged? && (!Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.roles&Role.where('id = ? or id = ?', 5, 7)).size >0) %>
+ <%= toggle_link l(:button_bidding_homework), 'put-bid-form' %>
<% end %> @@ -44,7 +48,10 @@
- + + + + @@ -57,20 +64,22 @@
<%= l(:label_bidding_user_homework) %> : <%= link_to(b_project.user.name, user_path(b_project.user)) %><%= l(:label_bidding_user_studentcode) %> : <%= (b_project.user.user_extensions.student_id) %>
<%= l(:label_bidding_user_homework) %> : <%= link_to(b_project.user.lastname+b_project.user.firstname, user_path(b_project.user)) %>
<%= l(:label_bidding_reason_homewrok) %> : <%= b_project.description %>
<% end %> - <% else %> +<% else %> <% if User.current.logged? %> <% end %>
<%= l(:label_bidding_project) %>(<%= @bidding_project.count%>) - -
- <%= toggle_link l(:button_bidding_homework), 'put-bid-form' %> -
+ +
+ <%= toggle_link l(:label_bid_me), 'put-bid-form' %> +
+
<% end %> +<% unless @bid.reward_type == 3%> <%= render :partial=> "list_projects",:locals => {:bidding_project => @bidding_project,:bid => @bid }%> - +<% end %> diff --git a/app/views/bids/index.html.erb b/app/views/bids/index.html.erb index e41f0ec37..937b1b6dd 100644 --- a/app/views/bids/index.html.erb +++ b/app/views/bids/index.html.erb @@ -3,11 +3,20 @@
- + @@ -15,7 +24,11 @@
<%= l(:label_call_list)%> + <% if @project_type == '1' %> + 作业列表 + <% else %> + <%= l(:label_call_list)%> + <% end %> <% if User.current.logged? %> + <% if @project_type == '0' %> + <%= link_to(l(:label_new_call), {:controller => 'bids', :action => 'new_bid'}, :class => 'icon_enterprise icon_enterprise-add') %> + <% else %> <%= link_to(l(:label_new_call), {:controller => 'bids', :action => 'new_bid'}, :class => 'icon icon-add') %> + <% end %> <% end %>
@@ -26,8 +39,11 @@ <%= render :partial => 'new_bid' %>
<% end %> - -<%= sort_bid(@s_state)%> +<% if @project_type == '0'%> +<%= sort_bid_enterprise(@s_state, @project_type)%> +<% else %> +<%= sort_bid(@s_state, @project_type)%> +<% end %> +
+ +
+ <%= render_menu :account_menu -%> +
+ + <%= content_tag('div', "#{link_to(l(:label_layouts_feedback)+'(' + User.current.count_new_jour.to_s + ')', feedback_path(User.current))}".html_safe, :id => 'loggedas') if User.current.logged? %> + + <%= content_tag('div', "#{l(:label_logged_as)} #{link_to_user(User.current, :format => :username)}".html_safe, :id => 'loggedas') if User.current.logged? %> + <%= content_tag('div', "#{link_to(l(:label_enterprise_college), :controller =>'projects', :action => 'course', :project_type => 1 )}".html_safe, :id=> 'account-enterprise') %> + <%= render_menu :top_enterprise_menu if User.current.logged? || !Setting.login_required? -%> +
+ + + + + + + + + + + + + + diff --git a/app/views/layouts/_base_home_menu.html.erb b/app/views/layouts/_base_home_menu.html.erb new file mode 100644 index 000000000..ca3e5c847 --- /dev/null +++ b/app/views/layouts/_base_home_menu.html.erb @@ -0,0 +1,23 @@ +
+ +
+ <%= render_menu :account_menu -%> +
+ <%= content_tag('div', "#{link_to(l(:label_layouts_feedback)+'(' + User.current.count_new_jour.to_s + ')', feedback_path(User.current))}".html_safe, :id => 'loggedas') if User.current.logged? %> + <%= content_tag('div', "#{l(:label_logged_as)} #{link_to_user(User.current, :format => :username)}".html_safe, :id => 'loggedas') if User.current.logged? %> + + + + + + + <%= render_menu :top_home_menu if User.current.logged? || !Setting.login_required? -%> +
+
+ diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb index f9ecbc54f..3168c4dff 100644 --- a/app/views/layouts/base.html.erb +++ b/app/views/layouts/base.html.erb @@ -19,9 +19,13 @@
- +<% if @project_type == '0' %> +<%=render :partial => 'layouts/base_enterprise_header'%> +<% elsif @project_type == '1' %> +<%=render :partial => 'layouts/base_college_header'%> +<% else %> <%=render :partial => 'layouts/base_header'%> - +<% end %>
<%= render_flash_messages %> diff --git a/app/views/layouts/base_bids.html.erb b/app/views/layouts/base_bids.html.erb index 4ebe4a0eb..77b1edcea 100644 --- a/app/views/layouts/base_bids.html.erb +++ b/app/views/layouts/base_bids.html.erb @@ -20,7 +20,7 @@
- <%=render :partial => 'layouts/base_header'%> + <%=render :partial => 'layouts/base_enterprise_header'%>
<%= l(:label_bids_reward_method) %><%= l(:label_call_bonus) %> <%= l(:label_RMB_sign) %><%= @bid.budget%><%= l(:label_bids_reward_method) %><%= l(:label_call_bonus) %> <%= l(:label_RMB_sign) %><%= @bid.budget%><%= l(:label_bids_reward_method) %><%= @bid.budget%>
+ + + + + + + + - - - + + + diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 2cfaeb932..be1219fb4 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -503,6 +503,8 @@ zh: label_home: 主页 #by young label_requirement: 需求 + label_new_course: 课程 + label_new_homework: 作业 label_requirement_focus: 关注需求 label_developer: 用户 label_investor: 投资人: @@ -523,6 +525,10 @@ zh: label_user_login_tips: 您还没有登录,请登录后留言 #end #by huang # modified by bai + label_college: 高校进入 + label_enterprise_college: 进入高校 + label_enterprise: 企业进入 + lable_college_enterprise: 进入企业 label_term: 学期 label_spring: 春季学期 label_summer: 夏季学期 @@ -962,7 +968,7 @@ zh: text_caracters_maximum: "最多 %{count} 个字符。" text_caracters_minimum: "至少需要 %{count} 个字符。" text_length_between: "长度必须在 %{min} 到 %{max} 个字符之间。" - text_command: 口令仅数字可以使用,学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。 + text_command: 学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。 text_tracker_no_workflow: 此跟踪标签未定义工作流程 text_unallowed_characters: 非法字符 text_comma_separated: 可以使用多个值(用逗号,分开)。 @@ -1275,6 +1281,7 @@ zh: field_homework_type: 作业类型 label_homework_respond: 作业情况 + label_bid_me: 我要应标 label_new_call: 发布需求 label_user_information: "与我相关" label_bid_succeed: "需求发布成功" @@ -1360,6 +1367,7 @@ zh: label_jion_bidding_homework: 已提交! label_bidding_user: 应标人: label_bidding_user_homework: 作业提交者 + label_bidding_user_studentcode: 学号 label_bidding_reason: 应标宣言: label_bidding_reason_homewrok: 作业提交说明 label_username: 用户名: diff --git a/config/routes.rb b/config/routes.rb index a3a300573..b36686ca1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -156,7 +156,8 @@ RedmineApp::Application.routes.draw do match '/file', :controller => 'projects', :action => 'file', :as => 'file', :via => :get match '/statistics', :controller => 'projects', :action => 'statistics', :as => 'statistics', :via => :get # match '/investor', :controller => 'projects', :action => 'investor', :as => 'investor', :via => :get - match '/homework', :controller => 'projects', :action => 'homework', :as => 'homework', :via => :get + match '/homework', :controller => 'projects', :action => 'homework', :as => 'homework', :via => :get + # match '/activity', :controller => 'activities', :action => 'index', :as => 'activity', :via => :get # match '/repository', :controller => 'repositories', :action => 'show', :repository_id => nil, :path => nil, :rev => nil, :as => 'repository', :via => :get @@ -455,6 +456,7 @@ RedmineApp::Application.routes.draw do match 'new_join', :to => 'projects#new_join', :as => 'try_join' match 'projects/:id/respond', :to => 'projects#project_respond', :via => :post match 'calls/:id/manage',:to => 'bids#manage',:via => [:get,:post] + match 'project/course', :to => 'projects#course', :as => 'course' #added by william # match 'calls/:id/set_results',:controller => 'bids', :action => 'set_results',:via => [:get,:post],:as => 'set_results' diff --git a/db/migrate/20130926140427_add_project_type_to_project_statuses.rb b/db/migrate/20130926140427_add_project_type_to_project_statuses.rb new file mode 100644 index 000000000..ef126c5e9 --- /dev/null +++ b/db/migrate/20130926140427_add_project_type_to_project_statuses.rb @@ -0,0 +1,5 @@ +class AddProjectTypeToProjectStatuses < ActiveRecord::Migration + def change + add_column :project_statuses, :project_type, :integer + end +end diff --git a/db/migrate/20130927011824_add_password_to_courses.rb b/db/migrate/20130927011824_add_password_to_courses.rb new file mode 100644 index 000000000..7d648a67b --- /dev/null +++ b/db/migrate/20130927011824_add_password_to_courses.rb @@ -0,0 +1,5 @@ +class AddPasswordToCourses < ActiveRecord::Migration + def change + add_column :courses, :password, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index c4b87d14e..4659f0f01 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 => 20130926005448) do +ActiveRecord::Schema.define(:version => 20130927011824) do create_table "a_user_watchers", :force => true do |t| t.string "name" @@ -180,6 +180,7 @@ ActiveRecord::Schema.define(:version => 20130926005448) do t.string "location" t.string "term" t.string "string" + t.string "password" end create_table "custom_fields", :force => true do |t| @@ -507,6 +508,7 @@ ActiveRecord::Schema.define(:version => 20130926005448) do t.integer "changesets_count" t.integer "watchers_count" t.integer "project_id" + t.integer "project_type" end add_index "project_statuses", ["changesets_count"], :name => "index_project_statuses_on_changesets_count" diff --git a/lib/redmine.rb b/lib/redmine.rb index 4be99f022..788c2d870 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -208,6 +208,46 @@ Redmine::MenuManager.map :top_menu do |menu| # menu.push :help, Redmine::Info.help_url, :last => true end #end + +# by huang +Redmine::MenuManager.map :top_home_menu do |menu| + menu.push :home, :home_path + menu.push :projects, { :controller => 'projects', :action => 'index' }, :caption => :label_project_plural + menu.push :developer, {:controller => 'users', :action => 'index'} + # menu.push :investor, :home_path + # menu.push :theme, :home_path + # menu.push :my_page, { :controller => 'my', :action => 'page' }, :if => Proc.new { User.current.logged? } + # menu.push :administration, { :controller => 'admin', :action => 'index' }, :if => Proc.new { User.current.admin? }, :last => true + # menu.push :help, Redmine::Info.help_url, :last => true +end + +Redmine::MenuManager.map :top_enterprise_menu do |menu| + menu.push :home, :home_path + menu.push :projects, { :controller => 'projects', :action => 'index', :project_type => 0 }, :caption => :label_project_plural + menu.push :requirement, {:controller => 'bids', :action => 'index', :project_type => 0 } + menu.push :developer, {:controller => 'users', :action => 'index', :project_type => 0 } + # menu.push :investor, :home_path + # menu.push :theme, :home_path + # menu.push :my_page, { :controller => 'my', :action => 'page' }, :if => Proc.new { User.current.logged? } + # menu.push :administration, { :controller => 'admin', :action => 'index' }, :if => Proc.new { User.current.admin? }, :last => true + # menu.push :help, Redmine::Info.help_url, :last => true +end + +Redmine::MenuManager.map :top_college_menu do |menu| + menu.push :home, :home_path + menu.push :new_course, {:controller => 'projects', :action => 'course', :project_type => 1 } + menu.push :new_homework, {:controller => 'bids', :action => 'index', :project_type => 1 } + menu.push :projects, { :controller => 'projects', :action => 'index', :project_type => 1 }, :caption => :label_project_plural + menu.push :developer, {:controller => 'users', :action => 'index', :project_type => 1 } + + # menu.push :investor, :home_path + # menu.push :theme, :home_path + # menu.push :my_page, { :controller => 'my', :action => 'page' }, :if => Proc.new { User.current.logged? } + # menu.push :administration, { :controller => 'admin', :action => 'index' }, :if => Proc.new { User.current.admin? }, :last => true + # menu.push :help, Redmine::Info.help_url, :last => true +end +# end + Redmine::MenuManager.map :account_menu do |menu| menu.push :login, :signin_path, :if => Proc.new { !User.current.logged? } menu.push :register, :register_path, :if => Proc.new { !User.current.logged? && Setting.self_registration? } diff --git a/public/images/add_enterprise.png b/public/images/add_enterprise.png new file mode 100644 index 0000000000000000000000000000000000000000..0a9ae4abe31bb4ccf94ba8a03f7cd10343c6af38 GIT binary patch literal 3484 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
@@ -84,7 +86,7 @@
<%= l(:label_x_followers, :count => @bid.watcher_users.count) %>
-
+
@@ -102,12 +104,12 @@
- +
<%= l(:label_bidding_project) %>
-
+
@@ -124,7 +126,7 @@
- + @@ -133,7 +135,7 @@
<% if display_main_menu?(@bid) %> -
+
<%= render_menu :bid_menu %>
<% end %> diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 057f7c037..126c845b5 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -20,7 +20,7 @@
- <%= render :partial => 'layouts/base_header'%> + <%= render :partial => 'layouts/base_college_header'%>
@@ -68,9 +68,7 @@
- + diff --git a/app/views/layouts/base_homework.html.erb b/app/views/layouts/base_homework.html.erb index 52c2fe3c8..1ace06c19 100644 --- a/app/views/layouts/base_homework.html.erb +++ b/app/views/layouts/base_homework.html.erb @@ -20,7 +20,7 @@
- <%= render :partial => 'layouts/base_header'%> + <%= render :partial => 'layouts/base_college_header'%>
主讲老师:<%= @course.teacher.lastname+@course.teacher.firstname %>
-
+
@@ -83,10 +83,10 @@ <%= textilizable @project.description %>
- <%= l(:label_create_time) %>:<%= format_time(@project.created_on) %> + <%= l(:label_create_time) %>:<%= format_time(@project.created_on) %>
-
+
@@ -100,7 +100,7 @@ -
+
<%= l(:label_project_tool)%> @@ -108,25 +108,25 @@ - - - - - <% if @project.identifier == 'trustie' %> - <% else %> @@ -134,11 +134,11 @@
<%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:project_module_documents),project_documents_path(@project) %><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:project_module_wiki),project_wiki_path(@project) %>
<%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:project_module_calendar),project_calendar_path(@project) %> <%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:project_module_gantt) ,project_gantt_path(@project) %>
<%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:project_module_boards) ,project_boards_path(@project) %> <%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %> + <%=image_tag("/images/sidebar/tool_tag_enterprise.png", weight:"15px", height:"15px") %> <%= link_to l(:label_project_tool_response) ,project_feedback_path(@project) %>
-
+
-
+
<%= render_main_menu(@project) %>
<%= yield %> diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb index 8042cfe4d..2c01ea971 100644 --- a/app/views/projects/_project.html.erb +++ b/app/views/projects/_project.html.erb @@ -8,6 +8,22 @@ <%= textilizable(project.short_description, :project => project) %>

+ <% if @project_type == '0' %> +
+

+ <%= content_tag('span', @project.watcher_users.count, :class => "info") %><%= content_tag('span', l(:label_x_follow_people,:count =>@project.watcher_users.count)) %> +

+

+ <%= content_tag('span', "#{@project.users.count}", :class => "info") %><%= content_tag('span', l(:label_x_current_contributors, :count => @project.users.count)) %> +

+

+ <%= content_tag('span', "#{(@project.repository.nil? || @project.repository.changesets[0].nil?) ? '0' : distance_of_time_in_words(Time.now, @project.repository.changesets[0].committed_on)}", :class => "info") %><%= content_tag('span', l(:label_since_last_commits)) %> +

+

+ <%= content_tag('span', "#{@project.repository.nil? ? '0' : @project.project_status.changesets_count }", :class => "info") %><%= content_tag('span', l(:label_commit_on)) %> +

+
+ <% else %>

<%= content_tag('span', @project.watcher_users.count, :class => "info") %><%= content_tag('span', l(:label_x_follow_people,:count =>@project.watcher_users.count)) %> @@ -22,6 +38,7 @@ <%= content_tag('span', "#{@project.repository.nil? ? '0' : @project.project_status.changesets_count }", :class => "info") %><%= content_tag('span', l(:label_commit_on)) %>

+ <% end %>
@@ -50,7 +67,12 @@
+ <% if @project_type == '0' %> + <%= image_tag( "/images/sidebar/tags_enterprise.png") %> + + <% else %> <%= image_tag( "/images/sidebar/tags.png") %> + <% end %> <%= render :partial => 'tags/tag_name', :locals => {:obj => @project,:object_flag => "2",:non_list_all => true }%>
diff --git a/app/views/projects/course.html.erb b/app/views/projects/course.html.erb new file mode 100644 index 000000000..1f05347a7 --- /dev/null +++ b/app/views/projects/course.html.erb @@ -0,0 +1,67 @@ +<% content_for :header_tags do %> +<%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %> +<% end %> + +<%= form_tag(:controller => 'projects', :action => 'search', :method => :get) do %> +
+ + + + + + +
<%= l(:label_new_course)%><%= link_to(l(:label_course_new), {:controller => 'projects', :action => 'new', :course => 1, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %> +
+
+<% end %> + +<%= sort_course(@s_type, @project_type)%> + + + +
+ <%= render_project_hierarchy(@projects)%> +
+ + + +<% if User.current.logged? %> +

+ <%= l(:label_my_projects) %> +

+<% end %> + +<% other_formats_links do |f| %> +<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %> +<% end %> + +<% content_for :sidebar do %> +<%= form_tag({}, :method => :get) do %> +

<%= l(:label_project_plural) %>

+ +

+ <%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %> +

+<% end %> +<% end %> + +<% html_title(l(:label_project_plural)) -%> diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb index bac032778..0399524a1 100644 --- a/app/views/projects/index.html.erb +++ b/app/views/projects/index.html.erb @@ -7,19 +7,31 @@ - - - + <% else %> + + <% end %> +
<%= l(:label_project_plural)%><%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %><%= link_to(l(:label_course_new), {:controller => 'projects', :action => 'new', :course => 1}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %> + <% if @project_type == '0' %> + <%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0, :project_type => @project_type}, :class => 'icon_enterprise icon_enterprise-add') if User.current.allowed_to?(:add_project, nil, :global => true) %><%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
<% end %> - -<%= sort_project(@s_type)%> +<% if @project_type == '0' %> +<%= sort_project_enterprise(@s_type, @project_type) %> +<% else %> +<%= sort_project(@s_type, @project_type) %> +<% end %> +
-<%= sort_user(@s_type)%> +<% if @project_type == '0' %> +<%= sort_user_enterprise(@s_type, @project_type)%> +<% else %> +<%= sort_user(@s_type, @project_type)%> +<% end %> -
<%=link_to l(:label_enterprise), :controller=>'projects', :action=>'index', :project_type => 0 %><%=link_to l(:label_college), :controller=>'projects', :action=>'course', :project_type => 1 %>
-
- <%= l(:label_features) %>
-
-
+
+ <%= l(:label_features) %>
+
+
<%= image_tag("/images/welcome/discuss.png", weight:"30px", height: "26px") %><%= l(:label_board) %>  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 Z1_1fBp4RT