social_stream-events 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. data/GPL Affero license +663 -0
  2. data/Gemfile +9 -0
  3. data/README.rdoc +6 -0
  4. data/Rakefile +29 -0
  5. data/app/assets/images/btn/btn_certificate.png +0 -0
  6. data/app/assets/images/btn/btn_certificates.png +0 -0
  7. data/app/assets/images/btn/btn_edit.png +0 -0
  8. data/app/assets/images/btn/btn_embebed.png +0 -0
  9. data/app/assets/images/btn/btn_event.png +0 -0
  10. data/app/assets/images/btn/btn_outline.png +0 -0
  11. data/app/assets/images/btn/event.png +0 -0
  12. data/app/assets/images/btn/flyer.png +0 -0
  13. data/app/assets/images/btn/keynote.png +0 -0
  14. data/app/assets/images/btn/live.png +0 -0
  15. data/app/assets/images/btn/time.png +0 -0
  16. data/app/assets/images/btn/trash.png +0 -0
  17. data/app/assets/images/icons/IconsByGlyphish.txt +1 -0
  18. data/app/assets/images/icons/down.png +0 -0
  19. data/app/assets/images/icons/search.png +0 -0
  20. data/app/assets/images/icons/up.png +0 -0
  21. data/app/assets/images/logos/actor/event.png +0 -0
  22. data/app/assets/images/logos/contact/event.png +0 -0
  23. data/app/assets/images/logos/original/event.png +0 -0
  24. data/app/assets/images/logos/profile/event.png +0 -0
  25. data/app/assets/images/logos/representation/event.png +0 -0
  26. data/app/assets/images/tab_bottom.png +0 -0
  27. data/app/assets/javascripts/schedule.js +123 -0
  28. data/app/assets/javascripts/settings.js +20 -0
  29. data/app/assets/javascripts/social_stream-events.js +5 -0
  30. data/app/assets/stylesheets/activities.css +4 -0
  31. data/app/assets/stylesheets/fullcalendar.css +621 -0
  32. data/app/assets/stylesheets/fullcalendar.print.css +61 -0
  33. data/app/assets/stylesheets/settings.css +4 -0
  34. data/app/assets/stylesheets/social_stream-events.css +262 -0
  35. data/app/assets/stylesheets/tie.css +4 -0
  36. data/app/assets/stylesheets/users.css +4 -0
  37. data/app/controllers/activities_controller.rb +42 -0
  38. data/app/controllers/agendas_controller.rb +54 -0
  39. data/app/controllers/calendar_events_controller.rb +157 -0
  40. data/app/controllers/events_controller.rb +85 -0
  41. data/app/controllers/sessions_controller.rb +133 -0
  42. data/app/controllers/settings_controller.rb +70 -0
  43. data/app/helpers/event_helper.rb +12 -0
  44. data/app/models/agenda.rb +55 -0
  45. data/app/models/calendar_event.rb +191 -0
  46. data/app/models/calendar_event_series.rb +126 -0
  47. data/app/models/event.rb +131 -0
  48. data/app/models/session.rb +22 -0
  49. data/app/views/activities/_activity.html.erb +5 -0
  50. data/app/views/activities/_child.html.erb +18 -0
  51. data/app/views/activities/_comments.html.erb +3 -0
  52. data/app/views/activities/_index.html.erb +95 -0
  53. data/app/views/activities/_new.html.erb +29 -0
  54. data/app/views/activities/_options.html.erb +15 -0
  55. data/app/views/activities/_root.html.erb +37 -0
  56. data/app/views/activities/_wall.html.erb +5 -0
  57. data/app/views/activities/_walls.html.erb +34 -0
  58. data/app/views/activities/documents.js.erb +1 -0
  59. data/app/views/activities/index.js.erb +1 -0
  60. data/app/views/agendas/_agenda.html.erb +1 -0
  61. data/app/views/agendas/_edit.html.erb +136 -0
  62. data/app/views/agendas/_schedule.html.erb +19 -0
  63. data/app/views/agendas/_show.html.erb +81 -0
  64. data/app/views/agendas/_show_day.html.erb +6 -0
  65. data/app/views/agendas/edit.html.erb +24 -0
  66. data/app/views/agendas/event.html.erb +1 -0
  67. data/app/views/agendas/index.html.erb +0 -0
  68. data/app/views/agendas/show.html.erb +25 -0
  69. data/app/views/calendar_events/_calendar.html.erb +0 -0
  70. data/app/views/calendar_events/_edit_form.html.erb +58 -0
  71. data/app/views/calendar_events/_form.html.erb +65 -0
  72. data/app/views/calendar_events/available.html.erb +81 -0
  73. data/app/views/calendar_events/create.js.erb +18 -0
  74. data/app/views/calendar_events/edit.js.erb +1 -0
  75. data/app/views/calendar_events/index.html.erb +162 -0
  76. data/app/views/calendar_events/move.js.erb +0 -0
  77. data/app/views/calendar_events/new.js.erb +9 -0
  78. data/app/views/calendar_events/resize.js.erb +0 -0
  79. data/app/views/calendar_events/schedule.html.erb +143 -0
  80. data/app/views/documents/_mediawall.html.erb +111 -0
  81. data/app/views/events/_event.html.erb +10 -0
  82. data/app/views/events/_fields.html.erb +5 -0
  83. data/app/views/events/_form.html.erb +12 -0
  84. data/app/views/events/_jquery.html.erb +125 -0
  85. data/app/views/events/_manage.html.erb +35 -0
  86. data/app/views/events/_new.html.erb +2 -0
  87. data/app/views/events/_sessions_edit.html.erb +46 -0
  88. data/app/views/events/_sidebar_cloud.html.erb +27 -0
  89. data/app/views/events/_sidebar_index.html.erb +1 -0
  90. data/app/views/events/_sidebar_show.html.erb +5 -0
  91. data/app/views/events/agendas.html +1 -0
  92. data/app/views/events/edit.html.erb +12 -0
  93. data/app/views/events/index.html.erb +30 -0
  94. data/app/views/events/manage.html.erb +69 -0
  95. data/app/views/events/manage.js.erb +1 -0
  96. data/app/views/events/show.html.erb +34 -0
  97. data/app/views/kaminari/_first_page.html.erb +11 -0
  98. data/app/views/kaminari/_gap.html.erb +8 -0
  99. data/app/views/kaminari/_last_page.html.erb +11 -0
  100. data/app/views/kaminari/_next_page.html.erb +11 -0
  101. data/app/views/kaminari/_page.html.erb +12 -0
  102. data/app/views/kaminari/_paginator.html.erb +23 -0
  103. data/app/views/kaminari/_prev_page.html.erb +11 -0
  104. data/app/views/profiles/_outline.html.erb +81 -0
  105. data/app/views/profiles/_profile.html.erb +40 -0
  106. data/app/views/sessions/_form.html.erb +41 -0
  107. data/app/views/sessions/_new.html.erb +63 -0
  108. data/app/views/sessions/_session.html.erb +1 -0
  109. data/app/views/sessions/_show.html.erb +27 -0
  110. data/app/views/sessions/create.html.erb +3 -0
  111. data/app/views/sessions/create.js.erb +1 -0
  112. data/app/views/sessions/destroy.js.erb +2 -0
  113. data/app/views/sessions/edit.html.erb +27 -0
  114. data/app/views/sessions/index.html.erb +1 -0
  115. data/app/views/sessions/index.js.erb +1 -0
  116. data/app/views/sessions/new.html.erb +27 -0
  117. data/app/views/settings/_contacto.html.erb +24 -0
  118. data/app/views/settings/_header.html.erb +8 -0
  119. data/app/views/settings/_index.html.erb +16 -0
  120. data/app/views/settings/_manage.html.erb +25 -0
  121. data/app/views/settings/_settings.html.erb +49 -0
  122. data/app/views/settings/delete_relation.js.erb +3 -0
  123. data/app/views/settings/index.html.erb +38 -0
  124. data/app/views/settings/manage.html.erb +31 -0
  125. data/app/views/settings/show.html.erb +15 -0
  126. data/app/views/settings/update_relation.js.erb +1 -0
  127. data/app/views/toolbar/_home.html.erb +11 -0
  128. data/app/views/toolbar/_logo.html.erb +23 -0
  129. data/app/views/toolbar/_organizer.html.erb +25 -0
  130. data/app/views/toolbar/_profile.html.erb +21 -0
  131. data/app/views/toolbar/_sponsor.html.erb +18 -0
  132. data/app/views/toolbar/_suscribed.html.erb +17 -0
  133. data/app/views/users/_index.html.erb +33 -0
  134. data/app/views/users/index.html.erb +46 -0
  135. data/config/locales/en.yml +97 -0
  136. data/config/routes.rb +46 -0
  137. data/db/20110615143707_create_social_stream_events.rb +54 -0
  138. data/lib/generators/social_stream/events/install_generator.rb +24 -0
  139. data/lib/social_stream-events.rb +15 -0
  140. data/lib/social_stream/events/engine.rb +8 -0
  141. data/lib/social_stream/migrations/events.rb +25 -0
  142. data/social_stream-events.gemspec +22 -0
  143. data/vendor/assets/javascripts/fullcalendar.js +5208 -0
  144. data/vendor/assets/javascripts/gcal.js +112 -0
  145. metadata +272 -0
@@ -0,0 +1,111 @@
1
+ <div id="media_wall_buttons">
2
+ <ul>
3
+ <li>
4
+ <%= link_to( image_tag("btn/btn_conference.png",
5
+ :media => "conference"), videos_path, :remote => true) %>
6
+ </li>
7
+ <li>
8
+ <%= link_to( image_tag("btn/btn_gallery.png",
9
+ :media => "picture"), pictures_path, :remote => true, :page => 1, :per => 1) %>
10
+ </li>
11
+ <li>
12
+ <%= link_to( image_tag("btn/btn_video.png",
13
+ :media => "video"), videos_path, :remote => true) %>
14
+ </li>
15
+ <li>
16
+ <%= link_to( image_tag("btn/btn_audio.png",
17
+ :media => "audio"), audios_path, :remote => true) %>
18
+ </li>
19
+ <li>
20
+ <%= link_to(t('document.simple_all'), documents_path, :remote => true) %>
21
+ </li>
22
+ </ul>
23
+ </div>
24
+
25
+ <div id="media_wall">
26
+ <div class="media_preview conference">
27
+ <img src="#" class="media_preview_image" />
28
+ <div class="media_preview_title">Some conference</div>
29
+ <div class="media_preview_detail">some detail</div>
30
+ </div>
31
+
32
+ <div class="media_preview conference">
33
+ <img src="#" class="media_preview_image" />
34
+ <div class="media_preview_title">Some conference</div>
35
+ <div class="media_preview_detail">some detail</div>
36
+ </div>
37
+
38
+ <div class="media_preview conference">
39
+ <img src="#" class="media_preview_image" />
40
+ <div class="media_preview_title">Some conference</div>
41
+ <div class="media_preview_detail">some detail</div>
42
+ </div>
43
+
44
+ <div class="media_preview picture">
45
+ <img src="#" class="media_preview_image" />
46
+ <div class="media_preview_title">Some picture</div>
47
+ <div class="media_preview_detail">some detail</div>
48
+ </div>
49
+
50
+ <div class="media_preview picture">
51
+ <img src="#" class="media_preview_image" />
52
+ <div class="media_preview_title">Some picture</div>
53
+ <div class="media_preview_detail">some detail</div>
54
+ </div>
55
+
56
+ <div class="media_preview picture">
57
+ <img src="#" class="media_preview_image" />
58
+ <div class="media_preview_title">Some picture</div>
59
+ <div class="media_preview_detail">some detail</div>
60
+ </div>
61
+
62
+ <div class="media_preview video">
63
+ <img src="#" class="media_preview_image" />
64
+ <div class="media_preview_title">Some video</div>
65
+ <div class="media_preview_detail">some detail</div>
66
+ </div>
67
+
68
+ <div class="media_preview video">
69
+ <img src="#" class="media_preview_image" />
70
+ <div class="media_preview_title">Some video</div>
71
+ <div class="media_preview_detail">some detail</div>
72
+ </div>
73
+
74
+ <div class="media_preview video">
75
+ <img src="#" class="media_preview_image" />
76
+ <div class="media_preview_title">Some video</div>
77
+ <div class="media_preview_detail">some detail</div>
78
+ </div>
79
+
80
+ <div class="media_preview audio">
81
+ <img src="#" class="media_preview_image" />
82
+ <div class="media_preview_title">Some audio</div>
83
+ <div class="media_preview_detail">some detail</div>
84
+ </div>
85
+
86
+ <div class="media_preview audio">
87
+ <img src="#" class="media_preview_image" />
88
+ <div class="media_preview_title">Some audio</div>
89
+ <div class="media_preview_detail">some detail</div>
90
+ </div>
91
+
92
+ <div class="media_preview audio">
93
+ <img src="#" class="media_preview_image" />
94
+ <div class="media_preview_title">Some audio</div>
95
+ <div class="media_preview_detail">some detail</div>
96
+ </div>
97
+ </div>
98
+
99
+ <% content_for :headers do %>
100
+ <%= stylesheet_link_tag "documents" %>
101
+ <% end %>
102
+
103
+ <script>
104
+ $('#media_wall div.media_preview').hide();
105
+ $('#media_wall div.conference').show();
106
+
107
+ $('#media_wall_buttons a').click(function(e){
108
+ $('#media_wall div.media_preview').hide("fast");
109
+ // $('#media_wall div.'+$(this).children('img').attr('media')).show("slow");
110
+ });
111
+ </script>
@@ -0,0 +1,10 @@
1
+ <%= div_for event, :class => 'content_size' do %>
2
+ Invites to <%=link_to(event.name, event)%> </br>
3
+ <% if !event.start_at.blank? %>
4
+ Since <%= event.start_at.gmtime.to_s %>
5
+ <% end %>
6
+ <% if !event.end_at.blank? %>
7
+ until <%= event.end_at.gmtime.to_s %>
8
+ <% end %>
9
+
10
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <% f.object._founder = current_subject.slug %>
2
+ <%= f.hidden_field :_founder %>
3
+ <%= f.hidden_field :founder_id, :value => current_subject.id %>
4
+ <%= f.text_field :name, :size => 85, :value => t('event.input') %>
5
+
@@ -0,0 +1,12 @@
1
+ <% if @event and @event.errors.any? %>
2
+ <div class="error">
3
+ <h2><%= pluralize(@event.errors.count, "error") %> prohibited this message from being sent:</h2>
4
+ <ul>
5
+ <% @event.errors.full_messages.each do |msg| %>
6
+ <li>
7
+ <%= msg %>
8
+ </li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
@@ -0,0 +1,125 @@
1
+ //javascript for main activities input
2
+ title = "<%= t('activity.input') %>";
3
+ $("#input_activities").click(function(){
4
+ if(this.value == title){
5
+ this.value="";
6
+ $("#masterSubmitButton").show();
7
+ }
8
+ });
9
+
10
+ //initial state
11
+ $('#wrapper_activities_header form').hide();
12
+ $('#new_post').show();
13
+
14
+ //clicks on headers
15
+ $('.activities_title_header').live('click',function(){
16
+ $('.activities_title_header').removeClass('selected');
17
+ $(this).addClass('selected');
18
+ $('#wrapper_activities_header form').hide();
19
+ $('#new_'+this.id.split("_")[1]).show();
20
+ });
21
+
22
+ //submit
23
+ $('#masterSubmitButton').live('click',function(){
24
+ $('.liveAdded').remove();
25
+ $('#wrapper_activities_header form:visible').append(
26
+ $('<input/>')
27
+ .addClass('liveAdded')
28
+ .attr('type', 'hidden')
29
+ .attr('name', $('#wrapper_activities_header form:visible')
30
+ .attr('id').split('_')[1]+'[_relation_ids][]')
31
+ .val($('#security option:selected').attr('value')));
32
+ $('#wrapper_activities_header form:visible').submit();
33
+ });
34
+
35
+
36
+ //javascript for comments
37
+ $(".input_new_comments").val("<%= t('comment.input') %>");
38
+ $(".activities_comment_btn").hide();
39
+
40
+ //usa livequery para usar el javascript luego de una accion con AJAX
41
+ $(".input_new_comments").livequery("click",function(){
42
+ if(this.value == "<%= t('comment.input') %>"){
43
+ $(this).val("");
44
+ }
45
+ $(".activities_comment_btn").hide();
46
+ $(this).parent(".new_comment").children(".activities_comment_btn").show();
47
+ });
48
+ $(".input_new_comments").livequery("blur",function(){
49
+ if(this.value == ""){
50
+ $(".activities_comment_btn").hide();
51
+ $(this).val("<%= t('comment.input') %>");
52
+ }
53
+ });
54
+
55
+ $(".input_new_comments").click(function(){
56
+ if(this.value == "<%= t('comment.input') %>"){
57
+ $(this).val("");
58
+ }
59
+ $(".activities_comment_btn").hide();
60
+ $(this).parent(".new_comment").children(".activities_comment_btn").show();
61
+ });
62
+
63
+ //javascript for tocomment option
64
+ $(".to_comment").livequery("click", function(){
65
+ $(this).parents(".activity_content").find(".input_new_comments").click();
66
+ $(this).parents(".activity_content").find(".input_new_comments").focus();
67
+ return false;
68
+ });
69
+ $(".to_comment").livequery("blur", function(){
70
+ $(this).parents(".activity_content").find(".input_new_comments").blur();
71
+ return false;
72
+ });
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+ //move he last list item before the first item. The purpose of this is if the user clicks to slide left he will be able to see the last item.
83
+ $('#carousel_ul li:first').before($('#carousel_ul li:last'));
84
+
85
+
86
+ //when user clicks the image for sliding right
87
+ $('#right_scroll img').livequery("click",function(){
88
+
89
+ //get the width of the items ( i like making the jquery part dynamic, so if you change the width in the css you won't have o change it here too ) '
90
+ var item_width = $('#carousel_ul li').outerWidth() + 10;
91
+
92
+ //calculae the new left indent of the unordered list
93
+ var left_indent = parseInt($('#carousel_ul').css('left')) - item_width;
94
+
95
+ //make the sliding effect using jquery's anumate function '
96
+ $('#carousel_ul:not(:animated)').animate({'left' : left_indent},500,function(){
97
+
98
+ //get the first list item and put it after the last list item (that's how the infinite effects is made) '
99
+ $('#carousel_ul li:last').after($('#carousel_ul li:first'));
100
+
101
+ //and get the left indent to the default -210px
102
+ $('#carousel_ul').css({'left' : '-210px'});
103
+ });
104
+ });
105
+
106
+ //when user clicks the image for sliding left
107
+ $('#left_scroll img').livequery("click",function(){
108
+
109
+ var item_width = $('#carousel_ul li').outerWidth() + 10;
110
+
111
+ /* same as for sliding right except that it's current left indent + the item width (for the sliding right it's - item_width) */
112
+ var left_indent = parseInt($('#carousel_ul').css('left')) + item_width;
113
+
114
+ $('#carousel_ul:not(:animated)').animate({'left' : left_indent},500,function(){
115
+
116
+ /* when sliding to left we are moving the last item before the first list item */
117
+ $('#carousel_ul li:first').before($('#carousel_ul li:last'));
118
+
119
+ /* and again, when we make that change we are setting the left indent of our unordered list to the default -210px */
120
+ $('#carousel_ul').css({'left' : '-210px'});
121
+ });
122
+
123
+
124
+ });
125
+
@@ -0,0 +1,35 @@
1
+ <% cont=0; %>
2
+ <%=@events.count%>
3
+ <% @events.each do |event| %>
4
+ <% if (cont%2) == 0 %>
5
+ <% cont+=1; %>
6
+ <div class="row">
7
+ <% end %>
8
+ <div class="label">
9
+ <div class="logo">
10
+ <%= link_to (image_tag(event.logo.url , :size => "50x50", :alt => event.name )), event %>
11
+ </div>
12
+ <div class="sub-block">
13
+ <div class="name black" >
14
+ <%= link_to truncate_name(event.name), event %>
15
+ </div>
16
+ <div class="brief">
17
+ <%= t 'follower.n', :count => event.follower_count %>,
18
+ <%= t 'like.n', :count => event.like_count %>
19
+ </div>
20
+ <div class="link">
21
+ <%= contact_to(event) %>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <% if ((cont%2) == 0) %>
26
+ </div>
27
+ <% end %>
28
+ <% end %>
29
+ <% if ((cont%2) != 0) %>
30
+ <div class="label"></div>
31
+ </div>
32
+ <% end %>
33
+ <div class="row">
34
+ <%= paginate @events %>
35
+ </div>
@@ -0,0 +1,2 @@
1
+ <%= render :partial => 'objects/new', :locals => {:receiver => receiver, :object => Event.new(), :remote => false } %>
2
+
@@ -0,0 +1,46 @@
1
+ <% #debugger %>
2
+ <% content_for :javascript do %>
3
+
4
+ calendar = $('#calendar').fullCalendar({
5
+ header: {
6
+ left: '',
7
+ center: '',
8
+ right: ''
9
+ },
10
+ allDaySlot: false,
11
+ axisFormat: 'HH:mm',
12
+ timeFormat: 'H:mm{ - H:mm}',
13
+ slotMinutes: 15,
14
+ year:<%= @event.start_at.strftime("%Y")%>,
15
+ month:<%= @event.start_at.month-1 %>,
16
+ date:<%= @event.start_at.strftime("%d")%>,
17
+ minTime: '<%= @event.start_at.hour.to_s + ':00' %>',
18
+ maxTime: '<%= (@event.end_at.hour + 1).to_s + ':00' %>',
19
+ editable: true,
20
+ defaultView: 'agendaDay',
21
+ selectHelper:true,
22
+ selectable:true,
23
+ unselectAuto:false,
24
+ events: <%= @event.agenda.to_fullcalendar_json %>,
25
+ select: function(startDate, endDate, allDay) {
26
+ var title = prompt('Event Title:');
27
+ if (title) {
28
+ $.post('<%= event_agenda_sessions_path(@event)%>', { session : {name: title, start_at: startDate + "", end_at: endDate + ""}});
29
+ calendar.fullCalendar('renderEvent',
30
+ {
31
+ title: title,
32
+ start: startDate,
33
+ end: endDate,
34
+ allDay: allDay
35
+ },
36
+ true // make the event "stick"
37
+ );
38
+ }
39
+ calendar.fullCalendar('unselect');
40
+ },
41
+
42
+ });
43
+
44
+ <% end %>
45
+
46
+ <div id="calendar"></div>
@@ -0,0 +1,27 @@
1
+ <div class="space_center"></div>
2
+
3
+ <div class="block">
4
+ <div class="header">
5
+ <%= image_tag('btn/btn_tag.png', :class => "header_icon") %>
6
+ <div class="header_text">
7
+ <%= t 'event.cloud' %>
8
+ </div>
9
+ </div>
10
+ <div id="wordcloud" class="content"></div>
11
+ </div>
12
+
13
+ <%= render :partial => 'contacts/suggestions_and_pendings' %>
14
+
15
+ <% tags = ActivityObject.tag_counts %>
16
+
17
+ <script type="text/javascript">
18
+ var word_list = new Array(
19
+ <% tag_cloud(tags, %w(5 7 9 11 13 15)) do |tag, weight| %>
20
+ {text: "<%= tag.name %>", weight: <%= weight %>, url: "?tag=<%= tag.name %>"},
21
+ <% end %>
22
+ {text: "", weight:0, url:""}
23
+ );
24
+ $(document).ready(function() {
25
+ $("#wordcloud").jQCloud(word_list);
26
+ });
27
+ </script>
@@ -0,0 +1 @@
1
+ <%= render :partial => 'contacts/suggestions_and_pendings' %>
@@ -0,0 +1,5 @@
1
+ <div class="space_center"></div>
2
+
3
+ <%= render :partial => 'contacts/suggestions_and_pendings' %>
4
+
5
+
@@ -0,0 +1 @@
1
+ esta es la agenda.
@@ -0,0 +1,12 @@
1
+ <% content_for :headers do %>
2
+ <%= javascript_include_tag 'fullcalendar' %>
3
+ <%= stylesheet_link_tag "fullcalendar", :media => "screen, projection" %>
4
+ <% end %>
5
+
6
+ <% content_for :sidebar do %>
7
+ <%= render :partial => 'home/sidebar' %>
8
+ <% end %>
9
+
10
+ <% toolbar %>
11
+
12
+
@@ -0,0 +1,30 @@
1
+ <% content_for :title do %>
2
+ <%= t('event.list') %>
3
+ <% end %>
4
+
5
+ <% content_for :sidebar do %>
6
+ <%= render :partial => 'home/sidebar' %>
7
+ <% end %>
8
+
9
+ <%= location(link_to(image_tag("btn/event.png", :class => "btn_config")+t('conference.list')))%>
10
+
11
+ <% toolbar %>
12
+
13
+ <br class="clearfloat" />
14
+ <div class="space_center">
15
+ </div>
16
+
17
+ <div class="attachment_section_header">
18
+ <h3><%=t('conference.list')%></h3>
19
+ </div>
20
+ <% @events.each do |a| %>
21
+ <%# document = a.activity_objects.first.document %>
22
+ <div class="attachment_tile">
23
+ <div class="attachment_tile_thumb">
24
+ <%= link_to(image_tag('logos/actor/event.png', :size =>"48x48"), a )%>
25
+ </div>
26
+ <div class="attachment_tile_text">
27
+ <%= link_to( a.name, a )%>
28
+ </div>
29
+ </div>
30
+ <% end %>