merge develop

This commit is contained in:
Connor Turland 2015-12-22 13:16:03 -05:00
commit 49dd2f2e92
12 changed files with 82 additions and 88 deletions

View file

@ -51,6 +51,3 @@ group :development, :test do
gem 'quiet_assets' gem 'quiet_assets'
gem 'tunemygc' gem 'tunemygc'
end end
# To use Jbuilder templates for JSON
gem 'jbuilder'

View file

@ -928,8 +928,11 @@ Metamaps.TopicCard = {
setTimeout(function () { setTimeout(function () {
var text = $(element).val(); var text = $(element).val();
if (event.type=="paste" || (event.type=="keyup" && event.which==13)){ if (event.type=="paste" || (event.type=="keyup" && event.which==13)){
if (text.slice(0, 4) !== 'http') { // TODO evaluate converting this to '//' no matter what (infer protocol)
text='http://'+text; if (text.slice(0, 7) !== 'http://' &&
text.slice(0, 8) !== 'https://' &&
text.slice(0, 2) !== '//') {
text='//'+text;
} }
topic.save({ topic.save({
link: text link: text
@ -1897,7 +1900,7 @@ Metamaps.Util = {
return (url.match(/\.(jpeg|jpg|gif|png)$/) != null); return (url.match(/\.(jpeg|jpg|gif|png)$/) != null);
}, },
checkURLisYoutubeVideo: function (url) { checkURLisYoutubeVideo: function (url) {
return (url.match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=[^?]*v=\w+)(?:[^\s?]+)?$/) != null); return (url.match(/^https?:\/\/(?:www\.)?youtube.com\/watch\?(?=[^?]*v=\w+)(?:[^\s?]+)?$/) != null);
} }
}; // end Metamaps.Util }; // end Metamaps.Util
@ -1907,8 +1910,8 @@ Metamaps.Util = {
* *
*/ */
Metamaps.Realtime = { Metamaps.Realtime = {
stringForLocalhost: 'http://' + location.host.split(':')[0] + ':5001', stringForLocalhost: '//' + location.host.split(':')[0] + ':5001',
stringForMetamaps: 'http://metamaps.cc:5001', stringForMetamaps: 'https://realtime.metamaps.cc',
stringForHeroku: 'https://gentle-savannah-1303.herokuapp.com', stringForHeroku: 'https://gentle-savannah-1303.herokuapp.com',
videoId: 'video-wrapper', videoId: 'video-wrapper',
socket: null, socket: null,
@ -3226,7 +3229,6 @@ Metamaps.Control = {
if (edge.getData("synapses").length - 1 === 0) { if (edge.getData("synapses").length - 1 === 0) {
Metamaps.Control.hideEdge(edge); Metamaps.Control.hideEdge(edge);
} }
var mappableid = synapse.id; var mappableid = synapse.id;
synapse.destroy(); synapse.destroy();

View file

@ -11,7 +11,13 @@ class ApplicationController < ActionController::Base
helper_method :admin? helper_method :admin?
def after_sign_in_path_for(resource) def after_sign_in_path_for(resource)
sign_in_url = url_for(:action => 'new', :controller => 'sessions', :only_path => false, :protocol => 'http') unsafe_uri = request.env["REQUEST_URI"]
if unsafe_uri.starts_with?('http') && !unsafe_uri.starts_with?('https')
protocol = 'http'
else
protocol = 'https'
end
sign_in_url = url_for(:action => 'new', :controller => 'sessions', :only_path => false, :protocol => protocol)
if request.referer == sign_in_url if request.referer == sign_in_url
super super
@ -60,7 +66,7 @@ private
def get_invite_link def get_invite_link
unsafe_uri = request.env["REQUEST_URI"] unsafe_uri = request.env["REQUEST_URI"]
valid_url = /^https?:\/\/([\w\.-]+)(:\d{1,5})?\/?$/ valid_url = /^https?:\/\/([\w\.-]+)(:\d{1,5})?\/?$/
safe_uri = (unsafe_uri.match(valid_url)) ? unsafe_uri : "http://metamaps.cc/" safe_uri = (unsafe_uri.match(valid_url)) ? unsafe_uri : "//metamaps.cc/"
@invite_link = "#{safe_uri}join" + (current_user ? "?code=#{current_user.code}" : "") @invite_link = "#{safe_uri}join" + (current_user ? "?code=#{current_user.code}" : "")
end end
end end

View file

@ -13,19 +13,4 @@ class Metacode < ActiveRecord::Base
return true if self.metacode_sets.include? metacode_set return true if self.metacode_sets.include? metacode_set
return false return false
end end
def asset_path_icon
if icon.start_with?('http')
icon
else
ActionController::Base.helpers.asset_path icon
end
end
#output json with asset_paths merged in
def as_json(options)
json = super(options.merge!(methods: :asset_path_icon))
json["icon"] = json["asset_path_icon"]
json.except("asset_path_icon")
end
end end

View file

@ -66,15 +66,10 @@ class User < ActiveRecord::Base
def generate_code def generate_code
self.code = rand(36**8).to_s(36) self.code = rand(36**8).to_s(36)
$codes.push(self.code) $codes.push(self.code)
self.generation = self.get_generation self.generation = get_generation!
end end
def get_generation def get_generation!
calculate_generation() if generation.nil?
generation
end
def calculate_generation
if code == joinedwithcode if code == joinedwithcode
update(generation: 0) update(generation: 0)
else else

View file

@ -46,6 +46,7 @@
</a> </a>
</li> </li>
<li> <li>
<% # TODO enable ssl on blog.metamaps.cc %>
<a id="lightbox_blog" href="http://blog.metamaps.cc" target="_blank"> <a id="lightbox_blog" href="http://blog.metamaps.cc" target="_blank">
<div class="lightboxAboutIcon"></div> <div class="lightboxAboutIcon"></div>
blog blog
@ -58,7 +59,8 @@
</a> </a>
</li> </li>
<li> <li>
<a id="lightbox_term" data-bypass="true" href="http://metamaps.cc/maps/331" target="_blank"> <% # TODO switch to https:// once we're confident %>
<a id="lightbox_term" data-bypass="true" href="//metamaps.cc/maps/331" target="_blank">
<div class="lightboxAboutIcon"></div> <div class="lightboxAboutIcon"></div>
terms terms
</a> </a>
@ -115,7 +117,7 @@
<li>Google Plus <a href="https://plus.google.com/communities/115060009262157699234" target="_blank">*</a></li> <li>Google Plus <a href="https://plus.google.com/communities/115060009262157699234" target="_blank">*</a></li>
<li>Hackpad <a href="http://metamaps.hackpad.com/" target="_blank">*</a></li> <li>Hackpad <a href="http://metamaps.hackpad.com/" target="_blank">*</a></li>
<li>Loomio <a href="https://www.loomio.org/g/bu3L1tIW/topos-ffo" target="_blank">*</a></li> <li>Loomio <a href="https://www.loomio.org/g/bu3L1tIW/topos-ffo" target="_blank">*</a></li>
<li>Twitter <a href="http://twitter.com/metamapps" target="_blank">*</a></li> <li>Twitter <a href="https://twitter.com/metamapps" target="_blank">*</a></li>
<li>Hipchat</li> <li>Hipchat</li>
<li>Google Hangouts</li> <li>Google Hangouts</li>
<li>Vimeo </li> <li>Vimeo </li>
@ -152,6 +154,7 @@
<a id="chromeIcon" href="https://www.google.com/chrome/browser/" target="_blank">Chrome</a> <a id="chromeIcon" href="https://www.google.com/chrome/browser/" target="_blank">Chrome</a>
<a id="fireFoxIcon" href="https://www.mozilla.org/en-US/firefox/new/" target="_blank">Firefox</a> <a id="fireFoxIcon" href="https://www.mozilla.org/en-US/firefox/new/" target="_blank">Firefox</a>
<a id="safariIcon" href="http://support.apple.com/downloads/#safari" target="_blank">Safari</a> <a id="safariIcon" href="http://support.apple.com/downloads/#safari" target="_blank">Safari</a>
<% # TODO https for blog.metamaps.cc %>
<p id="noIEbody">While it's downloading, explore our <a href="http://blog.metamaps.cc/">blog</a>,<br> watch the <a href="http://vimeo.com/88334167">tutorials</a>, or visit our <a href="http://support.metamaps.cc/">knowledge base</a>! <p id="noIEbody">While it's downloading, explore our <a href="http://blog.metamaps.cc/">blog</a>,<br> watch the <a href="http://vimeo.com/88334167">tutorials</a>, or visit our <a href="http://support.metamaps.cc/">knowledge base</a>!
</div> </div>
@ -200,13 +203,14 @@
<p>Want to help with design, code, community building, or communications for Metamaps? We're an open value network, which for us means we want to invite and empower peers to participate in creating value together. <p>Want to help with design, code, community building, or communications for Metamaps? We're an open value network, which for us means we want to invite and empower peers to participate in creating value together.
<% # TODO change this link to https once it works %>
<p>To be a <b>USER</b>, request an invite! We'll expect you to abide by our <a href="http://metamaps.cc/maps/331" target="_blank">terms of service</a>.</p> <p>To be a <b>USER</b>, request an invite! We'll expect you to abide by our <a href="http://metamaps.cc/maps/331" target="_blank">terms of service</a>.</p>
<p>To be a <b>CONTRIBUTOR</b>, simply <a href="https://docs.google.com/document/d/1z8FsSmYkHbLRLOsXc8i8M5ubKky8_WB2E9bLBoXJapU" target="_blank">enter our spaces</a> and join the conversation! We'll expect you to follow some guidelines.</p> <p>To be a <b>CONTRIBUTOR</b>, simply <a href="https://docs.google.com/document/d/1z8FsSmYkHbLRLOsXc8i8M5ubKky8_WB2E9bLBoXJapU" target="_blank">enter our spaces</a> and join the conversation! We'll expect you to follow some guidelines.</p>
<p><b>MEMBERS</b> are contributors who act as stewards and guardians of the collective and are responsible for maintaining our culture and purpose. We're working on a set of agreements to formalize what it means to be a member.</p> <p><b>MEMBERS</b> are contributors who act as stewards and guardians of the collective and are responsible for maintaining our culture and purpose. We're working on a set of agreements to formalize what it means to be a member.</p>
<p>We welcome people of all skillsets to create value within our network. There's open possibilities for designers, researchers, academics, strategists, and facilitators to contribute. If you're a developer, help us advance the code and take a look around our <a href="http://github.com/metamaps/metamaps_gen002" target="_blank">Github</a>.</p> <p>We welcome people of all skillsets to create value within our network. There's open possibilities for designers, researchers, academics, strategists, and facilitators to contribute. If you're a developer, help us advance the code and take a look around our <a href="https://github.com/metamaps/metamaps_gen002" target="_blank">Github</a>.</p>
<p>Thanks for your interest in helping out with Metamaps! Hopefully this gets you pointed in the right direction to get involved. The next step is to read the links on this page and then contribute! </p> <p>Thanks for your interest in helping out with Metamaps! Hopefully this gets you pointed in the right direction to get involved. The next step is to read the links on this page and then contribute! </p>

View file

@ -16,7 +16,7 @@
<%= javascript_include_tag "application" %> <%= javascript_include_tag "application" %>
<!-- typekit for vinyl font --> <!-- typekit for vinyl font -->
<script type="text/javascript" src="//use.typekit.net/tki2nyo.js"></script> <script type="text/javascript" src="https://use.typekit.net/tki2nyo.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script> <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<!-- app code --> <!-- app code -->
@ -141,16 +141,12 @@
// set up uservoice with signed in user // set up uservoice with signed in user
<% if authenticated? && ENV['SSO_KEY'] %> <% if authenticated? && ENV['SSO_KEY'] %>
USERVOICE.load(Metamaps.Active.Mapper.name, Metamaps.Active.Mapper.id, "<%= user.email %>", "<%= current_sso_token %>"); USERVOICE.load(Metamaps.Active.Mapper.name, Metamaps.Active.Mapper.id, "<%= user.email %>", "<%= current_sso_token %>");
<% else %> <% else %>
USERVOICE.load(); USERVOICE.load();
<% end %> <% end %>
</script> </script>
<% if !authenticated? %>
<iframe width="1" height="1" src="http://support.metamaps.cc/logout.json"; style="visibility:hidden;"></iframe>
<% end %>
<%= render :partial => 'layouts/googleanalytics' if Rails.env.production? %> <%= render :partial => 'layouts/googleanalytics' if Rails.env.production? %>
</body> </body>
</html> </html>

View file

@ -15,12 +15,13 @@ Metamaps::Application.configure do
# S3 file storage # S3 file storage
config.paperclip_defaults = { config.paperclip_defaults = {
:storage => :s3, storage: :s3,
:s3_credentials => { s3_credentials: {
:bucket => ENV['S3_BUCKET_NAME'], bucket: ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'], access_key_id: ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
} },
s3_protocol: 'https'
} }
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp

View file

@ -24,11 +24,12 @@ Metamaps::Application.configure do
# S3 file storage # S3 file storage
config.paperclip_defaults = { config.paperclip_defaults = {
:storage => :s3, :storage => :s3,
:s3_credentials => { s3_credentials: {
:bucket => ENV['S3_BUCKET_NAME'], bucket: ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'], access_key_id: ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
} },
s3_protocol: 'https'
} }
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp

View file

@ -0,0 +1,9 @@
class MetacodeAssetPathUpdate < ActiveRecord::Migration
def change
Metacode.all.each do |metacode|
if metacode.icon.start_with?("/assets/icons/")
metacode.update(icon: metacode.icon.gsub(/^\/assets\/icons/, "https://s3.amazonaws.com/metamaps-assets/metacodes"))
end
end
end
end

View file

@ -1,17 +1,16 @@
Before you begin, you'll need to install a number of software packages: Before you begin, you'll need to install stuff:
Ruby: http://rubyinstaller.org/downloads Ruby, Git, and Rails: http://railsinstaller.org/en
Git: http://git-scm.com/download/win PostgreSQL 9.2: http://www.enterprisedb.com/products-services-training/pgdownload
PostgreSQL 9.2: http://www.enterprisedb.com/products-services-training/pgdownload nodejs: http://nodejs.org/download
nodejs: http://nodejs.org/download
During the installation of the PostgreSQL database, you'll need to choose a database password. Anything is fine, just note what you choose somewhere. During the installation of the PostgreSQL database, you'll need to choose a database password. Anything is fine, just note down what you choose.
Once you are ready, create a new folder to hold this and any other git repositories. As an example, let's pretend you've chose C:\git, and made that folder writable by your user account. Once you are ready, create a new folder to hold this and any other git repositories. As an example, let's pretend you've chose C:\git, and made that folder writable by your user account.
Open a command prompt ("cmd.exe"), and navigate to the folder you chose. Then use the gem command (which is part of Ruby) to install Ruby on Rails. Open a command prompt ("cmd.exe"), and navigate to the folder you chose. Then use the gem command (which is part of Ruby) to install Ruby on Rails.
cd \git cd .\git
gem install rails -v 4.2 gem install rails -v 4.2
Now you are ready to clone the Metamaps git repository: Now you are ready to clone the Metamaps git repository:
@ -40,9 +39,8 @@ Navigate your browser to localhost:3000 once you have the server running
Sign in with the default account Sign in with the default account
email: user@user.com email: user@user.com
password: toolsplusconsciousness
password: toolsplusconsciousness
OR create a new account at /join, and use access code 'qwertyui' OR create a new account at /join, and use access code 'qwertyui'