To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / app / views / projects @ 1592:72d9219f2f19

1 1115:433d4f72a19b Chris
<%= labelled_form_for @project do |f| %>
2 0:513646585e45 Chris
<%= render :partial => 'form', :locals => { :f => f } %>
3
<%= submit_tag l(:button_save) %>
4
<% end %>
5
<%= error_messages_for 'project' %>
6
7 1115:433d4f72a19b Chris
<div class="box tabular">
8 0:513646585e45 Chris
<!--[form:project]-->
9 72:45aa8d16ec10 luisf
<p><%= f.text_field :name, :required => true, :size => 60 %>
10
  <br />
11 1239:e726dca6f7bd luis
  <em class="info"> <%= l(:text_project_name_info).html_safe %></em>
12 72:45aa8d16ec10 luisf
</p>
13 0:513646585e45 Chris
14 1464:261b3d9a4903 Chris
<p><%= f.text_area :description, :rows => 8, :class => 'wiki-edit' %></p>
15
<p><%= f.text_field :identifier, :required => true, :size => 60, :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH %>
16 0:513646585e45 Chris
<% unless @project.identifier_frozen? %>
17 72:45aa8d16ec10 luisf
  <br />
18 1115:433d4f72a19b Chris
  <em class="info"><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info).html_safe %></em>
19 0:513646585e45 Chris
<% end %></p>
20 1484:51364c0cd58f Chris
21 72:45aa8d16ec10 luisf
<p><%= f.text_field :homepage, :size => 60 %>
22
<br />
23 1240:045e5984313c luis
  <em class="info"> <%= l(:text_project_homepage_info) %></em>
24 72:45aa8d16ec10 luisf
</p>
25 1034:ea5d9652c6f6 chris
<p>
26 1238:90a0ed1ca8cb luis
<label for="project_is_public_1"><%= l(:field_public_or_private)%> <span class="required">*</span></label>
27 1034:ea5d9652c6f6 chris
<%
28
   # if the project hasn't been created fully yet, then we don't
29
   # want to set either public or private (make the user decide)
30
   initialised = !@project.id.nil?
31
%>
32
  <%= f.radio_button :is_public, 1, :checked => (initialised && @project.is_public?) %>
33
  <%= l(:text_project_public_info) %>
34 72:45aa8d16ec10 luisf
<br />
35 1238:90a0ed1ca8cb luis
  <%= f.radio_button :is_public, 0, :checked => (initialised && !@project.is_public?) %>
36 1034:ea5d9652c6f6 chris
  <%= l(:text_project_private_info) %>
37
<br>
38 1240:045e5984313c luis
  <em class="info"><%= l(:text_project_visibility_info) %></em>
39 72:45aa8d16ec10 luisf
</p>
40 1464:261b3d9a4903 Chris
41
<% unless @project.allowed_parents.compact.empty? %>
42
    <p><%= label(:project, :parent_id, l(:field_parent)) %><%= parent_project_select_tag(@project) %></p>
43
<% end %>
44
45
<% if @project.safe_attribute? 'inherit_members' %>
46
<p><%= f.check_box :inherit_members %></p>
47
<% end %>
48
49 0:513646585e45 Chris
<%= wikitoolbar_for 'project_description' %>
50
51
<% @project.custom_field_values.each do |value| %>
52 909:cbb26bc654de Chris
  <p><%= custom_field_tag_with_label :project, value %></p>
53 0:513646585e45 Chris
<% end %>
54
<%= call_hook(:view_projects_form, :project => @project, :form => f) %>
55
</div>
56
57 117:af80e5618e9b Chris
<% if @project.new_record? %>
58 1115:433d4f72a19b Chris
<fieldset class="box tabular"><legend><%= l(:label_module_plural) %></legend>
59 117:af80e5618e9b Chris
<% Redmine::AccessControl.available_project_modules.each do |m| %>
60
    <label class="floating">
61
    <%= check_box_tag 'project[enabled_module_names][]', m, @project.module_enabled?(m), :id => "project_enabled_module_names_#{m}" %>
62
    <%= l_or_humanize(m, :prefix => "project_module_") %>
63
    </label>
64
<% end %>
65
<%= hidden_field_tag 'project[enabled_module_names][]', '' %>
66
</fieldset>
67
<% end %>
68
69 829:7a613c0eefe2 chris
<% if @project.new_record? %>
70
<% @trackers.each do |tracker| %>
71
    <%= hidden_field_tag 'project[tracker_ids][]', tracker.id %>
72
<% end %>
73
<%= hidden_field_tag 'project[tracker_ids][]', '' %>
74
<% elsif @project.module_enabled?('issue_tracking') %>
75 0:513646585e45 Chris
<% unless @trackers.empty? %>
76 1115:433d4f72a19b Chris
<fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
77 0:513646585e45 Chris
<% @trackers.each do |tracker| %>
78
    <label class="floating">
79 1517:dffacf8a6908 Chris
    <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker), :id => nil %>
80 909:cbb26bc654de Chris
    <%=h tracker %>
81 0:513646585e45 Chris
    </label>
82
<% end %>
83
<%= hidden_field_tag 'project[tracker_ids][]', '' %>
84
</fieldset>
85
<% end %>
86
87
<% unless @issue_custom_fields.empty? %>
88 1115:433d4f72a19b Chris
<fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
89 0:513646585e45 Chris
<% @issue_custom_fields.each do |custom_field| %>
90
    <label class="floating">
91 1517:dffacf8a6908 Chris
  <%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field),
92
        :disabled => (custom_field.is_for_all? ? "disabled" : nil),
93
        :id => nil %>
94 909:cbb26bc654de Chris
  <%=h custom_field.name %>
95
  </label>
96 0:513646585e45 Chris
<% end %>
97
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
98
</fieldset>
99
<% end %>
100 117:af80e5618e9b Chris
<% end %>
101 0:513646585e45 Chris
<!--[eoform:project]-->
102 1464:261b3d9a4903 Chris
103
<% unless @project.identifier_frozen? %>
104
  <% content_for :header_tags do %>
105
    <%= javascript_include_tag 'project_identifier' %>
106
  <% end %>
107
<% end %>
108
109
<% if !User.current.admin? && @project.inherit_members? && @project.parent && User.current.member_of?(@project.parent) %>
110
  <%= javascript_tag do %>
111
    $(document).ready(function() {
112
      $("#project_inherit_members").change(function(){
113
        if (!$(this).is(':checked')) {
114
          if (!confirm("<%= escape_javascript(l(:text_own_membership_delete_confirmation)) %>")) {
115
            $("#project_inherit_members").attr("checked", true);
116
          }
117
        }
118
      });
119
    });
120
  <% end %>
121
<% end %>
122
123
<%= javascript_tag do %>
124
$(document).ready(function() {
125
  $('#project_enabled_module_names_issue_tracking').on('change', function(){
126
    if ($(this).attr('checked')){
127
      $('#project_trackers, #project_issue_custom_fields').show();
128
    } else {
129
      $('#project_trackers, #project_issue_custom_fields').hide();
130
    }
131
  }).trigger('change');
132
});
133
<% end %>
134 1006:4ffe9098c16c chris
    <ul>
135 1007:3e52bc15dd67 chris
    <% for project in Project.latest(User.current) %>
136 1006:4ffe9098c16c chris
	<li class="latest">
137
	<span class="title">
138
	  <% if !project.root? %>
139
	    <% project.ancestors.each do |p| %>
140
	      <%= h(p) %>&nbsp;&#187;
141
	    <% end %>
142
	  <% end %>
143
	<%= link_to_project project %>
144
	</span>
145
	<% if !project.is_public? %>
146
	   <span class="private"><%= l(:field_is_private) %></span>
147
	<% end %>
148
	<span class="time"><%= format_time(project.created_on)%></span>
149
	<%= render_project_short_description project %>
150
      </li>
151
    <% end %>
152
    </ul>
153 1207:d6d53a77f058 chris
154
   <ul>
155
156
   <%
157 1501:467282ce64a4 Chris
      for project in varied_mature_projects(7)
158 1207:d6d53a77f058 chris
   %>
159
160
   <li class="busy">
161
     <span class="title">
162
       <% if !project.root? %>
163
         <% project.ancestors.each do |p| %>
164
           <%= h(p) %>&nbsp;&#187;
165
         <% end %>
166
       <% end %>
167
       <%= link_to_project project %>
168
     </span>
169
     <% if !project.is_public? %>
170
       <span class="private"><%= l(:field_is_private) %></span>
171
     <% end %>
172
     <span class='managers'>
173
     <%
174
	u = project.users_by_role
175
	if ! u.empty? %>
176
        <%=
177
	   mgmt_roles = u.keys.select{ |r| r.allowed_to?(:edit_project) }
178
	   managers = mgmt_roles.map{ |r| u[r] }.flatten.sort.uniq
179
	   managers.map{ |m| m.name }.join(', ')
180
	 %><%
181
	end
182
	%>
183
	</span>
184
185
     <%= render_project_short_description project %>
186
   </li>
187
188
    <% end %>
189
  </ul>
190
191 14:1d32c0a0efbf Chris
  <% if @users_by_role.any? %>
192 1039:f6c71883b995 chris
  <div id="memberbox"><div class="box">
193 909:cbb26bc654de Chris
    <h3><%=l(:label_member_plural)%></h3>
194
    <p><% @users_by_role.keys.sort.each do |role| %>
195 1115:433d4f72a19b Chris
    <%=h role %>: <%= @users_by_role[role].sort.collect{|u| link_to_user u}.join(", ").html_safe %><br />
196 909:cbb26bc654de Chris
    <% end %></p>
197 1039:f6c71883b995 chris
  </div></div>
198 909:cbb26bc654de Chris
  <% end %>
199 1086:5ebdeb79ea9c chris
<%= render_my_project_hierarchy(@user_projects) %>
200 0:513646585e45 Chris
<h2><%=l(:label_project_new)%></h2>
201
202 1115:433d4f72a19b Chris
<%= labelled_form_for @project, :url => { :action => "copy" } do |f| %>
203 0:513646585e45 Chris
<%= render :partial => 'form', :locals => { :f => f } %>
204
205 1115:433d4f72a19b Chris
<fieldset class="box tabular"><legend><%= l(:button_copy) %></legend>
206 0:513646585e45 Chris
  <label class="block"><%= check_box_tag 'only[]', 'members', true %> <%= l(:label_member_plural) %> (<%= @source_project.members.count %>)</label>
207
  <label class="block"><%= check_box_tag 'only[]', 'versions', true %> <%= l(:label_version_plural) %> (<%= @source_project.versions.count %>)</label>
208
  <label class="block"><%= check_box_tag 'only[]', 'issue_categories', true %> <%= l(:label_issue_category_plural) %> (<%= @source_project.issue_categories.count %>)</label>
209
  <label class="block"><%= check_box_tag 'only[]', 'issues', true %> <%= l(:label_issue_plural) %> (<%= @source_project.issues.count %>)</label>
210
  <label class="block"><%= check_box_tag 'only[]', 'queries', true %> <%= l(:label_query_plural) %> (<%= @source_project.queries.count %>)</label>
211
  <label class="block"><%= check_box_tag 'only[]', 'boards', true %> <%= l(:label_board_plural) %> (<%= @source_project.boards.count %>)</label>
212
  <label class="block"><%= check_box_tag 'only[]', 'wiki', true %> <%= l(:label_wiki_page_plural) %> (<%= @source_project.wiki.nil? ? 0 : @source_project.wiki.pages.count %>)</label>
213
  <%= hidden_field_tag 'only[]', '' %>
214
  <br />
215 909:cbb26bc654de Chris
  <label class="block"><%= check_box_tag 'notifications', 1, params[:notifications] %> <%= l(:label_project_copy_notifications) %></label>
216 0:513646585e45 Chris
</fieldset>
217
218
<%= submit_tag l(:button_copy) %>
219
<% end %>
220 1464:261b3d9a4903 Chris
<%= title l(:label_confirmation) %>
221
222 0:513646585e45 Chris
<div class="warning">
223
<p><strong><%=h @project_to_destroy %></strong><br />
224
<%=l(:text_project_destroy_confirmation)%>
225
226
<% if @project_to_destroy.descendants.any? %>
227 1115:433d4f72a19b Chris
<br /><%= l(:text_subprojects_destroy_warning,
228
          content_tag('strong', h(@project_to_destroy.descendants.collect{|p| p.to_s}.join(', ')))).html_safe %>
229 0:513646585e45 Chris
<% end %>
230
</p>
231
<p>
232 1115:433d4f72a19b Chris
    <%= form_tag(project_path(@project_to_destroy), :method => :delete) do %>
233 0:513646585e45 Chris
    <label><%= check_box_tag 'confirm', 1 %> <%= l(:general_text_Yes) %></label>
234
    <%= submit_tag l(:button_delete) %>
235 1464:261b3d9a4903 Chris
    <%= link_to l(:button_cancel), :controller => 'admin', :action => 'projects' %>
236 0:513646585e45 Chris
    <% end %>
237
</p>
238
</div>
239 1041:af23bcbbd911 chris
<% content_for :header_tags do %>
240
    <%= stylesheet_link_tag 'redmine_tags', :plugin => 'redmine_tags' %>
241
<% end %>
242 1007:3e52bc15dd67 chris
243 1193:d67ed1030451 chris
<div class="contextual">
244 1302:f9a81a1a4425 Chris
    <%= link_to l(:label_project_all), { :controller => 'projects', :action => 'index' }%>
245 1322:596e34bffcc7 chris
    <%= ('| ' + link_to(l(:label_search_projects), { :controller => 'search', :action => 'index', :projects => 1 })).html_safe %>
246 1303:537026b96b8b Chris
    <%= ('| ' + link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add')).html_safe if User.current.allowed_to?(:add_project, nil, :global => true) %>
247 1193:d67ed1030451 chris
</div>
248
249 1194:6676c0284df2 chris
<h2><%= l(:label_explore_projects) %></h2>
250
251 1213:17305097e652 chris
<div class="threecolumnleft">
252 1592:72d9219f2f19 Chris
  <div class="projects box">
253
  <h3><%=l(:label_projects_busy)%></h3>
254
    <% cache(:action => 'explore', :action_suffix => 'busy_projects') do %>
255
    <%= render :partial => 'activities/busy' %>
256 1530:83a2227efc71 Chris
    <% end %>
257 1592:72d9219f2f19 Chris
    <%= link_to l(:label_overall_activity), { :controller => 'activities', :action => 'index' }, :class => 'more' %>
258 1010:76a677c96bce chris
  </div>
259 1213:17305097e652 chris
</div>
260 1021:967fb7e62b1d chris
261 1213:17305097e652 chris
<div class="threecolumnright">
262
  <div class="projects box">
263 1322:596e34bffcc7 chris
  <h3><%=l(:label_project_latest)%></h3>
264
    <%= render :partial => 'projects/latest' %>
265
    <%= link_to l(:label_projects_more), { :controller => 'projects' }, :class => 'more' %>
266 1213:17305097e652 chris
  </div>
267
</div>
268
269
<div class="threecolumnmid">
270 1501:467282ce64a4 Chris
  <div class="projects box">
271
  <h3><%=l(:label_projects_mature)%></h3>
272 1530:83a2227efc71 Chris
    <% cache(:action => 'explore', :action_suffix => 'mature_projects') do %>
273 1501:467282ce64a4 Chris
    <%= render :partial => 'projects/mature' %>
274 1530:83a2227efc71 Chris
    <% end %>
275 1501:467282ce64a4 Chris
    <%= link_to l(:label_projects_more), { :controller => 'projects' }, :class => 'more' %>
276
  </div>
277
</div>
278
279 1592:72d9219f2f19 Chris
  <div class="tags box" style="clear:all">
280
  <h3><%=l(:label_project_tags_all)%></h3>
281
    <% cache(:action => 'explore', :action_suffix => 'tags') do %>
282
    <%= render :partial => 'projects/tagcloud' %>
283
    <% end %>
284
  </div>
285
286
287 1213:17305097e652 chris
<% html_title(l(:label_explore_projects)) -%>
288 119:8661b858af72 Chris
api.array :projects, api_meta(:total_count => @project_count, :offset => @offset, :limit => @limit) do
289
  @projects.each do |project|
290
    api.project do
291
      api.id          project.id
292
      api.name        project.name
293
      api.identifier  project.identifier
294
      api.description project.description
295 507:0c939c159af4 Chris
      api.parent(:id => project.parent.id, :name => project.parent.name) if project.parent && project.parent.visible?
296 1517:dffacf8a6908 Chris
      api.status      project.status
297 909:cbb26bc654de Chris
298 119:8661b858af72 Chris
      render_api_custom_values project.visible_custom_field_values, api
299 909:cbb26bc654de Chris
300 119:8661b858af72 Chris
      api.created_on  project.created_on
301
      api.updated_on  project.updated_on
302
    end
303
  end
304
end
305 0:513646585e45 Chris
<% content_for :header_tags do %>
306
    <%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %>
307
<% end %>
308
309
<div class="contextual">
310 1517:dffacf8a6908 Chris
    <%= render_project_action_links %>
311 0:513646585e45 Chris
</div>
312
313 124:bc91f2025d05 chris
<h2>
314
<%= l("label_project_all") %>
315
</h2>
316
317
<%= render_project_table(@projects) %>
318 123:605adf7e1735 chris
319
<p class="pagination"><%= pagination_links_full @project_pages, @project_count %></p>
320 69:dc22c3eb3c81 luisf
321 0:513646585e45 Chris
322
<% other_formats_links do |f| %>
323 909:cbb26bc654de Chris
  <%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
324 0:513646585e45 Chris
<% end %>
325
326 1115:433d4f72a19b Chris
<% content_for :sidebar do %>
327
  <%= form_tag({}, :method => :get) do %>
328
    <h3><%= l(:label_project_plural) %></h3>
329
    <label for="closed"><%= check_box_tag 'closed', 1, params[:closed] %> <%= l(:label_show_closed_projects) %></label>
330
    <p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p>
331
  <% end %>
332
<% end %>
333
334 0:513646585e45 Chris
<% html_title(l(:label_project_plural)) -%>
335
<h2><%=l(:label_member_plural)%></h2>
336
337
<% if @members.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
338
339
<% members = @members.group_by {|m| m.role } %>
340
<% members.keys.sort{|x,y| x.position <=> y.position}.each do |role| %>
341 909:cbb26bc654de Chris
<h3><%= h(role.name) %></h3>
342 0:513646585e45 Chris
<ul>
343
<% members[role].each do |m| %>
344
<li><%= link_to_user m.user %> (<%= format_date m.created_on %>)</li>
345
<% end %>
346
</ul>
347
<% end %>
348 1464:261b3d9a4903 Chris
<%= title l(:label_project_new) %>
349 22:40f7cfd4df19 chris
350 1115:433d4f72a19b Chris
<%= labelled_form_for @project do |f| %>
351 22:40f7cfd4df19 chris
<%= render :partial => 'form', :locals => { :f => f } %>
352 909:cbb26bc654de Chris
<%= submit_tag l(:button_create) %>
353 22:40f7cfd4df19 chris
<% end %>
354 0:513646585e45 Chris
<h2><%=l(:label_settings)%></h2>
355
356
<%= render_tabs project_settings_tabs %>
357
358
<% html_title(l(:label_settings)) -%>
359 1115:433d4f72a19b Chris
<%= form_tag(project_enumerations_path(@project), :method => :put, :class => "tabular") do %>
360 441:cbce1fd3b1b7 Chris
361
<table class="list">
362
  <thead><tr>
363
    <th><%= l(:field_name) %></th>
364
    <th><%= l(:enumeration_system_activity) %></th>
365
    <% TimeEntryActivity.new.available_custom_fields.each do |value| %>
366 909:cbb26bc654de Chris
    <th><%= h value.name %></th>
367 441:cbce1fd3b1b7 Chris
    <% end %>
368 1464:261b3d9a4903 Chris
    <th><%= l(:field_active) %></th>
369 441:cbce1fd3b1b7 Chris
  </tr></thead>
370
371
  <% @project.activities(true).each do |enumeration| %>
372 1115:433d4f72a19b Chris
  <%= fields_for "enumerations[#{enumeration.id}]", enumeration do |ff| %>
373 441:cbce1fd3b1b7 Chris
  <tr class="<%= cycle('odd', 'even') %>">
374 1464:261b3d9a4903 Chris
    <td class="name">
375 441:cbce1fd3b1b7 Chris
      <%= ff.hidden_field :parent_id, :value => enumeration.id unless enumeration.project %>
376
      <%= h(enumeration) %>
377
    </td>
378 1464:261b3d9a4903 Chris
    <td class="tick"><%= checked_image !enumeration.project %></td>
379 441:cbce1fd3b1b7 Chris
    <% enumeration.custom_field_values.each do |value| %>
380 1464:261b3d9a4903 Chris
    <td>
381 441:cbce1fd3b1b7 Chris
      <%= custom_field_tag "enumerations[#{enumeration.id}]", value %>
382
    </td>
383
    <% end %>
384 1464:261b3d9a4903 Chris
    <td>
385 441:cbce1fd3b1b7 Chris
      <%= ff.check_box :active %>
386
    </td>
387
  </tr>
388
  <% end %>
389
  <% end %>
390
</table>
391
392
<div class="contextual">
393 1115:433d4f72a19b Chris
<%= link_to(l(:button_reset), project_enumerations_path(@project),
394 909:cbb26bc654de Chris
            :method => :delete,
395 1115:433d4f72a19b Chris
            :data => {:confirm => l(:text_are_you_sure)},
396 441:cbce1fd3b1b7 Chris
            :class => 'icon icon-del') %>
397
</div>
398
399
<%= submit_tag l(:button_save) %>
400
<% end %>
401 0:513646585e45 Chris
<% if @project.boards.any? %>
402
<table class="list">
403 909:cbb26bc654de Chris
  <thead><tr>
404
    <th><%= l(:label_board) %></th>
405
    <th><%= l(:field_description) %></th>
406
    <th></th>
407
    <th></th>
408
  </tr></thead>
409
  <tbody>
410 1115:433d4f72a19b Chris
<% Board.board_tree(@project.boards) do |board, level|
411 909:cbb26bc654de Chris
  next if board.new_record? %>
412
  <tr class="<%= cycle 'odd', 'even' %>">
413 1464:261b3d9a4903 Chris
    <td class="name" style="padding-left: <%= level * 18 %>px;"><%= link_to board.name, project_board_path(@project, board) %></td>
414
    <td class="description"><%=h board.description %></td>
415
    <td class="reorder">
416 0:513646585e45 Chris
    <% if authorize_for("boards", "edit") %>
417 1115:433d4f72a19b Chris
      <%= reorder_links('board', {:controller => 'boards', :action => 'update', :project_id => @project, :id => board}, :put) %>
418 0:513646585e45 Chris
    <% end %>
419
    </td>
420
    <td class="buttons">
421 1115:433d4f72a19b Chris
    <% if User.current.allowed_to?(:manage_boards, @project) %>
422
      <%= link_to l(:button_edit), edit_project_board_path(@project, board), :class => 'icon icon-edit' %>
423
      <%= delete_link project_board_path(@project, board) %>
424 1464:261b3d9a4903 Chris
    <% end %>
425 0:513646585e45 Chris
    </td>
426 909:cbb26bc654de Chris
  </tr>
427 0:513646585e45 Chris
<% end %>
428 909:cbb26bc654de Chris
  </tbody>
429 0:513646585e45 Chris
</table>
430
<% else %>
431
<p class="nodata"><%= l(:label_no_data) %></p>
432
<% end %>
433
434 1115:433d4f72a19b Chris
<% if User.current.allowed_to?(:manage_boards, @project) %>
435
<p><%= link_to l(:label_board_new), new_project_board_path(@project), :class => 'icon icon-add' %></p>
436
<% end %>
437 0:513646585e45 Chris
<% if @project.issue_categories.any? %>
438
<table class="list">
439 909:cbb26bc654de Chris
  <thead><tr>
440
    <th><%= l(:label_issue_category) %></th>
441
    <th><%= l(:field_assigned_to) %></th>
442
    <th></th>
443
  </tr></thead>
444
  <tbody>
445 0:513646585e45 Chris
<% for category in @project.issue_categories %>
446 909:cbb26bc654de Chris
  <% unless category.new_record? %>
447
  <tr class="<%= cycle 'odd', 'even' %>">
448 1464:261b3d9a4903 Chris
    <td class="name"><%=h(category.name) %></td>
449 0:513646585e45 Chris
    <td><%=h(category.assigned_to.name) if category.assigned_to %></td>
450
    <td class="buttons">
451 1464:261b3d9a4903 Chris
      <% if User.current.allowed_to?(:manage_categories, @project) %>
452 909:cbb26bc654de Chris
        <%= link_to l(:button_edit), edit_issue_category_path(category), :class => 'icon icon-edit' %>
453 1115:433d4f72a19b Chris
        <%= delete_link issue_category_path(category) %>
454 1464:261b3d9a4903 Chris
      <% end %>
455 0:513646585e45 Chris
    </td>
456 909:cbb26bc654de Chris
  </tr>
457
  <% end %>
458 0:513646585e45 Chris
<% end %>
459
    </tbody>
460
</table>
461
<% else %>
462
<p class="nodata"><%= l(:label_no_data) %></p>
463
<% end %>
464
465 909:cbb26bc654de Chris
<p><%= link_to l(:label_issue_category_new), new_project_issue_category_path(@project), :class => 'icon icon-add' if User.current.allowed_to?(:manage_categories, @project) %></p>
466 0:513646585e45 Chris
<%= error_messages_for 'member' %>
467
<% roles = Role.find_all_givable
468 1464:261b3d9a4903 Chris
   members = @project.member_principals.includes(:member_roles, :roles, :principal).all.sort %>
469 0:513646585e45 Chris
470
<div class="splitcontentleft">
471
<% if members.any? %>
472
<table class="list members">
473 1517:dffacf8a6908 Chris
  <thead>
474
    <tr>
475
      <th><%= l(:label_user) %> / <%= l(:label_group) %></th>
476
      <th><%= l(:label_role_plural) %></th>
477
      <th style="width:15%"></th>
478
      <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
479
    </tr>
480
  </thead>
481 909:cbb26bc654de Chris
  <tbody>
482
  <% members.each do |member| %>
483
  <% next if member.new_record? %>
484
  <tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
485 1464:261b3d9a4903 Chris
  <td class="name <%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
486 0:513646585e45 Chris
  <td class="roles">
487 1464:261b3d9a4903 Chris
    <span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span>
488
      <%= form_for(member,
489
                   {:as => :membership, :remote => true,
490
                    :url => membership_path(member),
491
                    :method => :put,
492
                    :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }}
493 1115:433d4f72a19b Chris
             ) do |f| %>
494 1464:261b3d9a4903 Chris
        <p>
495
          <% roles.each do |role| %>
496
          <label>
497
            <%= check_box_tag('membership[role_ids][]',
498
                              role.id, member.roles.include?(role),
499 1517:dffacf8a6908 Chris
                              :id => nil,
500 1464:261b3d9a4903 Chris
                              :disabled => member.member_roles.detect {
501
                                 |mr| mr.role_id == role.id && !mr.inherited_from.nil?
502
                                 } ) %> <%= role %>
503
          </label><br />
504
          <% end %>
505
        </p>
506 1115:433d4f72a19b Chris
        <%= hidden_field_tag 'membership[role_ids][]', '' %>
507 1464:261b3d9a4903 Chris
        <p>
508
          <%= submit_tag l(:button_save), :class => "small" %>
509
          <%= link_to_function(l(:button_cancel),
510
                               "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;") %>
511
        </p>
512 0:513646585e45 Chris
      <% end %>
513
  </td>
514
  <td class="buttons">
515 1115:433d4f72a19b Chris
      <%= link_to_function l(:button_edit),
516
                           "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;",
517
                           :class => 'icon icon-edit' %>
518
      <%= delete_link membership_path(member),
519
                      :remote => true,
520
                      :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %>
521 0:513646585e45 Chris
  </td>
522
  <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
523 909:cbb26bc654de Chris
  </tr>
524 0:513646585e45 Chris
<% end; reset_cycle %>
525 909:cbb26bc654de Chris
  </tbody>
526 0:513646585e45 Chris
</table>
527
<% else %>
528
<p class="nodata"><%= l(:label_no_data) %></p>
529
<% end %>
530
</div>
531
532
<div class="splitcontentright">
533 1464:261b3d9a4903 Chris
<% if roles.any? %>
534
  <%= form_for(@member,
535
               {:as => :membership, :url => project_memberships_path(@project),
536
                :remote => true, :method => :post}) do |f| %>
537
    <fieldset>
538
      <legend><%=l(:label_member_new)%></legend>
539
      <p>
540
        <%= label_tag("principal_search", l(:label_principal_search)) %>
541
        <%= text_field_tag('principal_search', nil) %>
542
      </p>
543
      <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
544
      <div id="principals_for_new_member">
545
        <%= render_principals_for_new_members(@project) %>
546
      </div>
547
      <p>
548
        <%= l(:label_role_plural) %>:
549
        <% roles.each do |role| %>
550 1517:dffacf8a6908 Chris
          <label><%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %> <%= role %></label>
551 1464:261b3d9a4903 Chris
        <% end %>
552
      </p>
553
      <p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
554 909:cbb26bc654de Chris
    </fieldset>
555 0:513646585e45 Chris
  <% end %>
556
<% end %>
557
</div>
558 1115:433d4f72a19b Chris
<%= form_for @project,
559 0:513646585e45 Chris
            :url => { :action => 'modules', :id => @project },
560 1115:433d4f72a19b Chris
            :html => {:id => 'modules-form',
561
                      :method => :post} do |f| %>
562 909:cbb26bc654de Chris
563 1464:261b3d9a4903 Chris
<fieldset class="box">
564 0:513646585e45 Chris
<legend><%= l(:text_select_project_modules) %></legend>
565
566
<% Redmine::AccessControl.available_project_modules.each do |m| %>
567 1517:dffacf8a6908 Chris
<p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m), :id => nil -%>
568 0:513646585e45 Chris
 <%= l_or_humanize(m, :prefix => "project_module_") %></label></p>
569
<% end %>
570
</fieldset>
571 1464:261b3d9a4903 Chris
<p><%= check_all_links 'modules-form' %></p>
572 0:513646585e45 Chris
573
<p><%= submit_tag l(:button_save) %></p>
574
575
<% end %>
576 351:ebf53b46f3f3 chris
577 1245:d8e15cc24494 luis
<%= form_for @project,
578
            :url => { :action => 'overview', :id => @project.id },
579 351:ebf53b46f3f3 chris
            :html => {:id => 'overview-form'} do |f| %>
580
581
<div class="box tabular">
582
583 1268:2818bf60c84c chris
<p><%= l(:text_has_welcome_page_info, { :overview_link => link_to(l(:label_overview), { :controller => 'projects', :action => 'show' } ) } ).html_safe %></p>
584 354:8c804ce943db chris
585
<% if @project.module_enabled? :wiki %>
586
587
<p><%= link_to(l(:button_welcome_page_edit), {:controller => 'wiki', :action => 'edit', :project_id => @project, :id => Wiki.titleize("Overview")}, :class => 'icon icon-edit') %>
588
589
<% else %>
590
591 1268:2818bf60c84c chris
<p><%= l(:text_has_welcome_page_wiki_disabled, { :modules_link => link_to(l(:label_module_plural), { :controller => 'projects', :action => 'settings', :tab => 'modules' } ) } ).html_safe %></p>
592 354:8c804ce943db chris
593
<% end %>
594
595 351:ebf53b46f3f3 chris
<p><label for="has_welcome_page"><%= l(:label_has_welcome_page) %></label>
596
<%= check_box_tag 'has_welcome_page', 1, @project.has_welcome_page? -%>
597 354:8c804ce943db chris
<br/><em><%= l(:setting_has_welcome_page) %></em>
598
599 351:ebf53b46f3f3 chris
</p>
600
601
</div>
602
603
<%= submit_tag l(:button_save) %>
604
605
<% end %>
606 1354:fc0fecf09eb9 chris
607
<%= javascript_include_tag 'repository' %>
608
609 1355:3d01be97cb5a chris
<% if @repository %>
610
611 1354:fc0fecf09eb9 chris
<%= form_for @repository,
612
       :as => :repository,
613
       :remote => true,
614 1355:3d01be97cb5a chris
       :url => { :controller => 'repositories', :action => 'update', :id => @repository },
615
       :method => 'put' do |f| %>
616 1354:fc0fecf09eb9 chris
617
<%= error_messages_for 'repository' %>
618
619
<div class="box tabular">
620
621
<p>
622
   <%= l(:text_settings_repo_explanation).html_safe %></ br>
623
   <% if @repository.is_external %>
624
     <p><%= l(:text_settings_repo_is_external).html_safe %></ br>
625
   <% else %>
626
     <p><%= l(:text_settings_repo_is_internal).html_safe %></ br>
627
   <% end %>
628
</p>
629
630
631
<p>
632
	<%= label_tag('repository_is_external', l(:label_is_external_repository)) %>
633
	<%= check_box :repository, :is_external, :onclick => "toggle_ext_url()" %>
634
	<br/><em><%= l(:setting_external_repository).html_safe %></em>
635
</p>
636
637
<p>
638
	<%= label_tag('repository_external_url', l(:label_repository_external_url)) %>
639
	<%= text_field :repository, :external_url, :disabled => !(@repository and @repository.is_external) %>
640
	<br/><em><%= l(:setting_external_repository_url).html_safe %></em>
641
</p>
642
643
<p><%= l(:text_settings_repo_need_help).html_safe %></p>
644
645
</div>
646
647
<div class="contextual">
648
<% if @repository && !@repository.new_record? %>
649
<%= link_to(l(:label_user_plural),
650
                {
651
                :controller => 'repositories',
652
                :action     => 'committers',
653 1355:3d01be97cb5a chris
                :id         => @repository
654 1354:fc0fecf09eb9 chris
                },
655 1115:433d4f72a19b Chris
             :class => 'icon icon-user') %>
656 1354:fc0fecf09eb9 chris
<% end %>
657
</div>
658
659
<%= submit_tag(l(:button_save)) %>
660
661 1355:3d01be97cb5a chris
<% end %>
662
663 1115:433d4f72a19b Chris
<% else %>
664 1354:fc0fecf09eb9 chris
   <%= l(:text_settings_repo_creation).html_safe %></ br>
665 1115:433d4f72a19b Chris
<% end %>
666
667 0:513646585e45 Chris
<% if @project.shared_versions.any? %>
668
<table class="list versions">
669 909:cbb26bc654de Chris
  <thead><tr>
670 0:513646585e45 Chris
    <th><%= l(:label_version) %></th>
671
    <th><%= l(:field_effective_date) %></th>
672
    <th><%= l(:field_description) %></th>
673
    <th><%= l(:field_status) %></th>
674
    <th><%= l(:field_sharing) %></th>
675 37:94944d00e43c chris
    <th><%= l(:label_wiki_page) %></th>
676 0:513646585e45 Chris
    <th style="width:15%"></th>
677
    </tr></thead>
678 909:cbb26bc654de Chris
  <tbody>
679 0:513646585e45 Chris
<% for version in @project.shared_versions.sort %>
680
    <tr class="version <%= cycle 'odd', 'even' %> <%=h version.status %> <%= 'shared' if version.project != @project %>">
681
    <td class="name"><%= link_to_version version %></td>
682
    <td class="date"><%= format_date(version.effective_date) %></td>
683
    <td class="description"><%=h version.description %></td>
684
    <td class="status"><%= l("version_status_#{version.status}") %></td>
685
    <td class="sharing"><%=h format_version_sharing(version.sharing) %></td>
686 37:94944d00e43c chris
    <td><%= link_to_if_authorized(h(version.wiki_page_title), {:controller => 'wiki', :action => 'show', :project_id => version.project, :id => Wiki.titleize(version.wiki_page_title)}) || h(version.wiki_page_title) unless version.wiki_page_title.blank? || version.project.wiki.nil? %></td>
687 0:513646585e45 Chris
    <td class="buttons">
688 909:cbb26bc654de Chris
      <% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %>
689
        <%= link_to l(:button_edit), edit_version_path(version), :class => 'icon icon-edit' %>
690 1115:433d4f72a19b Chris
        <%= delete_link version_path(version) %>
691 909:cbb26bc654de Chris
      <% end %>
692
     </td>
693 0:513646585e45 Chris
    </tr>
694
<% end; reset_cycle %>
695
    </tbody>
696
</table>
697
<% else %>
698
<p class="nodata"><%= l(:label_no_data) %></p>
699
<% end %>
700
701
<div class="contextual">
702
<% if @project.versions.any? %>
703 909:cbb26bc654de Chris
  <%= link_to l(:label_close_versions), close_completed_project_versions_path(@project), :method => :put %>
704 0:513646585e45 Chris
<% end %>
705
</div>
706
707 1115:433d4f72a19b Chris
<p><%= link_to l(:label_version_new), new_project_version_path(@project, :back_url => ''), :class => 'icon icon-add' if User.current.allowed_to?(:manage_versions, @project) %></p>
708
<%= labelled_form_for @wiki,
709
                   :as => :wiki,
710 0:513646585e45 Chris
                   :url => { :controller => 'wikis', :action => 'edit', :id => @project },
711 1115:433d4f72a19b Chris
                   :remote => true, :method => 'post' do |f| %>
712 0:513646585e45 Chris
713
<%= error_messages_for 'wiki' %>
714
715
<div class="box tabular">
716 1115:433d4f72a19b Chris
<p><%= f.text_field :start_page, :size => 60, :required => true %>
717
<em class="info"><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p>
718 0:513646585e45 Chris
</div>
719
720
<div class="contextual">
721
<%= link_to(l(:button_delete), {:controller => 'wikis', :action => 'destroy', :id => @project},
722
            :class => 'icon icon-del') if @wiki && !@wiki.new_record? %>
723
</div>
724
725
<%= submit_tag((@wiki.nil? || @wiki.new_record?) ? l(:button_create) : l(:button_save)) %>
726
<% end %>
727 119:8661b858af72 Chris
api.project do
728
  api.id          @project.id
729
  api.name        @project.name
730
  api.identifier  @project.identifier
731
  api.description @project.description
732
  api.homepage    @project.homepage
733 507:0c939c159af4 Chris
  api.parent(:id => @project.parent.id, :name => @project.parent.name) if @project.parent && @project.parent.visible?
734 1517:dffacf8a6908 Chris
  api.status      @project.status
735 909:cbb26bc654de Chris
736 119:8661b858af72 Chris
  render_api_custom_values @project.visible_custom_field_values, api
737 909:cbb26bc654de Chris
738 119:8661b858af72 Chris
  api.created_on @project.created_on
739
  api.updated_on @project.updated_on
740 909:cbb26bc654de Chris
741 119:8661b858af72 Chris
  api.array :trackers do
742
    @project.trackers.each do |tracker|
743
      api.tracker(:id => tracker.id, :name => tracker.name)
744
    end
745
  end if include_in_api_response?('trackers')
746 909:cbb26bc654de Chris
747
  api.array :issue_categories do
748
    @project.issue_categories.each do |category|
749
      api.issue_category(:id => category.id, :name => category.name)
750
    end
751
  end if include_in_api_response?('issue_categories')
752 119:8661b858af72 Chris
end
753 0:513646585e45 Chris
<div class="contextual">
754 909:cbb26bc654de Chris
  <% if User.current.allowed_to?(:add_subprojects, @project) %>
755 1464:261b3d9a4903 Chris
    <%= link_to l(:label_subproject_new), new_project_path(:parent_id => @project), :class => 'icon icon-add' %>
756 909:cbb26bc654de Chris
  <% end %>
757 1115:433d4f72a19b Chris
  <% if User.current.allowed_to?(:close_project, @project) %>
758
    <% if @project.active? %>
759
      <%= link_to l(:button_close), close_project_path(@project), :data => {:confirm => l(:text_are_you_sure)}, :method => :post, :class => 'icon icon-lock' %>
760
    <% else %>
761
      <%= link_to l(:button_reopen), reopen_project_path(@project), :data => {:confirm => l(:text_are_you_sure)}, :method => :post, :class => 'icon icon-unlock' %>
762
    <% end %>
763
  <% end %>
764 0:513646585e45 Chris
</div>
765
766 351:ebf53b46f3f3 chris
<% if @project.has_welcome_page %>
767 350:a1e6dc0e204b chris
<% page = @project.wiki.find_page("Overview") %>
768 351:ebf53b46f3f3 chris
<% end %>
769 350:a1e6dc0e204b chris
770
<% if page %>
771
772 490:cd64fb9ab701 chris
<% if @project.module_enabled? :wiki %>
773
<% if User.current.allowed_to?(:edit_wiki_pages, @project) %>
774
<div class="contextual">
775
<%= link_to(l(:button_welcome_page_edit_this), {:controller => 'wiki', :action => 'edit', :project_id => @project, :id => Wiki.titleize("Overview")}, :class => 'icon icon-edit') %>
776
</div>
777
<% end %>
778
<% end %>
779
780 350:a1e6dc0e204b chris
<div class="contextual" style="clear: right">
781
<ul>
782 1143:908e97507ef8 chris
<% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= link_to h(@project.homepage), @project.homepage %></li><% end %>
783 350:a1e6dc0e204b chris
<% if @subprojects.any? %>
784
	<li><%=l(:label_subproject_plural)%>:
785 1143:908e97507ef8 chris
	    <%= @subprojects.collect{|p| link_to(h(p), :action => 'show', :id => p)}.join(", ").html_safe %></li>
786 350:a1e6dc0e204b chris
<% end %>
787
</ul>
788
</div>
789
790
<%= render(:partial => "wiki/content", :locals => {:content => page.content_for_version()}) %>
791
792
<% else %>
793
794 909:cbb26bc654de Chris
<h2><%=l(:label_overview)%></h2>
795
796 1115:433d4f72a19b Chris
<% unless @project.active? %>
797
  <p class="warning"><span class="icon icon-lock"><%= l(:text_project_closed) %></span></p>
798
<% end %>
799
800 0:513646585e45 Chris
<div class="splitcontentleft">
801 1115:433d4f72a19b Chris
  <% if @project.description.present? %>
802 909:cbb26bc654de Chris
  <div class="wiki">
803
    <%= textilizable @project.description %>
804
  </div>
805 1115:433d4f72a19b Chris
  <% end %>
806 909:cbb26bc654de Chris
  <ul>
807 1115:433d4f72a19b Chris
  <% unless @project.homepage.blank? %>
808
    <li><%=l(:field_homepage)%>: <%= link_to h(@project.homepage), @project.homepage %></li>
809
  <% end %>
810 0:513646585e45 Chris
  <% if @subprojects.any? %>
811 1115:433d4f72a19b Chris
    <li><%=l(:label_subproject_plural)%>:
812 1464:261b3d9a4903 Chris
      <%= @subprojects.collect{|p| link_to p, project_path(p)}.join(", ").html_safe %></li>
813 0:513646585e45 Chris
  <% end %>
814 909:cbb26bc654de Chris
  <% @project.visible_custom_field_values.each do |custom_value| %>
815
  <% if !custom_value.value.blank? %>
816
     <li><%=h custom_value.custom_field.name %>: <%=h show_value(custom_value) %></li>
817
  <% end %>
818
  <% end %>
819
  </ul>
820 0:513646585e45 Chris
821 345:361602c5e6bb chris
  <% if User.current.allowed_to?(:view_issues, @project) and @open_issues_by_tracker.values.any? %>
822
823 909:cbb26bc654de Chris
  <div class="issues box">
824 0:513646585e45 Chris
    <h3><%=l(:label_issue_tracking)%></h3>
825
    <ul>
826 909:cbb26bc654de Chris
    <% for tracker in @trackers %>
827 1464:261b3d9a4903 Chris
      <li><%= link_to h(tracker.name), project_issues_path(@project, :set_filter => 1, :tracker_id => tracker.id) %>:
828 909:cbb26bc654de Chris
          <%= l(:label_x_open_issues_abbr_on_total, :count => @open_issues_by_tracker[tracker].to_i,
829
                                                    :total => @total_issues_by_tracker[tracker].to_i) %>
830
      </li>
831 0:513646585e45 Chris
    <% end %>
832
    </ul>
833
    <p>
834 1464:261b3d9a4903 Chris
      <%= link_to l(:label_issue_view_all), project_issues_path(@project, :set_filter => 1) %>
835 909:cbb26bc654de Chris
      <% if User.current.allowed_to?(:view_calendar, @project, :global => true) %>
836 1464:261b3d9a4903 Chris
        | <%= link_to l(:label_calendar), project_calendar_path(@project) %>
837 909:cbb26bc654de Chris
      <% end %>
838
      <% if User.current.allowed_to?(:view_gantt, @project, :global => true) %>
839 1464:261b3d9a4903 Chris
        | <%= link_to l(:label_gantt), project_gantt_path(@project) %>
840 909:cbb26bc654de Chris
      <% end %>
841
    </p>
842 0:513646585e45 Chris
  </div>
843 345:361602c5e6bb chris
844 0:513646585e45 Chris
  <% end %>
845 344:1a514b9347d4 chris
846 0:513646585e45 Chris
  <%= call_hook(:view_projects_show_left, :project => @project) %>
847
</div>
848
849
<div class="splitcontentright">
850 14:1d32c0a0efbf Chris
  <%= render :partial => 'members_box' %>
851 909:cbb26bc654de Chris
852 0:513646585e45 Chris
  <% if @news.any? && authorize_for('news', 'index') %>
853
  <div class="news box">
854 909:cbb26bc654de Chris
    <h3><%=l(:label_news_latest)%></h3>
855 0:513646585e45 Chris
    <%= render :partial => 'news/news', :collection => @news %>
856 1464:261b3d9a4903 Chris
    <p><%= link_to l(:label_news_view_all), project_news_index_path(@project) %></p>
857 909:cbb26bc654de Chris
  </div>
858 0:513646585e45 Chris
  <% end %>
859 344:1a514b9347d4 chris
860
  <%= render :partial => 'activities/recent' %>
861
862 0:513646585e45 Chris
  <%= call_hook(:view_projects_show_right, :project => @project) %>
863
</div>
864
865
<% content_for :sidebar do %>
866 810:aaa26ccafb00 chris
    <%= call_hook(:view_projects_show_sidebar_top, :project => @project) %>
867 441:cbce1fd3b1b7 Chris
    <% if @total_hours.present? %>
868 0:513646585e45 Chris
    <h3><%= l(:label_spent_time) %></h3>
869
    <p><span class="icon icon-time"><%= l_hours(@total_hours) %></span></p>
870 1115:433d4f72a19b Chris
    <p>
871
    <% if User.current.allowed_to?(:log_time, @project) %>
872
      <%= link_to l(:button_log_time), new_project_time_entry_path(@project) %> |
873
    <% end %>
874
    <%= link_to(l(:label_details), project_time_entries_path(@project)) %> |
875
    <%= link_to(l(:label_report), report_project_time_entries_path(@project)) %></p>
876 0:513646585e45 Chris
    <% end %>
877
    <%= call_hook(:view_projects_show_sidebar_bottom, :project => @project) %>
878
<% end %>
879
880 350:a1e6dc0e204b chris
<% end %>
881
882 0:513646585e45 Chris
<% content_for :header_tags do %>
883 22:40f7cfd4df19 chris
<%= auto_discovery_link_tag(:atom, {:controller => 'activities', :action => 'index', :id => @project, :format => 'atom', :key => User.current.rss_key}) %>
884 0:513646585e45 Chris
<% end %>
885
886 1511:e1cfd013ef49 chris
<% html_title('') -%>