Skip to content
This repository was archived by the owner on Oct 18, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ gem 'redcarpet'
gem 'pygments.rb'

gem "twitter-bootstrap-rails"
gem 'bootstrap-glyphicons'
gem 'asset_sync'
gem 'unicorn'
gem 'newrelic_rpm'
Expand Down
4 changes: 4 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ GEM
better_errors (1.0.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
bootstrap-glyphicons (0.0.1)
railties (>= 3.0)
sass (>= 3.2)
builder (3.1.4)
cancan (1.6.10)
capistrano (2.15.5)
Expand Down Expand Up @@ -265,6 +268,7 @@ PLATFORMS
DEPENDENCIES
asset_sync
better_errors
bootstrap-glyphicons
cancan
capistrano
capybara
Expand Down
23 changes: 23 additions & 0 deletions app/assets/javascripts/meeting_requests.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
$(function() {
$('.concept-search').click(function() {
$(this).toggleClass('badge-success');
if ($('.badge-success').length === 0) {
$('.request').show();
} else {
$('#open-requests').children('.request').hide();
showRelated(getSelectedConceptNames());
}
});
});

function getSelectedConceptNames() {
return $('.badge-success').map(function() {
return $(this).attr('data-name').toLowerCase();
});
}

function showRelated(tagNames) {
tagNames.each(function() {
$('[data-' + this + '="true"]').show();
});
}
2 changes: 2 additions & 0 deletions app/assets/stylesheets/application.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
*= require_tree .
*/

@import 'bootstrap/glyphicons';

footer {
position: relative;
width: 370px;
Expand Down
25 changes: 25 additions & 0 deletions app/assets/stylesheets/layouts.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,28 @@ $mercury: #d1d1d1;
#location-map {
display: none;
}

.request {
border: solid;
border-color: grey;
margin-bottom: 5px;
padding: 2px;
}

.no-left-margin {
margin-left: 0px;
}

.concept-tag {
cursor: pointer;
&:hover {
background-color: blue;
}
}

.concept-search {
cursor: pointer;
&:hover {
background-color: green;
}
}
5 changes: 4 additions & 1 deletion app/controllers/meeting_requests_controller.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
class MeetingRequestsController < ApplicationController
def new
@meeting_request = MeetingRequest.new(member_uuid: current_user.uuid)
@concepts = Concept.all
authorize! :create, @meeting_request
end

Expand All @@ -17,6 +18,7 @@ def create

def edit
@meeting_request = MeetingRequest.find(params[:id])
@concepts = Concept.all
authorize! :update, @meeting_request
end

Expand All @@ -37,6 +39,7 @@ def index
claimed_uuids = current_user.claimed_meeting_requests.map(&:member_uuid)
@open_users = User.fetch_from_uuids(open_uuids)
@claimed_users = User.fetch_from_uuids(claimed_uuids)
@concepts = Concept.all
end

def show
Expand All @@ -58,6 +61,6 @@ def destroy
private

def meeting_request_params
params.require(:meeting_request).permit(:title, :content, :contact_info, :member_uuid)
params.require(:meeting_request).permit(:title, :content, :contact_info, :member_uuid, :concept_ids => [])
end
end
4 changes: 4 additions & 0 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ def sponsors
]
end

def escape_attribute_name(string)
string.gsub(/\W|_/, '-').downcase
end

class HTMLwithPygments < Redcarpet::Render::HTML
def block_code(code, language)
Pygments.highlight(code, lexer:language)
Expand Down
1 change: 1 addition & 0 deletions app/views/meeting_requests/_concept.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<li class='badge concept-search' data-name='<%= escape_attribute_name(concept.name) %>'><%= concept.name %></li>
27 changes: 14 additions & 13 deletions app/views/meeting_requests/_mentor_requests_index.html.erb
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<div class="row">
<div class="span12">
<h3>My Claimed Requests</h3>
<%= render 'requests_list', meeting_requests: current_user.claimed_meeting_requests, users: @claimed_users %>
</div>
</div>

<div class="row">
<div class="span8">
<section id='my-requests' class='span12'>
<h3>My Claimed Requests</h3>
<%= render 'requests_list', meeting_requests: current_user.claimed_meeting_requests, users: @claimed_users %>
</section>
<section class='row-fluid'>
<div id='open-requests' class='span9'>
<h3>Open Requests</h3>
<%= render 'requests_list', meeting_requests: current_user.open_meeting_requests, users: @open_users %>
</div>

<div class="span4">
<h4>Concepts</h4>
<div class="span3 concepts">
<h3>Concepts</h3>
<p>Click on a concept to see related requests</p>
<ul class='inline'>
<%= render partial: "concept", collection: @concepts %>
</ul>
</div>
</div>
</section>

26 changes: 21 additions & 5 deletions app/views/meeting_requests/_request_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,32 @@
<%= render 'shared/form_errors', object: @meeting_request %>

<div class='row'>
<div class="form-group">
<%= f.label :title %>
<div class='form-group span2'>
<%= f.label :title, 'Title' %>
<div class='span9'>
<%= f.text_field :title, class: "form-control" %>
</div>
</div>

<div class='row'>
<div class="form-group">
<%= f.label :contact_method, "What is the best way to contact you?" %>
<%= f.text_area :contact_info, class: "form-control meeting-contact-form" %>
<div class='form-group span2'>
<%= f.label :contact_info, 'What is the best way to contact you?' %>
<div class='span10'>
<%= f.text_area :contact_info, class: "meeting-contact-form" %>
</div>
</div>

<div class='row'>
<div class='span2'>
<h5 class='muted'>Concepts Involved</h5>
</div>
<div class='span10'>
<% @concepts.each do |concept| %>
<label class='checkbox'>
<%= check_box_tag "meeting_request[concept_ids][]", concept.id %>
<%= concept.name %>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wants to be in a label so you don't have to click on the checkbox itself.

</label>
<% end %>
</div>
</div>

Expand Down
2 changes: 2 additions & 0 deletions app/views/meeting_requests/_request_status.html.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<% if current_user.is_mentor? && meeting_request.mentor_uuid.nil? %>
<div class="row">
<h4 class="center-text">
<i class='icon-exclamation-sign'></i>
Unclaimed
</h4>
</div>
Expand Down Expand Up @@ -41,6 +42,7 @@

<% elsif meeting_request.mentor_uuid.nil? %>
<h4 class="center-text">
<i class='icon-exclamation-sign'></i>
Unclaimed
</h4>
<p class="muted">
Expand Down
32 changes: 17 additions & 15 deletions app/views/meeting_requests/_requests_list.html.erb
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
<ul class="plain-list">
<% meeting_requests.each do |meeting_request| %>
<li class="extra-margin-bottom">
<div class="row">
<%= link_to meeting_request.title, meeting_request_path(meeting_request) %>
</div>

<div class="row muted">
<%= meeting_request.created_at.strftime("%B %d, %Y") %>
<% if current_user.is_mentor? %>
| <%= users[meeting_request.member_uuid].name %>
<% end %>
</div>
</li>
<% meeting_requests.each do |meeting_request| %>
<% if meeting_request.concepts.any? %>
<div class='request'
<% meeting_request.concepts.each do |concept| %>
data-<%= escape_attribute_name(concept.name) %>='true'
<% end %>
>
<% else %>
<div class='request'>
<% end %>
</ul>
<%= link_to meeting_request.title, meeting_request_path(meeting_request) %>
<p class="muted">
<%= meeting_request.created_at.strftime("%b %d") %>
- <%= users[meeting_request.member_uuid].name %>
<%= render 'shared/concept_tags', object: meeting_request %>
</p>
</div>
<% end %>
12 changes: 9 additions & 3 deletions app/views/meeting_requests/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,15 @@
</h3>
</div>
<div class="row muted">
<%= @meeting_request.created_at.strftime("%B %d, %Y") %>
- <%= @member.name %>
<div class='span5'>
<%= @meeting_request.created_at.strftime("%b %d ") %>
- <%= @member.name %>
</div>
<div class='span7'>
<div id='related-concepts'>
<%= render 'shared/concept_tags', object: @meeting_request %>
</div>
</div>
</div>
<div class="row">
<%= simple_format(@meeting_request.content) %>
Expand Down Expand Up @@ -40,7 +47,6 @@
<%= link_to 'Delete Request', meeting_request_path(@meeting_request), method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-wide' %>
</div>
<% end %>

</div>
</div>
</div>
Empty file.
7 changes: 7 additions & 0 deletions app/views/shared/_concept_tags.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<% if object.concepts.any? %>
<ul class='inline'>
<% object.concepts.each do |concept| %>
<li><%= link_to concept.name, concept_path(concept), class: 'label concept-tag' %></li>
<% end %>
</ul>
<% end %>
Loading