2014-08-07 11:20:24 +08:00
|
|
|
<%= labelled_fields_for :issue, @issue do |f| %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<div class="newpro_box">
|
|
|
|
<fieldset class="collapsible" >
|
|
|
|
<legend onclick="toggleFieldset(this);" ><strong><%= l(:label_change_properties) %></strong></legend>
|
|
|
|
<ul class="fl" >
|
|
|
|
<li>
|
|
|
|
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}),
|
|
|
|
{ :onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')"}, :class => "w150" %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% else %>
|
|
|
|
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
|
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
2015-04-11 09:45:13 +08:00
|
|
|
<li>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% if @issue.safe_attribute? 'priority_id' %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf?, :class => "w150" %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<li><% if @issue.safe_attribute? 'assigned_to_id' %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to),
|
|
|
|
:include_blank => true, :required => @issue.required_attribute?('assigned_to_id'),
|
|
|
|
:class => "w150" %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<li><% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true,
|
|
|
|
:required => @issue.required_attribute?('fixed_version_id'),
|
|
|
|
:class => "w150" %>
|
|
|
|
<%#= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
2015-04-10 17:49:16 +08:00
|
|
|
new_project_version_path(@issue.project),
|
|
|
|
:remote => true,
|
|
|
|
:method => 'get',
|
|
|
|
:title => l(:label_version_new),
|
|
|
|
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
2015-04-11 09:45:13 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
<ul class="fl ml90">
|
|
|
|
<li><% if @issue.safe_attribute? 'start_date' %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?,
|
|
|
|
:class => "w150",
|
|
|
|
:required => @issue.required_attribute?('start_date') %>
|
|
|
|
<%= calendar_for('issue_start_date','start_date') if @issue.leaf? %></p>
|
|
|
|
<% end %>
|
2015-04-10 17:49:16 +08:00
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<li><% if @issue.safe_attribute? 'due_date' %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<p><%= f.text_field :due_date, :size => 10,
|
|
|
|
:class => "w150",
|
|
|
|
:disabled => !@issue.leaf?,
|
|
|
|
:required => @issue.required_attribute?('due_date') %>
|
|
|
|
<%= calendar_for('issue_due_date','start_date') if @issue.leaf? %></p>
|
|
|
|
<% end %>
|
2015-04-10 17:49:16 +08:00
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<li><% if @issue.safe_attribute? 'estimated_hours' %>
|
2015-04-11 09:45:13 +08:00
|
|
|
<p><%= f.text_field :estimated_hours, :size => 3,
|
|
|
|
:disabled => !@issue.leaf?,
|
|
|
|
:class => "w150",
|
|
|
|
:required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<li><label class="label02" > % 完成 : </label>
|
|
|
|
<select id="" name="" class="w150" >
|
|
|
|
<option value="0" >0 %</option>
|
|
|
|
<option value="10">10 %</option>
|
|
|
|
<option value="20">20 %</option>
|
|
|
|
<option value="30">30 %</option>
|
|
|
|
<option value="40">40 %</option>
|
|
|
|
<option value="50">50 %</option>
|
|
|
|
<option value="60">60 %</option>
|
|
|
|
<option value="70">70 %</option>
|
|
|
|
<option value="80">80 %</option>
|
|
|
|
<option value="90">90 %</option>
|
|
|
|
<option value="100">100 %</option>
|
|
|
|
</select>
|
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
|
|
|
</ul>
|
|
|
|
</fieldset>
|
|
|
|
</div><!--newpro_box end-->
|
2014-08-07 11:20:24 +08:00
|
|
|
|
|
|
|
<script type="text/javascript">
|
2014-08-11 16:39:18 +08:00
|
|
|
// window.onload=function(){
|
|
|
|
// var img=$("#issue_due_date").next("img");
|
|
|
|
// img.attr("onclick","SetMinValue();");
|
|
|
|
// }
|
|
|
|
function TimeClose(dateText, inst) {
|
|
|
|
if(inst.id=="issue_start_date"){
|
|
|
|
time=dateText;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var time=new Date();
|
|
|
|
function TimeBeforeShow(input){
|
|
|
|
if(input.id=="issue_due_date"){
|
|
|
|
//var minDate = $(input).datepicker('option', 'minDate');
|
|
|
|
var tempdata=$("#issue_start_date").attr("value");
|
|
|
|
|
|
|
|
$(input).datepicker('option', 'minDate',new Date(tempdata.replace(/-/g, "/")));
|
|
|
|
//$('.selector').datepicker('option', 'minDate', '12/25/2012');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function SetMinValue(){
|
|
|
|
/// var tempdata=$("#issue_start_date").attr("value");
|
|
|
|
//$('.selector').datepicker('option', 'minDate', '12/25/2012');
|
|
|
|
//alert(tempdata);
|
|
|
|
//$("#issue_due_date").datepicker({
|
|
|
|
// minDate: new Date(2014,08,23)
|
|
|
|
//var datepickerOptions=
|
|
|
|
//{dateFormat: 'yy-mm-dd',minDate: new Date(2014,08,23), showOn: 'button', buttonImageOnly: true, buttonImage: "path_to_image('/images/calendar.png')", showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true};
|
|
|
|
//alert( $('.issue_due_date').length);
|
|
|
|
//$('.selector')[1].datepicker('option', 'minDate', new Date(2014, 0 - 8, 23));
|
|
|
|
//$("#issue_due_date").datepicker(datepickerOptions);
|
|
|
|
//$("##{issue_due_date}").datepicker(datepickerOptions);
|
|
|
|
//$("#issue_due_date").datepicker(
|
|
|
|
// {dateFormat: 'yy-mm-dd',minDate: new Date(2014,08,23), showOn: 'button', buttonImageOnly: true, buttonImage: "path_to_image('/images/calendar.png')", showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true}
|
|
|
|
//)
|
|
|
|
//});
|
|
|
|
}
|
2014-08-07 11:20:24 +08:00
|
|
|
function PrecentChange(obj){
|
|
|
|
var _v= obj;
|
|
|
|
if(_v==100)
|
|
|
|
{
|
2014-08-07 15:54:05 +08:00
|
|
|
//var select=$("select[id='issue_status_id']");
|
|
|
|
$("select[id='issue_status_id']").find("option[value='3']").attr("selected","selected");
|
2014-08-07 11:20:24 +08:00
|
|
|
}
|
|
|
|
else if(_v==0)
|
|
|
|
{
|
2014-08-07 15:54:05 +08:00
|
|
|
//alert(1);
|
|
|
|
$("select[id='issue_status_id']").find("option[value='1']").attr("selected","selected");
|
2014-08-07 11:20:24 +08:00
|
|
|
}
|
|
|
|
else if(_v!=100&&_v!=0)
|
|
|
|
{
|
|
|
|
// alert(2);
|
2014-08-07 15:54:05 +08:00
|
|
|
$("select[id='issue_status_id']").find("option[value='2']").attr("selected","selected");
|
2014-08-07 11:20:24 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<% if @issue.safe_attribute?('done_ratio') && @issue.leaf? && Issue.use_field_for_done_ratio? %>
|
|
|
|
<p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), {:required => @issue.required_attribute?('done_ratio')},
|
|
|
|
{:onchange => "PrecentChange(this.value)"} %></p>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% if @issue.safe_attribute? 'custom_field_values' %>
|
|
|
|
<%= render :partial => 'issues/form_custom_fields' %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% include_calendar_headers_tags %>
|