', the_title(), '
'; 11 | echo ''; the_time(get_option('date_format')); echo '
'; 12 | echo '├── log
└── .gitkeep
├── lib
├── tasks
│ ├── .gitkeep
│ └── tddium.rake
└── assets
│ └── .gitkeep
├── spec
├── lib
│ └── .gitkeep
├── helpers
│ ├── .gitkeep
│ ├── application_helper_spec.rb
│ ├── projects_helper_spec.rb
│ └── invitations_helper_spec.rb
├── models
│ ├── .gitkeep
│ ├── gravatar_spec.rb
│ ├── vote_spec.rb
│ ├── country_sort_criteria_spec.rb
│ └── user_factory_spec.rb
├── support
│ ├── .gitkeep
│ ├── mixins
│ │ └── .gitkeep
│ ├── matchers
│ │ ├── .gitkeep
│ │ ├── email_matchers.rb
│ │ └── flash.rb
│ ├── shared_examples
│ │ └── .gitkeep
│ ├── clearance.rb
│ ├── fixtures
│ │ ├── 1.JPG
│ │ ├── 2.JPG
│ │ ├── 3.JPG
│ │ └── מדהים.png
│ ├── pagination.rb
│ ├── session.rb
│ ├── locale_fix.rb
│ ├── fake_user_factory.rb
│ ├── fake_mailer.rb
│ ├── feed.xml
│ └── fog_factory.rb
├── views
│ ├── .gitkeep
│ ├── header_views_spec.rb
│ ├── layout_views_spec.rb
│ └── invitations_views_spec.rb
├── controllers
│ ├── .gitkeep
│ ├── pages_controller_spec.rb
│ ├── funded_projects_controller_spec.rb
│ ├── acceptances_controller_spec.rb
│ ├── users_controller_spec.rb
│ ├── chapters_controller_spec.rb
│ ├── home_controller_spec.rb
│ ├── subdomains_controller_spec.rb
│ ├── invitations_controller_spec.rb
│ └── votes_controller_spec.rb
├── features
│ ├── step_definitions
│ │ ├── page_steps.rb
│ │ ├── pagination_steps.rb
│ │ ├── dean_steps.rb
│ │ ├── dean_edits_project_steps.rb
│ │ ├── guest_views_chapter.rb
│ │ ├── dean_manages_promotions_steps.rb
│ │ ├── guest_views_project_steps.rb
│ │ ├── admin_manages_promotions_steps.rb
│ │ ├── export_steps.rb
│ │ ├── guest_views_chapter_steps.rb
│ │ ├── photo_steps.rb
│ │ └── role_steps.rb
│ ├── admin_edits_user.feature
│ ├── dean_deletes_spam.feature
│ ├── guest_views_homepage.feature
│ ├── dean_views_projects.feature
│ ├── dean_generates_shortlist_report.feature.pending
│ ├── dean_creates_additional_questions_for_application.feature
│ ├── admin_dean_manage_chapters.feature
│ ├── dean_edits_project.feature
│ ├── trustee_edits_profile.feature
│ ├── admin_views_project_submissions.feature
│ ├── guest_views_project.feature
│ ├── admin_exports_projects.feature
│ ├── admin_manages_promotions.feature
│ ├── dean_manages_promotions.feature
│ ├── dean_views_finalists.feature
│ ├── guest_submits_application.feature
│ └── dean_picks_winner.feature
├── javascripts
│ └── test_spec.coffee
├── requests
│ └── routing_spec.rb
└── spec_helper.rb
├── .ruby-version
├── app
├── mailers
│ ├── .gitkeep
│ ├── project_mailer.rb
│ └── invitation_mailer.rb
├── models
│ ├── .gitkeep
│ ├── callbacks
│ │ └── url_normalizer.rb
│ ├── vote.rb
│ ├── guest.rb
│ └── role.rb
├── views
│ ├── pages
│ │ ├── .gitkeep
│ │ ├── faq.html.erb
│ │ └── about_us.html.erb
│ ├── users
│ │ ├── edit.html.erb
│ │ ├── _form.html.erb
│ │ └── index.html.erb
│ ├── chapters
│ │ ├── new.html.erb
│ │ ├── edit.html.erb
│ │ ├── index.html.erb
│ │ ├── _chapter.html.erb
│ │ └── _form.html.erb
│ ├── shared
│ │ ├── _flashes.html.erb
│ │ ├── _javascript.html.erb
│ │ ├── _lightbox.html.erb
│ │ ├── _analytics.html.erb
│ │ ├── _rssfeed.html.erb
│ │ ├── _footer.html.erb
│ │ ├── _sidebar.html.erb
│ │ └── _navigation.html.erb
│ ├── errors
│ │ └── not_found.html.erb
│ ├── layouts
│ │ ├── _locales.html.erb
│ │ └── application.html.erb
│ ├── sessions
│ │ └── new.html.erb
│ ├── acceptances
│ │ └── new.html.erb
│ ├── projects
│ │ ├── edit.html.erb
│ │ ├── new.html.erb
│ │ ├── show.html.erb
│ │ ├── _image_form.html.erb
│ │ └── _project_hidden.html.erb
│ ├── funded_projects
│ │ └── index.xml.builder
│ ├── invitation_mailer
│ │ ├── invite_trustee.text.erb
│ │ └── welcome_trustee.text.erb
│ ├── locales
│ │ ├── _contact.ru.md
│ │ ├── _contact.en.md
│ │ ├── _contact.fr.md
│ │ ├── _contact.pt.md
│ │ ├── _contact.es.md
│ │ └── _about_us.ru.md
│ ├── invitations
│ │ └── new.html.erb
│ └── project_mailer
│ │ └── new_application.text.erb
├── assets
│ ├── images
│ │ ├── fb.png
│ │ ├── apply.png
│ │ ├── blog.png
│ │ ├── idea.png
│ │ ├── logo.png
│ │ ├── mail.png
│ │ ├── money.png
│ │ ├── rails.png
│ │ ├── blog-2.png
│ │ ├── twitter.png
│ │ ├── arrow_left.png
│ │ ├── chapter_bg.png
│ │ ├── dean-hat.png
│ │ ├── mini_map.png
│ │ ├── tagline_bg.png
│ │ ├── worldmap.png
│ │ ├── arrow_right.png
│ │ ├── info-graphic.png
│ │ ├── info_graphic.png
│ │ ├── jagged_edge.png
│ │ ├── logo-160x160.png
│ │ ├── map_texture.png
│ │ ├── social_icons.png
│ │ ├── hamburger-small.png
│ │ ├── logo-1500x750.png
│ │ ├── no-image-index.png
│ │ ├── no-image-main.png
│ │ ├── no-image-original.png
│ │ ├── small_arrow_left.png
│ │ ├── small_arrow_right.png
│ │ ├── awesome-news-banner.png
│ │ └── location_pin_small.png
│ ├── javascripts
│ │ ├── test.js.coffee
│ │ ├── hamburger.js
│ │ ├── chapters.js.coffee
│ │ ├── acceptances.js.coffee
│ │ ├── invitations.js.coffee
│ │ ├── tagline.js
│ │ ├── application.js
│ │ ├── chapter-dropdown.js
│ │ └── chapter-carousel.js
│ └── stylesheets
│ │ ├── _slideshow.scss
│ │ ├── _projects-edit.scss
│ │ ├── _projects.scss
│ │ ├── _chapters.scss
│ │ ├── _chapters-new.scss
│ │ ├── acceptances.css.scss
│ │ ├── _base-variables.scss
│ │ ├── _shared-feed.scss
│ │ ├── _finalists.scss
│ │ ├── _base-mixins.scss
│ │ ├── _base-extends.scss
│ │ ├── _shared-flash-messages.scss
│ │ ├── _base.scss
│ │ ├── _invitations-new.scss
│ │ ├── _shared-footer.scss
│ │ ├── _pagination.scss
│ │ ├── application.css.scss
│ │ └── _projects-mobile.scss
├── controllers
│ ├── errors_controller.rb
│ ├── sessions_controller.rb
│ ├── home_controller.rb
│ ├── roles_controller.rb
│ ├── funded_projects_controller.rb
│ ├── acceptances_controller.rb
│ ├── admins_controller.rb
│ ├── promotions_controller.rb
│ ├── subdomains_controller.rb
│ ├── votes_controller.rb
│ ├── finalists_controller.rb
│ ├── invitations_controller.rb
│ ├── winners_controller.rb
│ ├── chapters_controller.rb
│ └── users_controller.rb
├── extras
│ ├── subdomain_constraint.rb
│ ├── gravatar.rb
│ ├── country_sort_criteria.rb
│ ├── project_filter.rb
│ └── user_factory.rb
├── jobs
│ ├── direct_upload_job.rb
│ └── project_mailer_job.rb
├── validators
│ └── email_validator.rb
└── helpers
│ ├── invitations_helper.rb
│ ├── chapters_helper.rb
│ ├── application_helper.rb
│ └── projects_helper.rb
├── db
├── migrate
│ ├── .gitkeep
│ ├── 20120605132131_add_index_to_photo.rb
│ ├── 20120221203310_add_country_to_chapters.rb
│ ├── 20120223155120_project_rss_feed_url.rb
│ ├── 20120208135332_add_rss_feed_to_chapters.rb
│ ├── 20120208182547_add_funded_on_to_projects.rb
│ ├── 20120601153734_add_email_address_to_chapter.rb
│ ├── 20130925010702_add_chapter_time_zone.rb
│ ├── 20120213202939_last_chapter_user_is_viewing.rb
│ ├── 20141016030734_add_photo_direct_upload_url.rb
│ ├── 20150519013053_add_inactive_chapter.rb
│ ├── 20160721212739_add_chapter_locale.rb
│ ├── 20120828150909_ensure_lowercase_slugs.rb
│ ├── 20120605132113_add_index_to_invitation.rb
│ ├── 20120126190545_rename_submissions_to_projects.rb
│ ├── 20120223145132_add_sort_order_to_photos.rb
│ ├── 20120124210428_add_first_and_last_names_to_invitations.rb
│ ├── 20151010182141_add_hiding_to_projects.rb
│ ├── 20120227152649_remove_extra_urls_from_user.rb
│ ├── 20120206183303_create_votes.rb
│ ├── 20120221183925_create_photos.rb
│ ├── 20120124154733_create_invitations.rb
│ ├── 20120913183115_add_funded_description.rb
│ ├── 20120123213411_create_roles.rb
│ ├── 20120427130615_change_project_info_column_names.rb
│ ├── 20120202133816_ensure_uniqueness_of_roles_and_invitations.rb
│ ├── 20120522140401_add_slugs_to_chapters.rb
│ ├── 20121025015059_add_full_text_index_to_projects.rb
│ ├── 20120131180550_change_chapters.rb
│ ├── 20120131193919_remove_extra_fields_from_users.rb
│ ├── 20120214161129_extra_questions_on_applications.rb
│ └── 20120123194759_upgrade_clearance_to_diesel.rb
└── seeds.rb
├── public
├── images
│ └── .gitkeep
├── blog
│ └── awesome_foundation
│ │ ├── comments.php
│ │ ├── sidebar.php
│ │ ├── 404.php
│ │ ├── stylesheets
│ │ └── sass
│ │ │ ├── screen.scss
│ │ │ ├── bourbon
│ │ │ ├── lib
│ │ │ │ ├── bourbon
│ │ │ │ │ ├── sass_extensions.rb
│ │ │ │ │ └── sass_extensions
│ │ │ │ │ │ ├── functions
│ │ │ │ │ │ └── compact.rb
│ │ │ │ │ │ └── functions.rb
│ │ │ │ └── bourbon.rb
│ │ │ ├── css3
│ │ │ │ ├── _box-sizing.scss
│ │ │ │ ├── _user-select.scss
│ │ │ │ ├── _appearance.scss
│ │ │ │ ├── _inline-block.scss
│ │ │ │ ├── _box-shadow.scss
│ │ │ │ ├── _background-size.scss
│ │ │ │ ├── _transform.scss
│ │ │ │ └── _radial-gradient.scss
│ │ │ ├── functions
│ │ │ │ ├── _tint-shade.scss
│ │ │ │ ├── _grid-width.scss
│ │ │ │ ├── _render-gradients.scss
│ │ │ │ ├── _radial-gradient.scss
│ │ │ │ ├── _linear-gradient.scss
│ │ │ │ ├── _modular-scale.scss
│ │ │ │ ├── _deprecated-webkit-gradient.scss
│ │ │ │ └── _flex-grid.scss
│ │ │ ├── addons
│ │ │ │ ├── _font-family.scss
│ │ │ │ ├── _clearfix.scss
│ │ │ │ ├── _position.scss
│ │ │ │ └── _html5-input-types.scss
│ │ │ └── _bourbon.scss
│ │ │ ├── _base-variables.scss
│ │ │ └── _sidebar.scss
│ │ ├── searchform.php
│ │ ├── style.css
│ │ ├── header-head.php
│ │ ├── README
│ │ ├── footer.php
│ │ ├── functions.php
│ │ ├── loop-single.php
│ │ ├── page.php
│ │ ├── index.php
│ │ ├── archive.php
│ │ ├── header-nav.php
│ │ ├── loop-category.php
│ │ └── single.php
├── favicon.ico
├── favicon-1.ico
├── favicon-3.ico
└── robots.txt
├── .rspec
├── config
├── locales
│ └── ww.yml
├── initializers
│ ├── csv.rb
│ ├── rss.rb
│ ├── magickly.rb
│ ├── clearance.rb
│ ├── mime_types.rb
│ ├── rack-attack.rb
│ ├── s3_file_field.rb
│ ├── safe_join_fix.rb
│ ├── time_formats.rb
│ ├── email.rb
│ ├── fog.rb
│ ├── backtrace_silencers.rb
│ ├── session_store.rb
│ ├── secret_token.rb
│ ├── wrap_parameters.rb
│ ├── inflections.rb
│ ├── paperclip.rb
│ └── errors.rb
├── database.travis.yml
├── evergreen.rb
├── environment.rb
├── boot.rb
├── cucumber.yml
├── unicorn.rb
├── database.yml
└── environments
│ └── development.rb
├── vendor
└── assets
│ └── stylesheets
│ └── .gitkeep
├── Procfile
├── features
├── step_definitions
│ ├── factory_girl_steps.rb
│ └── trustee_steps.rb
└── clearance
│ ├── visitor_signs_out.feature
│ ├── visitor_signs_up.feature
│ └── visitor_signs_in.feature
├── doc
├── awesomebits-docker-compose-up.gif
└── awesomebits-docker-compose-rails-console.gif
├── docker-runapp.sh
├── config.ru
├── .gitignore
├── Dockerfile
├── script
├── rails
└── cucumber
├── docker-compose.yml
├── .travis.yml
└── Rakefile
/log/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/tasks/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/lib/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 2.1.7
2 |
--------------------------------------------------------------------------------
/app/mailers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/models/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/db/migrate/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/models/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/support/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/views/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/views/pages/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/controllers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/support/mixins/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.rspec:
--------------------------------------------------------------------------------
1 | --colour
2 | -r turnip
3 |
--------------------------------------------------------------------------------
/config/locales/ww.yml:
--------------------------------------------------------------------------------
1 | ww:
2 |
--------------------------------------------------------------------------------
/spec/support/matchers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/spec/support/shared_examples/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/blog/awesome_foundation/comments.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/config/initializers/csv.rb:
--------------------------------------------------------------------------------
1 | require 'csv'
2 |
--------------------------------------------------------------------------------
/spec/support/clearance.rb:
--------------------------------------------------------------------------------
1 | require 'clearance/testing'
2 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: bundle exec passenger start -p $PORT --max-pool-size ${WEB_CONCURRENCY:-3}
2 |
--------------------------------------------------------------------------------
/config/initializers/rss.rb:
--------------------------------------------------------------------------------
1 | MAIN_AWESOME_RSS = "http://blog.awesomefoundation.org/feed/"
2 |
--------------------------------------------------------------------------------
/features/step_definitions/factory_girl_steps.rb:
--------------------------------------------------------------------------------
1 | require 'factory_girl/step_definitions'
2 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/public/favicon.ico
--------------------------------------------------------------------------------
/config/initializers/magickly.rb:
--------------------------------------------------------------------------------
1 | ENV['MAGICKLY_HOST'] ||= "http://img.awesomefoundation.org"
2 |
--------------------------------------------------------------------------------
/features/step_definitions/trustee_steps.rb:
--------------------------------------------------------------------------------
1 | step 'I am logged in as a trustee' do
2 |
3 | end
4 |
--------------------------------------------------------------------------------
/public/favicon-1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/public/favicon-1.ico
--------------------------------------------------------------------------------
/public/favicon-3.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/public/favicon-3.ico
--------------------------------------------------------------------------------
/app/assets/images/fb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/fb.png
--------------------------------------------------------------------------------
/app/assets/javascripts/test.js.coffee:
--------------------------------------------------------------------------------
1 | @TestObject =
2 | first: 2
3 | second: 2
4 | sum: 4
5 |
--------------------------------------------------------------------------------
/app/assets/images/apply.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/apply.png
--------------------------------------------------------------------------------
/app/assets/images/blog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/blog.png
--------------------------------------------------------------------------------
/app/assets/images/idea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/idea.png
--------------------------------------------------------------------------------
/app/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/logo.png
--------------------------------------------------------------------------------
/app/assets/images/mail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/mail.png
--------------------------------------------------------------------------------
/app/assets/images/money.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/money.png
--------------------------------------------------------------------------------
/app/assets/images/rails.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/rails.png
--------------------------------------------------------------------------------
/spec/support/fixtures/1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/spec/support/fixtures/1.JPG
--------------------------------------------------------------------------------
/spec/support/fixtures/2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/spec/support/fixtures/2.JPG
--------------------------------------------------------------------------------
/spec/support/fixtures/3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/spec/support/fixtures/3.JPG
--------------------------------------------------------------------------------
/app/assets/images/blog-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/blog-2.png
--------------------------------------------------------------------------------
/app/assets/images/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/twitter.png
--------------------------------------------------------------------------------
/app/assets/stylesheets/_slideshow.scss:
--------------------------------------------------------------------------------
1 | #project-gallery .viewport .piece {
2 | position: absolute;
3 | }
4 |
--------------------------------------------------------------------------------
/app/assets/images/arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/arrow_left.png
--------------------------------------------------------------------------------
/app/assets/images/chapter_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/chapter_bg.png
--------------------------------------------------------------------------------
/app/assets/images/dean-hat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/dean-hat.png
--------------------------------------------------------------------------------
/app/assets/images/mini_map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/mini_map.png
--------------------------------------------------------------------------------
/app/assets/images/tagline_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/tagline_bg.png
--------------------------------------------------------------------------------
/app/assets/images/worldmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/worldmap.png
--------------------------------------------------------------------------------
/app/assets/stylesheets/_projects-edit.scss:
--------------------------------------------------------------------------------
1 | #old-photos {
2 | li span {
3 | position: absolute;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/spec/support/fixtures/מדהים.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/spec/support/fixtures/מדהים.png
--------------------------------------------------------------------------------
/app/assets/images/arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/arrow_right.png
--------------------------------------------------------------------------------
/app/assets/images/info-graphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/info-graphic.png
--------------------------------------------------------------------------------
/app/assets/images/info_graphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/info_graphic.png
--------------------------------------------------------------------------------
/app/assets/images/jagged_edge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/jagged_edge.png
--------------------------------------------------------------------------------
/app/assets/images/logo-160x160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/logo-160x160.png
--------------------------------------------------------------------------------
/app/assets/images/map_texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/map_texture.png
--------------------------------------------------------------------------------
/app/assets/images/social_icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/social_icons.png
--------------------------------------------------------------------------------
/app/assets/images/hamburger-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/hamburger-small.png
--------------------------------------------------------------------------------
/app/assets/images/logo-1500x750.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/logo-1500x750.png
--------------------------------------------------------------------------------
/app/assets/images/no-image-index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/no-image-index.png
--------------------------------------------------------------------------------
/app/assets/images/no-image-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/no-image-main.png
--------------------------------------------------------------------------------
/config/database.travis.yml:
--------------------------------------------------------------------------------
1 | test:
2 | adapter: postgresql
3 | database: awesomefoundation_test
4 | username: postgres
5 |
--------------------------------------------------------------------------------
/doc/awesomebits-docker-compose-up.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/doc/awesomebits-docker-compose-up.gif
--------------------------------------------------------------------------------
/spec/features/step_definitions/page_steps.rb:
--------------------------------------------------------------------------------
1 | step 'I am on the admin homepage' do
2 | visit admin_dashboard_url
3 | end
4 |
--------------------------------------------------------------------------------
/app/assets/images/no-image-original.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/no-image-original.png
--------------------------------------------------------------------------------
/app/assets/images/small_arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/small_arrow_left.png
--------------------------------------------------------------------------------
/app/assets/images/small_arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/small_arrow_right.png
--------------------------------------------------------------------------------
/app/assets/images/awesome-news-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/awesome-news-banner.png
--------------------------------------------------------------------------------
/app/assets/images/location_pin_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/al3x/awesomebits/master/app/assets/images/location_pin_small.png
--------------------------------------------------------------------------------
/config/initializers/clearance.rb:
--------------------------------------------------------------------------------
1 | Clearance.configure do |config|
2 | config.mailer_sender = 'do-not-reply@awesomefoundation.org'
3 | end
4 |
--------------------------------------------------------------------------------
/app/controllers/errors_controller.rb:
--------------------------------------------------------------------------------
1 | class ErrorsController < ApplicationController
2 | def not_found
3 | render_404
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/users/edit.html.erb:
--------------------------------------------------------------------------------
1 | <%= t('.title') %>
3 | <%= render 'form', :user => @user %>
4 | <%= t ".title" %>
3 | <%= render 'form', :chapter => @chapter %>
4 | <%= t ".title" %>
3 | <%= render 'form', :chapter => @chapter %>
4 |
Custom 404 page
7 | 8 | 9 | -------------------------------------------------------------------------------- /public/blog/awesome_foundation/stylesheets/sass/screen.scss: -------------------------------------------------------------------------------- 1 | @import 'bourbon/bourbon'; 2 | 3 | @import 'base-variables'; 4 | @import 'base'; 5 | @import 'post'; 6 | @import 'sidebar'; 7 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | # This file is used by Rack-based servers to start the application. 2 | 3 | require ::File.expand_path('../config/environment', __FILE__) 4 | run Awesomefoundation::Application 5 | -------------------------------------------------------------------------------- /config/evergreen.rb: -------------------------------------------------------------------------------- 1 | require './config/environment' 2 | require 'capybara-webkit' 3 | 4 | Evergreen.configure do |config| 5 | config.public_dir = '.' 6 | config.driver = :webkit 7 | end 8 | -------------------------------------------------------------------------------- /db/migrate/20120221203310_add_country_to_chapters.rb: -------------------------------------------------------------------------------- 1 | class AddCountryToChapters < ActiveRecord::Migration 2 | def change 3 | add_column :chapters, :country, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20120223155120_project_rss_feed_url.rb: -------------------------------------------------------------------------------- 1 | class ProjectRssFeedUrl < ActiveRecord::Migration 2 | def change 3 | add_column :projects, :rss_feed_url, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20120208135332_add_rss_feed_to_chapters.rb: -------------------------------------------------------------------------------- 1 | class AddRssFeedToChapters < ActiveRecord::Migration 2 | def change 3 | add_column :chapters, :rss_feed_url, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20120208182547_add_funded_on_to_projects.rb: -------------------------------------------------------------------------------- 1 | class AddFundedOnToProjects < ActiveRecord::Migration 2 | def change 3 | add_column :projects, :funded_on, :date 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /config/environment.rb: -------------------------------------------------------------------------------- 1 | # Load the rails application 2 | require File.expand_path('../application', __FILE__) 3 | 4 | # Initialize the rails application 5 | Awesomefoundation::Application.initialize! 6 | -------------------------------------------------------------------------------- /db/migrate/20120601153734_add_email_address_to_chapter.rb: -------------------------------------------------------------------------------- 1 | class AddEmailAddressToChapter < ActiveRecord::Migration 2 | def change 3 | add_column :chapters, :email_address, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20130925010702_add_chapter_time_zone.rb: -------------------------------------------------------------------------------- 1 | class AddChapterTimeZone < ActiveRecord::Migration 2 | def change 3 | add_column 'chapters', 'time_zone', :string, :limit => 50 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20120213202939_last_chapter_user_is_viewing.rb: -------------------------------------------------------------------------------- 1 | class LastChapterUserIsViewing < ActiveRecord::Migration 2 | def change 3 | add_column :users, :last_viewed_chapter_id, :int 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20141016030734_add_photo_direct_upload_url.rb: -------------------------------------------------------------------------------- 1 | class AddPhotoDirectUploadUrl < ActiveRecord::Migration 2 | def change 3 | add_column 'photos', 'direct_upload_url', :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20150519013053_add_inactive_chapter.rb: -------------------------------------------------------------------------------- 1 | class AddInactiveChapter < ActiveRecord::Migration 2 | def change 3 | add_column 'chapters', 'inactive_at', :timestamp, :default => nil 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20160721212739_add_chapter_locale.rb: -------------------------------------------------------------------------------- 1 | class AddChapterLocale < ActiveRecord::Migration 2 | def change 3 | add_column :chapters, :locale, :string, :null => false, :default => "en" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/javascripts/test_spec.coffee: -------------------------------------------------------------------------------- 1 | require '/assets/application.js' 2 | 3 | describe 'a simple test', -> 4 | it 'ensures 2 plus 2 is 4', -> 5 | expect(TestObject.first + TestObject.second).toEqual(TestObject.sum) 6 | -------------------------------------------------------------------------------- /app/assets/stylesheets/_chapters.scss: -------------------------------------------------------------------------------- 1 | @import 'chapters-show'; 2 | @import 'chapters-index'; 3 | @import 'chapters-new'; 4 | 5 | body.chapters-show { 6 | section.container { 7 | width: 100%; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /app/views/errors/not_found.html.erb: -------------------------------------------------------------------------------- 1 |You may have mistyped the address or the page may have moved.
4 |<%= t(".intro") %>
4 | 5 | <%= render '/sessions/form' %> 6 | 7 |10 | <% if params[:include_inactive].present? %> 11 | <%= link_to t(".show_active_chapters"), :include_inactive => nil %> 12 | <% else %> 13 | <%= link_to t(".show_inactive_chapters"), :include_inactive => true %> 14 | <% end %> 15 |
16 |<%= chapter.country %>
10 |<%= t ".description" %>
4 |'; the_date(); echo '
'; 8 | echo '13 | <%= raw t ".back-to", :name => @project.chapter.name, :url => chapter_projects_path(@project.chapter) %> 14 |
15 | 16 | <%= render @project, full_view: true %> 17 | 18 |Trustee will be invited to: 8 | <%= primary_invitable_chapter.name %> 9 |
10 | <%= form.input :chapter_id, :as => :hidden, :input_html => { :value => primary_invitable_chapter.id } %> 11 | <% end %> 12 |'; the_time(get_option('date_format')); echo '
'; 12 | echo 'Test
\n" 20 | end 21 | 22 | it 'returns html_safe text' do 23 | helper.markdown('test').should be_html_safe 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/features/admin_dean_manage_chapters.feature: -------------------------------------------------------------------------------- 1 | Feature: Manage Chapters 2 | An admin can create and modify chapters 3 | A dean of a chapter can modify the chapter 4 | 5 | Scenario: An admin creates a chapter 6 | Given I am logged in as an admin 7 | When I create a new chapter 8 | And I go to the chapters index 9 | Then I should see this new chapter 10 | 11 | Scenario: An admin tries to create an invalid chapter 12 | Given I am logged in as an admin 13 | When I go to create a new chapter 14 | But I just submit the form 15 | Then I should see the new chapter form with errors 16 | 17 | Scenario: A dean edits a chapter 18 | Given I am logged in as a dean 19 | When I edit a chapter 20 | Then I should see the updated chapter 21 | 22 | Scenario: A trustee attempts to edit a chapter 23 | Given I am logged in as a trustee 24 | When I attempt to edit a chapter 25 | Then I should see a permissions error 26 | -------------------------------------------------------------------------------- /app/assets/stylesheets/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Flickr-style from http://mislav.uniqpath.com/will_paginate/ 2 | .pagination { 3 | text-align: center; 4 | padding: 1em 0; 5 | cursor: default; 6 | 7 | a, span, em { 8 | padding: 0.2em 0.5em; 9 | } 10 | 11 | .disabled { 12 | color: #aaaaaa; 13 | } 14 | 15 | .current { 16 | font-style: normal; 17 | font-weight: bold; 18 | color: #ff0084; 19 | } 20 | 21 | a { 22 | border: 1px solid #dddddd; 23 | color: #0063dc; 24 | text-decoration: none; 25 | &:hover, &:focus { 26 | border-color: #003366; 27 | background: #0063dc; 28 | color: white; 29 | } 30 | } 31 | 32 | .page_info { 33 | color: #aaaaaa; 34 | padding-top: 0.8em; 35 | } 36 | 37 | .previous_page, .next_page { 38 | border-width: 2px; 39 | } 40 | 41 | .previous_page { 42 | margin-right: 1em; 43 | } 44 | 45 | .next_page { 46 | margin-left: 1em; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /public/blog/awesome_foundation/stylesheets/sass/bourbon/functions/_linear-gradient.scss: -------------------------------------------------------------------------------- 1 | @function linear-gradient($pos: top, $G1: false, $G2: false, 2 | $G3: false, $G4: false, 3 | $G5: false, $G6: false, 4 | $G7: false, $G8: false, 5 | $G9: false, $G10: false) { 6 | 7 | // Detect what type of value exists in $pos 8 | $pos-type: type-of(nth($pos, 1)); 9 | 10 | // If $pos is missing from mixin, reassign vars and add default position 11 | @if ($pos-type == color) or (nth($pos, 1) == "transparent") { 12 | $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5; 13 | $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos; 14 | $pos: top; // Default position 15 | } 16 | 17 | $type: linear; 18 | $gradient: compact($pos, $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10); 19 | $type-gradient: append($type, $gradient, comma); 20 | 21 | @return $type-gradient; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /spec/features/step_definitions/guest_views_chapter_steps.rb: -------------------------------------------------------------------------------- 1 | step 'there are 5 trustees' do 2 | @trustees = (1..5).map { FactoryGirl.create(:user) } 3 | @trustees.each do |trustee| 4 | FactoryGirl.create(:role, 5 | :user => trustee, 6 | :name => 'trustee', 7 | :chapter => @current_chapter) 8 | end 9 | end 10 | 11 | step 'I should see the trustees' do 12 | @trustees.each do |trustee| 13 | page.should have_selector(".trustee-details h3", :text => "#{trustee.first_name} #{trustee.last_name}") 14 | end 15 | end 16 | 17 | step 'there is a trustee' do 18 | @chapter = FactoryGirl.create(:chapter) 19 | @trustee = FactoryGirl.create(:user, :url => 'http://www.myawesomeblog.com') 20 | @role = FactoryGirl.create(:role, :user => @trustee, :chapter => @chapter) 21 | end 22 | 23 | step 'I should be able to click on a trustee' do 24 | visit chapter_path(@chapter) 25 | page.should have_css("a.avatar[href='#{@trustee.url}']") 26 | end 27 | -------------------------------------------------------------------------------- /spec/features/dean_edits_project.feature: -------------------------------------------------------------------------------- 1 | Feature: Dean edits a project 2 | 3 | @javascript 4 | Scenario: Dean adds and rearranges some photos to a project 5 | Given I am logged in as a dean 6 | And there is 1 winning project in my chapter 7 | When I edit that winning project 8 | And I attach 3 photos 9 | And I go to the public page for that project 10 | Then I should see the three photos in the carousel 11 | 12 | When I edit that winning project 13 | And I set the last image to be first 14 | Then I should see that last image when I load the page 15 | 16 | @javascript 17 | Scenario: Dean sets the funding date for a winning project 18 | Given I am logged in as a dean 19 | And there is 1 winning project in my chapter 20 | When I edit that winning project 21 | And I set the winning date to be February 2008 22 | And I go to the public page for that project 23 | Then I should see the project was funded in February 2008 24 | -------------------------------------------------------------------------------- /spec/models/country_sort_criteria_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe CountrySortCriteria do 4 | 5 | let(:chapter1) { FactoryGirl.create(:chapter, :name => 'Salzburg', :country => 'Austria') } 6 | let(:chapter2) { FactoryGirl.create(:chapter, :name => 'Los Angeles', :country => 'United States') } 7 | let(:chapter3) { FactoryGirl.create(:chapter, :name => 'Sydney', :country => 'Australia') } 8 | let(:chapter4) { FactoryGirl.create(:chapter, :name => 'Boston', :country => 'United States') } 9 | let(:chapter5) { FactoryGirl.create(:chapter, :name => 'Awesome Without Borders', :country => 'Worldwide') } 10 | let(:chapters) { [chapter1, chapter2, chapter3, chapter4, chapter5] } 11 | 12 | context "given an array of chapters" do 13 | it "should be sorted based on priorty and country name" do 14 | chapters.sort_by(&CountrySortCriteria.new(COUNTRY_PRIORITY)).should == [chapter5, chapter3, chapter1, chapter4, chapter2] 15 | end 16 | end 17 | 18 | end 19 | -------------------------------------------------------------------------------- /spec/features/trustee_edits_profile.feature: -------------------------------------------------------------------------------- 1 | Feature: As a trustee I can edit my profile 2 | 3 | Scenario: Trustee changes account information 4 | Given I am logged in as a trustee 5 | When I change my profile information 6 | Then my profile is updated 7 | And I am on the projects page of my last viewed chapter 8 | 9 | Scenario: Trustee tries to change another users account 10 | Given I am logged in as a trustee 11 | And there is another trustee in the system 12 | When I try to change the other trustees information 13 | Then I should see an update user permission error 14 | 15 | Scenario: Trustee changes password 16 | Given I am logged in as a trustee 17 | When I update my password 18 | And I log out 19 | Then I should be able to log in with updated password 20 | 21 | Scenario: Trustee is not associated with a chpater 22 | Given I log in as a trustee with no chapter 23 | Then I should see an error about not having a chapter 24 | -------------------------------------------------------------------------------- /features/clearance/visitor_signs_in.feature: -------------------------------------------------------------------------------- 1 | Feature: Sign in 2 | 3 | In order to get access to protected sections of the site 4 | As a visitor 5 | I want to sign in 6 | 7 | Scenario: Visitor is not signed up 8 | When I sign in as "unknown.email@example.com" 9 | Then I am told email or password is bad 10 | And I should be signed out 11 | 12 | Scenario: Visitor enters wrong password 13 | Given I am signed up as "email@example.com" 14 | When I sign in as "email@example.com" and "badpassword" 15 | Then I am told email or password is bad 16 | And I should be signed out 17 | 18 | Scenario: Visitor signs in successfully 19 | Given I am signed up as "email@example.com" 20 | When I sign in as "email@example.com" 21 | Then I should be signed in 22 | 23 | Scenario: Visitor signs in successfully with uppercase email 24 | Given I am signed up as "email@example.com" 25 | When I sign in as "Email@example.com" 26 | Then I should be signed in 27 | -------------------------------------------------------------------------------- /app/views/users/index.html.erb: -------------------------------------------------------------------------------- 1 || <%= t(".name") %> | 10 |<%= t(".email") %> | 11 | <% if current_user.can_edit_all_profiles? %> 12 |<%= t(".edit") %> | 13 | <% end %> 14 |<%= t(".chapter") %> | 15 |<%= t(".role") %> | 16 | <% if current_user.can_manage_users?(current_chapter) %> 17 |<%= t(".dean") %> | 18 | <% end %> 19 | <% if current_user.can_manage_permissions? %> 20 |<%= t(".admin") %> | 21 | <% end %> 22 | <% if current_user.can_manage_users?(current_chapter) %> 23 |<%= t(".remove") %> | 24 | <% end %> 25 |
|---|