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 @@ -[![Build Status](https://travis-ci.org/openSUSE/osem.svg?branch=master)](https://travis-ci.org/openSUSE/osem) -[![Code Climate](https://codeclimate.com/github/openSUSE/osem.png)](https://codeclimate.com/github/openSUSE/osem) -[![codecov](https://codecov.io/gh/opensuse/osem/branch/master/graph/badge.svg)](https://codecov.io/gh/opensuse/osem) -[![Security Status](https://hakiri.io/github/openSUSE/osem/master.svg)](https://hakiri.io/github/openSUSE/osem/master) -[![Dependencies](https://badges.depfu.com/badges/8fcd630367d20f5b48d393774c00c5fd/overview.svg)](https://depfu.com/repos/openSUSE/osem) +[![Build Status](https://travis-ci.com/CactusPuppy/snapcon.svg?branch=master)](https://travis-ci.com/CactusPuppy/snapcon) +[![Maintainability](https://api.codeclimate.com/v1/badges/6c7fc446b3b10866ba71/maintainability)](https://codeclimate.com/github/CactusPuppy/snapcon/maintainability) +[![codecov](https://codecov.io/gh/CactusPuppy/snapcon/branch/master/graph/badge.svg?token=y4aEAtw6KJ)](https://codecov.io/gh/CactusPuppy/snapcon) +[![Security Status](https://hakiri.io/github/CactusPuppy/snapcon/master.svg)](https://hakiri.io/github/CactusPuppy/snapcon/master) +[![Depfu](https://badges.depfu.com/badges/16eb1ffb3a9f1a36c4e595a5ae2a1dca/overview.svg)](https://depfu.com/github/CactusPuppy/snapcon?project_id=22682) +[![Bluejay Dashboard](https://img.shields.io/badge/Bluejay-Dashboard_5-blue.svg)](http://dashboard.bluejay.governify.io/dashboard/script/dashboardLoader.js?dashboardURL=https://reporter.bluejay.governify.io/api/v4/dashboards/tpa-CS169L-GH-CactusPuppy_snapcon/main) + Deploy + + + Pivotal Tracker + + # Open Source Event Manager - [osem.io](https://osem.io) + ![OSEM Logo](doc/osem-logo.png) 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'