summaryrefslogtreecommitdiffstats
path: root/app/views
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-15 10:41:49 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-15 10:41:49 +0000
commitb6e6f557f01bebcd90e034e4b6cc5b755a95c006 (patch)
tree38b97ccf7c7f6efdf78b66b84b1e14e0e857b0b0 /app/views
parent31f2e848b56b8ed260128ba0d9fc245b06800e09 (diff)
downloadredmine-b6e6f557f01bebcd90e034e4b6cc5b755a95c006.tar.gz
redmine-b6e6f557f01bebcd90e034e4b6cc5b755a95c006.zip
Display issue form fields according to permissions.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8227 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/views')
-rw-r--r--app/views/issues/_attributes.html.erb27
-rw-r--r--app/views/issues/_edit.html.erb2
-rw-r--r--app/views/issues/_form.html.erb11
-rw-r--r--app/views/issues/_form_update.html.erb14
4 files changed, 33 insertions, 21 deletions
diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb
index 6303ccf79..802c7194a 100644
--- a/app/views/issues/_attributes.html.erb
+++ b/app/views/issues/_attributes.html.erb
@@ -1,15 +1,21 @@
<% labelled_fields_for :issue, @issue do |f| %>
<div class="splitcontentleft">
-<% if @issue.new_record? || @allowed_statuses.any? %>
+<% if @issue.safe_attribute? 'status_id' %>
<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), :required => true %></p>
<% else %>
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
<% end %>
+<% if @issue.safe_attribute? 'priority_id' %>
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
+<% end %>
+
+<% if @issue.safe_attribute? 'assigned_to_id' %>
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true %></p>
-<% unless @project.issue_categories.empty? %>
+<% end %>
+
+<% if @issue.safe_attribute?('category_id') && @project.issue_categories.any? %>
<p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %>
<%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'),
l(:label_issue_category_new),
@@ -18,7 +24,8 @@
:title => l(:label_issue_category_new),
:tabindex => 199) if authorize_for('issue_categories', 'new') %></p>
<% end %>
-<% unless @issue.assignable_versions.empty? %>
+
+<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true %>
<%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'),
l(:label_version_new),
@@ -36,15 +43,27 @@
<div id="parent_issue_candidates" class="autocomplete"></div>
<%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:id => @issue, :project_id => @project) }')" %>
<% end %>
+
+<% if @issue.safe_attribute? 'start_date' %>
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_start_date') if @issue.leaf? %></p>
+<% end %>
+
+<% if @issue.safe_attribute? 'due_date' %>
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_due_date') if @issue.leaf? %></p>
+<% end %>
+
+<% if @issue.safe_attribute? 'estimated_hours' %>
<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf? %> <%= l(:field_hours) %></p>
-<% if @issue.leaf? && Issue.use_field_for_done_ratio? %>
+<% end %>
+
+<% 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] }) %></p>
<% end %>
</div>
<div style="clear:both;"> </div>
+<% if @issue.safe_attribute? 'custom_field_values' %>
<%= render :partial => 'issues/form_custom_fields' %>
+<% end %>
<% end %>
diff --git a/app/views/issues/_edit.html.erb b/app/views/issues/_edit.html.erb
index ffffeb175..7e1d04826 100644
--- a/app/views/issues/_edit.html.erb
+++ b/app/views/issues/_edit.html.erb
@@ -3,7 +3,7 @@
<div class="box">
<% if @edit_allowed || !@allowed_statuses.empty? %>
<fieldset class="tabular"><legend><%= l(:label_change_properties) %></legend>
- <%= render :partial => (@edit_allowed ? 'form' : 'form_update'), :locals => {:f => f} %>
+ <%= render :partial => 'form', :locals => {:f => f} %>
</fieldset>
<% end %>
<% if User.current.allowed_to?(:log_time, @project) %>
diff --git a/app/views/issues/_form.html.erb b/app/views/issues/_form.html.erb
index 4b4cbccb0..e63adfbb3 100644
--- a/app/views/issues/_form.html.erb
+++ b/app/views/issues/_form.html.erb
@@ -5,12 +5,19 @@
<label class="inline" for="issue_is_private" id="issue_is_private_label"><%= f.check_box :is_private, :no_label => true %> <%= l(:field_is_private) %></label>
</p>
<% end %>
+
+<% if @issue.safe_attribute? 'tracker_id' %>
<p><%= f.select :tracker_id, @project.trackers.collect {|t| [t.name, t.id]}, :required => true %></p>
<%= observe_field :issue_tracker_id, :url => project_issue_form_path(@project, :id => @issue),
:update => :attributes,
:with => "Form.serialize('issue-form')" %>
+<% end %>
+<% if @issue.safe_attribute? 'subject' %>
<p><%= f.text_field :subject, :size => 80, :required => true %></p>
+<% end %>
+
+<% if @issue.safe_attribute? 'description' %>
<p>
<label><%= l(:field_description) %></label>
<%= link_to_function image_tag('edit.png'),
@@ -24,11 +31,11 @@
:no_label => true %>
<% end %>
</p>
+<%= wikitoolbar_for 'issue_description' %>
+<% end %>
<div id="attributes" class="attributes">
<%= render :partial => 'issues/attributes' %>
</div>
<%= call_hook(:view_issues_form_details_bottom, { :issue => @issue, :form => f }) %>
-
-<%= wikitoolbar_for 'issue_description' %>
diff --git a/app/views/issues/_form_update.html.erb b/app/views/issues/_form_update.html.erb
deleted file mode 100644
index 7c96317f7..000000000
--- a/app/views/issues/_form_update.html.erb
+++ /dev/null
@@ -1,14 +0,0 @@
-<div class="attributes">
-<div class="splitcontentleft">
-<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), :required => true %></p>
-<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true %></p>
-</div>
-<div class="splitcontentright">
-<% if Issue.use_field_for_done_ratio? %>
-<p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %></p>
-<% end %>
-<% unless @issue.assignable_versions.empty? %>
-<p><%= f.select :fixed_version_id, (@issue.assignable_versions.collect {|v| [v.name, v.id]}), :include_blank => true %></p>
-<% end %>
-</div>
-</div>