2007-12-21 21:01:02 +03:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2007-03-12 20:59:02 +03:00
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
2009-12-13 17:55:17 +03:00
|
|
|
<title><%=h html_title %></title>
|
2007-08-30 02:27:43 +04:00
|
|
|
<meta name="description" content="<%= Redmine::Info.app_name %>" />
|
2007-03-12 20:59:02 +03:00
|
|
|
<meta name="keywords" content="issue,bug,tracker" />
|
2011-03-15 00:31:02 +03:00
|
|
|
<%= csrf_meta_tag %>
|
2010-07-29 18:58:33 +04:00
|
|
|
<%= favicon %>
|
2011-08-05 20:56:13 +04:00
|
|
|
<%= stylesheet_link_tag 'reset', :media => 'all' %>
|
2011-11-07 07:20:41 +04:00
|
|
|
<%= stylesheet_link_tag 'smoothness/jquery-ui', :media => 'all' %>
|
2007-10-01 16:36:38 +04:00
|
|
|
<%= stylesheet_link_tag 'application', :media => 'all' %>
|
2011-08-05 20:56:13 +04:00
|
|
|
<%= stylesheet_link_tag 'print', :media => 'print' %>
|
2010-08-19 20:57:44 +04:00
|
|
|
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
|
2011-03-06 06:00:14 +03:00
|
|
|
<!--[if lte IE 6]><%= stylesheet_link_tag 'ie6', :media => 'all' %><![endif]-->
|
|
|
|
<!--[if lte IE 7]><%= stylesheet_link_tag 'ie7', :media => 'all' %><![endif]-->
|
|
|
|
<!--[if gte IE 8]><![endif]-->
|
|
|
|
|
2011-11-07 07:20:41 +04:00
|
|
|
<%= javascript_include_tag 'jquery.min.js' %>
|
|
|
|
<%= javascript_include_tag 'jquery-ui.min.js' %>
|
2011-10-29 01:26:14 +04:00
|
|
|
<%= javascript_include_tag 'jquery.menu_expand.js' %>
|
2011-10-29 01:36:10 +04:00
|
|
|
<%= javascript_tag('jQuery.noConflict();') %>
|
2011-02-21 12:53:29 +03:00
|
|
|
<%= javascript_heads %>
|
2011-10-29 01:36:10 +04:00
|
|
|
<%= stylesheet_link_tag 'jstoolbar' %>
|
2010-12-23 00:37:07 +03:00
|
|
|
<%= heads_for_theme %>
|
2011-07-30 01:46:39 +04:00
|
|
|
<% heads_for_wiki_formatter %>
|
2008-09-05 14:31:06 +04:00
|
|
|
<%= call_hook :view_layouts_base_html_head %>
|
|
|
|
<!-- page specific tags -->
|
|
|
|
<%= yield :header_tags -%>
|
2007-03-12 20:59:02 +03:00
|
|
|
</head>
|
2011-02-28 19:44:02 +03:00
|
|
|
<body class="<%=h body_css_classes %>">
|
2008-01-06 20:28:20 +03:00
|
|
|
<div id="wrapper">
|
2011-03-06 06:04:28 +03:00
|
|
|
<div id="top-menu">
|
2007-09-22 17:17:49 +04:00
|
|
|
<div id="account">
|
2011-03-06 06:04:28 +03:00
|
|
|
<% account_items = menu_items_for(:account_menu) %>
|
2011-05-30 22:52:25 +04:00
|
|
|
|
2011-03-06 06:04:28 +03:00
|
|
|
<ul id="account-info">
|
|
|
|
<%= content_tag('li', "#{l(:label_logged_as)} #{link_to_user(User.current, :format => :username)}", :id => '') if User.current.logged? %>
|
|
|
|
<% account_items.each do |item| %>
|
|
|
|
<%= render_menu_node(item) %>
|
2007-09-22 17:17:49 +04:00
|
|
|
<% end %>
|
2011-03-06 06:04:28 +03:00
|
|
|
</ul>
|
2011-05-30 22:52:25 +04:00
|
|
|
|
2011-03-06 06:04:28 +03:00
|
|
|
<%
|
|
|
|
items_for_main_level = []
|
|
|
|
items_for_more_level = []
|
|
|
|
menu_items_for(:top_menu) do |item|
|
|
|
|
if item.name == :home || item.name == :my_page
|
|
|
|
items_for_main_level << item
|
|
|
|
elsif item.name == :projects
|
|
|
|
# Remove
|
|
|
|
else
|
|
|
|
items_for_more_level << item
|
|
|
|
end
|
|
|
|
end
|
|
|
|
%>
|
|
|
|
|
2011-11-07 05:46:31 +04:00
|
|
|
<% if User.current.logged? || !Setting.login_required? %>
|
2011-03-06 06:04:28 +03:00
|
|
|
<ul id="account-nav">
|
|
|
|
<% items_for_main_level.each do |item| %>
|
|
|
|
<%= render_menu_node(item) %>
|
|
|
|
<% end %>
|
|
|
|
<li class="drop-down">
|
|
|
|
<%= link_to l(:label_project_plural), { :controller => 'projects', :action => 'index' }, :class => "projects" %>
|
|
|
|
<ul style="display:none;">
|
|
|
|
<%
|
|
|
|
project_content = ''
|
|
|
|
project_tree(User.current.projects.all) do |project, level|
|
|
|
|
name_prefix = (level > 0 ? (' ' * 2 * level + '» ') : '')
|
|
|
|
project_content << content_tag(:li,
|
|
|
|
link_to(name_prefix + h(project), {:controller => 'projects', :action => 'show', :id => project, :jump => current_menu_item}))
|
|
|
|
end
|
|
|
|
%>
|
|
|
|
<%= project_content %>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="drop-down" id="more-menu">
|
|
|
|
<a class="more" href="#">More</a>
|
|
|
|
<ul style="display:none;">
|
|
|
|
<% items_for_more_level.each do |item| %>
|
|
|
|
<%= render_menu_node(item) %>
|
|
|
|
<% end %>
|
|
|
|
<%# TODO: Redmine defines these in a view, should be moved to a helper or data structure %>
|
|
|
|
<% if User.current.admin? %>
|
|
|
|
<% menu_items_for(:admin_menu) do |item| -%>
|
|
|
|
<li><%= link_to h(item.caption), item.url, item.html_options %></li>
|
|
|
|
<% end -%>
|
|
|
|
<% end %>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li>
|
2011-11-07 06:18:35 +04:00
|
|
|
<label for='q'>
|
|
|
|
<%= link_to l(:label_search), {:controller => 'search', :action => 'index', :id => @project}, :accesskey => accesskey(:search), :class => 'search' %>
|
|
|
|
</label>
|
2011-03-06 06:04:28 +03:00
|
|
|
<% form_tag({:controller => 'search', :action => 'index', :id => @project}, :method => :get, :id => 'nav-search' ) do %>
|
|
|
|
<%= hidden_field_tag(controller.default_search_scope, 1, :id => nil) if controller.default_search_scope %>
|
2011-11-07 06:18:35 +04:00
|
|
|
<%= text_field_tag 'q', @question, :size => 20, :class => 'small', :accesskey => accesskey(:quick_search) %>
|
2011-03-06 06:04:28 +03:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2011-11-07 05:46:31 +04:00
|
|
|
<% end %>
|
2007-09-22 17:17:49 +04:00
|
|
|
</div>
|
2007-04-27 23:32:57 +04:00
|
|
|
|
2011-03-06 06:04:28 +03:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<% main_menu = render_main_menu(@project) %>
|
|
|
|
<% if has_content?(:sidebar) || !main_menu.blank? %>
|
|
|
|
<% display_sidebar = true %>
|
|
|
|
<% else %>
|
|
|
|
<% display_sidebar = false %>
|
|
|
|
<% end %>
|
|
|
|
<div id="main" class="<%= display_sidebar ? '' : "nosidebar" %>">
|
|
|
|
|
|
|
|
<h1 class="title"><%= page_header_title %></h1>
|
|
|
|
<% if display_sidebar %>
|
|
|
|
<div id="main-menu">
|
|
|
|
<%= main_menu %>
|
|
|
|
<!-- Sidebar -->
|
|
|
|
<div id="sidebar">
|
2007-09-22 17:17:49 +04:00
|
|
|
<%= yield :sidebar %>
|
2009-02-10 04:24:32 +03:00
|
|
|
<%= call_hook :view_layouts_base_sidebar %>
|
2011-03-06 06:04:28 +03:00
|
|
|
</div>
|
2007-09-22 17:17:49 +04:00
|
|
|
</div>
|
2011-05-30 22:52:25 +04:00
|
|
|
|
2011-03-06 06:04:28 +03:00
|
|
|
<%= expand_current_menu %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<div class="<%= display_sidebar ? '' : "nosidebar" %>" id="content">
|
|
|
|
<%= render_flash_messages %>
|
|
|
|
<%= yield %>
|
|
|
|
<%= call_hook :view_layouts_base_content %>
|
|
|
|
<div style="clear:both;"> </div>
|
2011-03-06 06:19:18 +03:00
|
|
|
|
2007-09-22 17:17:49 +04:00
|
|
|
</div>
|
2007-03-12 20:59:02 +03:00
|
|
|
|
2011-03-06 06:19:18 +03:00
|
|
|
</div>
|
2011-03-06 06:04:28 +03:00
|
|
|
|
|
|
|
<div id="footer">
|
|
|
|
<div class="bgl"><div class="bgr">
|
|
|
|
<%= l(:text_powered_by, :link => link_to(Redmine::Info.app_name, Redmine::Info.url)) %>
|
|
|
|
</div></div>
|
|
|
|
</div>
|
2011-05-30 22:52:25 +04:00
|
|
|
|
2011-03-06 06:19:18 +03:00
|
|
|
<div id="ajax-indicator" style="display:none;"><span><%= l(:label_loading) %></span></div>
|
2011-05-30 22:52:25 +04:00
|
|
|
|
2008-01-06 20:28:20 +03:00
|
|
|
</div>
|
2008-09-30 09:18:50 +04:00
|
|
|
<%= call_hook :view_layouts_base_body_bottom %>
|
2007-03-12 20:59:02 +03:00
|
|
|
</body>
|
2007-08-02 21:42:20 +04:00
|
|
|
</html>
|