Render site index in ui3 layout
[gitorious:mainline.git] / app / views / site / index.html.erb
1 <%
2   #--
3   #   Copyright (C) 2012 Gitorious AS
4   #   Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
5   #   Copyright (C) 2009 Fabio Akita <fabio.akita@gmail.com>
6   #   Copyright (C) 2008 David A. Cuadrado <krawek@gmail.com>
7   #   Copyright (C) 2008 Tor Arne Vestbø <tavestbo@trolltech.com>
8   #   Copyright (C) 2008 Johan Sørensen <johan@johansorensen.com>
9   #
10   #   This program is free software: you can redistribute it and/or modify
11   #   it under the terms of the GNU Affero General Public License as published by
12   #   the Free Software Foundation, either version 3 of the License, or
13   #   (at your option) any later version.
14   #
15   #   This program is distributed in the hope that it will be useful,
16   #   but WITHOUT ANY WARRANTY; without even the implied warranty of
17   #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18   #   GNU Affero General Public License for more details.
19   #
20   #   You should have received a copy of the GNU Affero General Public License
21   #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
22   #++
23   %>
24
25 <div class="container gts-container">
26   <div class="container-fluid">
27     <% if logged_in? %>
28       <h2 class="content-header">
29         <%= random_greeting %> <%=link_to h(current_user.login), current_user %>!
30       </h2>
31     <% else -%>
32       <div id="site_intro">
33         <p><%= t("views.site.description").html_safe %></p>
34       </div>
35     <% end -%>
36
37     <% if Gitorious.public? || logged_in? -%>
38       <div id="left">
39         <%= pull_box(nil, :class => "expose") do -%>
40           <p>
41             Gitorious provides <a href="/gitorious">open source</a> infrastructure
42             for open source projects which use Git.
43             <small><a href="/about">Read more&hellip;</a></small>
44           </p>
45         <% end unless logged_in? -%>
46
47         <%= cache_in_private([:site_index, :recent_activities], :expires_in => 10.minutes) do -%>
48           <%= pull_box("Recent activities", :class => "pull-box-510") do -%>
49             <ul class="events inline">
50               <% @latest_events.each do |event| -%>
51                 <%= render :partial => event, :locals => { :relative_time => true } -%>
52               <% end -%>
53             </ul>
54           <% end -%>
55         <% end -%>
56       </div>
57
58       <div id="right">
59         <%= cache_in_private([:site_index, :active_projects_recently], :expires_in => 1.hour) do -%>
60           <%= pull_box("Active projects", :class => "pull-box-510") do -%>
61             <ul class="with_icons">
62               <% @active_projects.each do |project| -%>
63                 <li class="project">
64                   <%= link_to h(project.title), project -%>
65                   <small class="hint"><%= truncate(h(project.stripped_description), :length => 65) -%></small>
66                 </li>
67               <% end -%>
68             </ul>
69           <% end -%>
70         <% end -%>
71
72         <%= cache_in_private([:site_index, :active_clones], :expires_in => 25.minutes) do -%>
73           <%= pull_box("Most active repository clones", :class => "pull-box-510") do -%>
74             <ul class="with_icons">
75               <% @top_repository_clones.each do |repo| -%>
76                 <li class="repository">
77                   <%= link_to h(repo.title), project_repository_path(repo.project, repo) -%>
78                   <span class="hint">(<%= link_to h(repo.project.title), repo.project -%>)</span>
79                   <small class="hint"><%= truncate(h(strip_tags(repo.description)), :length => 65) -%></small>
80                 </li>
81               <% end -%>
82             </ul>
83           <% end -%>
84         <% end -%>
85
86         <%= cache_in_private([:site_index, :active_users], :expires_in => 20.minutes) do -%>
87           <%= pull_box("Active users", :class => "pull-box-510") do -%>
88             <ul class="with_icons inline_icons">
89               <% @active_users.each do |user| -%>
90                 <li class="user">
91                   <%= avatar(user, { :size => 16 }) -%>
92                   <%= link_to h(user.title), user -%>
93                 </li>
94               <% end -%>
95             </ul>
96           <% end -%>
97         <% end -%>
98
99         <%= cache_in_private([:site_index, :active_teams], :expires_in => 15.minutes) do -%>
100           <%= pull_box("Active teams", :class => "pull-box-510") do -%>
101             <ul class="with_icons inline_icons">
102               <% @active_groups.each do |group| -%>
103                 <li class="group">
104                   <%= image_tag(group.avatar.url(:thumb), :alt => "Avatar", :width => "16") %>
105                   <%= link_to h(group.title), group -%>
106                 </li>
107               <% end -%>
108             </ul>
109           <% end -%>
110         <% end -%>
111
112         <%= cache_in_private([:site_index, :newest_projects], :expires_in => 5.minutes) do -%>
113           <%= pull_box(t("views.site.newest_projects"), :class => "pull-box-510") do -%>
114             <ul class="with_icons">
115               <% @projects.each do |project| -%>
116                 <li class="project">
117                   <%= link_to h(project.title), project -%>
118                   <small class="hint"><%= truncate(h(project.stripped_description), :length => 65) -%></small>
119                 </li>
120               <% end -%>
121               <li><%= link_to t("views.site.view_more"), projects_path -%></li>
122             </ul>
123             <% if logged_in? -%>
124               <div class="pull-box-links">
125                 <%= link_button_link_to(t("views.projects.create_new"), new_project_path, {
126                                           :id => "new-project-button"}) %>
127               </div>
128               <div class="clear"></div>
129             <% end -%>
130           <% end -%>
131         <% end -%>
132       </div>
133     <% end -%>
134   </div>
135 </div>