|
|
|
@ -109,7 +109,7 @@ class ProjectsController < ApplicationController
|
|
|
|
|
# @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
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
@ -124,13 +124,13 @@ class ProjectsController < ApplicationController
|
|
|
|
|
# @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?
|
|
|
|
|
# @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
|
|
|
|
|
# @projects = @projects.offset(@offset).limit(@limit).order('created_on DESC').all
|
|
|
|
|
if params[:project_sort_type].present?
|
|
|
|
|
case params[:project_sort_type]
|
|
|
|
|
when '0'
|
|
|
|
@ -347,7 +347,7 @@ class ProjectsController < ApplicationController
|
|
|
|
|
@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
|
|
|
|
|
@course.save
|
|
|
|
|
# @course.save
|
|
|
|
|
# project = ProjectInfo.create(:user_id => User.current.id, :project_id => @project.id)
|
|
|
|
|
# project_status = ProjectStatus.create(:project_id => @project.id)
|
|
|
|
|
end
|
|
|
|
@ -358,42 +358,96 @@ class ProjectsController < ApplicationController
|
|
|
|
|
if @course_tag == '1'
|
|
|
|
|
@project.identifier = @course.extra
|
|
|
|
|
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 = ProjectInfo.new(: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)
|
|
|
|
|
if @course_tag == '1'
|
|
|
|
|
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)
|
|
|
|
|
if params[:project][:is_public] == '1' || @course_tag=="1"
|
|
|
|
|
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0)
|
|
|
|
|
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
|
|
|
|
|
@course.destroy
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { render :action => 'new', :layout => 'base'}#Added by young
|
|
|
|
|
format.api { render_validation_errors(@project) }
|
|
|
|
|
end
|
|
|
|
|
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)
|
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
format.api { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) }
|
|
|
|
|
else
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { render :action => 'new', :layout => 'base'}#Added by young
|
|
|
|
|
format.api { render_validation_errors(@project) }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
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 = ProjectInfo.new(: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)
|
|
|
|
|
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
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|