This commit is contained in:
Bashar Jabbour 2014-11-22 19:35:15 -05:00
commit 5725007e78
14 changed files with 282 additions and 196 deletions

6
LiveSiteUpdatesNotes.txt Normal file
View file

@ -0,0 +1,6 @@
make sure that root individuals have same 'joinedwithcode' as 'code'
User.all.each do |u|
u.generation = u.get_generation
u.save
end

View file

@ -2495,7 +2495,7 @@ Extras.Classes.Navigation = new Class({
//START METAMAPS CODE //START METAMAPS CODE
var rightClick = e.button == 2 || (navigator.platform.indexOf("Mac") != -1 && e.ctrlKey); var rightClick = e.button == 2 || (navigator.platform.indexOf("Mac") != -1 && e.ctrlKey);
// TODO make sure this works across browsers // TODO make sure this works across browsers
if (!Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || (rightClick && e.ctrlKey))) { if (!Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || rightClick)) {
Metamaps.Mouse.boxStartCoordinates = eventInfo.getPos(); Metamaps.Mouse.boxStartCoordinates = eventInfo.getPos();
//console.log('mouse down'); //console.log('mouse down');
} }
@ -2525,13 +2525,13 @@ Extras.Classes.Navigation = new Class({
// START METAMAPS CODE // START METAMAPS CODE
var rightClick = e.button == 2 || (navigator.platform.indexOf("Mac") != -1 && e.ctrlKey); var rightClick = e.button == 2 || (navigator.platform.indexOf("Mac") != -1 && e.ctrlKey);
if (!Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || (rightClick && e.ctrlKey))) { if (!Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || rightClick)) {
Metamaps.Visualize.mGraph.busy = true; Metamaps.Visualize.mGraph.busy = true;
Metamaps.boxStartCoordinates = eventInfo.getPos(); Metamaps.boxStartCoordinates = eventInfo.getPos();
//console.log('mouse move'); //console.log('mouse move');
return; return;
} }
if (Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || (rightClick && e.ctrlKey))) { if (Metamaps.Mouse.boxStartCoordinates && ((e.button == 0 && e.shiftKey) || (e.button == 0 && e.ctrlKey) || rightClick)) {
Metamaps.Visualize.mGraph.busy = true; Metamaps.Visualize.mGraph.busy = true;
Metamaps.JIT.drawSelectBox(eventInfo,e); Metamaps.JIT.drawSelectBox(eventInfo,e);
//console.log('mouse move'); //console.log('mouse move');

View file

@ -374,14 +374,14 @@ Metamaps.JIT = {
$('.rightclickmenu').remove(); $('.rightclickmenu').remove();
if (Metamaps.Mouse.boxStartCoordinates) { if (Metamaps.Mouse.boxStartCoordinates) {
if(e.ctrlKey && e.shiftKey){ if(e.ctrlKey){
Metamaps.Visualize.mGraph.busy = false; Metamaps.Visualize.mGraph.busy = false;
Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos(); Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos();
Metamaps.JIT.zoomToBox(e); Metamaps.JIT.zoomToBox(e);
//console.log('called zoom to box'); //console.log('called zoom to box');
return; return;
} }
else if (e.ctrlKey || e.shiftKey) { else if (e.shiftKey) {
Metamaps.Visualize.mGraph.busy = false; Metamaps.Visualize.mGraph.busy = false;
Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos(); Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos();
Metamaps.JIT.selectWithBox(e); Metamaps.JIT.selectWithBox(e);
@ -410,10 +410,10 @@ Metamaps.JIT = {
// remove the rightclickmenu // remove the rightclickmenu
$('.rightclickmenu').remove(); $('.rightclickmenu').remove();
if (Metamaps.Mouse.boxStartCoordinates && e.ctrlKey) { if (Metamaps.Mouse.boxStartCoordinates) {
Metamaps.Visualize.mGraph.busy = false; Metamaps.Visualize.mGraph.busy = false;
Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos(); Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos();
Metamaps.JIT.zoomToBox(e); Metamaps.JIT.selectWithBox(e);
return; return;
} }
@ -1097,7 +1097,7 @@ Metamaps.JIT = {
eX = Metamaps.Mouse.boxEndCoordinates.x, eX = Metamaps.Mouse.boxEndCoordinates.x,
eY = Metamaps.Mouse.boxEndCoordinates.y; eY = Metamaps.Mouse.boxEndCoordinates.y;
if(!(e.shiftKey) && !(e.ctrlKey)){ if(!e.shiftKey){
Metamaps.Control.deselectAllNodes(); Metamaps.Control.deselectAllNodes();
Metamaps.Control.deselectAllEdges(); Metamaps.Control.deselectAllEdges();
} }
@ -1108,7 +1108,7 @@ Metamaps.JIT = {
y = n.pos.y; y = n.pos.y;
if ((sX < x && x < eX && sY < y && y < eY) || (sX > x && x > eX && sY > y && y > eY) || (sX > x && x > eX && sY < y && y < eY) || (sX < x && x < eX && sY > y && y > eY)) { if ((sX < x && x < eX && sY < y && y < eY) || (sX > x && x > eX && sY > y && y > eY) || (sX > x && x > eX && sY < y && y < eY) || (sX < x && x < eX && sY > y && y > eY)) {
if(e.ctrlKey){ if(e.shiftKey){
if(n.selected){ if(n.selected){
Metamaps.Control.deselectNode(n); Metamaps.Control.deselectNode(n);
} }
@ -1211,7 +1211,7 @@ Metamaps.JIT = {
var node2id = synapse.get('edge').nodeTo.id; var node2id = synapse.get('edge').nodeTo.id;
var edge = Metamaps.Visualize.mGraph.graph.getAdjacence(node1id, node2id); var edge = Metamaps.Visualize.mGraph.graph.getAdjacence(node1id, node2id);
if(selectTest){ if(selectTest){
if(e.ctrlKey){ if(e.shiftKey){
if(Metamaps.Selected.Edges.indexOf(synapse.get('edge')) != -1 ){ if(Metamaps.Selected.Edges.indexOf(synapse.get('edge')) != -1 ){
Metamaps.Control.deselectEdge(synapse.get('edge')); Metamaps.Control.deselectEdge(synapse.get('edge'));
} }
@ -1273,23 +1273,19 @@ Metamaps.JIT = {
// wait a certain length of time, then check again, then run this code // wait a certain length of time, then check again, then run this code
setTimeout(function () { setTimeout(function () {
if (!Metamaps.JIT.nodeWasDoubleClicked()) { if (!Metamaps.JIT.nodeWasDoubleClicked()) {
if (!e.shiftKey && !e.ctrlKey) {
var nodeAlreadySelected = node.selected;
if (!e.shiftKey) {
Metamaps.Control.deselectAllNodes(); Metamaps.Control.deselectAllNodes();
Metamaps.Control.deselectAllEdges(); Metamaps.Control.deselectAllEdges();
}
if (nodeAlreadySelected) {
Metamaps.Control.deselectNode(node);
} else {
Metamaps.Control.selectNode(node,e); Metamaps.Control.selectNode(node,e);
} }
else if(e.shiftKey && e.ctrlKey){
//no result
}
else if(e.ctrlKey){
if (node.selected) {
Metamaps.Control.deselectNode(node);
} else {
Metamaps.Control.selectNode(node,e);
}
}else if(e.shiftKey){
Metamaps.Control.selectNode(node,e);
}
//trigger animation to final styles //trigger animation to final styles
Metamaps.Visualize.mGraph.fx.animate({ Metamaps.Visualize.mGraph.fx.animate({
@ -1531,22 +1527,17 @@ Metamaps.JIT = {
// wait a certain length of time, then check again, then run this code // wait a certain length of time, then check again, then run this code
setTimeout(function () { setTimeout(function () {
if (!Metamaps.JIT.nodeWasDoubleClicked()) { if (!Metamaps.JIT.nodeWasDoubleClicked()) {
if (!e.shiftKey && !e.ctrlKey) {
var edgeAlreadySelected = Metamaps.Selected.Edges.indexOf(adj) !== -1;
if (!e.shiftKey) {
Metamaps.Control.deselectAllNodes(); Metamaps.Control.deselectAllNodes();
Metamaps.Control.deselectAllEdges(); Metamaps.Control.deselectAllEdges();
Metamaps.Control.selectEdge(adj);
} }
else if (e.shiftKey && e.ctrlKey){
//no result if (edgeAlreadySelected) {
} Metamaps.Control.deselectEdge(adj);
else if (e.ctrlKey){ } else {
if (Metamaps.Selected.Edges.indexOf(adj) !== -1) {
Metamaps.Control.deselectEdge(adj);
} else {
Metamaps.Control.selectEdge(adj);
}
}
else if (e.shiftKey){
Metamaps.Control.selectEdge(adj); Metamaps.Control.selectEdge(adj);
} }
@ -1861,7 +1852,7 @@ Metamaps.JIT = {
var x = n.pos.x, var x = n.pos.x,
y = n.pos.y; y = n.pos.y;
if (counter == 0){ if (counter == 0 && n.getData('alpha') == 1){
maxX = x; maxX = x;
minX = x; minX = x;
maxY = y; maxY = y;
@ -1880,12 +1871,15 @@ Metamaps.JIT = {
} }
var width = Math.max.apply(null, lineWidths) + 8; var width = Math.max.apply(null, lineWidths) + 8;
maxX = Math.max(x + width /2,maxX); // only adjust these values if the node is not filtered
maxY = Math.max(y + n.getData("height") + 5 + height,maxY); if (n.getData('alpha') == 1) {
minX = Math.min(x - width /2,minX); maxX = Math.max(x + width /2,maxX);
minY = Math.min(y - dim,minY); maxY = Math.max(y + n.getData("height") + 5 + height,maxY);
minX = Math.min(x - width /2,minX);
minY = Math.min(y - dim,minY);
counter++; counter++;
}
}); });
var spanX = maxX - minX; var spanX = maxX - minX;

View file

@ -1888,13 +1888,13 @@ Metamaps.Realtime = {
turnOn: function (notify) { turnOn: function (notify) {
var self = Metamaps.Realtime; var self = Metamaps.Realtime;
if (!self.status) { if (notify) self.sendRealtimeOn();
if (notify) self.sendRealtimeOn(); $(".rtMapperSelf").removeClass('littleRtOff').addClass('littleRtOn');
$(".rtMapperSelf").removeClass('littleRtOff').addClass('littleRtOn'); $('.rtOn').addClass('active');
self.status = true; $('.rtOff').removeClass('active');
$(".sidebarCollaborateIcon").addClass("blue"); self.status = true;
$(".collabCompass").show(); $(".sidebarCollaborateIcon").addClass("blue");
} $(".collabCompass").show();
}, },
turnOff: function (silent) { turnOff: function (silent) {
var self = Metamaps.Realtime; var self = Metamaps.Realtime;
@ -1902,6 +1902,8 @@ Metamaps.Realtime = {
if (self.status) { if (self.status) {
if (!silent) self.sendRealtimeOff(); if (!silent) self.sendRealtimeOff();
$(".rtMapperSelf").removeClass('littleRtOn').addClass('littleRtOff'); $(".rtMapperSelf").removeClass('littleRtOn').addClass('littleRtOff');
$('.rtOn').removeClass('active');
$('.rtOff').addClass('active');
self.status = false; self.status = false;
$(".sidebarCollaborateIcon").removeClass("blue"); $(".sidebarCollaborateIcon").removeClass("blue");
$(".collabCompass").hide(); $(".collabCompass").hide();
@ -3111,6 +3113,8 @@ Metamaps.Filter = {
$('#filter_by_metacode ul').empty(); $('#filter_by_metacode ul').empty();
$('#filter_by_mapper ul').empty(); $('#filter_by_mapper ul').empty();
$('#filter_by_synapse ul').empty(); $('#filter_by_synapse ul').empty();
$('.filterBox .showAll').addClass('active');
}, },
/* /*
Most of this data essentially depends on the ruby function which are happening for filter inside view filterBox Most of this data essentially depends on the ruby function which are happening for filter inside view filterBox
@ -3239,36 +3243,48 @@ Metamaps.Filter = {
filterAllMetacodes: function (e) { filterAllMetacodes: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_metacode ul li').addClass('toggledOff'); $('#filter_by_metacode ul li').addClass('toggledOff');
$('.showAllMetacodes').removeClass('active');
$('.hideAllMetacodes').addClass('active');
self.visible.metacodes = []; self.visible.metacodes = [];
self.passFilters(); self.passFilters();
}, },
filterNoMetacodes: function (e) { filterNoMetacodes: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_metacode ul li').removeClass('toggledOff'); $('#filter_by_metacode ul li').removeClass('toggledOff');
$('.showAllMetacodes').addClass('active');
$('.hideAllMetacodes').removeClass('active');
self.visible.metacodes = self.filters.metacodes.slice(); self.visible.metacodes = self.filters.metacodes.slice();
self.passFilters(); self.passFilters();
}, },
filterAllMappers: function (e) { filterAllMappers: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_mapper ul li').addClass('toggledOff'); $('#filter_by_mapper ul li').addClass('toggledOff');
$('.showAllMappers').removeClass('active');
$('.hideAllMappers').addClass('active');
self.visible.mappers = []; self.visible.mappers = [];
self.passFilters(); self.passFilters();
}, },
filterNoMappers: function (e) { filterNoMappers: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_mapper ul li').removeClass('toggledOff'); $('#filter_by_mapper ul li').removeClass('toggledOff');
$('.showAllMappers').addClass('active');
$('.hideAllMappers').removeClass('active');
self.visible.mappers = self.filters.mappers.slice(); self.visible.mappers = self.filters.mappers.slice();
self.passFilters(); self.passFilters();
}, },
filterAllSynapses: function (e) { filterAllSynapses: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_synapse ul li').addClass('toggledOff'); $('#filter_by_synapse ul li').addClass('toggledOff');
$('.showAllSynapses').removeClass('active');
$('.hideAllSynapses').addClass('active');
self.visible.synapses = []; self.visible.synapses = [];
self.passFilters(); self.passFilters();
}, },
filterNoSynapses: function (e) { filterNoSynapses: function (e) {
var self = Metamaps.Filter; var self = Metamaps.Filter;
$('#filter_by_synapse ul li').removeClass('toggledOff'); $('#filter_by_synapse ul li').removeClass('toggledOff');
$('.showAllSynapses').addClass('active');
$('.hideAllSynapses').removeClass('active');
self.visible.synapses = self.filters.synapses.slice(); self.visible.synapses = self.filters.synapses.slice();
self.passFilters(); self.passFilters();
}, },
@ -3292,14 +3308,53 @@ Metamaps.Filter = {
toggleMetacode: function () { toggleMetacode: function () {
var self = Metamaps.Filter; var self = Metamaps.Filter;
self.toggleLi.call(this, 'metacodes'); self.toggleLi.call(this, 'metacodes');
if (self.visible.metacodes.length === self.filters.metacodes.length) {
$('.showAllMetacodes').addClass('active');
$('.hideAllMetacodes').removeClass('active');
}
else if (self.visible.metacodes.length === 0) {
$('.showAllMetacodes').removeClass('active');
$('.hideAllMetacodes').addClass('active');
}
else {
$('.showAllMetacodes').removeClass('active');
$('.hideAllMetacodes').removeClass('active');
}
}, },
toggleMapper: function () { toggleMapper: function () {
var self = Metamaps.Filter; var self = Metamaps.Filter;
self.toggleLi.call(this, 'mappers'); self.toggleLi.call(this, 'mappers');
if (self.visible.mappers.length === self.filters.mappers.length) {
$('.showAllMappers').addClass('active');
$('.hideAllMappers').removeClass('active');
}
else if (self.visible.mappers.length === 0) {
$('.showAllMappers').removeClass('active');
$('.hideAllMappers').addClass('active');
}
else {
$('.showAllMappers').removeClass('active');
$('.hideAllMappers').removeClass('active');
}
}, },
toggleSynapse: function () { toggleSynapse: function () {
var self = Metamaps.Filter; var self = Metamaps.Filter;
self.toggleLi.call(this, 'synapses'); self.toggleLi.call(this, 'synapses');
if (self.visible.synapses.length === self.filters.synapses.length) {
$('.showAllSynapses').addClass('active');
$('.hideAllSynapses').removeClass('active');
}
else if (self.visible.synapses.length === 0) {
$('.showAllSynapses').removeClass('active');
$('.hideAllSynapses').addClass('active');
}
else {
$('.showAllSynapses').removeClass('active');
$('.hideAllSynapses').removeClass('active');
}
}, },
passFilters: function () { passFilters: function () {
var self = Metamaps.Filter; var self = Metamaps.Filter;
@ -4204,6 +4259,7 @@ Metamaps.Map = {
Metamaps.Create.newTopic.hide(); Metamaps.Create.newTopic.hide();
Metamaps.Create.newSynapse.hide(); Metamaps.Create.newSynapse.hide();
Metamaps.Filter.close(); Metamaps.Filter.close();
Metamaps.Map.InfoBox.close();
Metamaps.Realtime.endActiveMap(); Metamaps.Realtime.endActiveMap();
} }
}, },

View file

@ -1007,7 +1007,7 @@ h3.filterBox {
cursor: pointer; cursor: pointer;
font-size:12px; font-size:12px;
} }
.sidebarFilterBox span:hover { .sidebarFilterBox span:hover, .sidebarFilterBox span.active {
color: #00BCD4; color: #00BCD4;
} }
.sidebarFilterBox ul { .sidebarFilterBox ul {
@ -1104,7 +1104,7 @@ h3.realtimeBoxTitle {
text-align: center; text-align: center;
font-size:12px; font-size:12px;
} }
.sidebarCollaborateBox .realtimeOnOff:hover { .sidebarCollaborateBox .realtimeOnOff:hover, .sidebarCollaborateBox .realtimeOnOff.active {
color: #00bcd4; color: #00bcd4;
} }
.sidebarCollaborateBox .rtOff { .sidebarCollaborateBox .rtOff {

View file

@ -760,7 +760,7 @@
/* infoAndHelp */ /* infoAndHelp */
.mapPage .infoAndHelp, .topicPage .infoAndHelp{ .mapPage .infoAndHelp, .topicPage .infoAndHelp {
right: 70px; right: 70px;
} }
.mapPage .openCheatsheet .tooltipsAbove, .topicPage .openCheatsheet .tooltipsAbove { .mapPage .openCheatsheet .tooltipsAbove, .topicPage .openCheatsheet .tooltipsAbove {
@ -818,6 +818,10 @@
right: 24px; right: 24px;
} }
.topicPage .zoomExtents {
display: none;
}
.mapControl { .mapControl {
width:32px; width:32px;
height:32px; height:32px;

View file

@ -10,6 +10,7 @@ module UsersHelper
user['value'] = u.name user['value'] = u.name
user['profile'] = u.image.url(:square) user['profile'] = u.image.url(:square)
user['mapCount'] = u.maps.count user['mapCount'] = u.maps.count
user['generation'] = u.generation
user['created_at'] = u.created_at.strftime("%m/%d/%Y") user['created_at'] = u.created_at.strftime("%m/%d/%Y")
user['rtype'] = "mapper" user['rtype'] = "mapper"

View file

@ -28,12 +28,7 @@ class User < ActiveRecord::Base
validates_uniqueness_of :name # done by devise validates_uniqueness_of :name # done by devise
validates_uniqueness_of :email # done by devise validates_uniqueness_of :email # done by devise
if ActiveRecord::Base.connection.table_exists? 'users' validates :joinedwithcode, :presence => true, :inclusion => { :in => $codes, :message => "%{value} is not valid" }, :on => :create
codes = ActiveRecord::Base.connection.execute("SELECT code FROM users").map {|user| user["code"] }
else
codes = []
end
validates :joinedwithcode, :presence => true, :inclusion => { :in => codes, :message => "%{value} is not valid" }, :on => :create
# This method associates the attribute ":image" with a file attachment # This method associates the attribute ":image" with a file attachment
has_attached_file :image, :styles => { has_attached_file :image, :styles => {
@ -54,6 +49,24 @@ class User < ActiveRecord::Base
def generate_code def generate_code
#generate a random 8 letter/digit code that they can use to invite people #generate a random 8 letter/digit code that they can use to invite people
self.code = rand(36**8).to_s(36) self.code = rand(36**8).to_s(36)
$codes.push(self.code)
self.generation = self.get_generation
end
def get_generation
if self.joinedwithcode == self.code
# if your joinedwithcode equals your code you must be GEN 0
gen = 0
elsif self.generation
# if your generation has already been calculated then just return that value
gen = self.generation
else
# if your generation hasn't been calculated, base it off the
# generation of the person whose code you joined with + 1
gen = User.find_by_code(self.joinedwithcode).get_generation + 1
end
end end
def settings def settings

View file

@ -149,7 +149,7 @@
<p>Mapping since: {{created_at}}</p> <p>Mapping since: {{created_at}}</p>
</div> </div>
<div class="mapperGeneration"> <div class="mapperGeneration">
<p>Generation: 1</p> <p>Generation: {{generation}}</p>
</div> </div>
<div class="mapCount"> <div class="mapCount">
{{mapCount}} {{mapCount}}

View file

@ -91,7 +91,7 @@
<div id="filter_by_mapper" class="filterBySection"> <div id="filter_by_mapper" class="filterBySection">
<h3><%= @map ? "MAPPERS" : @topic ? "CREATORS" : "" %></h3> <h3><%= @map ? "MAPPERS" : @topic ? "CREATORS" : "" %></h3>
<span class="hideAll hideAllMappers">NONE</span> <span class="hideAll hideAllMappers">NONE</span>
<span class="showAll showAllMappers">ALL</span> <span class="active showAll showAllMappers">ALL</span>
<div class="clearfloat"></div> <div class="clearfloat"></div>
<ul> <ul>
<%= @mapperlist.html_safe %> <%= @mapperlist.html_safe %>
@ -102,7 +102,7 @@
<div id="filter_by_metacode" class="filterBySection"> <div id="filter_by_metacode" class="filterBySection">
<h3>METACODES</h3> <h3>METACODES</h3>
<span class="hideAll hideAllMetacodes">NONE</span> <span class="hideAll hideAllMetacodes">NONE</span>
<span class="showAll showAllMetacodes">ALL</span> <span class="active showAll showAllMetacodes">ALL</span>
<div class="clearfloat"></div> <div class="clearfloat"></div>
<ul> <ul>
<%= @metacodelist.html_safe %> <%= @metacodelist.html_safe %>
@ -113,7 +113,7 @@
<div id="filter_by_synapse" class="filterBySection"> <div id="filter_by_synapse" class="filterBySection">
<h3>SYNAPSES</h3> <h3>SYNAPSES</h3>
<span class="hideAll hideAllSynapses">NONE</span> <span class="hideAll hideAllSynapses">NONE</span>
<span class="showAll showAllSynapses">ALL</span> <span class="active showAll showAllSynapses">ALL</span>
<div class="clearfloat"></div> <div class="clearfloat"></div>
<ul> <ul>
<%= @synapselist.html_safe %> <%= @synapselist.html_safe %>

View file

@ -0,0 +1,4 @@
$codes = []
if ActiveRecord::Base.connection.table_exists? 'users'
$codes = ActiveRecord::Base.connection.execute("SELECT code FROM users").map {|user| user["code"] }
end

View file

@ -0,0 +1,5 @@
class AddGenerationToUsers < ActiveRecord::Migration
def change
add_column :users, :generation, :integer
end
end

View file

@ -1,134 +1,135 @@
# encoding: UTF-8 # encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead # This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to # of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition. # incrementally modify your database, and then regenerate this schema definition.
# #
# Note that this schema.rb definition is the authoritative source for your # Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another # database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations # system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations # from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues). # you'll amass, the slower it'll run and the greater likelihood for issues).
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20140930013020) do ActiveRecord::Schema.define(:version => 20141121204712) do
create_table "in_metacode_sets", :force => true do |t| create_table "in_metacode_sets", :force => true do |t|
t.integer "metacode_id" t.integer "metacode_id"
t.integer "metacode_set_id" t.integer "metacode_set_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
add_index "in_metacode_sets", ["metacode_id"], :name => "index_in_metacode_sets_on_metacode_id" add_index "in_metacode_sets", ["metacode_id"], :name => "index_in_metacode_sets_on_metacode_id"
add_index "in_metacode_sets", ["metacode_set_id"], :name => "index_in_metacode_sets_on_metacode_set_id" add_index "in_metacode_sets", ["metacode_set_id"], :name => "index_in_metacode_sets_on_metacode_set_id"
create_table "mappings", :force => true do |t| create_table "mappings", :force => true do |t|
t.text "category" t.text "category"
t.integer "xloc" t.integer "xloc"
t.integer "yloc" t.integer "yloc"
t.integer "topic_id" t.integer "topic_id"
t.integer "synapse_id" t.integer "synapse_id"
t.integer "map_id" t.integer "map_id"
t.integer "user_id" t.integer "user_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
create_table "maps", :force => true do |t| create_table "maps", :force => true do |t|
t.text "name" t.text "name"
t.boolean "arranged" t.boolean "arranged"
t.text "desc" t.text "desc"
t.text "permission" t.text "permission"
t.integer "user_id" t.integer "user_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.boolean "featured" t.boolean "featured"
t.string "screenshot_file_name" t.string "screenshot_file_name"
t.string "screenshot_content_type" t.string "screenshot_content_type"
t.integer "screenshot_file_size" t.integer "screenshot_file_size"
t.datetime "screenshot_updated_at" t.datetime "screenshot_updated_at"
end end
create_table "metacode_sets", :force => true do |t| create_table "metacode_sets", :force => true do |t|
t.string "name" t.string "name"
t.text "desc" t.text "desc"
t.integer "user_id" t.integer "user_id"
t.boolean "mapperContributed" t.boolean "mapperContributed"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
add_index "metacode_sets", ["user_id"], :name => "index_metacode_sets_on_user_id" add_index "metacode_sets", ["user_id"], :name => "index_metacode_sets_on_user_id"
create_table "metacodes", :force => true do |t| create_table "metacodes", :force => true do |t|
t.text "name" t.text "name"
t.string "icon" t.string "icon"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "color" t.string "color"
end end
create_table "synapses", :force => true do |t| create_table "synapses", :force => true do |t|
t.text "desc" t.text "desc"
t.text "category" t.text "category"
t.text "weight" t.text "weight"
t.text "permission" t.text "permission"
t.integer "node1_id" t.integer "node1_id"
t.integer "node2_id" t.integer "node2_id"
t.integer "user_id" t.integer "user_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
create_table "topics", :force => true do |t| create_table "topics", :force => true do |t|
t.text "name" t.text "name"
t.text "desc" t.text "desc"
t.text "link" t.text "link"
t.text "permission" t.text "permission"
t.integer "user_id" t.integer "user_id"
t.integer "metacode_id" t.integer "metacode_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "image_file_name" t.string "image_file_name"
t.string "image_content_type" t.string "image_content_type"
t.integer "image_file_size" t.integer "image_file_size"
t.datetime "image_updated_at" t.datetime "image_updated_at"
t.string "audio_file_name" t.string "audio_file_name"
t.string "audio_content_type" t.string "audio_content_type"
t.integer "audio_file_size" t.integer "audio_file_size"
t.datetime "audio_updated_at" t.datetime "audio_updated_at"
end end
create_table "users", :force => true do |t| create_table "users", :force => true do |t|
t.string "name" t.string "name"
t.string "email" t.string "email"
t.text "settings" t.text "settings"
t.string "code", :limit => 8 t.string "code", :limit => 8
t.string "joinedwithcode", :limit => 8 t.string "joinedwithcode", :limit => 8
t.string "crypted_password" t.string "crypted_password"
t.string "password_salt" t.string "password_salt"
t.string "persistence_token" t.string "persistence_token"
t.string "perishable_token" t.string "perishable_token"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "encrypted_password", :limit => 128, :default => "" t.string "encrypted_password", :limit => 128, :default => ""
t.string "remember_token" t.string "remember_token"
t.datetime "remember_created_at" t.datetime "remember_created_at"
t.string "reset_password_token" t.string "reset_password_token"
t.datetime "last_sign_in_at" t.datetime "last_sign_in_at"
t.string "last_sign_in_ip" t.string "last_sign_in_ip"
t.integer "sign_in_count", :default => 0 t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at" t.datetime "current_sign_in_at"
t.string "current_sign_in_ip" t.string "current_sign_in_ip"
t.datetime "reset_password_sent_at" t.datetime "reset_password_sent_at"
t.boolean "admin" t.boolean "admin"
t.string "image_file_name" t.string "image_file_name"
t.string "image_content_type" t.string "image_content_type"
t.integer "image_file_size" t.integer "image_file_size"
t.datetime "image_updated_at" t.datetime "image_updated_at"
end t.integer "generation"
end
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
end
end

View file

@ -5,6 +5,7 @@ user:
email: user@user.com email: user@user.com
encrypted_password: $2a$10$psR68SWYNy5ZKQPs9FrFM.HuRMrTXO/YFzv.HaUmdCsQZsQrG1XAW encrypted_password: $2a$10$psR68SWYNy5ZKQPs9FrFM.HuRMrTXO/YFzv.HaUmdCsQZsQrG1XAW
code: qwertyui code: qwertyui
joinedwithcode: qwertyui
admin: false admin: false
admin: admin:
@ -12,4 +13,5 @@ admin:
email: admin@admin.com email: admin@admin.com
encrypted_password: $2a$10$psR68SWYNy5ZKQPs9FrFM.HuRMrTXO/YFzv.HaUmdCsQZsQrG1XAW encrypted_password: $2a$10$psR68SWYNy5ZKQPs9FrFM.HuRMrTXO/YFzv.HaUmdCsQZsQrG1XAW
code: iuytrewq code: iuytrewq
joinedwithcode: iuytrewq
admin: true admin: true