social_stream-events 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/assets/javascripts/0_init.js +4 -0
- data/app/assets/javascripts/events.js.coffee +66 -0
- data/app/assets/stylesheets/events.css.scss +37 -0
- data/app/controllers/events_controller.rb +40 -0
- data/app/controllers/rooms_controller.rb +7 -0
- data/app/models/event.rb +53 -0
- data/app/models/room.rb +8 -0
- data/app/views/events/_event.html.erb +1 -0
- data/app/views/events/_new.html.erb +40 -0
- data/app/views/events/_sidebar_calendar.html.erb +26 -0
- data/app/views/events/create.js.erb +21 -0
- data/app/views/events/destroy.js.erb +1 -0
- data/app/views/events/index.html.erb +96 -0
- data/app/views/rooms/_form.html.erb +31 -0
- data/app/views/rooms/_index.html.erb +10 -0
- data/app/views/rooms/_settings.html.erb +23 -0
- data/app/views/rooms/create.js.erb +7 -0
- data/app/views/rooms/destroy.js.erb +1 -0
- data/config/locales/en.yml +34 -4
- data/config/locales/es.yml +34 -4
- data/config/routes.rb +1 -0
- data/db/migrate/20111101193523_create_events.rb +13 -0
- data/db/migrate/20111120104349_create_rooms.rb +26 -0
- data/db/migrate/20111204155637_add_scheduler.rb +33 -0
- data/db/migrate/20111218203314_change_scheduler.rb +11 -0
- data/lib/social_stream-events.rb +15 -0
- data/lib/social_stream/events/ability.rb +13 -0
- data/lib/social_stream/events/engine.rb +17 -0
- data/lib/social_stream/events/models/actor.rb +13 -0
- data/lib/social_stream/events/version.rb +1 -1
- data/lib/social_stream/views/settings/events.rb +18 -0
- data/social_stream-events.gemspec +6 -10
- data/vendor/assets/images/boxy-ne.png +0 -0
- data/vendor/assets/images/boxy-nw.png +0 -0
- data/vendor/assets/images/boxy-se.png +0 -0
- data/vendor/assets/images/boxy-sw.png +0 -0
- data/vendor/assets/javascripts/fullcalendar.js +12 -10
- data/vendor/assets/javascripts/gcal.js +2 -2
- data/vendor/assets/javascripts/jquery.boxy.js +570 -0
- data/vendor/assets/javascripts/sprintf.js +183 -0
- data/vendor/assets/stylesheets/boxy.css +49 -0
- data/vendor/assets/stylesheets/fullcalendar.css +7 -10
- data/vendor/assets/stylesheets/fullcalendar.print.css +4 -4
- metadata +81 -175
- data/db/migrate/20110910161707_create_social_stream_events.rb +0 -54
- data/db/migrate/20111102145626_add_more_fields_to_events.rb +0 -20
- data/db/migrate/20111104165944_add_more_fields_to_sessions.rb +0 -13
- data/db/migrate/20111104182420_add_details_to_events.rb +0 -18
- data/db/migrate/20111209120019_reset_events.rb +0 -18
- data/vendor/assets/javascripts/jquery.ad-gallery.js +0 -850
- data/vendor/assets/javascripts/jquery.ad-gallery.pack.js +0 -10
- data/vendor/assets/stylesheets/ad_next.png +0 -0
- data/vendor/assets/stylesheets/ad_prev.png +0 -0
- data/vendor/assets/stylesheets/ad_scroll_back.png +0 -0
- data/vendor/assets/stylesheets/ad_scroll_forward.png +0 -0
- data/vendor/assets/stylesheets/jquery.ad-gallery.css +0 -171
- data/vendor/assets/stylesheets/loader.gif +0 -0
- data/vendor/assets/stylesheets/social_stream-events.css +0 -273
@@ -0,0 +1,10 @@
|
|
1
|
+
<div id="rooms">
|
2
|
+
<% current_subject.rooms.each do |room| %>
|
3
|
+
<div class="row">
|
4
|
+
<div class="label"><%= room.name %></div>
|
5
|
+
<div class="field">
|
6
|
+
<%= link_to image_tag("btn/delete.png", :class => "menu_icon", :title => t('room.delete')), room, :class => "room_delete_link", :method => :delete, :confirm => t('room.confirm_delete'), :remote => true %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div class="block" id="room_settings">
|
2
|
+
<div class="header">
|
3
|
+
<div class="header_text">
|
4
|
+
<%= t 'room.settings.title' %>
|
5
|
+
</div>
|
6
|
+
<div class="header_icon_right">
|
7
|
+
<%= link_to image_tag('btn/edit.png'), "javascript:showSettings(\"room_settings\");" %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div id="room_settings_briefing" class="settings_briefing content">
|
11
|
+
<div class="form_row">
|
12
|
+
<%= t 'room.settings.description' %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div class="content settings_content" id="room_settings_content" style="display:none;">
|
16
|
+
<div class="sub-block">
|
17
|
+
<%= render :partial => 'rooms/index' %>
|
18
|
+
</div>
|
19
|
+
<div class="sub-block">
|
20
|
+
<%= render :partial => 'rooms/form' %>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<% if @room.valid? %>
|
2
|
+
$('#rooms').replaceWith("<%= escape_javascript render(:partial => 'index') %>");
|
3
|
+
$('#room_name').val("");
|
4
|
+
$('#room_name').Watermark("<%= escape_javascript t('room.watermark.name') %>");
|
5
|
+
<% else %>
|
6
|
+
$('#new_room').replaceWith("<%= escape_javascript render(:partial => 'form') %>");
|
7
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
$('#rooms').replaceWith("<%= escape_javascript render(:partial => 'index') %>");
|
data/config/locales/en.yml
CHANGED
@@ -1,5 +1,35 @@
|
|
1
|
-
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
-
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
-
|
4
1
|
en:
|
5
|
-
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
event:
|
5
|
+
title: "Title"
|
6
|
+
room: "Room"
|
7
|
+
frequency: "Frequency"
|
8
|
+
room:
|
9
|
+
name: "Name"
|
10
|
+
errors:
|
11
|
+
models:
|
12
|
+
room:
|
13
|
+
attributes:
|
14
|
+
name:
|
15
|
+
taken: "is taken"
|
16
|
+
models:
|
17
|
+
event: "event"
|
18
|
+
room: "room"
|
19
|
+
boxy:
|
20
|
+
close_text: "[close]"
|
21
|
+
event:
|
22
|
+
confirm_delete: "Delete event?"
|
23
|
+
new:
|
24
|
+
title: "New event"
|
25
|
+
one: "an event"
|
26
|
+
title: "Calendar"
|
27
|
+
wall_post: "Published an event: %{title}"
|
28
|
+
room:
|
29
|
+
confirm_delete: "Delete room?"
|
30
|
+
delete: "Delete"
|
31
|
+
settings:
|
32
|
+
title: "Rooms"
|
33
|
+
description: "Rooms available for event celebration"
|
34
|
+
watermark:
|
35
|
+
name: "New room"
|
data/config/locales/es.yml
CHANGED
@@ -1,5 +1,35 @@
|
|
1
|
-
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
-
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
-
|
4
1
|
es:
|
5
|
-
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
event:
|
5
|
+
title: "Título"
|
6
|
+
room: "Espacio"
|
7
|
+
frequency: "Repetición"
|
8
|
+
room:
|
9
|
+
name: "Nombre"
|
10
|
+
errors:
|
11
|
+
models:
|
12
|
+
room:
|
13
|
+
attributes:
|
14
|
+
name:
|
15
|
+
taken: "está repetido"
|
16
|
+
models:
|
17
|
+
event: "evento"
|
18
|
+
room: "espacio"
|
19
|
+
boxy:
|
20
|
+
close_text: "[cerrar]"
|
21
|
+
event:
|
22
|
+
confirm_delete: "¿Borrar evento?"
|
23
|
+
new:
|
24
|
+
title: "Nuevo evento"
|
25
|
+
one: "un evento"
|
26
|
+
title: "Calendario"
|
27
|
+
wall_post: "Publicó un evento: %{title}"
|
28
|
+
room:
|
29
|
+
confirm_delete: "¿Borrar espacio?"
|
30
|
+
delete: "Borrar"
|
31
|
+
settings:
|
32
|
+
title: "Espacios"
|
33
|
+
description: "Salas disponibles para la realización de eventos"
|
34
|
+
watermark:
|
35
|
+
name: "Nuevo espacio"
|
data/config/routes.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateRooms < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
create_table :rooms do |t|
|
4
|
+
t.references :actor
|
5
|
+
t.string :name
|
6
|
+
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
|
10
|
+
change_table :events do |t|
|
11
|
+
t.references :room
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :rooms, :actor_id
|
15
|
+
add_index :events, :room_id
|
16
|
+
add_foreign_key :rooms, :actors, :name => "index_rooms_on_actor_id"
|
17
|
+
add_foreign_key :events, :rooms, :name => "index_events_on_room_id"
|
18
|
+
end
|
19
|
+
|
20
|
+
def down
|
21
|
+
remove_foreign_key :rooms, :name => "index_rooms_on_actor_id"
|
22
|
+
remove_foreign_key :events, :name => "index_events_on_room_id"
|
23
|
+
|
24
|
+
drop_table :rooms
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class AddScheduler < ActiveRecord::Migration
|
2
|
+
|
3
|
+
class EventSchedulerMigration < ActiveRecord::Base
|
4
|
+
self.record_timestamps = false
|
5
|
+
set_table_name "events"
|
6
|
+
end
|
7
|
+
|
8
|
+
def up
|
9
|
+
change_table :events do |t|
|
10
|
+
t.date :start_date
|
11
|
+
t.date :end_date
|
12
|
+
t.integer :frequency, :default => 0
|
13
|
+
t.integer :interval
|
14
|
+
t.integer :interval_flag, :default => 0
|
15
|
+
end
|
16
|
+
|
17
|
+
EventSchedulerMigration.all.each do |e|
|
18
|
+
e.start_date = e.start_at
|
19
|
+
e.end_date = e.end_at
|
20
|
+
e.save!
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def down
|
25
|
+
change_table :events do |t|
|
26
|
+
t.remove :start_date
|
27
|
+
t.remove :end_date
|
28
|
+
t.remove :frequency
|
29
|
+
t.remove :interval
|
30
|
+
t.remove :interval_flag
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class ChangeScheduler < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
rename_column :events, :interval_flag, :days
|
4
|
+
add_column :events, :interval_flag, :integer, :default => 0
|
5
|
+
end
|
6
|
+
|
7
|
+
def down
|
8
|
+
rename_column :events, :days, :interval_flag
|
9
|
+
remove_column :events, :interval_flag
|
10
|
+
end
|
11
|
+
end
|
data/lib/social_stream-events.rb
CHANGED
@@ -1,7 +1,22 @@
|
|
1
1
|
require 'social_stream-base'
|
2
2
|
|
3
|
+
require 'rails-scheduler'
|
4
|
+
|
3
5
|
module SocialStream
|
6
|
+
module Views
|
7
|
+
module Settings
|
8
|
+
autoload :Events, 'social_stream/views/settings/events'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
4
12
|
module Events
|
13
|
+
autoload :Ability, 'social_stream/events/ability'
|
14
|
+
|
15
|
+
module Models
|
16
|
+
autoload :Actor, 'social_stream/events/models/actor'
|
17
|
+
end
|
18
|
+
|
19
|
+
SocialStream.objects.push(:event) unless SocialStream.objects.include?(:event)
|
5
20
|
end
|
6
21
|
end
|
7
22
|
|
@@ -1,6 +1,23 @@
|
|
1
1
|
module SocialStream
|
2
2
|
module Events
|
3
3
|
class Engine < Rails::Engine
|
4
|
+
initializer "social_stream-events.ability" do
|
5
|
+
SocialStream::Ability.class_eval do
|
6
|
+
include SocialStream::Events::Ability
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
initializer "social_stream-events.actor" do
|
11
|
+
ActiveSupport.on_load(:actor) do
|
12
|
+
include SocialStream::Events::Models::Actor
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
initializer "social_stream-events.views.settings" do
|
17
|
+
SocialStream::Views::Settings.module_eval do
|
18
|
+
include SocialStream::Views::Settings::Events
|
19
|
+
end
|
20
|
+
end
|
4
21
|
end
|
5
22
|
end
|
6
23
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module SocialStream
|
2
|
+
module Views
|
3
|
+
module Settings
|
4
|
+
module Events
|
5
|
+
def settings_items
|
6
|
+
super.tap do |items|
|
7
|
+
if current_subject.is_a?(Group)
|
8
|
+
items.insert_before 'notifications', {
|
9
|
+
:key => 'rooms',
|
10
|
+
:html => render(:partial => 'rooms/settings')
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -4,24 +4,20 @@ require File.join(File.dirname(__FILE__), 'lib', 'social_stream', 'events', 'ver
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "social_stream-events"
|
6
6
|
s.version = SocialStream::Events::VERSION.dup
|
7
|
-
s.authors = ["
|
8
|
-
s.summary = "
|
9
|
-
s.description = "Social Stream is a Ruby on Rails engine providing your application with social networking features and activity streams.\n\nThis gem allow you
|
10
|
-
s.email = "social-stream
|
7
|
+
s.authors = ["Antonio Tapiador", "GING - DIT - UPM"]
|
8
|
+
s.summary = "Scheduled events support for Social Stream, the core for building social network websites"
|
9
|
+
s.description = "Social Stream is a Ruby on Rails engine providing your application with social networking features and activity streams.\n\nThis gem allow you to add events as a new social stream activity, with a calendar-supported management"
|
10
|
+
s.email = "social-stream@dit.upm.es"
|
11
11
|
s.homepage = "http://github.com/ging/social_stream-events"
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
16
|
-
s.add_runtime_dependency('
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.11.0')
|
16
|
+
s.add_runtime_dependency('rails-scheduler', '~> 0.0.4')
|
17
17
|
|
18
18
|
# Development Gem dependencies
|
19
19
|
s.add_development_dependency('sqlite3-ruby')
|
20
20
|
if RUBY_VERSION < '1.9'
|
21
21
|
s.add_development_dependency('ruby-debug', '~> 0.10.3')
|
22
22
|
end
|
23
|
-
s.add_development_dependency('rspec-rails', '~> 2.6.0')
|
24
|
-
s.add_development_dependency('factory_girl', '~> 1.3.2')
|
25
|
-
s.add_development_dependency('forgery', '~> 0.3.6')
|
26
|
-
s.add_development_dependency('capybara', '~> 0.3.9')
|
27
23
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @preserve
|
3
|
-
* FullCalendar v1.5.
|
3
|
+
* FullCalendar v1.5.2
|
4
4
|
* http://arshaw.com/fullcalendar/
|
5
5
|
*
|
6
6
|
* Use fullcalendar.css for basic styling.
|
@@ -11,7 +11,7 @@
|
|
11
11
|
* Dual licensed under the MIT and GPL licenses, located in
|
12
12
|
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
13
13
|
*
|
14
|
-
* Date:
|
14
|
+
* Date: Sun Aug 21 22:06:09 2011 -0700
|
15
15
|
*
|
16
16
|
*/
|
17
17
|
|
@@ -111,7 +111,7 @@ var rtlDefaults = {
|
|
111
111
|
|
112
112
|
|
113
113
|
|
114
|
-
var fc = $.fullCalendar = { version: "1.5.
|
114
|
+
var fc = $.fullCalendar = { version: "1.5.2" };
|
115
115
|
var fcViews = fc.views = {};
|
116
116
|
|
117
117
|
|
@@ -698,7 +698,7 @@ function Header(calendar, options) {
|
|
698
698
|
tm = options.theme ? 'ui' : 'fc';
|
699
699
|
var sections = options.header;
|
700
700
|
if (sections) {
|
701
|
-
element = $("<table class='fc-header'
|
701
|
+
element = $("<table class='fc-header' style='width:100%'/>")
|
702
702
|
.append(
|
703
703
|
$("<tr/>")
|
704
704
|
.append(renderSection('left'))
|
@@ -1395,7 +1395,7 @@ function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false
|
|
1395
1395
|
return null;
|
1396
1396
|
}
|
1397
1397
|
var date = new Date(m[1], 0, 1);
|
1398
|
-
if (ignoreTimezone || !m[
|
1398
|
+
if (ignoreTimezone || !m[13]) {
|
1399
1399
|
var check = new Date(m[1], 0, 1, 9, 0);
|
1400
1400
|
if (m[3]) {
|
1401
1401
|
date.setMonth(m[3] - 1);
|
@@ -1431,9 +1431,11 @@ function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false
|
|
1431
1431
|
m[10] || 0,
|
1432
1432
|
m[12] ? Number("0." + m[12]) * 1000 : 0
|
1433
1433
|
);
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1434
|
+
if (m[14]) {
|
1435
|
+
var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0);
|
1436
|
+
offset *= m[15] == '-' ? 1 : -1;
|
1437
|
+
date = new Date(+date + (offset * 60 * 1000));
|
1438
|
+
}
|
1437
1439
|
}
|
1438
1440
|
return date;
|
1439
1441
|
}
|
@@ -5204,5 +5206,5 @@ function HorizontalPositionCache(getElement) {
|
|
5204
5206
|
};
|
5205
5207
|
|
5206
5208
|
}
|
5207
|
-
|
5208
|
-
})(jQuery);
|
5209
|
+
|
5210
|
+
})(jQuery);
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/*
|
2
|
-
* FullCalendar v1.5.
|
2
|
+
* FullCalendar v1.5.2 Google Calendar Plugin
|
3
3
|
*
|
4
4
|
* Copyright (c) 2011 Adam Shaw
|
5
5
|
* Dual licensed under the MIT and GPL licenses, located in
|
6
6
|
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
7
7
|
*
|
8
|
-
* Date:
|
8
|
+
* Date: Sun Aug 21 22:06:09 2011 -0700
|
9
9
|
*
|
10
10
|
*/
|
11
11
|
|