diff --git a/.gitignore b/.gitignore
index ee9739f8..f35f94d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,23 @@
+# Global, for Macs
+*~
+
+# Compiled Python files
+*.pyc
+
+# Folder view configuration files
+.DS_Store
+Desktop.ini
+
+# Thumbnail cache files
+._*
+Thumbs.db
+
+# Files that might appear on external disks
+.Spotlight-V100
+.Trashes
+
+
+# Legacy from before Feb 2021
/db/test.sqlite3-journal
config/application.rb
config/config.yml
@@ -41,3 +61,62 @@ docker-compose.override.yml
osem_development
osem_test
config/local_env.yml
+
+# From GitHub, for Ruby
+# https://github.com/github/gitignore/blob/master/Ruby.gitignore
+*.gem
+*.rbc
+/.config
+/coverage/
+/InstalledFiles
+/pkg/
+/spec/reports/
+/spec/examples.txt
+/test/tmp/
+/test/version_tmp/
+/tmp/
+
+# Used by dotenv library to load environment variables.
+# .env
+
+# Ignore Byebug command history file.
+.byebug_history
+
+## Specific to RubyMotion:
+.dat*
+.repl_history
+build/
+*.bridgesupport
+build-iPhoneOS/
+build-iPhoneSimulator/
+
+## Specific to RubyMotion (use of CocoaPods):
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+# vendor/Pods/
+
+## Documentation cache and generated files:
+/.yardoc/
+/_yardoc/
+/doc/
+/rdoc/
+
+## Environment normalization:
+/.bundle/
+/vendor/bundle
+/lib/bundler/man/
+
+# for a library or gem, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# Gemfile.lock
+# .ruby-version
+# .ruby-gemset
+
+# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
+.rvmrc
+
+# Used by RuboCop. Remote config files pulled in from inherit_from directive.
+.rubocop-https?--*
diff --git a/Gemfile.lock b/Gemfile.lock
index 4f04f507..0aaa057c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -101,10 +101,11 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (~> 1.5)
xpath (~> 3.2)
- carrierwave (1.3.1)
+ carrierwave (1.3.2)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
+ ssrf_filter (~> 1.0)
carrierwave-bombshelter (0.2.2)
activesupport (>= 3.2.0)
carrierwave
@@ -124,7 +125,7 @@ GEM
json
simplecov
coderay (1.1.1)
- concurrent-ruby (1.1.7)
+ concurrent-ruby (1.1.8)
countable-rails (0.0.1)
railties (>= 3.1)
countries (3.0.0)
@@ -229,7 +230,7 @@ GEM
htmlentities (4.3.4)
http-cookie (1.0.3)
domain_name (~> 0.5)
- i18n (1.8.5)
+ i18n (1.8.8)
concurrent-ruby (~> 1.0)
i18n_data (0.8.0)
inversion (1.1.1)
@@ -273,9 +274,9 @@ GEM
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.8.2)
- mime-types (3.2.2)
+ mime-types (3.3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2018.0812)
+ mime-types-data (3.2020.1104)
mimemagic (0.3.5)
mina (1.2.3)
open4 (~> 1.3.4)
@@ -283,7 +284,7 @@ GEM
mini_magick (4.9.5)
mini_mime (1.0.2)
mini_portile2 (2.5.0)
- minitest (5.14.2)
+ minitest (5.14.3)
momentjs-rails (2.20.1)
railties (>= 3.1)
monetize (1.9.2)
@@ -548,6 +549,7 @@ GEM
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sqlite3 (1.4.2)
+ ssrf_filter (1.0.7)
stripe (5.14.0)
stripe-ruby-mock (3.0.1)
dante (>= 0.2.0)
@@ -564,7 +566,7 @@ GEM
turbolinks (5.2.1)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
- tzinfo (1.2.7)
+ tzinfo (1.2.9)
thread_safe (~> 0.1)
uglifier (4.1.20)
execjs (>= 0.3.0, < 3)
diff --git a/README.md b/README.md
index 2fe87dcf..09356477 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,32 @@
-[](https://travis-ci.org/openSUSE/osem)
-[](https://codeclimate.com/github/openSUSE/osem)
-[](https://codecov.io/gh/opensuse/osem)
-[](https://hakiri.io/github/openSUSE/osem/master)
-[](https://depfu.com/repos/openSUSE/osem)
+[](https://travis-ci.com/CactusPuppy/snapcon)
+[](https://codeclimate.com/github/CactusPuppy/snapcon/maintainability)
+[](https://codecov.io/gh/CactusPuppy/snapcon)
+[](https://hakiri.io/github/CactusPuppy/snapcon/master)
+[](https://depfu.com/github/CactusPuppy/snapcon?project_id=22682)
+[](http://dashboard.bluejay.governify.io/dashboard/script/dashboardLoader.js?dashboardURL=https://reporter.bluejay.governify.io/api/v4/dashboards/tpa-CS169L-GH-CactusPuppy_snapcon/main)
+
+
+
+
+
+
# Open Source Event Manager - [osem.io](https://osem.io)
+

An event management tool tailored to Free and Open Source Software conferences.
## Installation
+
Please refer to our [installation guide](INSTALL.md).
## How to contribute to OSEM
+
Please refer to our [contributing guide](CONTRIBUTING.md).
## Contact
+
GitHub issues are the primary way for communicating about specific proposed changes to this project. If you have other questions feel free to subscribe to the [opensuse-web@opensuse.org](http://lists.opensuse.org/opensuse-web/) mailinglist, all OSEM contributors are on that list! Additionally you can use #osem channel on freenode IRC.
diff --git a/app/models/conference.rb b/app/models/conference.rb
index c91939ae..f4b87791 100644
--- a/app/models/conference.rb
+++ b/app/models/conference.rb
@@ -51,7 +51,7 @@ class Conference < ApplicationRecord
has_many :highlighted_events,
-> { where(state: :confirmed, is_highlight: true) },
through: :program,
- source: :events
+ source: :events
has_many :event_types, through: :program
has_many :surveys, as: :surveyable, dependent: :destroy do
diff --git a/app/views/admin/schedules/_day_tab.html.haml b/app/views/admin/schedules/_day_tab.html.haml
index 8a1dff60..b88d8e6e 100644
--- a/app/views/admin/schedules/_day_tab.html.haml
+++ b/app/views/admin/schedules/_day_tab.html.haml
@@ -3,11 +3,13 @@
/ use smaller cell heights for more compact grids
- cell_height = compact_grid ? 32 : 58
- date_event_schedules = @event_schedules.select{ |e| e.start_time.to_date.eql? date }
+/ Dynamically set the column width, but no narrower than 2 (on a BS grid of 12)
+- col_size = [2, (12 / @rooms.count).to_i ].max
.row
- @rooms.each do |room|
- non_schedulable = room.tracks.self_organized.confirmed.any? do |track|
- !track.schedules.include?(@schedule) && (track.start_date..track.end_date).include?(date)
- .col-md-2.col-xs-6{ class: ('non_schedulable' if non_schedulable) }
+ .col-xs-6{ class: "#{('non_schedulable' if non_schedulable)} col-md-#{col_size}" }
.room-name
- room_date_event_schedules = date_event_schedules.select{ |e| e.room == room }
= room.name
diff --git a/app/views/conferences/_highlights.haml b/app/views/conferences/_highlights.haml
index 4b2f601c..31de1088 100644
--- a/app/views/conferences/_highlights.haml
+++ b/app/views/conferences/_highlights.haml
@@ -6,14 +6,14 @@
.col-md-12
.row.row-centered.shuffle-deck
- highlights.each do |event|
- - speaker = event.speakers_ordered.first
- .col-md-3.col-sm-3.col-centered.col-top.highlights
- = link_to(conference_program_proposal_path(conference_id,
- event),
- class: 'thumbnail') do
- = image_tag speaker.profile_picture(size: 300),
- class: ['img-responsive', 'img-circle'],
- title: speaker.name
- .caption
- %h3.text-center= speaker.name
- %h4.text-center= event.title
+ - event.speakers_ordered.each do |speaker|
+ .col-md-3.col-sm-3.col-centered.col-top.highlights
+ = link_to(conference_program_proposal_path(conference_id,
+ event),
+ class: 'thumbnail') do
+ = image_tag speaker.profile_picture(size: 300),
+ class: ['img-responsive', 'img-circle'],
+ title: speaker.name
+ .caption
+ %h3.text-center= speaker.name
+ %h4.text-center= event.title
diff --git a/info.yml b/info.yml
new file mode 100644
index 00000000..ab0afd5e
--- /dev/null
+++ b/info.yml
@@ -0,0 +1,20 @@
+project:
+ name: 'snapcon'
+ owner: 'cs169'
+ teamId: '5'
+ identities:
+ pivotal:
+ url: 'https://www.pivotaltracker.com/n/projects/2487653'
+ heroku:
+ url: 'https://cs169l-sp2021-snapcon.herokuapp.com'
+ travis:
+ url: 'https://travis-ci.com/github/CactusPuppy/snapcon'
+ codeclimate:
+ url: 'https://codeclimate.com/github/CactusPuppy/snapcon'
+ members:
+ member1:
+ name: 'Coby'
+ surname: 'Zhong'
+ githubUsername: 'CactusPuppy'
+ pivotalUsername: 'cobyzhong'
+ herokuEmail: 'coby.zhong@berkeley.edu'