open_conference_ware 1.0.0.pre1 → 1.0.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/.gitignore +1 -0
- data/.travis.yml +0 -1
- data/CHANGES.md +27 -0
- data/{CONTRIBUTORS.markdown → CONTRIBUTORS.md} +0 -0
- data/Gemfile +2 -0
- data/{README.markdown → README.md} +32 -16
- data/app/assets/javascripts/open_conference_ware/base.js +0 -1
- data/app/assets/stylesheets/open_conference_ware/common.css.scss +6 -6
- data/app/assets/stylesheets/open_conference_ware/scaffold.css +0 -1
- data/app/controllers/open_conference_ware/proposals_controller.rb +4 -4
- data/app/helpers/open_conference_ware/application_helper.rb +1 -1
- data/app/helpers/open_conference_ware/time_range_helper.rb +1 -1
- data/app/helpers/open_conference_ware/tracks_helper.rb +1 -1
- data/app/mixins/open_conference_ware/faux_routes_mixin.rb +1 -1
- data/app/models/open_conference_ware/event.rb +6 -6
- data/app/models/open_conference_ware/proposal.rb +5 -5
- data/app/models/open_conference_ware/track.rb +1 -1
- data/app/views/open_conference_ware/_email_link.html.erb +1 -1
- data/app/views/open_conference_ware/authentications/_persona.html.erb +1 -1
- data/app/views/open_conference_ware/manage/events/_form.html.erb +3 -3
- data/app/views/open_conference_ware/manage/events/proposals.html.erb +1 -1
- data/app/views/open_conference_ware/manage/events/show.html.erb +3 -3
- data/app/views/open_conference_ware/proposals/_manage_speakers.html.erb +1 -1
- data/app/views/open_conference_ware/proposals/_schedule_control.html.erb +3 -3
- data/app/views/open_conference_ware/proposals/schedule.html.erb +3 -3
- data/app/views/open_conference_ware/proposals/show.html.erb +2 -2
- data/app/views/open_conference_ware/proposals/stats.html.erb +1 -1
- data/app/views/open_conference_ware/session_types/index.html.erb +1 -1
- data/app/views/open_conference_ware/tracks/index.html.erb +1 -1
- data/app/views/open_conference_ware/users/_block.html.erb +2 -2
- data/app/views/open_conference_ware/users/index.html.erb +1 -1
- data/lib/generators/open_conference_ware/install/templates/config_initializer.rb +3 -3
- data/lib/generators/open_conference_ware/install/templates/omniauth_initializer.rb +0 -1
- data/lib/generators/open_conference_ware/views/views_generator.rb +44 -0
- data/lib/open_conference_ware.rb +1 -1
- data/lib/open_conference_ware/dependencies.rb +0 -1
- data/lib/open_conference_ware/version.rb +1 -1
- data/lib/tasks/mediawiki.rake +2 -2
- data/lib/tasks/open_conference_ware_tasks.rake +0 -1
- data/lib/tasks/snippets.rake +1 -1
- data/open_conference_ware.gemspec +26 -28
- data/spec/controllers/open_conference_ware/application_controller_spec.rb +2 -2
- data/spec/controllers/open_conference_ware/events_controller_spec.rb +0 -1
- data/spec/controllers/open_conference_ware/proposals_controller_spec.rb +5 -5
- data/spec/controllers/open_conference_ware/rooms_controller_spec.rb +15 -15
- data/spec/controllers/open_conference_ware/session_types_controller_spec.rb +15 -15
- data/spec/controllers/open_conference_ware/sessions_routing_spec.rb +1 -1
- data/spec/controllers/open_conference_ware/tracks_controller_spec.rb +16 -16
- data/spec/dummy/config/initializers/01_open_conference_ware.rb +3 -3
- data/spec/fixtures/open_conference_ware_proposals.yml +10 -10
- data/spec/fixtures/open_conference_ware_schedule_items.yml +1 -1
- data/spec/fixtures/open_conference_ware_tracks.yml +3 -3
- data/spec/helpers/open_conference_ware/proposals_helper_spec.rb +1 -1
- data/spec/helpers/open_conference_ware/session_types_helper_spec.rb +2 -2
- data/spec/helpers/open_conference_ware/time_range_helper_spec.rb +4 -4
- data/spec/helpers/open_conference_ware/tracks_helper_spec.rb +2 -2
- data/spec/models/open_conference_ware/proposal_spec.rb +2 -2
- data/spec/spec_helper.rb +14 -6
- data/spec/support/add_all_helpers_to_view.rb +1 -1
- data/spec/support/fixture_shortcuts.rb +2 -3
- data/spec/views/open_conference_ware/proposals/_room_control.html.erb_spec.rb +0 -1
- data/spec/views/open_conference_ware/proposals/show.html.erb_spec.rb +6 -7
- data/spec/views/open_conference_ware/rooms/index.html.erb_spec.rb +0 -1
- data/spec/views/open_conference_ware/rooms/show.html.erb_spec.rb +0 -1
- data/spec/views/open_conference_ware/session_types/edit.html.erb_spec.rb +2 -4
- data/spec/views/open_conference_ware/session_types/index.html.erb_spec.rb +1 -2
- data/spec/views/open_conference_ware/session_types/new.html.erb_spec.rb +2 -4
- data/spec/views/open_conference_ware/session_types/show.html.erb_spec.rb +0 -1
- data/spec/views/open_conference_ware/tracks/edit.html.erb_spec.rb +2 -4
- data/spec/views/open_conference_ware/tracks/index.html.erb_spec.rb +1 -2
- data/spec/views/open_conference_ware/tracks/new.html.erb_spec.rb +2 -4
- data/spec/views/open_conference_ware/tracks/show.html.erb_spec.rb +0 -1
- data/spec/views/open_conference_ware/user_favorites/index.html.erb_spec.rb +0 -1
- metadata +98 -131
- metadata.gz.sig +0 -0
- data/Gemfile.lock +0 -296
- data/app/views/open_conference_ware/welcome/test.html.haml +0 -8
data.tar.gz.sig
CHANGED
Binary file
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CHANGES.md
CHANGED
@@ -2,6 +2,33 @@
|
|
2
2
|
|
3
3
|
OpenConferenceWare stable releases and changes included, with latest at top:
|
4
4
|
|
5
|
+
### master
|
6
|
+
- Improved gem packaging
|
7
|
+
|
8
|
+
### v1.0.0.pre1
|
9
|
+
- Converted to a Rails engine
|
10
|
+
- Packaged as a gem: open_conference_ware
|
11
|
+
- Added a generator to set up config files and seed data
|
12
|
+
- Updated documentation to reflect new packaging
|
13
|
+
|
14
|
+
### v0.20131209
|
15
|
+
- **[!] This is the final release that will be distributed as a Rails application, future releases will be packaged as a gem, providing a Rails engine**
|
16
|
+
- Upgraded to Rails 4.0.2
|
17
|
+
- Enabled the Rails asset pipeline
|
18
|
+
- Dropped support for Ruby 1.8.7
|
19
|
+
|
20
|
+
### v0.20131201
|
21
|
+
- **[!] This is the final release to support Ruby 1.8.7**
|
22
|
+
- Upgraded to Rails 3.2
|
23
|
+
- Look and feel is now based on Bootstrap, not on the Open Source Bridge site
|
24
|
+
- Replaced outdated authenticaiton system with OmniAuth
|
25
|
+
- Improved database support
|
26
|
+
|
27
|
+
### v0.20130830
|
28
|
+
- Locked down a few dependencies for compatibility
|
29
|
+
- Fixed timezone issues in test
|
30
|
+
- Improved documentation
|
31
|
+
|
5
32
|
### v0.20130720
|
6
33
|
|
7
34
|
- Added Twitter card metadata to proposal pages.
|
File without changes
|
data/Gemfile
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# OpenConferenceWare
|
2
2
|
|
3
|
-
[![
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/open_conference_ware.png)](http://badge.fury.io/rb/open_conference_ware)
|
4
|
+
[![Build Status](https://travis-ci.org/osbridge/openconferenceware.png?branch=master)](https://travis-ci.org/osbridge/openconferenceware)
|
5
|
+
[![Dependency Status](https://gemnasium.com/osbridge/openconferenceware.png)](https://gemnasium.com/osbridge/openconferenceware)
|
6
|
+
[![Coverage Status](https://coveralls.io/repos/osbridge/openconferenceware/badge.png?branch=master)](https://coveralls.io/r/osbridge/openconferenceware?branch=master)
|
7
|
+
[![Code Climate](https://codeclimate.com/github/osbridge/openconferenceware.png)](https://codeclimate.com/github/osbridge/openconferenceware)
|
4
8
|
|
5
9
|
About
|
6
10
|
-----
|
@@ -22,15 +26,15 @@ OpenConferenceWare requires Ruby 1.9.3 and a host application built on Rails 4.0
|
|
22
26
|
|
23
27
|
1. Install the latest version of Rails:
|
24
28
|
|
25
|
-
|
26
|
-
|
29
|
+
$ gem install rails -v 4.0.2
|
30
|
+
|
27
31
|
2. Create a new application to host OpenConferenceWare for your event:
|
28
32
|
|
29
|
-
|
30
|
-
|
33
|
+
$ rails new sloth_party --skip-bundle
|
34
|
+
|
31
35
|
3. Add 'open_conference_ware' to the newly-created app's Gemfile
|
32
36
|
|
33
|
-
|
37
|
+
gem "open_conference_ware"
|
34
38
|
|
35
39
|
4. Run `bundle install`
|
36
40
|
|
@@ -38,18 +42,18 @@ OpenConferenceWare requires Ruby 1.9.3 and a host application built on Rails 4.0
|
|
38
42
|
|
39
43
|
6. Install OpenConferenceWare's configuration files and seed data:
|
40
44
|
|
41
|
-
|
42
|
-
|
45
|
+
$ bin/rails generate open_conference_ware:install
|
46
|
+
|
43
47
|
If you want OCW to be mounted somewhere other than the root of the application, you can pass a mount point to the generator, like so:
|
44
|
-
|
45
|
-
|
46
|
-
|
48
|
+
|
49
|
+
$ bin/rails generate open_conference_ware:install /ocw
|
50
|
+
|
47
51
|
7. Edit `config/initializers/01_open_conference_ware.rb` to configure OCW's settings. You'll find comments there explaining the available options.
|
48
52
|
|
49
53
|
8. At this point, you should be able to fire up a server and see OpenConferenceWare at [http://localhost:3000](http://localhost:3000)
|
50
54
|
|
51
|
-
|
52
|
-
|
55
|
+
$ bin/rails server
|
56
|
+
|
53
57
|
### Authentication
|
54
58
|
|
55
59
|
OpenConferenceWare uses [OmniAuth](https://github.com/intridea/omniauth/) to allow users to sign in using [a variety of external services](https://github.com/intridea/omniauth/wiki/List-of-Strategies). No authentication method is enabled by default, so you'll need to configure one before deploying OCW.
|
@@ -59,11 +63,11 @@ To do this, just add the gem for the desired provider to your Gemfile, run `bund
|
|
59
63
|
For example, to enable sign-in with [Persona](https://login.persona.org/), you would add the [omniauth-persona](https://github.com/pklingem/omniauth-persona) gem to your Gemfile
|
60
64
|
|
61
65
|
gem 'omniauth-persona'
|
62
|
-
|
66
|
+
|
63
67
|
and add the provider to `02_omniauth.rb`
|
64
68
|
|
65
69
|
provider :persona
|
66
|
-
|
70
|
+
|
67
71
|
#### Sign In Forms
|
68
72
|
|
69
73
|
Friendly sign-in forms are provided for [OpenID](http://openid.net/) and [Persona](https://login.persona.org/), but it's easy to add your own. After enabling an OmniAuth provider, create a partial view at `app/views/open_conference_ware/authentications/_provider_name.html.erb`, where `provider_name` is the name passed to the provider method in the initializer.
|
@@ -77,7 +81,19 @@ Many features of OCW can be enabled or disabled to meet your event's needs. Thes
|
|
77
81
|
|
78
82
|
### Views and Styles
|
79
83
|
|
80
|
-
|
84
|
+
Since OpenConferenceWare is an engine, all of its views are packaged inside the gem. To customize things, you can easily override any view by creating one with the same name in your application.
|
85
|
+
|
86
|
+
To simplify this process, we've included a generator that will copy views out of the gem for you. Invoking the following command will copy all of OpenConferenceWare's views:
|
87
|
+
|
88
|
+
$ bin/rails generate open_conference_ware:views
|
89
|
+
|
90
|
+
If you only need to override a particular set of views, you can pass arguments to the generator to narrow things down. This will copy only the layout file and view related to rooms:
|
91
|
+
|
92
|
+
$ bin/rails generate open_conference_ware:views layouts rooms
|
93
|
+
|
94
|
+
You can see a full list of available arguments by running:
|
95
|
+
|
96
|
+
$ bin/rails generate open_conference_ware:views --help
|
81
97
|
|
82
98
|
Releases
|
83
99
|
--------
|
@@ -136,7 +136,7 @@
|
|
136
136
|
padding: 0.5em 0 0.25em 0; }
|
137
137
|
.left-table td h4 {
|
138
138
|
padding: 0.25em 0 0.1em 0; }
|
139
|
-
.left-table td,
|
139
|
+
.left-table td,
|
140
140
|
.left-table th {
|
141
141
|
padding: 0.25em;
|
142
142
|
text-align: left;
|
@@ -476,15 +476,15 @@ ul.jq-ui-autocomplete {
|
|
476
476
|
list-style: none;
|
477
477
|
color: #333;
|
478
478
|
}
|
479
|
-
ul.jq-ui-autocomplete li {
|
480
|
-
display: block;
|
481
|
-
padding: .3em .5em .3em .3em;
|
479
|
+
ul.jq-ui-autocomplete li {
|
480
|
+
display: block;
|
481
|
+
padding: .3em .5em .3em .3em;
|
482
482
|
overflow: hidden;
|
483
483
|
width: 100%;
|
484
484
|
}
|
485
485
|
|
486
|
-
ul.jq-ui-autocomplete li.active {
|
487
|
-
background-color: <%= @colors[:light_green] %>;
|
486
|
+
ul.jq-ui-autocomplete li.active {
|
487
|
+
background-color: <%= @colors[:light_green] %>;
|
488
488
|
color: <%= @colors[:dark_grey] %>;;
|
489
489
|
}
|
490
490
|
|
@@ -227,7 +227,7 @@ module OpenConferenceWare
|
|
227
227
|
# PUT /proposals/1.xml
|
228
228
|
def update
|
229
229
|
# @proposal and @event set via #assign_proposal_and_event filter
|
230
|
-
|
230
|
+
|
231
231
|
# If proposal title editing is locked, prevent non-admin from modifying title.
|
232
232
|
if params[:proposal] && @event.proposal_titles_locked? && ! admin?
|
233
233
|
params[:proposal].delete(:title)
|
@@ -256,12 +256,12 @@ module OpenConferenceWare
|
|
256
256
|
redirect_to(@proposal)
|
257
257
|
}
|
258
258
|
format.xml { head :ok }
|
259
|
-
format.json {
|
259
|
+
format.json {
|
260
260
|
render(
|
261
261
|
json: {
|
262
262
|
proposal_status: @proposal.status,
|
263
263
|
_transition_control_html: render_to_string(partial: '/proposals/transition_control')
|
264
|
-
},
|
264
|
+
},
|
265
265
|
status: :ok
|
266
266
|
)
|
267
267
|
}
|
@@ -505,7 +505,7 @@ module OpenConferenceWare
|
|
505
505
|
end
|
506
506
|
|
507
507
|
respond_to do |format|
|
508
|
-
format.html {
|
508
|
+
format.html {
|
509
509
|
if defined?(@redirector)
|
510
510
|
@redirector.call
|
511
511
|
else
|
@@ -16,7 +16,7 @@ module OpenConferenceWare
|
|
16
16
|
# "Thursday-Friday, April 3-5, 2008"
|
17
17
|
# (context: during 2008) "Thursday April 5, 2009 at 3:30pm through Friday, April 5 at 8:45pm, 2009"
|
18
18
|
# (same, context: during 2009) "Thursday April 5 at 3:30pm through Friday, April 5 at 8:45pm"
|
19
|
-
|
19
|
+
|
20
20
|
@@to_s_cache = {}
|
21
21
|
|
22
22
|
def initialize(start_time, end_time=nil, opts=nil)
|
@@ -57,7 +57,7 @@ module OpenConferenceWare
|
|
57
57
|
def accepting_proposals?
|
58
58
|
return Time.now < (self.deadline || Time.at(0))
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
# Returns an array of the dates when this event is happening.
|
62
62
|
def dates
|
63
63
|
if self.start_date.nil? || self.end_date.nil?
|
@@ -66,12 +66,12 @@ module OpenConferenceWare
|
|
66
66
|
return Array(self.start_date.to_date .. self.end_date.to_date)
|
67
67
|
end
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
# Formats this event's dates for use in a select form control.
|
71
71
|
def dates_for_select
|
72
72
|
return [['','']] + self.dates.map{|date| [date.strftime("%B %d, %Y"), date.strftime("%Y-%m-%d")]}
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
# Determines if the event is currently taking place.
|
76
76
|
def underway?
|
77
77
|
self.start_date && self.end_date && Time.zone.now.between?(self.start_date, self.end_date)
|
@@ -136,12 +136,12 @@ module OpenConferenceWare
|
|
136
136
|
results += (self.children.map{|child| child.calendar_items(is_admin)}.flatten)
|
137
137
|
return results
|
138
138
|
end
|
139
|
-
|
139
|
+
|
140
140
|
# Return list of people that submitted to this event.
|
141
141
|
def users
|
142
142
|
return User.submitted_to(self)
|
143
143
|
end
|
144
|
-
|
144
|
+
|
145
145
|
# Return list of speakers for this event.
|
146
146
|
def speakers
|
147
147
|
return User.speaking_at(self)
|
@@ -174,7 +174,7 @@ module OpenConferenceWare
|
|
174
174
|
def tracks_combined
|
175
175
|
return [self.tracks_descend, self.parent.try(:tracks_descend)].flatten.compact.uniq.sort_by(&:title)
|
176
176
|
end
|
177
|
-
|
177
|
+
|
178
178
|
# Return array of Tracks for this event and its children.
|
179
179
|
def tracks_descend
|
180
180
|
return (self.tracks + self.children.map(&:tracks)).flatten.uniq.sort_by(&:title)
|
@@ -232,7 +232,7 @@ module OpenConferenceWare
|
|
232
232
|
|
233
233
|
comma :selector_votes do
|
234
234
|
instance_eval &base_comma_attributes
|
235
|
-
|
235
|
+
|
236
236
|
user_favorites size: 'Favorites count'
|
237
237
|
selector_vote_points 'Selector points'
|
238
238
|
selector_votes_for_comma 'Selector votes'
|
@@ -384,14 +384,14 @@ module OpenConferenceWare
|
|
384
384
|
return self.profile.email
|
385
385
|
end
|
386
386
|
end
|
387
|
-
|
387
|
+
|
388
388
|
# Returns a string labeling a proposal object as either a proposal or a session depending on its state.
|
389
389
|
def kind_label
|
390
390
|
return self.confirmed? ? 'session' : 'proposal'
|
391
391
|
end
|
392
|
-
|
392
|
+
|
393
393
|
# Returns URL of session notes for this proposal, if available.
|
394
|
-
#
|
394
|
+
#
|
395
395
|
# Reads optional OpenConferenceWare.session_notes_url_format. This 'printf' format
|
396
396
|
# contains positional variables that filled by Proposal#session_notes_url:
|
397
397
|
# * %1 => site's public URL
|
@@ -472,7 +472,7 @@ module OpenConferenceWare
|
|
472
472
|
e.lastmod item.updated_at if item.updated_at
|
473
473
|
e.description((item.respond_to?(:users) ? "#{item.users.map(&:fullname).join(', ')}: " : '') + item.excerpt)
|
474
474
|
if item.room
|
475
|
-
e.set_text 'LOCATION', item.room.name
|
475
|
+
e.set_text 'LOCATION', item.room.name
|
476
476
|
end
|
477
477
|
if url_helper
|
478
478
|
url = url_helper.call(item)
|
@@ -46,17 +46,17 @@
|
|
46
46
|
<%= f.label :deadline, "Proposal Deadline" %><br />
|
47
47
|
<%= f.datetime_select :deadline %>
|
48
48
|
</div>
|
49
|
-
|
49
|
+
|
50
50
|
<div class="form-group">
|
51
51
|
<%= f.label :accept_selector_votes, "Accept selector votes?" %>
|
52
52
|
<%= f.select :accept_selector_votes, [['Yes',true],["No",false]], {}, :class => 'form-control' %>
|
53
53
|
</div>
|
54
|
-
|
54
|
+
|
55
55
|
<div class="form-group">
|
56
56
|
<%= f.label :proposal_titles_locked, "Lock editing of proposal title?" %>
|
57
57
|
<%= f.select :proposal_titles_locked, [['Yes',true],["No",false]], {}, :class => 'form-control' %>
|
58
58
|
</div>
|
59
|
-
|
59
|
+
|
60
60
|
<% if proposal_statuses? %>
|
61
61
|
<div class="form-group">
|
62
62
|
<%= f.label :show_proposal_confirmation_controls, "Show proposal confirmation controls?" %>
|
@@ -95,7 +95,7 @@ control_colspan = 0
|
|
95
95
|
<%= link_to(proposal.title, proposal_path(proposal)) %>
|
96
96
|
<% if user_profiles? %>
|
97
97
|
<br />
|
98
|
-
by
|
98
|
+
by
|
99
99
|
<% proposal.users.each_with_index do |user, i| %>
|
100
100
|
<%= "&" unless i == 0 %>
|
101
101
|
<%= link_to user.fullname, user_path(user) %>
|
@@ -67,7 +67,7 @@
|
|
67
67
|
<%=h @event.deadline.to_s(:ocw_date_time_long) %>
|
68
68
|
</td>
|
69
69
|
</tr>
|
70
|
-
|
70
|
+
|
71
71
|
<tr>
|
72
72
|
<td class="label-text">
|
73
73
|
<label>Accept selector votes?</label>
|
@@ -76,7 +76,7 @@
|
|
76
76
|
<%= @event.accept_selector_votes ? "Yes" : "No" %>
|
77
77
|
</td>
|
78
78
|
</tr>
|
79
|
-
|
79
|
+
|
80
80
|
<tr>
|
81
81
|
<td class="label-text">
|
82
82
|
<label>Lock editing of proposal title?</label>
|
@@ -85,7 +85,7 @@
|
|
85
85
|
<%= @event.proposal_titles_locked ? "Yes" : "No" %>
|
86
86
|
</td>
|
87
87
|
</tr>
|
88
|
-
|
88
|
+
|
89
89
|
<% if proposal_statuses? %>
|
90
90
|
<tr>
|
91
91
|
<td class="label-text">
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<% message = user == current_user ?
|
8
8
|
"You will no longer be able to edit this proposal. Are you sure you want to remove yourself?" :
|
9
9
|
"#{h user.fullname} will no longer be able to edit this proposal. Are you sure you want to remove them?" %>
|
10
|
-
<%= link_to "", "#", :class => "remove-speaker deletable", :speaker_id => user.id, :speaker_fullname => user.fullname %>
|
10
|
+
<%= link_to "", "#", :class => "remove-speaker deletable", :speaker_id => user.id, :speaker_fullname => user.fullname %>
|
11
11
|
<% else %>
|
12
12
|
|
13
13
|
<% end %>
|