我的issue部分功能
This commit is contained in:
parent
acffe8ec19
commit
e956d20d6e
|
@ -92,17 +92,21 @@ class UsersController < ApplicationController
|
|||
def user_issues
|
||||
@subject = params[:subject]
|
||||
author_id = params[:author_id]
|
||||
#@issues = Issue.where("author_id =? or assigned_to_id =? and subject like ?", (author_id ? author_id : @user.id) , @user.id, "%#{@subject}%")
|
||||
params[:project_id].to_i == 0 ? @project_id = nil : @project_id = params[:project_id]
|
||||
if @project_id.nil?
|
||||
@issues = Issue.where("(author_id =? or assigned_to_id =? ) and subject like ?", (author_id ? author_id : @user.id) , @user.id, "%#{@subject}%").order('updated_on desc')
|
||||
else
|
||||
@issues = Issue.where("(author_id =? or assigned_to_id =? ) and project_id=? and subject like ?", (author_id ? author_id : @user.id) , @user.id, @project_id, "%#{@subject}%").order('updated_on desc')
|
||||
end
|
||||
@issues_filter = Issue.where("author_id =? or assigned_to_id =?", (author_id ? author_id : @user.id) , @user).order('updated_on desc')
|
||||
@issue_open_count = Issue.where(" (author_id =? or assigned_to_id =?) and status_id in (1,2,3,4,6)", (author_id ? author_id : @user.id) , @user).count
|
||||
@issue_close_count = Issue.where("(author_id =? or assigned_to_id =?) and status_id = 5", (author_id ? author_id : @user.id) , @user.id).count
|
||||
@issue_count = @issues_filter.count
|
||||
@issue_count = @issues.count
|
||||
@limit = 10
|
||||
@is_remote = true
|
||||
@issue_pages = Paginator.new @issue_count, @limit, params['page'] || 1
|
||||
@offset ||= @issue_pages.offset
|
||||
@issues = paginateHelper @issues_filter, @limit
|
||||
|
||||
@issues = paginateHelper @issues, @limit
|
||||
respond_to do |format|
|
||||
format.html{render :layout => 'static_base'}
|
||||
format.api
|
||||
|
|
|
@ -40,6 +40,11 @@ module UsersHelper
|
|||
end
|
||||
end
|
||||
|
||||
def options_for_issue_project_list( issues )
|
||||
issues = issues.group_by{|issue| issue.project_id}
|
||||
issues.map{ |issue| [Project.find(issue[0]).name, issue[0]]}.unshift(["来源", 0])
|
||||
end
|
||||
|
||||
def get_resource_type type
|
||||
case type
|
||||
when 'Course'
|
||||
|
|
|
@ -6,19 +6,3 @@
|
|||
</script>
|
||||
<%= render :partial => 'users/my_issue_list', :locals => {:activity => issue, :user_activity_id => issue.id} %>
|
||||
<% end %>
|
||||
|
||||
<div style="text-align:left;">
|
||||
<!-- <div style="width:auto; display:inline-block;">
|
||||
<ul>
|
||||
<a href="<%#=project_issues_path(:project_id => @project, :format => 'xls', :export => true, :set_filter => "1")%>" id="sendexcel" class="btn_newpro_grey fl ml15 mt15" alt="导出" onclick="remote_function_export('<%= @project.id %>')">导出</a>
|
||||
</ul>
|
||||
</div>-->
|
||||
|
||||
<div class="pages fr" style="width:auto; display:inline-block;">
|
||||
<ul id="issue_list_pagination" class="fr">
|
||||
<%= pagination_links_full @issue_pages, @issue_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true%>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
<span class="issues_nav_tag ml5" ><%= @issue_count %></span>
|
|
@ -19,11 +19,14 @@
|
|||
<%#= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "fl issues_list_name" %>
|
||||
<%# end %>
|
||||
<!--p class="fl ml10"> <span class="mr5"><%#=format_time(activity.created_on) %></span>发布</p-->
|
||||
<p class="fl" ><span class="mr5"><%= format_time(activity.created_on) %> </span>发布</p>
|
||||
<p class="fl issues_list_name" ><span class="mr5"><%= format_time(activity.created_on) %> </span>发布</p>
|
||||
<p class="fl ml10"> <span class="mr5"><%= format_time(activity.updated_on) %> </span>更新</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="issues_list_txt fr">
|
||||
<li class=" c_grey issues_list_max mr5">
|
||||
<%= Project.find(activity.project_id).name %>
|
||||
</li>
|
||||
<li class="c_grey">
|
||||
<% if activity.try(:author).try(:realname) == ' ' %>
|
||||
<%= link_to activity.try(:author), user_path(activity.author_id)%>
|
||||
|
@ -31,15 +34,7 @@
|
|||
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id)%>
|
||||
<% end %>
|
||||
</li>
|
||||
<li class="c_grey">
|
||||
<% if !activity.assigned_to_id.nil? && activity.assigned_to_id != 0 %>
|
||||
<% if activity.try(:assigned_to).try(:realname).empty? %>
|
||||
<%= link_to activity.assigned_to, user_path(activity.assigned_to_id)%>
|
||||
<% else %>
|
||||
<%= link_to activity.try(:assigned_to).try(:realname), user_path(activity.assigned_to_id)%>
|
||||
<% end %>
|
||||
<% end %></li>
|
||||
<li class="issues_list_min c_grey mr5">
|
||||
<li class="issues_list_min c_grey">
|
||||
<% case activity.tracker_id %>
|
||||
<% when 1%>
|
||||
缺陷
|
||||
|
@ -53,23 +48,24 @@
|
|||
周报
|
||||
<% end %>
|
||||
</li>
|
||||
<li class="c_grey issues_list_min mr10">
|
||||
<%= activity.priority.name %>
|
||||
</li>
|
||||
<li class="c_grey">
|
||||
<% if activity.try(:author).try(:realname) == ' ' %>
|
||||
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "c_grey" %>
|
||||
<% else %>
|
||||
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "c_grey" %>
|
||||
<% end %>
|
||||
<% if !activity.assigned_to_id.nil? && activity.assigned_to_id != 0 %>
|
||||
<% if activity.try(:assigned_to).try(:realname).empty? %>
|
||||
<%= link_to activity.assigned_to, user_path(activity.assigned_to_id)%>
|
||||
<% else %>
|
||||
<%= link_to activity.try(:assigned_to).try(:realname), user_path(activity.assigned_to_id)%>
|
||||
<% end %>
|
||||
<% end %></li>
|
||||
<li class="issues_list_min c_grey">
|
||||
<%= activity.priority.name %>
|
||||
</li>
|
||||
|
||||
<li class="c_grey issues_list_max" title="<%= activity.fixed_version %>"><%= activity.fixed_version %></li>
|
||||
<li class="issues_list_min c_grey mr10" ><%= activity.status.name %></li>
|
||||
<li class="issues_list_min c_grey mr5" ><%= activity.status.name %></li>
|
||||
<li class="<%= (activity.done_ratio == 100 ? 'c_green issues_list_min mr5' : 'c_red issues_list_min mr5') %>"><%= activity.done_ratio %>%</li>
|
||||
<li class="issues_list_min">
|
||||
<% if activity.journals.count > 0 %>
|
||||
<span class="issues_icons_mes fl mr5"></span>
|
||||
<span class="issues_icons_mes fl mr5 mt12"></span>
|
||||
<span class="fl mr5"><%= activity.journals.count %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
|
@ -78,5 +74,25 @@
|
|||
<% end %>
|
||||
|
||||
<script>
|
||||
$(".issues_list_box").mouseover(function(){
|
||||
var iconOrder;
|
||||
var iconSize = $(this).children().eq(2).children().eq(7).children().size();
|
||||
if(iconSize > 1){
|
||||
iconOrder = 2;
|
||||
} else{
|
||||
iconOrder = 0;
|
||||
}
|
||||
$(this).children().eq(2).children().eq(7).children().eq(iconOrder).show();
|
||||
});
|
||||
$(".issues_list_box").mouseout(function(){
|
||||
var iconOrder;
|
||||
var iconSize = $(this).children().eq(2).children().eq(7).children().size();
|
||||
if(iconSize > 1){
|
||||
iconOrder = 2;
|
||||
} else{
|
||||
iconOrder = 0;
|
||||
}
|
||||
$(this).children().eq(2).children().eq(7).children().eq(iconOrder).hide();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
@ -77,9 +77,6 @@
|
|||
|
||||
});
|
||||
function remote_function() {
|
||||
if($.trim($("#issue_create_date_end_show").val()) !="" && Date.parse($.trim($("#issue_create_date_end_show").val())) < Date.parse($.trim($("#issue_create_date_start_show").val()))){
|
||||
alert("开始日期不能大于结束日期!");
|
||||
}
|
||||
$("#issue_query_form").submit();
|
||||
}
|
||||
|
||||
|
@ -173,7 +170,7 @@
|
|||
</script>
|
||||
|
||||
<!--缺陷列表开始-->
|
||||
<div class="myissues_con ">
|
||||
<div class="myissues_con mb10" style="margin-left:157px;">
|
||||
<div class="myissues_head mb5">
|
||||
<h2 class="ml15">我的缺陷</h2>
|
||||
</div>
|
||||
|
@ -187,7 +184,7 @@
|
|||
</div><!--issues_statistics end-->
|
||||
|
||||
</div>
|
||||
<%= form_tag({:controller => 'users', :action => 'user_issues'}, :remote=>'xls', :id=>"issue_query_form", :class => 'query_form') do %>
|
||||
<%= form_tag( user_issues_user_path(@user), :remote=>'xls', :method => "post", :id=>"issue_query_form", :class => 'query_form') do %>
|
||||
<div class="clear mb10">
|
||||
<div class="hw_search_box fl ">
|
||||
<input class="hw_search-input" placeholder="输入Issue名称进行搜索" type="text" id="v_subject" name="subject" onkeypress="EnterPress(event)" onkeydown="EnterPress()">
|
||||
|
@ -203,7 +200,8 @@
|
|||
<div class="issues_con_list" style="position: relative;">
|
||||
<ul id="issues_list_nav" >
|
||||
<li id="issues_list_nav_1" class="issues_nav_hover" >
|
||||
<a href="javascript:void(0);" id="issues_type_1" >搜索结果<span class="issues_nav_tag ml5">210</span></a>
|
||||
<a href="javascript:void(0);" id="issues_type_1" >搜索结果</a>
|
||||
<span id="issue_filter_all"><%= render :partial => "users/my_issue_filter_all" %></span>
|
||||
</li>
|
||||
<!-- <li id="issues_list_nav_2" onclick="HoverLi(2);">
|
||||
<a href="javascript:void(0);" id="issues_type_2" >指派给我<span class="issues_nav_tag ml5">25</span></a>
|
||||
|
@ -213,12 +211,17 @@
|
|||
</li>-->
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<div class="issues_filter issues_form_filter mt5 mr5">
|
||||
<select placeholder=" 来源" class="fl mr10" >
|
||||
<div class="issues_filter">
|
||||
<div class="issues_form_filter mt5 mr5">
|
||||
<!-- <select placeholder=" 来源" class="fl mr10" >
|
||||
<option value="0" selected="selected">来源</option>
|
||||
<option value="8166">123</option>
|
||||
<option value="8166">123</option>
|
||||
</select>
|
||||
<option value="8166">123s</option>
|
||||
</select>-->
|
||||
<%= select( :project, :project_id, options_for_issue_project_list(@issues_filter),
|
||||
{ :include_blank => false,:selected => @project_id ? @project_id : 0 },
|
||||
{ :onchange => "remote_function();add_style();",:id => "proeject_id", :name => "project_id",:class => "fl mr10"}
|
||||
)%>
|
||||
<select placeholder=" 发布人" class="fl" disabled="disabled">
|
||||
<option value="0" selected="selected">发布人</option>
|
||||
</select>
|
||||
|
@ -243,14 +246,14 @@
|
|||
<select placeholder=" 排序" class="fl issues_filter_select_min" disabled="disabled">
|
||||
<option value="0" selected="selected">排序</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
<% if @issues.empty? %>
|
||||
<p class="nodata mt10"><%= l(:label_no_data) %></p>
|
||||
<% else %>
|
||||
<div id="issue_list">
|
||||
<%#= render :partial => 'users/all_issue_list', :locals => {:issues => @issues, :issue_pages => @issue_pages,:issue_count => @issue_count, :subject => @subject } %>
|
||||
<%= render :partial => 'users/all_issue_list', :locals => {:issues => @issues, :issue_pages => @issue_pages,:issue_count => @issue_count, :subject => @subject } %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
/*$("#issue_filter_all").html("<%#= escape_javascript(render :partial => 'issues/issue_filter_all') %>");*/
|
||||
$("#issue_filter_all").html("<%= escape_javascript(render :partial => 'users/my_issue_filter_all') %>");
|
||||
$("#issue_list").html("<%= escape_javascript(render :partial => 'users/all_issue_list',:locals => {:issues => @issues, :issue_pages=> @issue_pages, :issue_count => @issue_count })%>");
|
||||
$("#issue_list_pagination").html('<%= pagination_links_full @issue_pages, @issue_count, :issues => @issues, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>');
|
|
@ -638,7 +638,7 @@ RedmineApp::Application.routes.draw do
|
|||
|
||||
get 'edit_brief_introduction'
|
||||
get "user_resource"
|
||||
get "user_issues", :to => 'users#user_issues', :via => :get, :as => "user_issues"
|
||||
match "user_issues", :to => 'users#user_issues', :via => [:get, :post], :as => "user_issues"
|
||||
get "import_resources"
|
||||
get "import_resources_search"
|
||||
post "import_into_container"
|
||||
|
|
|
@ -718,9 +718,9 @@ input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
|
|||
a.issues_list_title{ color:#444; max-width:260px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap; }
|
||||
a:hover.issues_list_title{color:#3b94d6;}
|
||||
.issues_list_titlebox span{ font-size: 12px;color: #888; font-weight: normal; }
|
||||
.issues_ciricons_01{ width: 22px; height: 22px; display: inline-block; background: url("../images/project/icons_issue.png") 0 0 no-repeat;}
|
||||
.issues_ciricons_02{ width: 22px; height: 22px; display: inline-block; background: url("../images/project/icons_issue.png") 0 -30px no-repeat;}
|
||||
.issues_icons_mes{width: 17px; height: 17px; display: inline-block; background: url("../images/project/icons_issue.png") 0 -57px no-repeat; }
|
||||
.issues_ciricons_01{ width: 22px; height: 22px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 0 no-repeat;}
|
||||
.issues_ciricons_02{ width: 22px; height: 22px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 -30px no-repeat;}
|
||||
.issues_icons_mes{width: 17px; height: 17px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 -57px no-repeat; }
|
||||
.issues_list_name{ font-size: 12px;}
|
||||
.issues_list_name:hover{ color: #3b94d6;}
|
||||
.issues_list_small{ font-size: 12px; color: #666;}
|
||||
|
|
Loading…
Reference in New Issue