To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / app / views / projects @ 1531:ae8145b28b2b
| 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) %> » |
||
| 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) %> » |
||
| 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 | 1010:76a677c96bce | chris | <div class="tags box"> |
| 253 | <h3><%=l(:label_project_tags_all)%></h3> |
||
| 254 | 1530:83a2227efc71 | Chris | <% cache(:action => 'explore', :action_suffix => 'tags') do %> |
| 255 | 1010:76a677c96bce | chris | <%= render :partial => 'projects/tagcloud' %> |
| 256 | 1530:83a2227efc71 | Chris | <% end %> |
| 257 | 1010:76a677c96bce | chris | </div> |
| 258 | 1213:17305097e652 | chris | </div> |
| 259 | 1021:967fb7e62b1d | chris | |
| 260 | 1213:17305097e652 | chris | <div class="threecolumnright"> |
| 261 | <div class="projects box"> |
||
| 262 | 1322:596e34bffcc7 | chris | <h3><%=l(:label_project_latest)%></h3> |
| 263 | <%= render :partial => 'projects/latest' %> |
||
| 264 | <%= link_to l(:label_projects_more), { :controller => 'projects' }, :class => 'more' %>
|
||
| 265 | 1213:17305097e652 | chris | </div> |
| 266 | </div> |
||
| 267 | |||
| 268 | <div class="threecolumnleft"> |
||
| 269 | 1010:76a677c96bce | chris | <div class="institutions box"> |
| 270 | <h3><%=l(:label_institutions_busy)%></h3> |
||
| 271 | 1530:83a2227efc71 | Chris | <% cache(:action => 'explore', :action_suffix => 'busy_institutions') do %> |
| 272 | 1010:76a677c96bce | chris | <%= render :partial => 'activities/busy_institution' %> |
| 273 | 1530:83a2227efc71 | Chris | <% end %> |
| 274 | <%= link_to l(:label_overall_activity), { :controller => 'activities', :action => 'index' }, :class => 'more' %>
|
||
| 275 | 1010:76a677c96bce | chris | </div> |
| 276 | 1213:17305097e652 | chris | </div> |
| 277 | |||
| 278 | 1509:fae089e1f1a3 | Chris | <div class="threecolumnright"> |
| 279 | <div class="projects box"> |
||
| 280 | <h3><%=l(:label_projects_busy)%></h3> |
||
| 281 | 1530:83a2227efc71 | Chris | <% cache(:action => 'explore', :action_suffix => 'busy_projects') do %> |
| 282 | 1509:fae089e1f1a3 | Chris | <%= render :partial => 'activities/busy' %> |
| 283 | 1530:83a2227efc71 | Chris | <% end %> |
| 284 | 1509:fae089e1f1a3 | Chris | <%= link_to l(:label_overall_activity), { :controller => 'activities', :action => 'index' }, :class => 'more' %>
|
| 285 | </div> |
||
| 286 | </div> |
||
| 287 | |||
| 288 | 1213:17305097e652 | chris | <div class="threecolumnmid"> |
| 289 | 1501:467282ce64a4 | Chris | <div class="projects box"> |
| 290 | <h3><%=l(:label_projects_mature)%></h3> |
||
| 291 | 1530:83a2227efc71 | Chris | <% cache(:action => 'explore', :action_suffix => 'mature_projects') do %> |
| 292 | 1501:467282ce64a4 | Chris | <%= render :partial => 'projects/mature' %> |
| 293 | 1530:83a2227efc71 | Chris | <% end %> |
| 294 | 1501:467282ce64a4 | Chris | <%= link_to l(:label_projects_more), { :controller => 'projects' }, :class => 'more' %>
|
| 295 | </div> |
||
| 296 | </div> |
||
| 297 | |||
| 298 | 1213:17305097e652 | chris | <% html_title(l(:label_explore_projects)) -%> |
| 299 | 119:8661b858af72 | Chris | api.array :projects, api_meta(:total_count => @project_count, :offset => @offset, :limit => @limit) do |
| 300 | @projects.each do |project| |
||
| 301 | api.project do |
||
| 302 | api.id project.id |
||
| 303 | api.name project.name |
||
| 304 | api.identifier project.identifier |
||
| 305 | api.description project.description |
||
| 306 | 507:0c939c159af4 | Chris | api.parent(:id => project.parent.id, :name => project.parent.name) if project.parent && project.parent.visible? |
| 307 | 1517:dffacf8a6908 | Chris | api.status project.status |
| 308 | 909:cbb26bc654de | Chris | |
| 309 | 119:8661b858af72 | Chris | render_api_custom_values project.visible_custom_field_values, api |
| 310 | 909:cbb26bc654de | Chris | |
| 311 | 119:8661b858af72 | Chris | api.created_on project.created_on |
| 312 | api.updated_on project.updated_on |
||
| 313 | end |
||
| 314 | end |
||
| 315 | end |
||
| 316 | 0:513646585e45 | Chris | <% content_for :header_tags do %> |
| 317 | <%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %>
|
||
| 318 | <% end %> |
||
| 319 | |||
| 320 | <div class="contextual"> |
||
| 321 | 1517:dffacf8a6908 | Chris | <%= render_project_action_links %> |
| 322 | 0:513646585e45 | Chris | </div> |
| 323 | |||
| 324 | 124:bc91f2025d05 | chris | <h2> |
| 325 | <%= l("label_project_all") %>
|
||
| 326 | </h2> |
||
| 327 | |||
| 328 | <%= render_project_table(@projects) %> |
||
| 329 | 123:605adf7e1735 | chris | |
| 330 | <p class="pagination"><%= pagination_links_full @project_pages, @project_count %></p> |
||
| 331 | 69:dc22c3eb3c81 | luisf | |
| 332 | 0:513646585e45 | Chris | |
| 333 | <% other_formats_links do |f| %> |
||
| 334 | 909:cbb26bc654de | Chris | <%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
| 335 | 0:513646585e45 | Chris | <% end %> |
| 336 | |||
| 337 | 1115:433d4f72a19b | Chris | <% content_for :sidebar do %> |
| 338 | <%= form_tag({}, :method => :get) do %>
|
||
| 339 | <h3><%= l(:label_project_plural) %></h3> |
||
| 340 | <label for="closed"><%= check_box_tag 'closed', 1, params[:closed] %> <%= l(:label_show_closed_projects) %></label> |
||
| 341 | <p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p> |
||
| 342 | <% end %> |
||
| 343 | <% end %> |
||
| 344 | |||
| 345 | 0:513646585e45 | Chris | <% html_title(l(:label_project_plural)) -%> |
| 346 | <h2><%=l(:label_member_plural)%></h2> |
||
| 347 | |||
| 348 | <% if @members.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %> |
||
| 349 | |||
| 350 | <% members = @members.group_by {|m| m.role } %>
|
||
| 351 | <% members.keys.sort{|x,y| x.position <=> y.position}.each do |role| %>
|
||
| 352 | 909:cbb26bc654de | Chris | <h3><%= h(role.name) %></h3> |
| 353 | 0:513646585e45 | Chris | <ul> |
| 354 | <% members[role].each do |m| %> |
||
| 355 | <li><%= link_to_user m.user %> (<%= format_date m.created_on %>)</li> |
||
| 356 | <% end %> |
||
| 357 | </ul> |
||
| 358 | <% end %> |
||
| 359 | 1464:261b3d9a4903 | Chris | <%= title l(:label_project_new) %> |
| 360 | 22:40f7cfd4df19 | chris | |
| 361 | 1115:433d4f72a19b | Chris | <%= labelled_form_for @project do |f| %> |
| 362 | 22:40f7cfd4df19 | chris | <%= render :partial => 'form', :locals => { :f => f } %>
|
| 363 | 909:cbb26bc654de | Chris | <%= submit_tag l(:button_create) %> |
| 364 | 22:40f7cfd4df19 | chris | <% end %> |
| 365 | 0:513646585e45 | Chris | <h2><%=l(:label_settings)%></h2> |
| 366 | |||
| 367 | <%= render_tabs project_settings_tabs %> |
||
| 368 | |||
| 369 | <% html_title(l(:label_settings)) -%> |
||
| 370 | 1115:433d4f72a19b | Chris | <%= form_tag(project_enumerations_path(@project), :method => :put, :class => "tabular") do %> |
| 371 | 441:cbce1fd3b1b7 | Chris | |
| 372 | <table class="list"> |
||
| 373 | <thead><tr> |
||
| 374 | <th><%= l(:field_name) %></th> |
||
| 375 | <th><%= l(:enumeration_system_activity) %></th> |
||
| 376 | <% TimeEntryActivity.new.available_custom_fields.each do |value| %> |
||
| 377 | 909:cbb26bc654de | Chris | <th><%= h value.name %></th> |
| 378 | 441:cbce1fd3b1b7 | Chris | <% end %> |
| 379 | 1464:261b3d9a4903 | Chris | <th><%= l(:field_active) %></th> |
| 380 | 441:cbce1fd3b1b7 | Chris | </tr></thead> |
| 381 | |||
| 382 | <% @project.activities(true).each do |enumeration| %> |
||
| 383 | 1115:433d4f72a19b | Chris | <%= fields_for "enumerations[#{enumeration.id}]", enumeration do |ff| %>
|
| 384 | 441:cbce1fd3b1b7 | Chris | <tr class="<%= cycle('odd', 'even') %>">
|
| 385 | 1464:261b3d9a4903 | Chris | <td class="name"> |
| 386 | 441:cbce1fd3b1b7 | Chris | <%= ff.hidden_field :parent_id, :value => enumeration.id unless enumeration.project %> |
| 387 | <%= h(enumeration) %> |
||
| 388 | </td> |
||
| 389 | 1464:261b3d9a4903 | Chris | <td class="tick"><%= checked_image !enumeration.project %></td> |
| 390 | 441:cbce1fd3b1b7 | Chris | <% enumeration.custom_field_values.each do |value| %> |
| 391 | 1464:261b3d9a4903 | Chris | <td> |
| 392 | 441:cbce1fd3b1b7 | Chris | <%= custom_field_tag "enumerations[#{enumeration.id}]", value %>
|
| 393 | </td> |
||
| 394 | <% end %> |
||
| 395 | 1464:261b3d9a4903 | Chris | <td> |
| 396 | 441:cbce1fd3b1b7 | Chris | <%= ff.check_box :active %> |
| 397 | </td> |
||
| 398 | </tr> |
||
| 399 | <% end %> |
||
| 400 | <% end %> |
||
| 401 | </table> |
||
| 402 | |||
| 403 | <div class="contextual"> |
||
| 404 | 1115:433d4f72a19b | Chris | <%= link_to(l(:button_reset), project_enumerations_path(@project), |
| 405 | 909:cbb26bc654de | Chris | :method => :delete, |
| 406 | 1115:433d4f72a19b | Chris | :data => {:confirm => l(:text_are_you_sure)},
|
| 407 | 441:cbce1fd3b1b7 | Chris | :class => 'icon icon-del') %> |
| 408 | </div> |
||
| 409 | |||
| 410 | <%= submit_tag l(:button_save) %> |
||
| 411 | <% end %> |
||
| 412 | 0:513646585e45 | Chris | <% if @project.boards.any? %> |
| 413 | <table class="list"> |
||
| 414 | 909:cbb26bc654de | Chris | <thead><tr> |
| 415 | <th><%= l(:label_board) %></th> |
||
| 416 | <th><%= l(:field_description) %></th> |
||
| 417 | <th></th> |
||
| 418 | <th></th> |
||
| 419 | </tr></thead> |
||
| 420 | <tbody> |
||
| 421 | 1115:433d4f72a19b | Chris | <% Board.board_tree(@project.boards) do |board, level| |
| 422 | 909:cbb26bc654de | Chris | next if board.new_record? %> |
| 423 | <tr class="<%= cycle 'odd', 'even' %>"> |
||
| 424 | 1464:261b3d9a4903 | Chris | <td class="name" style="padding-left: <%= level * 18 %>px;"><%= link_to board.name, project_board_path(@project, board) %></td> |
| 425 | <td class="description"><%=h board.description %></td> |
||
| 426 | <td class="reorder"> |
||
| 427 | 0:513646585e45 | Chris | <% if authorize_for("boards", "edit") %>
|
| 428 | 1115:433d4f72a19b | Chris | <%= reorder_links('board', {:controller => 'boards', :action => 'update', :project_id => @project, :id => board}, :put) %>
|
| 429 | 0:513646585e45 | Chris | <% end %> |
| 430 | </td> |
||
| 431 | <td class="buttons"> |
||
| 432 | 1115:433d4f72a19b | Chris | <% if User.current.allowed_to?(:manage_boards, @project) %> |
| 433 | <%= link_to l(:button_edit), edit_project_board_path(@project, board), :class => 'icon icon-edit' %> |
||
| 434 | <%= delete_link project_board_path(@project, board) %> |
||
| 435 | 1464:261b3d9a4903 | Chris | <% end %> |
| 436 | 0:513646585e45 | Chris | </td> |
| 437 | 909:cbb26bc654de | Chris | </tr> |
| 438 | 0:513646585e45 | Chris | <% end %> |
| 439 | 909:cbb26bc654de | Chris | </tbody> |
| 440 | 0:513646585e45 | Chris | </table> |
| 441 | <% else %> |
||
| 442 | <p class="nodata"><%= l(:label_no_data) %></p> |
||
| 443 | <% end %> |
||
| 444 | |||
| 445 | 1115:433d4f72a19b | Chris | <% if User.current.allowed_to?(:manage_boards, @project) %> |
| 446 | <p><%= link_to l(:label_board_new), new_project_board_path(@project), :class => 'icon icon-add' %></p> |
||
| 447 | <% end %> |
||
| 448 | 0:513646585e45 | Chris | <% if @project.issue_categories.any? %> |
| 449 | <table class="list"> |
||
| 450 | 909:cbb26bc654de | Chris | <thead><tr> |
| 451 | <th><%= l(:label_issue_category) %></th> |
||
| 452 | <th><%= l(:field_assigned_to) %></th> |
||
| 453 | <th></th> |
||
| 454 | </tr></thead> |
||
| 455 | <tbody> |
||
| 456 | 0:513646585e45 | Chris | <% for category in @project.issue_categories %> |
| 457 | 909:cbb26bc654de | Chris | <% unless category.new_record? %> |
| 458 | <tr class="<%= cycle 'odd', 'even' %>"> |
||
| 459 | 1464:261b3d9a4903 | Chris | <td class="name"><%=h(category.name) %></td> |
| 460 | 0:513646585e45 | Chris | <td><%=h(category.assigned_to.name) if category.assigned_to %></td> |
| 461 | <td class="buttons"> |
||
| 462 | 1464:261b3d9a4903 | Chris | <% if User.current.allowed_to?(:manage_categories, @project) %> |
| 463 | 909:cbb26bc654de | Chris | <%= link_to l(:button_edit), edit_issue_category_path(category), :class => 'icon icon-edit' %> |
| 464 | 1115:433d4f72a19b | Chris | <%= delete_link issue_category_path(category) %> |
| 465 | 1464:261b3d9a4903 | Chris | <% end %> |
| 466 | 0:513646585e45 | Chris | </td> |
| 467 | 909:cbb26bc654de | Chris | </tr> |
| 468 | <% end %> |
||
| 469 | 0:513646585e45 | Chris | <% end %> |
| 470 | </tbody> |
||
| 471 | </table> |
||
| 472 | <% else %> |
||
| 473 | <p class="nodata"><%= l(:label_no_data) %></p> |
||
| 474 | <% end %> |
||
| 475 | |||
| 476 | 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> |
| 477 | 0:513646585e45 | Chris | <%= error_messages_for 'member' %> |
| 478 | <% roles = Role.find_all_givable |
||
| 479 | 1464:261b3d9a4903 | Chris | members = @project.member_principals.includes(:member_roles, :roles, :principal).all.sort %> |
| 480 | 0:513646585e45 | Chris | |
| 481 | <div class="splitcontentleft"> |
||
| 482 | <% if members.any? %> |
||
| 483 | <table class="list members"> |
||
| 484 | 1517:dffacf8a6908 | Chris | <thead> |
| 485 | <tr> |
||
| 486 | <th><%= l(:label_user) %> / <%= l(:label_group) %></th> |
||
| 487 | <th><%= l(:label_role_plural) %></th> |
||
| 488 | <th style="width:15%"></th> |
||
| 489 | <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> |
||
| 490 | </tr> |
||
| 491 | </thead> |
||
| 492 | 909:cbb26bc654de | Chris | <tbody> |
| 493 | <% members.each do |member| %> |
||
| 494 | <% next if member.new_record? %> |
||
| 495 | <tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member"> |
||
| 496 | 1464:261b3d9a4903 | Chris | <td class="name <%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td> |
| 497 | 0:513646585e45 | Chris | <td class="roles"> |
| 498 | 1464:261b3d9a4903 | Chris | <span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span>
|
| 499 | <%= form_for(member, |
||
| 500 | {:as => :membership, :remote => true,
|
||
| 501 | :url => membership_path(member), |
||
| 502 | :method => :put, |
||
| 503 | :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }}
|
||
| 504 | 1115:433d4f72a19b | Chris | ) do |f| %> |
| 505 | 1464:261b3d9a4903 | Chris | <p> |
| 506 | <% roles.each do |role| %> |
||
| 507 | <label> |
||
| 508 | <%= check_box_tag('membership[role_ids][]',
|
||
| 509 | role.id, member.roles.include?(role), |
||
| 510 | 1517:dffacf8a6908 | Chris | :id => nil, |
| 511 | 1464:261b3d9a4903 | Chris | :disabled => member.member_roles.detect {
|
| 512 | |mr| mr.role_id == role.id && !mr.inherited_from.nil? |
||
| 513 | } ) %> <%= role %> |
||
| 514 | </label><br /> |
||
| 515 | <% end %> |
||
| 516 | </p> |
||
| 517 | 1115:433d4f72a19b | Chris | <%= hidden_field_tag 'membership[role_ids][]', '' %> |
| 518 | 1464:261b3d9a4903 | Chris | <p> |
| 519 | <%= submit_tag l(:button_save), :class => "small" %> |
||
| 520 | <%= link_to_function(l(:button_cancel), |
||
| 521 | "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;") %>
|
||
| 522 | </p> |
||
| 523 | 0:513646585e45 | Chris | <% end %> |
| 524 | </td> |
||
| 525 | <td class="buttons"> |
||
| 526 | 1115:433d4f72a19b | Chris | <%= link_to_function l(:button_edit), |
| 527 | "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;",
|
||
| 528 | :class => 'icon icon-edit' %> |
||
| 529 | <%= delete_link membership_path(member), |
||
| 530 | :remote => true, |
||
| 531 | :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %>
|
||
| 532 | 0:513646585e45 | Chris | </td> |
| 533 | <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
|
||
| 534 | 909:cbb26bc654de | Chris | </tr> |
| 535 | 0:513646585e45 | Chris | <% end; reset_cycle %> |
| 536 | 909:cbb26bc654de | Chris | </tbody> |
| 537 | 0:513646585e45 | Chris | </table> |
| 538 | <% else %> |
||
| 539 | <p class="nodata"><%= l(:label_no_data) %></p> |
||
| 540 | <% end %> |
||
| 541 | </div> |
||
| 542 | |||
| 543 | <div class="splitcontentright"> |
||
| 544 | 1464:261b3d9a4903 | Chris | <% if roles.any? %> |
| 545 | <%= form_for(@member, |
||
| 546 | {:as => :membership, :url => project_memberships_path(@project),
|
||
| 547 | :remote => true, :method => :post}) do |f| %> |
||
| 548 | <fieldset> |
||
| 549 | <legend><%=l(:label_member_new)%></legend> |
||
| 550 | <p> |
||
| 551 | <%= label_tag("principal_search", l(:label_principal_search)) %>
|
||
| 552 | <%= text_field_tag('principal_search', nil) %>
|
||
| 553 | </p> |
||
| 554 | <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
||
| 555 | <div id="principals_for_new_member"> |
||
| 556 | <%= render_principals_for_new_members(@project) %> |
||
| 557 | </div> |
||
| 558 | <p> |
||
| 559 | <%= l(:label_role_plural) %>: |
||
| 560 | <% roles.each do |role| %> |
||
| 561 | 1517:dffacf8a6908 | Chris | <label><%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %> <%= role %></label> |
| 562 | 1464:261b3d9a4903 | Chris | <% end %> |
| 563 | </p> |
||
| 564 | <p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p> |
||
| 565 | 909:cbb26bc654de | Chris | </fieldset> |
| 566 | 0:513646585e45 | Chris | <% end %> |
| 567 | <% end %> |
||
| 568 | </div> |
||
| 569 | 1115:433d4f72a19b | Chris | <%= form_for @project, |
| 570 | 0:513646585e45 | Chris | :url => { :action => 'modules', :id => @project },
|
| 571 | 1115:433d4f72a19b | Chris | :html => {:id => 'modules-form',
|
| 572 | :method => :post} do |f| %> |
||
| 573 | 909:cbb26bc654de | Chris | |
| 574 | 1464:261b3d9a4903 | Chris | <fieldset class="box"> |
| 575 | 0:513646585e45 | Chris | <legend><%= l(:text_select_project_modules) %></legend> |
| 576 | |||
| 577 | <% Redmine::AccessControl.available_project_modules.each do |m| %> |
||
| 578 | 1517:dffacf8a6908 | Chris | <p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m), :id => nil -%> |
| 579 | 0:513646585e45 | Chris | <%= l_or_humanize(m, :prefix => "project_module_") %></label></p> |
| 580 | <% end %> |
||
| 581 | </fieldset> |
||
| 582 | 1464:261b3d9a4903 | Chris | <p><%= check_all_links 'modules-form' %></p> |
| 583 | 0:513646585e45 | Chris | |
| 584 | <p><%= submit_tag l(:button_save) %></p> |
||
| 585 | |||
| 586 | <% end %> |
||
| 587 | 351:ebf53b46f3f3 | chris | |
| 588 | 1245:d8e15cc24494 | luis | <%= form_for @project, |
| 589 | :url => { :action => 'overview', :id => @project.id },
|
||
| 590 | 351:ebf53b46f3f3 | chris | :html => {:id => 'overview-form'} do |f| %>
|
| 591 | |||
| 592 | <div class="box tabular"> |
||
| 593 | |||
| 594 | 1268:2818bf60c84c | chris | <p><%= l(:text_has_welcome_page_info, { :overview_link => link_to(l(:label_overview), { :controller => 'projects', :action => 'show' } ) } ).html_safe %></p>
|
| 595 | 354:8c804ce943db | chris | |
| 596 | <% if @project.module_enabled? :wiki %> |
||
| 597 | |||
| 598 | <p><%= link_to(l(:button_welcome_page_edit), {:controller => 'wiki', :action => 'edit', :project_id => @project, :id => Wiki.titleize("Overview")}, :class => 'icon icon-edit') %>
|
||
| 599 | |||
| 600 | <% else %> |
||
| 601 | |||
| 602 | 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>
|
| 603 | 354:8c804ce943db | chris | |
| 604 | <% end %> |
||
| 605 | |||
| 606 | 351:ebf53b46f3f3 | chris | <p><label for="has_welcome_page"><%= l(:label_has_welcome_page) %></label> |
| 607 | <%= check_box_tag 'has_welcome_page', 1, @project.has_welcome_page? -%> |
||
| 608 | 354:8c804ce943db | chris | <br/><em><%= l(:setting_has_welcome_page) %></em> |
| 609 | |||
| 610 | 351:ebf53b46f3f3 | chris | </p> |
| 611 | |||
| 612 | </div> |
||
| 613 | |||
| 614 | <%= submit_tag l(:button_save) %> |
||
| 615 | |||
| 616 | <% end %> |
||
| 617 | 1354:fc0fecf09eb9 | chris | |
| 618 | <%= javascript_include_tag 'repository' %> |
||
| 619 | |||
| 620 | 1355:3d01be97cb5a | chris | <% if @repository %> |
| 621 | |||
| 622 | 1354:fc0fecf09eb9 | chris | <%= form_for @repository, |
| 623 | :as => :repository, |
||
| 624 | :remote => true, |
||
| 625 | 1355:3d01be97cb5a | chris | :url => { :controller => 'repositories', :action => 'update', :id => @repository },
|
| 626 | :method => 'put' do |f| %> |
||
| 627 | 1354:fc0fecf09eb9 | chris | |
| 628 | <%= error_messages_for 'repository' %> |
||
| 629 | |||
| 630 | <div class="box tabular"> |
||
| 631 | |||
| 632 | <p> |
||
| 633 | <%= l(:text_settings_repo_explanation).html_safe %></ br> |
||
| 634 | <% if @repository.is_external %> |
||
| 635 | <p><%= l(:text_settings_repo_is_external).html_safe %></ br> |
||
| 636 | <% else %> |
||
| 637 | <p><%= l(:text_settings_repo_is_internal).html_safe %></ br> |
||
| 638 | <% end %> |
||
| 639 | </p> |
||
| 640 | |||
| 641 | |||
| 642 | <p> |
||
| 643 | <%= label_tag('repository_is_external', l(:label_is_external_repository)) %>
|
||
| 644 | <%= check_box :repository, :is_external, :onclick => "toggle_ext_url()" %> |
||
| 645 | <br/><em><%= l(:setting_external_repository).html_safe %></em> |
||
| 646 | </p> |
||
| 647 | |||
| 648 | <p> |
||
| 649 | <%= label_tag('repository_external_url', l(:label_repository_external_url)) %>
|
||
| 650 | <%= text_field :repository, :external_url, :disabled => !(@repository and @repository.is_external) %> |
||
| 651 | <br/><em><%= l(:setting_external_repository_url).html_safe %></em> |
||
| 652 | </p> |
||
| 653 | |||
| 654 | <p><%= l(:text_settings_repo_need_help).html_safe %></p> |
||
| 655 | |||
| 656 | </div> |
||
| 657 | |||
| 658 | <div class="contextual"> |
||
| 659 | <% if @repository && !@repository.new_record? %> |
||
| 660 | <%= link_to(l(:label_user_plural), |
||
| 661 | {
|
||
| 662 | :controller => 'repositories', |
||
| 663 | :action => 'committers', |
||
| 664 | 1355:3d01be97cb5a | chris | :id => @repository |
| 665 | 1354:fc0fecf09eb9 | chris | }, |
| 666 | 1115:433d4f72a19b | Chris | :class => 'icon icon-user') %> |
| 667 | 1354:fc0fecf09eb9 | chris | <% end %> |
| 668 | </div> |
||
| 669 | |||
| 670 | <%= submit_tag(l(:button_save)) %> |
||
| 671 | |||
| 672 | 1355:3d01be97cb5a | chris | <% end %> |
| 673 | |||
| 674 | 1115:433d4f72a19b | Chris | <% else %> |
| 675 | 1354:fc0fecf09eb9 | chris | <%= l(:text_settings_repo_creation).html_safe %></ br> |
| 676 | 1115:433d4f72a19b | Chris | <% end %> |
| 677 | |||
| 678 | 0:513646585e45 | Chris | <% if @project.shared_versions.any? %> |
| 679 | <table class="list versions"> |
||
| 680 | 909:cbb26bc654de | Chris | <thead><tr> |
| 681 | 0:513646585e45 | Chris | <th><%= l(:label_version) %></th> |
| 682 | <th><%= l(:field_effective_date) %></th> |
||
| 683 | <th><%= l(:field_description) %></th> |
||
| 684 | <th><%= l(:field_status) %></th> |
||
| 685 | <th><%= l(:field_sharing) %></th> |
||
| 686 | 37:94944d00e43c | chris | <th><%= l(:label_wiki_page) %></th> |
| 687 | 0:513646585e45 | Chris | <th style="width:15%"></th> |
| 688 | </tr></thead> |
||
| 689 | 909:cbb26bc654de | Chris | <tbody> |
| 690 | 0:513646585e45 | Chris | <% for version in @project.shared_versions.sort %> |
| 691 | <tr class="version <%= cycle 'odd', 'even' %> <%=h version.status %> <%= 'shared' if version.project != @project %>"> |
||
| 692 | <td class="name"><%= link_to_version version %></td> |
||
| 693 | <td class="date"><%= format_date(version.effective_date) %></td> |
||
| 694 | <td class="description"><%=h version.description %></td> |
||
| 695 | <td class="status"><%= l("version_status_#{version.status}") %></td>
|
||
| 696 | <td class="sharing"><%=h format_version_sharing(version.sharing) %></td> |
||
| 697 | 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>
|
| 698 | 0:513646585e45 | Chris | <td class="buttons"> |
| 699 | 909:cbb26bc654de | Chris | <% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %> |
| 700 | <%= link_to l(:button_edit), edit_version_path(version), :class => 'icon icon-edit' %> |
||
| 701 | 1115:433d4f72a19b | Chris | <%= delete_link version_path(version) %> |
| 702 | 909:cbb26bc654de | Chris | <% end %> |
| 703 | </td> |
||
| 704 | 0:513646585e45 | Chris | </tr> |
| 705 | <% end; reset_cycle %> |
||
| 706 | </tbody> |
||
| 707 | </table> |
||
| 708 | <% else %> |
||
| 709 | <p class="nodata"><%= l(:label_no_data) %></p> |
||
| 710 | <% end %> |
||
| 711 | |||
| 712 | <div class="contextual"> |
||
| 713 | <% if @project.versions.any? %> |
||
| 714 | 909:cbb26bc654de | Chris | <%= link_to l(:label_close_versions), close_completed_project_versions_path(@project), :method => :put %> |
| 715 | 0:513646585e45 | Chris | <% end %> |
| 716 | </div> |
||
| 717 | |||
| 718 | 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> |
| 719 | <%= labelled_form_for @wiki, |
||
| 720 | :as => :wiki, |
||
| 721 | 0:513646585e45 | Chris | :url => { :controller => 'wikis', :action => 'edit', :id => @project },
|
| 722 | 1115:433d4f72a19b | Chris | :remote => true, :method => 'post' do |f| %> |
| 723 | 0:513646585e45 | Chris | |
| 724 | <%= error_messages_for 'wiki' %> |
||
| 725 | |||
| 726 | <div class="box tabular"> |
||
| 727 | 1115:433d4f72a19b | Chris | <p><%= f.text_field :start_page, :size => 60, :required => true %> |
| 728 | <em class="info"><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p> |
||
| 729 | 0:513646585e45 | Chris | </div> |
| 730 | |||
| 731 | <div class="contextual"> |
||
| 732 | <%= link_to(l(:button_delete), {:controller => 'wikis', :action => 'destroy', :id => @project},
|
||
| 733 | :class => 'icon icon-del') if @wiki && !@wiki.new_record? %> |
||
| 734 | </div> |
||
| 735 | |||
| 736 | <%= submit_tag((@wiki.nil? || @wiki.new_record?) ? l(:button_create) : l(:button_save)) %> |
||
| 737 | <% end %> |
||
| 738 | 119:8661b858af72 | Chris | api.project do |
| 739 | api.id @project.id |
||
| 740 | api.name @project.name |
||
| 741 | api.identifier @project.identifier |
||
| 742 | api.description @project.description |
||
| 743 | api.homepage @project.homepage |
||
| 744 | 507:0c939c159af4 | Chris | api.parent(:id => @project.parent.id, :name => @project.parent.name) if @project.parent && @project.parent.visible? |
| 745 | 1517:dffacf8a6908 | Chris | api.status @project.status |
| 746 | 909:cbb26bc654de | Chris | |
| 747 | 119:8661b858af72 | Chris | render_api_custom_values @project.visible_custom_field_values, api |
| 748 | 909:cbb26bc654de | Chris | |
| 749 | 119:8661b858af72 | Chris | api.created_on @project.created_on |
| 750 | api.updated_on @project.updated_on |
||
| 751 | 909:cbb26bc654de | Chris | |
| 752 | 119:8661b858af72 | Chris | api.array :trackers do |
| 753 | @project.trackers.each do |tracker| |
||
| 754 | api.tracker(:id => tracker.id, :name => tracker.name) |
||
| 755 | end |
||
| 756 | end if include_in_api_response?('trackers')
|
||
| 757 | 909:cbb26bc654de | Chris | |
| 758 | api.array :issue_categories do |
||
| 759 | @project.issue_categories.each do |category| |
||
| 760 | api.issue_category(:id => category.id, :name => category.name) |
||
| 761 | end |
||
| 762 | end if include_in_api_response?('issue_categories')
|
||
| 763 | 119:8661b858af72 | Chris | end |
| 764 | 0:513646585e45 | Chris | <div class="contextual"> |
| 765 | 909:cbb26bc654de | Chris | <% if User.current.allowed_to?(:add_subprojects, @project) %> |
| 766 | 1464:261b3d9a4903 | Chris | <%= link_to l(:label_subproject_new), new_project_path(:parent_id => @project), :class => 'icon icon-add' %> |
| 767 | 909:cbb26bc654de | Chris | <% end %> |
| 768 | 1115:433d4f72a19b | Chris | <% if User.current.allowed_to?(:close_project, @project) %> |
| 769 | <% if @project.active? %> |
||
| 770 | <%= link_to l(:button_close), close_project_path(@project), :data => {:confirm => l(:text_are_you_sure)}, :method => :post, :class => 'icon icon-lock' %>
|
||
| 771 | <% else %> |
||
| 772 | <%= link_to l(:button_reopen), reopen_project_path(@project), :data => {:confirm => l(:text_are_you_sure)}, :method => :post, :class => 'icon icon-unlock' %>
|
||
| 773 | <% end %> |
||
| 774 | <% end %> |
||
| 775 | 0:513646585e45 | Chris | </div> |
| 776 | |||
| 777 | 351:ebf53b46f3f3 | chris | <% if @project.has_welcome_page %> |
| 778 | 350:a1e6dc0e204b | chris | <% page = @project.wiki.find_page("Overview") %>
|
| 779 | 351:ebf53b46f3f3 | chris | <% end %> |
| 780 | 350:a1e6dc0e204b | chris | |
| 781 | <% if page %> |
||
| 782 | |||
| 783 | 490:cd64fb9ab701 | chris | <% if @project.module_enabled? :wiki %> |
| 784 | <% if User.current.allowed_to?(:edit_wiki_pages, @project) %> |
||
| 785 | <div class="contextual"> |
||
| 786 | <%= link_to(l(:button_welcome_page_edit_this), {:controller => 'wiki', :action => 'edit', :project_id => @project, :id => Wiki.titleize("Overview")}, :class => 'icon icon-edit') %>
|
||
| 787 | </div> |
||
| 788 | <% end %> |
||
| 789 | <% end %> |
||
| 790 | |||
| 791 | 350:a1e6dc0e204b | chris | <div class="contextual" style="clear: right"> |
| 792 | <ul> |
||
| 793 | 1143:908e97507ef8 | chris | <% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= link_to h(@project.homepage), @project.homepage %></li><% end %> |
| 794 | 350:a1e6dc0e204b | chris | <% if @subprojects.any? %> |
| 795 | <li><%=l(:label_subproject_plural)%>: |
||
| 796 | 1143:908e97507ef8 | chris | <%= @subprojects.collect{|p| link_to(h(p), :action => 'show', :id => p)}.join(", ").html_safe %></li>
|
| 797 | 350:a1e6dc0e204b | chris | <% end %> |
| 798 | </ul> |
||
| 799 | </div> |
||
| 800 | |||
| 801 | <%= render(:partial => "wiki/content", :locals => {:content => page.content_for_version()}) %>
|
||
| 802 | |||
| 803 | <% else %> |
||
| 804 | |||
| 805 | 909:cbb26bc654de | Chris | <h2><%=l(:label_overview)%></h2> |
| 806 | |||
| 807 | 1115:433d4f72a19b | Chris | <% unless @project.active? %> |
| 808 | <p class="warning"><span class="icon icon-lock"><%= l(:text_project_closed) %></span></p> |
||
| 809 | <% end %> |
||
| 810 | |||
| 811 | 0:513646585e45 | Chris | <div class="splitcontentleft"> |
| 812 | 1115:433d4f72a19b | Chris | <% if @project.description.present? %> |
| 813 | 909:cbb26bc654de | Chris | <div class="wiki"> |
| 814 | <%= textilizable @project.description %> |
||
| 815 | </div> |
||
| 816 | 1115:433d4f72a19b | Chris | <% end %> |
| 817 | 909:cbb26bc654de | Chris | <ul> |
| 818 | 1115:433d4f72a19b | Chris | <% unless @project.homepage.blank? %> |
| 819 | <li><%=l(:field_homepage)%>: <%= link_to h(@project.homepage), @project.homepage %></li> |
||
| 820 | <% end %> |
||
| 821 | 0:513646585e45 | Chris | <% if @subprojects.any? %> |
| 822 | 1115:433d4f72a19b | Chris | <li><%=l(:label_subproject_plural)%>: |
| 823 | 1464:261b3d9a4903 | Chris | <%= @subprojects.collect{|p| link_to p, project_path(p)}.join(", ").html_safe %></li>
|
| 824 | 0:513646585e45 | Chris | <% end %> |
| 825 | 909:cbb26bc654de | Chris | <% @project.visible_custom_field_values.each do |custom_value| %> |
| 826 | <% if !custom_value.value.blank? %> |
||
| 827 | <li><%=h custom_value.custom_field.name %>: <%=h show_value(custom_value) %></li> |
||
| 828 | <% end %> |
||
| 829 | <% end %> |
||
| 830 | </ul> |
||
| 831 | 0:513646585e45 | Chris | |
| 832 | 345:361602c5e6bb | chris | <% if User.current.allowed_to?(:view_issues, @project) and @open_issues_by_tracker.values.any? %> |
| 833 | |||
| 834 | 909:cbb26bc654de | Chris | <div class="issues box"> |
| 835 | 0:513646585e45 | Chris | <h3><%=l(:label_issue_tracking)%></h3> |
| 836 | <ul> |
||
| 837 | 909:cbb26bc654de | Chris | <% for tracker in @trackers %> |
| 838 | 1464:261b3d9a4903 | Chris | <li><%= link_to h(tracker.name), project_issues_path(@project, :set_filter => 1, :tracker_id => tracker.id) %>: |
| 839 | 909:cbb26bc654de | Chris | <%= l(:label_x_open_issues_abbr_on_total, :count => @open_issues_by_tracker[tracker].to_i, |
| 840 | :total => @total_issues_by_tracker[tracker].to_i) %> |
||
| 841 | </li> |
||
| 842 | 0:513646585e45 | Chris | <% end %> |
| 843 | </ul> |
||
| 844 | <p> |
||
| 845 | 1464:261b3d9a4903 | Chris | <%= link_to l(:label_issue_view_all), project_issues_path(@project, :set_filter => 1) %> |
| 846 | 909:cbb26bc654de | Chris | <% if User.current.allowed_to?(:view_calendar, @project, :global => true) %> |
| 847 | 1464:261b3d9a4903 | Chris | | <%= link_to l(:label_calendar), project_calendar_path(@project) %> |
| 848 | 909:cbb26bc654de | Chris | <% end %> |
| 849 | <% if User.current.allowed_to?(:view_gantt, @project, :global => true) %> |
||
| 850 | 1464:261b3d9a4903 | Chris | | <%= link_to l(:label_gantt), project_gantt_path(@project) %> |
| 851 | 909:cbb26bc654de | Chris | <% end %> |
| 852 | </p> |
||
| 853 | 0:513646585e45 | Chris | </div> |
| 854 | 345:361602c5e6bb | chris | |
| 855 | 0:513646585e45 | Chris | <% end %> |
| 856 | 344:1a514b9347d4 | chris | |
| 857 | 0:513646585e45 | Chris | <%= call_hook(:view_projects_show_left, :project => @project) %> |
| 858 | </div> |
||
| 859 | |||
| 860 | <div class="splitcontentright"> |
||
| 861 | 14:1d32c0a0efbf | Chris | <%= render :partial => 'members_box' %> |
| 862 | 909:cbb26bc654de | Chris | |
| 863 | 0:513646585e45 | Chris | <% if @news.any? && authorize_for('news', 'index') %>
|
| 864 | <div class="news box"> |
||
| 865 | 909:cbb26bc654de | Chris | <h3><%=l(:label_news_latest)%></h3> |
| 866 | 0:513646585e45 | Chris | <%= render :partial => 'news/news', :collection => @news %> |
| 867 | 1464:261b3d9a4903 | Chris | <p><%= link_to l(:label_news_view_all), project_news_index_path(@project) %></p> |
| 868 | 909:cbb26bc654de | Chris | </div> |
| 869 | 0:513646585e45 | Chris | <% end %> |
| 870 | 344:1a514b9347d4 | chris | |
| 871 | <%= render :partial => 'activities/recent' %> |
||
| 872 | |||
| 873 | 0:513646585e45 | Chris | <%= call_hook(:view_projects_show_right, :project => @project) %> |
| 874 | </div> |
||
| 875 | |||
| 876 | <% content_for :sidebar do %> |
||
| 877 | 810:aaa26ccafb00 | chris | <%= call_hook(:view_projects_show_sidebar_top, :project => @project) %> |
| 878 | 441:cbce1fd3b1b7 | Chris | <% if @total_hours.present? %> |
| 879 | 0:513646585e45 | Chris | <h3><%= l(:label_spent_time) %></h3> |
| 880 | <p><span class="icon icon-time"><%= l_hours(@total_hours) %></span></p> |
||
| 881 | 1115:433d4f72a19b | Chris | <p> |
| 882 | <% if User.current.allowed_to?(:log_time, @project) %> |
||
| 883 | <%= link_to l(:button_log_time), new_project_time_entry_path(@project) %> | |
||
| 884 | <% end %> |
||
| 885 | <%= link_to(l(:label_details), project_time_entries_path(@project)) %> | |
||
| 886 | <%= link_to(l(:label_report), report_project_time_entries_path(@project)) %></p> |
||
| 887 | 0:513646585e45 | Chris | <% end %> |
| 888 | <%= call_hook(:view_projects_show_sidebar_bottom, :project => @project) %> |
||
| 889 | <% end %> |
||
| 890 | |||
| 891 | 350:a1e6dc0e204b | chris | <% end %> |
| 892 | |||
| 893 | 0:513646585e45 | Chris | <% content_for :header_tags do %> |
| 894 | 22:40f7cfd4df19 | chris | <%= auto_discovery_link_tag(:atom, {:controller => 'activities', :action => 'index', :id => @project, :format => 'atom', :key => User.current.rss_key}) %>
|
| 895 | 0:513646585e45 | Chris | <% end %> |
| 896 | |||
| 897 | 1511:e1cfd013ef49 | chris | <% html_title('') -%> |