added maps, permissions, show user cards
This commit is contained in:
parent
dfb92b89a5
commit
5c195bd548
58 changed files with 829 additions and 237 deletions
|
@ -171,9 +171,17 @@ function initFD(){
|
|||
});
|
||||
// Build the right column relations list.
|
||||
// This is done by traversing the clicked node connections.
|
||||
var html = '<div class="item" id="item_' + node.id + '"><p class="type">' + node.getData("itemcatname") + '</p><img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" /><a href="/items/' + node.id + '" class="title">' + node.name + '</a><div class="desc"><p>' + node.getData('desc') + '</p></div><a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a></div>';
|
||||
var html =
|
||||
'<p class="type">' + node.getData("itemcatname") + '</p>' +
|
||||
'<img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" />' +
|
||||
'<a href="/users/' + node.getData("userid") + '/items/' + node.id + '" class="title">' + node.name + '</a>' +
|
||||
'<div class="contributor">Added by: <a href="/users/' + node.getData('userid') + '">' + node.getData('username') + '</a></div>' +
|
||||
'<div class="desc"><p>' + node.getData('desc') + '</p></div>' +
|
||||
'<a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a>';
|
||||
|
||||
//append connections information
|
||||
$jit.id('showcard').innerHTML = html;
|
||||
$jit.id('showcard').innerHTML = '<div class="item" id="item_' + node.id + '"></div>';
|
||||
$jit.id('item_' + node.id).innerHTML = html;
|
||||
}
|
||||
},
|
||||
//Number of iterations for the FD algorithm
|
||||
|
@ -245,9 +253,17 @@ function initFD(){
|
|||
});
|
||||
// Build the right column relations list.
|
||||
// This is done by traversing the clicked node connections.
|
||||
var html = '<div class="item" id="item_' + node.id + '"><p class="type">' + node.getData("itemcatname") + '</p><img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" /><a href="/items/' + node.id + '" class="title">' + node.name + '</a><div class="desc"><p>' + node.getData('desc') + '</p></div><a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a></div>';
|
||||
//append connections information
|
||||
$jit.id('showcard').innerHTML = html;
|
||||
var html =
|
||||
'<p class="type">' + node.getData("itemcatname") + '</p>' +
|
||||
'<img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" />' +
|
||||
'<a href="/users/' + node.getData("userid") + '/items/' + node.id + '" class="title">' + node.name + '</a>' +
|
||||
'<div class="contributor">Added by: <a href="/users/' + node.getData('userid') + '">' + node.getData('username') + '</a></div>' +
|
||||
'<div class="desc"><p>' + node.getData('desc') + '</p></div>' +
|
||||
'<a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a>';
|
||||
|
||||
//append connections information
|
||||
$jit.id('showcard').innerHTML = '<div class="item" id="item_' + node.id + '"></div>';
|
||||
$jit.id('item_' + node.id).innerHTML = html;
|
||||
};
|
||||
},
|
||||
// Change node styles when DOM labels are placed
|
||||
|
|
|
@ -177,9 +177,17 @@ function initRG(){
|
|||
});
|
||||
// Build the right column relations list.
|
||||
// This is done by traversing the clicked node connections.
|
||||
var html = '<div class="item" id="item_' + node.id + '"><p class="type">' + node.getData("itemcatname") + '</p><img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" /><a href="/items/' + node.id + '" class="title">' + node.name + '</a><div class="desc"><p>' + node.getData('desc') + '</p></div><a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a></div>';
|
||||
var html =
|
||||
'<p class="type">' + node.getData("itemcatname") + '</p>' +
|
||||
'<img alt="' + node.getData("itemcatname") + '" class="icon" height="50" src="' + imgArray[node.getData("itemcatname")].src + '" width="50" />' +
|
||||
'<a href="/users/' + node.getData("userid") + '/items/' + node.id + '" class="title">' + node.name + '</a>' +
|
||||
'<div class="contributor">Added by: <a href="/users/' + node.getData('userid') + '">' + node.getData('username') + '</a></div>' +
|
||||
'<div class="desc"><p>' + node.getData('desc') + '</p></div>' +
|
||||
'<a href="' + node.getData('link') + '" class="link" target="_blank">' + node.getData('link') + '</a>';
|
||||
|
||||
//append connections information
|
||||
$jit.id('showcard').innerHTML = html;
|
||||
$jit.id('showcard').innerHTML = '<div class="item" id="item_' + node.id + '"></div>';
|
||||
$jit.id('item_' + node.id).innerHTML = html;
|
||||
}
|
||||
},
|
||||
//Number of iterations for the rg algorithm
|
||||
|
|
3
app/assets/javascripts/maps.js.coffee
Normal file
3
app/assets/javascripts/maps.js.coffee
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
|
@ -30,7 +30,7 @@ h2 {display:block; text-align:center; background: #333; font-size:24px;}
|
|||
a {color:#2d6a5d; text-decoration:none;}
|
||||
.clearfloat {clear:both;}
|
||||
|
||||
.new_session, .new_user, .new_item, .new_synapse, .edit_item, .edit_synapse { display: block; width: 350px; margin: 0 auto; background: #D1D1D1; padding: 20px; border-radius: 15px; color: #000; border:2px solid #000; }
|
||||
.new_session, .new_user, .new_item, .new_synapse, .new_map, .edit_user, .edit_item, .edit_synapse, .edit_map { display: block; width: 350px; margin: 0 auto; background: url('bg.png'); padding: 20px; border-radius: 15px; color: #000; border:2px solid #000; }
|
||||
|
||||
.anypage .new_item, .anypage .new_synapse { display: none; position:absolute; left:50%; top:0; margin:200px 0 0 -195px; border:2px solid #000; }
|
||||
#closenewtopic, #closenewsynapse { position:absolute; top: 3px; right:3px; }
|
||||
|
@ -51,7 +51,7 @@ input[type="submit"] { margin-top:5px; }
|
|||
|
||||
.headertop { display:block; position:fixed; top:0; left:0; z-index:10; height:38px; width:100%; min-width:622px; background: url(topbg2.png) repeat-x top left; }
|
||||
#mainTitle { float: left; }
|
||||
#mainTitle a { color:#FFF; }
|
||||
#mainTitle a { color:#FFF; font-family: "vinyl",sans-serif; text-transform:uppercase; font-style: italic; font-weight: 400;}
|
||||
.headertop ul { display:block; float: right; }
|
||||
.headertop ul li {display:block; float:right; margin:10px 5px 0 5px; }
|
||||
.headertop ul li a { color:#FFF; }
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
position:absolute;
|
||||
top:50%;
|
||||
left:10px;
|
||||
margin-top:-150px;
|
||||
|
||||
margin-top:-150px;
|
||||
}
|
||||
#showcard .contributor { font-size:12px; }
|
||||
|
||||
.text {
|
||||
margin: 7px;
|
||||
|
|
35
app/assets/stylesheets/maps.css.scss
Normal file
35
app/assets/stylesheets/maps.css.scss
Normal file
|
@ -0,0 +1,35 @@
|
|||
// Place all the styles related to the maps controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
|
||||
.map { display:block; float:left; position:relative; width:170px; height:300px; padding:10px 10px 10px 35px; background: url('bg.png'); border-radius:15px; margin:30px 0 30px 50px; color:#000; }
|
||||
|
||||
.map .delete {position: absolute;
|
||||
top: -14px;
|
||||
left: 0px;
|
||||
background: none;
|
||||
border: 0;
|
||||
color: white;
|
||||
border: none;
|
||||
font-size: 14px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.map .type {position: absolute;
|
||||
color: white;
|
||||
top: -22px;
|
||||
right: 0;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
line-height: 24px;}
|
||||
|
||||
.map .icon { position:absolute; top:135px; left:-25px; }
|
||||
|
||||
.map .title { font-size:22px; line-height:25px; display:block; border-bottom:2px solid #000; padding-bottom:5px; }
|
||||
|
||||
.map .desc { font-style:italic; font-size:15px; }
|
||||
.map .desc h3 { font-style:normal; margin-top:5px; }
|
||||
|
||||
.map .link { position:absolute; width:170px; top:295px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
@ -4,15 +4,16 @@ class ItemsController < ApplicationController
|
|||
|
||||
respond_to :html, :js, :json
|
||||
|
||||
# GET /items
|
||||
# GET /users/:user_id/items
|
||||
def index
|
||||
@user = current_user
|
||||
@items = Item.all
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@items = @user.items
|
||||
|
||||
respond_with(@items,@user)
|
||||
respond_with(@user,@items)
|
||||
end
|
||||
|
||||
# Get /item/new
|
||||
# Get /users/:user_id/items/new
|
||||
def new
|
||||
@item = Item.new
|
||||
@user = current_user
|
||||
|
@ -20,12 +21,13 @@ class ItemsController < ApplicationController
|
|||
respond_with(@item)
|
||||
end
|
||||
|
||||
# GET /item/:id
|
||||
# GET /users/:user_id/items/:id
|
||||
def show
|
||||
@user = current_user
|
||||
@item = Item.find(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@item = @user.items.find(params[:id])
|
||||
|
||||
@relatives = @item.map_as_json.html_safe
|
||||
@relatives = @item.network_as_json.html_safe
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@item, @user) }
|
||||
|
@ -33,7 +35,7 @@ class ItemsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
# POST /items
|
||||
# POST /users/:user_id/items
|
||||
def create
|
||||
|
||||
@user = current_user
|
||||
|
@ -41,53 +43,75 @@ class ItemsController < ApplicationController
|
|||
@item.name = params[:item][:name]
|
||||
@item.desc = params[:item][:desc]
|
||||
@item.link = params[:item][:link]
|
||||
@item.permission = params[:item][:permission]
|
||||
@item.item_category = ItemCategory.find(params[:category])
|
||||
@item.user = @user
|
||||
|
||||
@item.save
|
||||
|
||||
if params[:item][:map]
|
||||
@mapping = Mapping.new()
|
||||
@mapping.category = "Item"
|
||||
@mapping.user = @user
|
||||
@mapping.map = Map.find(params[:item][:map])
|
||||
@mapping.item = @item
|
||||
@mapping.save
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@user, location: item_url(@item)) }
|
||||
format.html { respond_with(@user, location: user_item_url(@user, @item)) }
|
||||
format.js { respond_with(@item) }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /items/:id/edit
|
||||
# GET /users/:user_id/items/:id/edit
|
||||
def edit
|
||||
@item = Item.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@item = @user.items.find(params[:id])
|
||||
|
||||
respond_with(@item)
|
||||
end
|
||||
|
||||
# PUT /actions/:id
|
||||
# PUT /users/:user_id/items/:id
|
||||
def update
|
||||
@item = Item.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@item = @user.items.find(params[:id])
|
||||
|
||||
if @item
|
||||
@item.name = params[:item][:name]
|
||||
@item.desc = params[:item][:desc]
|
||||
@item.link = params[:item][:link]
|
||||
@item.permission = params[:item][:permission]
|
||||
@item.item_category = ItemCategory.find(params[:category][:item_category_id])
|
||||
|
||||
@item.save
|
||||
end
|
||||
|
||||
respond_with(@user, location: item_url(@item)) do |format|
|
||||
respond_with(@user, location: user_item_url(@user, @item)) do |format|
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# DELETE /items/:id
|
||||
# DELETE /users/:user_id/items/:id
|
||||
def destroy
|
||||
@item = Item.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@item = @user.items.find(params[:id])
|
||||
|
||||
@synapses = @item.synapses
|
||||
@mappings = @item.mappings
|
||||
|
||||
@synapses.each do |synapse|
|
||||
synapse.delete
|
||||
end
|
||||
|
||||
@mappings.each do |mapping|
|
||||
mapping.delete
|
||||
end
|
||||
|
||||
@item.delete
|
||||
|
||||
respond_to do |format|
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
class MainController < ApplicationController
|
||||
include ItemsHelper
|
||||
include ItemsHelper
|
||||
|
||||
before_filter :require_user, only: [:userobjects]
|
||||
respond_to :html, :js, :json
|
||||
|
||||
def home
|
||||
|
@ -9,7 +8,9 @@ include ItemsHelper
|
|||
|
||||
@item = Item.all.first
|
||||
|
||||
@alljson = @item.all_as_json.html_safe
|
||||
if @item
|
||||
@alljson = @item.all_as_json.html_safe
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@item) }
|
||||
|
@ -17,22 +18,13 @@ include ItemsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def userobjects
|
||||
@user = current_user
|
||||
def allmaps
|
||||
@current_user = current_user
|
||||
|
||||
@all = @user.items
|
||||
@maps = Map.all
|
||||
|
||||
respond_with(@all)
|
||||
end
|
||||
|
||||
def usersynapses
|
||||
@user = current_user
|
||||
|
||||
@synapsesjson = usersynapses_as_json(@user).html_safe
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { respond_with(@synapsesjson) }
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@maps) }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
93
app/controllers/maps_controller.rb
Normal file
93
app/controllers/maps_controller.rb
Normal file
|
@ -0,0 +1,93 @@
|
|||
class MapsController < ApplicationController
|
||||
|
||||
before_filter :require_user, only: [:new, :create, :edit, :update]
|
||||
|
||||
respond_to :html, :js, :json
|
||||
|
||||
# GET /users/:user_id/maps
|
||||
def index
|
||||
@user = User.find(params[:user_id])
|
||||
@maps = @user.maps
|
||||
|
||||
respond_with(@maps,@user)
|
||||
end
|
||||
|
||||
# GET /users/:user_id/maps/new
|
||||
def new
|
||||
@map = Map.new
|
||||
@user = current_user
|
||||
|
||||
respond_with(@map)
|
||||
end
|
||||
|
||||
# GET Get /users/:user_id/maps/:id
|
||||
def show
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@map = @user.maps.find(params[:id])
|
||||
|
||||
@mapjson = @map.self_as_json.html_safe
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@map, @user) }
|
||||
format.json { respond_with(@mapjson) }
|
||||
end
|
||||
end
|
||||
|
||||
# POST /users/:user_id/maps
|
||||
def create
|
||||
|
||||
@user = current_user
|
||||
@map = Map.create(params[:map])
|
||||
@map.user = @user
|
||||
|
||||
@map.save
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@user, location: user_map_path(@user, @map)) }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /users/:user_id/maps/:id/edit
|
||||
def edit
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@map = @user.maps.find(params[:id])
|
||||
|
||||
respond_with(@user, @map)
|
||||
end
|
||||
|
||||
# PUT /users/:user_id/maps/:id
|
||||
def update
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@map = @user.maps.find(params[:id])
|
||||
|
||||
@map.attributes = params[:map]
|
||||
@map.save
|
||||
|
||||
respond_with(@user, location: user_map_path(@user, @map)) do |format|
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# DELETE /users/:user_id/maps/:id
|
||||
def destroy
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@map = @user.maps.find(params[:id])
|
||||
|
||||
@mappings = @map.mappings
|
||||
|
||||
@mappings.each do |mapping|
|
||||
mapping.delete
|
||||
end
|
||||
|
||||
@map.delete
|
||||
|
||||
respond_with(location: user_maps_path(@user)) do |format|
|
||||
end
|
||||
end
|
||||
|
||||
end
|
|
@ -22,7 +22,7 @@ class SessionsController < ApplicationController
|
|||
|
||||
@user = User.new
|
||||
|
||||
respond_with(@user, @session, location: restore(default: root_url)) do |format|
|
||||
respond_with(@user, @session, location: root_url) do |format|
|
||||
|
||||
end
|
||||
end
|
||||
|
@ -33,7 +33,7 @@ class SessionsController < ApplicationController
|
|||
@session.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@session, location: restore(default: root_url)) }
|
||||
format.html { respond_with(@session, location: root_url) }
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
class SynapsesController < ApplicationController
|
||||
include ItemsHelper
|
||||
|
||||
before_filter :require_user, only: [:new, :create, :edit, :update]
|
||||
|
||||
respond_to :html, :js, :json
|
||||
|
||||
# GET /synapses
|
||||
# GET users/:user_id/synapses
|
||||
def index
|
||||
@user = current_user
|
||||
@synapses = Synapse.all
|
||||
|
||||
respond_with(@synapses)
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@synapsesjson = usersynapses_as_json(@user).html_safe
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { respond_with(@synapsesjson) }
|
||||
end
|
||||
end
|
||||
|
||||
# Get /synapse/new
|
||||
# Get users/:user_id/synapses/new
|
||||
def new
|
||||
@synapse = Synapse.new
|
||||
@user = current_user
|
||||
|
@ -20,9 +25,11 @@ class SynapsesController < ApplicationController
|
|||
respond_with(@synapse)
|
||||
end
|
||||
|
||||
# GET /synapse/:id
|
||||
# GET users/:user_id/synapses/:id
|
||||
def show
|
||||
@synapse = Synapse.find(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@synapse = @user.synapses.find(params[:id])
|
||||
|
||||
if @synapse
|
||||
@synapsejson = @synapse.selfplusnodes_as_json.html_safe
|
||||
|
@ -34,7 +41,7 @@ class SynapsesController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
# POST /synapses
|
||||
# POST users/:user_id/synapses
|
||||
def create
|
||||
|
||||
@user = current_user
|
||||
|
@ -43,19 +50,48 @@ class SynapsesController < ApplicationController
|
|||
@synapse.category = params[:category]
|
||||
@synapse.item1 = Item.find(params[:node1_id])
|
||||
@synapse.item2 = Item.find(params[:node2_id])
|
||||
@synapse.permission = params[:synapse][:permission]
|
||||
@synapse.user = @user
|
||||
@synapse.save
|
||||
|
||||
if params[:synapse][:map]
|
||||
@mapping = Mapping.new()
|
||||
@mapping.category = "Synapse"
|
||||
@mapping.user = @user
|
||||
@mapping.map = Map.find(params[:synapse][:map])
|
||||
@mapping.synapse = @synapse
|
||||
@mapping.save
|
||||
|
||||
if not Map.find(params[:synapse][:map]).items.include?(@synapse.item1)
|
||||
@mapping1 = Mapping.new()
|
||||
@mapping1.category = "Item"
|
||||
@mapping1.user = @user
|
||||
@mapping1.map = Map.find(params[:synapse][:map])
|
||||
@mapping1.item = @synapse.item1
|
||||
@mapping1.save
|
||||
end
|
||||
if not Map.find(params[:synapse][:map]).items.include?(@synapse.item2)
|
||||
@mapping2 = Mapping.new()
|
||||
@mapping2.category = "Item"
|
||||
@mapping2.user = @user
|
||||
@mapping2.map = Map.find(params[:synapse][:map])
|
||||
@mapping2.item = @synapse.item2
|
||||
@mapping2.save
|
||||
end
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.html { respond_with(@user, location: synapse_url(@synapse)) }
|
||||
format.html { respond_with(@user, location: user_synapse_url(@user, @synapse)) }
|
||||
format.js { respond_with(@synapse) }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /synapses/:id/edit
|
||||
# GET users/:user_id/synapses/:id/edit
|
||||
def edit
|
||||
@synapse = Synapse.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@synapse = @user.synapses.find(params[:id])
|
||||
|
||||
@items = nil
|
||||
|
||||
|
@ -66,26 +102,30 @@ class SynapsesController < ApplicationController
|
|||
respond_with(@synapse, @items)
|
||||
end
|
||||
|
||||
# PUT /synapses/:id
|
||||
# PUT users/:user_id/synapses/:id
|
||||
def update
|
||||
@synapse = Synapse.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@synapse = @user.synapses.find(params[:id])
|
||||
|
||||
if @synapse
|
||||
@synapse.desc = params[:synapse][:desc]
|
||||
@synapse.item1 = Item.find(params[:node1_id][:node1])
|
||||
@synapse.item2 = Item.find(params[:node2_id][:node2])
|
||||
|
||||
@synapse.permission = params[:synapse][:permission]
|
||||
@synapse.save
|
||||
end
|
||||
|
||||
respond_with(@user, location: synapse_url(@synapse)) do |format|
|
||||
respond_with(@user, location: user_synapse_url(@user, @synapse)) do |format|
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# DELETE /synapses/:id
|
||||
# DELETE users/:user_id/synapses/:id
|
||||
def destroy
|
||||
@synapse = Synapse.find_by_id(params[:id])
|
||||
@user = User.find(params[:user_id])
|
||||
|
||||
@synapse = @user.synapses.find(params[:id])
|
||||
|
||||
@synapse.delete
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class UsersController < ApplicationController
|
||||
|
||||
before_filter :require_no_user, only: [:new, :create]
|
||||
before_filter :require_user, only: [:edit, :show, :update]
|
||||
before_filter :require_user, only: [:edit, :update]
|
||||
|
||||
respond_to :html, :json
|
||||
|
||||
|
@ -36,7 +36,7 @@ class UsersController < ApplicationController
|
|||
|
||||
@user.save
|
||||
|
||||
respond_with(@user, location: restore(default: root_url)) do |format|
|
||||
respond_with(@user, location: root_url) do |format|
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -47,7 +47,7 @@ class UsersController < ApplicationController
|
|||
|
||||
@user.save
|
||||
|
||||
respond_with(@user, location: restore(default: root_url)) do |format|
|
||||
respond_with(@user, location: user_url(@user)) do |format|
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ module ItemsHelper
|
|||
@itemdata['$desc'] = item.desc
|
||||
@itemdata['$link'] = item.link
|
||||
@itemdata['$itemcatname'] = item.item_category.name
|
||||
@itemdata['$userid'] = item.user.id
|
||||
@itemdata['$username'] = item.user.name
|
||||
json.data @itemdata
|
||||
json.id item.id
|
||||
json.name item.name
|
||||
|
|
2
app/helpers/maps_helper.rb
Normal file
2
app/helpers/maps_helper.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
module MapsHelper
|
||||
end
|
|
@ -3,10 +3,13 @@ include ItemsHelper
|
|||
|
||||
belongs_to :user
|
||||
|
||||
has_many :synapses1, :class_name => 'Synapse', :foreign_key => 'node1_id' #, :conditions => {:category => 'Item'}
|
||||
has_many :synapses2, :class_name => 'Synapse', :foreign_key => 'node2_id' #, :conditions => {:category => 'Item'}
|
||||
has_many :synapses1, :class_name => 'Synapse', :foreign_key => 'node1_id'
|
||||
has_many :synapses2, :class_name => 'Synapse', :foreign_key => 'node2_id'
|
||||
has_many :items1, :through => :synapses2, :source => :item1
|
||||
has_many :items2, :through => :synapses1, :source => :item2
|
||||
|
||||
has_many :mappings
|
||||
has_many :maps, :through => :mappings
|
||||
|
||||
def synapses
|
||||
synapses1 + synapses2
|
||||
|
@ -25,6 +28,8 @@ belongs_to :item_category
|
|||
@itemdata['$desc'] = self.desc
|
||||
@itemdata['$link'] = self.link
|
||||
@itemdata['$itemcatname'] = self.item_category.name
|
||||
@itemdata['$userid'] = self.user.id
|
||||
@itemdata['$username'] = self.user.name
|
||||
json.data @itemdata
|
||||
json.id self.id
|
||||
json.name self.name
|
||||
|
@ -32,7 +37,7 @@ belongs_to :item_category
|
|||
end
|
||||
|
||||
#build a json object of everything connected to a specified node
|
||||
def map_as_json
|
||||
def network_as_json
|
||||
Jbuilder.encode do |json|
|
||||
@items = network(self,nil)
|
||||
|
||||
|
@ -44,6 +49,8 @@ belongs_to :item_category
|
|||
@synapsedata = Hash.new
|
||||
@synapsedata['$desc'] = synapse.desc
|
||||
@synapsedata['$category'] = synapse.category
|
||||
@synapsedata['$userid'] = synapse.user.id
|
||||
@synapsedata['$username'] = synapse.user.name
|
||||
json.data @synapsedata
|
||||
end
|
||||
|
||||
|
@ -51,6 +58,8 @@ belongs_to :item_category
|
|||
@itemdata['$desc'] = item.desc
|
||||
@itemdata['$link'] = item.link
|
||||
@itemdata['$itemcatname'] = item.item_category.name
|
||||
@itemdata['$userid'] = item.user.id
|
||||
@itemdata['$username'] = item.user.name
|
||||
json.data @itemdata
|
||||
json.id item.id
|
||||
json.name item.name
|
||||
|
@ -71,6 +80,8 @@ belongs_to :item_category
|
|||
@synapsedata = Hash.new
|
||||
@synapsedata['$desc'] = synapse.desc
|
||||
@synapsedata['$category'] = synapse.category
|
||||
@synapsedata['$userid'] = synapse.user.id
|
||||
@synapsedata['$username'] = synapse.user.name
|
||||
json.data @synapsedata
|
||||
end
|
||||
|
||||
|
@ -78,6 +89,9 @@ belongs_to :item_category
|
|||
@itemdata['$desc'] = item.desc
|
||||
@itemdata['$link'] = item.link
|
||||
@itemdata['$itemcatname'] = item.item_category.name
|
||||
@itemdata['$userid'] = item.user.id
|
||||
@itemdata['$username'] = item.user.name
|
||||
|
||||
json.data @itemdata
|
||||
json.id item.id
|
||||
json.name item.name
|
||||
|
|
|
@ -1,2 +1,47 @@
|
|||
class Map < ActiveRecord::Base
|
||||
|
||||
belongs_to :user
|
||||
|
||||
has_many :itemmappings, :class_name => 'Mapping', :conditions => {:category => 'Item'}
|
||||
has_many :synapsemappings, :class_name => 'Mapping', :conditions => {:category => 'Synapse'}
|
||||
|
||||
has_many :items, :through => :itemmappings
|
||||
has_many :synapses, :through => :synapsemappings
|
||||
|
||||
def mappings
|
||||
itemmappings + synapsemappings
|
||||
end
|
||||
|
||||
#build a json object of a map
|
||||
def self_as_json
|
||||
Jbuilder.encode do |json|
|
||||
@items = self.items
|
||||
@synapses = self.synapses
|
||||
|
||||
json.array!(@items) do |item|
|
||||
json.adjacencies item.synapses2.delete_if{|synapse| not @synapses.include?(synapse)} do |json, synapse|
|
||||
json.nodeTo synapse.node1_id
|
||||
json.nodeFrom synapse.node2_id
|
||||
|
||||
@synapsedata = Hash.new
|
||||
@synapsedata['$desc'] = synapse.desc
|
||||
@synapsedata['$category'] = synapse.category
|
||||
@synapsedata['$userid'] = synapse.user.id
|
||||
@synapsedata['$username'] = synapse.user.name
|
||||
json.data @synapsedata
|
||||
end
|
||||
|
||||
@itemdata = Hash.new
|
||||
@itemdata['$desc'] = item.desc
|
||||
@itemdata['$link'] = item.link
|
||||
@itemdata['$itemcatname'] = item.item_category.name
|
||||
@itemdata['$userid'] = item.user.id
|
||||
@itemdata['$username'] = item.user.name
|
||||
json.data @itemdata
|
||||
json.id item.id
|
||||
json.name item.name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
8
app/models/mapping.rb
Normal file
8
app/models/mapping.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
class Mapping < ActiveRecord::Base
|
||||
|
||||
belongs_to :item, :class_name => "Item", :foreign_key => "item_id"
|
||||
belongs_to :synapse, :class_name => "Synapse", :foreign_key => "synapse_id"
|
||||
belongs_to :map, :class_name => "Map", :foreign_key => "map_id"
|
||||
|
||||
belongs_to :user
|
||||
end
|
|
@ -5,11 +5,16 @@ belongs_to :user
|
|||
belongs_to :item1, :class_name => "Item", :foreign_key => "node1_id"
|
||||
belongs_to :item2, :class_name => "Item", :foreign_key => "node2_id"
|
||||
|
||||
has_many :mappings
|
||||
has_many :maps, :through => :mappings
|
||||
|
||||
def self_as_json
|
||||
Jbuilder.encode do |json|
|
||||
@synapsedata = Hash.new
|
||||
@synapsedata['$desc'] = self.desc
|
||||
@synapsedata['$category'] = self.category
|
||||
@synapsedata['$userid'] = synapse.user.id
|
||||
@synapsedata['$username'] = synapse.user.name
|
||||
json.data @synapsedata
|
||||
end
|
||||
end
|
||||
|
@ -28,6 +33,8 @@ belongs_to :item2, :class_name => "Item", :foreign_key => "node2_id"
|
|||
@synapsedata = Hash.new
|
||||
@synapsedata['$desc'] = synapse.desc
|
||||
@synapsedata['$category'] = synapse.category
|
||||
@synapsedata['$userid'] = synapse.user.id
|
||||
@synapsedata['$username'] = synapse.user.name
|
||||
json.data @synapsedata
|
||||
end
|
||||
|
||||
|
@ -35,6 +42,8 @@ belongs_to :item2, :class_name => "Item", :foreign_key => "node2_id"
|
|||
@itemdata['$desc'] = item.desc
|
||||
@itemdata['$link'] = item.link
|
||||
@itemdata['$itemcatname'] = item.item_category.name
|
||||
@itemdata['$userid'] = self.user.id
|
||||
@itemdata['$username'] = self.user.name
|
||||
json.data @itemdata
|
||||
json.id item.id
|
||||
json.name item.name
|
||||
|
|
|
@ -4,6 +4,8 @@ class User < ActiveRecord::Base
|
|||
|
||||
has_many :items
|
||||
has_many :synapses
|
||||
has_many :maps
|
||||
has_many :mappings
|
||||
|
||||
acts_as_authentic do |configuration|
|
||||
configuration.session_class = Session
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<%= div_for item, class: item.item_category.name do %>
|
||||
<% if @user %><%= link_to 'Delete', item, :class => 'delete', :confirm => 'Delete this topic and all synapses linking to it?', :method => :delete, :remote => true%><% end %>
|
||||
<% if @user %><%= link_to 'Delete', user_item_path(@user,item), :class => 'delete', :confirm => 'Delete this topic and all synapses linking to it?', :method => :delete, :remote => true%><% end %>
|
||||
<p class="type"><%= item.item_category.name %></p>
|
||||
<%= image_tag item.item_category.icon, :class => 'icon', :size => '50x50' %>
|
||||
<%= link_to item.name, item_url(item), :class => 'title' %>
|
||||
<%= link_to item.name, user_item_path(@user, item), :class => 'title' %>
|
||||
<div class="desc"><p><%=item.desc %></p></div>
|
||||
<%= link_to item.link, item.link, :class => 'link', :target => '_blank' %>
|
||||
<% end %>
|
|
@ -1,5 +1,5 @@
|
|||
<div class="anypage">
|
||||
<%= form_for Item.new, url: items_path, remote: true do |form| %>
|
||||
<%= form_for Item.new, url: user_items_url(user), remote: true do |form| %>
|
||||
<button id="closenewtopic" onclick="$('#new_item').fadeOut('fast'); $('#new_item')[0].reset(); return false;">close</button>
|
||||
<h3>Add Topic</h3>
|
||||
<label for="category">Category</label>
|
||||
|
@ -10,6 +10,8 @@
|
|||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="item_link">Link</label>
|
||||
<%= form.text_field :link, class: "link" %>
|
||||
<label for="item_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Add Item", class: "addItem", id: "addItem" %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -36,6 +36,10 @@ if (map2 != null) {
|
|||
duration: 400
|
||||
});
|
||||
}
|
||||
else {
|
||||
json = newnode;
|
||||
initFD();
|
||||
}
|
||||
// add the new node to the synapse select list
|
||||
$("#node1_id").prepend("<option value='<%= @item.id %>'><%= @item.name %></option>");
|
||||
$("#node2_id").prepend("<option value='<%= @item.id %>'><%= @item.name %></option>");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<%= form_for @item, url: item_url do |form| %>
|
||||
<%= form_for @item, url: user_item_url do |form| %>
|
||||
<h3>Edit Item</h3>
|
||||
<label for="category">Category</label>
|
||||
<%= select "category", "item_category_id", ItemCategory.order("name ASC").all.collect {|p| [ p.name, p.id ] }, { :selected => @item.item_category.id } %>
|
||||
|
@ -8,5 +8,7 @@
|
|||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="item_link">Link</label>
|
||||
<%= form.text_field :link, class: "link" %>
|
||||
<label for="item_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Update", class: "update" %>
|
||||
<% end %>
|
|
@ -1,4 +1,4 @@
|
|||
<h1>All Topics</h1>
|
||||
<h1>Topics</h1>
|
||||
|
||||
<div class="items" id="cards">
|
||||
<% @items.each do |item| %>
|
||||
|
@ -10,4 +10,6 @@
|
|||
</div>
|
||||
<div class="clearfloat"></div>
|
||||
|
||||
<%= render :partial => 'items/new' %>
|
||||
<% if authenticated? %>
|
||||
<%= render :partial => 'items/new' %>
|
||||
<% end %>
|
|
@ -1,5 +1,5 @@
|
|||
<div class="nothidden">
|
||||
<%= form_for @item || Item.new, url: items_path do |form| %>
|
||||
<%= form_for @item || Item.new, url: user_items_path do |form| %>
|
||||
<h3>Add Topic</h3>
|
||||
<label for="category">Category</label>
|
||||
<%= select_tag "category", options_from_collection_for_select(ItemCategory.order("name ASC").all, "id", "name") %>
|
||||
|
@ -9,6 +9,8 @@
|
|||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="item_link">Link</label>
|
||||
<%= form.text_field :link, class: "link" %>
|
||||
<label for="item_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Add Item", class: "add" %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -1,11 +1,10 @@
|
|||
<div class="focus">
|
||||
|
||||
<div class="focusleft">
|
||||
<p><%= @item.item_category.name %></p>
|
||||
<%= image_tag @item.item_category.icon, :class => 'icon', :size => '50x50' %>
|
||||
</div>
|
||||
<div class="focusmiddle">
|
||||
<h1 class="title"><%= @item.name %> <% if @user %><%= link_to "[edit]", edit_item_path(@item) %><% end %></h1>
|
||||
<h1 class="title"><%= @item.name %> <% if authenticated? %><%= link_to "[edit]", edit_user_item_path(@user, @item) %><% end %></h1>
|
||||
<div class="desc">
|
||||
<p><%= @item.desc %></p>
|
||||
</div>
|
||||
|
@ -34,5 +33,8 @@
|
|||
});
|
||||
</script>
|
||||
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% if authenticated? %>
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
<title>Metamaps</title>
|
||||
<%= stylesheet_link_tag "application", :media => "all" %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
<script type="text/javascript" src="//use.typekit.net/tki2nyo.js"></script>
|
||||
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
|
||||
<%= csrf_meta_tags %>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -52,20 +54,24 @@
|
|||
<ul>
|
||||
<li><%= link_to "Login", new_session_path, id: "Login" %></li>
|
||||
<li>|</li>
|
||||
<li><%= link_to "Topics", items_path %></li>
|
||||
<li><%= link_to "Maps", allmaps_path %></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% if authenticated? %>
|
||||
<ul>
|
||||
<li><%= link_to "Logout", session_path, method: 'delete', id: "Login" %></li>
|
||||
<li><%= link_to "My Synapses", usersynapses_path %></li>
|
||||
<li><%= link_to "My Topics", userobjects_path %></li>
|
||||
<li><%= link_to "Account", edit_user_url(user) %></li>
|
||||
<li><%= link_to "My Maps", user_maps_url(user) %></li>
|
||||
<li><%= link_to "My Synapses", user_synapses_url(user) %></li>
|
||||
<li><%= link_to "My Topics", user_items_url(user) %></li>
|
||||
<li>|</li>
|
||||
<li><%= link_to "Add Synapse", new_synapse_path, id: "newsynapse" %></li>
|
||||
<li><%= link_to "Add Map", new_user_map_path(user), id: "newmap" %></li>
|
||||
<li>|</li>
|
||||
<li><%= link_to "Add Topic", new_item_path, id: "newtopic" %></li>
|
||||
<li><%= link_to "Add Synapse", new_user_synapse_path(user), id: "newsynapse" %></li>
|
||||
<li>|</li>
|
||||
<li><%= link_to "Topics", items_path %></li>
|
||||
<li><%= link_to "Add Topic", new_user_item_path(user), id: "newtopic" %></li>
|
||||
<li>|</li>
|
||||
<li><%= link_to "Maps", allmaps_path %></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
11
app/views/main/allmaps.html.erb
Normal file
11
app/views/main/allmaps.html.erb
Normal file
|
@ -0,0 +1,11 @@
|
|||
<h1>All Maps</h1>
|
||||
|
||||
<div class="maps" id="cards">
|
||||
<% @maps.each do |map| %>
|
||||
<%= render map %>
|
||||
<% end %>
|
||||
<% if @maps.empty? %>
|
||||
<p><br>Shucks, there are no maps.<p>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="clearfloat"></div>
|
|
@ -18,6 +18,8 @@
|
|||
<p><br>Shucks, there is nothing in metamaps.<p>
|
||||
<% end %>
|
||||
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% if authenticated? %>
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% end %>
|
||||
|
||||
|
|
6
app/views/maps/_map.html.erb
Normal file
6
app/views/maps/_map.html.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
<%= div_for map do %>
|
||||
<% if authenticated? %><%= link_to 'Delete', user_map_path(map.user,map), :class => 'delete', :confirm => 'Delete this map (nodes and synapses will remain)?', :method => :delete %><% end %>
|
||||
<%= link_to map.name, user_map_path(map.user, map), :class => 'title' %>
|
||||
<div class="desc"><p><%= map.desc %></p><p># of Topics: <%= map.items.count %></p><p># of Synapses: <%= map.synapses.count %></p></div>
|
||||
<div class="link"><p>Permissions:<%= map.permission %></p></div>
|
||||
<% end %>
|
21
app/views/maps/_newsynapse.html.erb
Normal file
21
app/views/maps/_newsynapse.html.erb
Normal file
|
@ -0,0 +1,21 @@
|
|||
<div class="anypage">
|
||||
<%= form_for Synapse.new, url: user_synapses_url(user), remote: true do |form| %>
|
||||
<button id="closenewsynapse" onclick="$('#new_synapse').fadeOut('fast'); $('#new_synapse')[0].reset(); return false;">close</button>
|
||||
<h3>Add Synapse Between Topics</h3>
|
||||
<%= hidden_field_tag(:category, "Item") %>
|
||||
<% if Item.all.count > 0 %>
|
||||
<label for="node1_id">Choose First Item</label>
|
||||
<%= select_tag :node1_id, options_from_collection_for_select(Item.order("name ASC").all, "id", "name") %>
|
||||
<% end %>
|
||||
<label for="item_desc">Describe The Connection</label>
|
||||
<%= form.text_field :desc, class: "description" %>
|
||||
<% if Item.all.count > 0 %>
|
||||
<label for="node2_id">Choose Second Item</label>
|
||||
<%= select_tag :node2_id, options_from_collection_for_select(Item.order("name ASC").all, "id", "name") %>
|
||||
<% end %>
|
||||
<label for="synapse_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.hidden_field :map, :value => @map.id %>
|
||||
<%= form.submit "Add Synapse", class: "add" %>
|
||||
<% end %>
|
||||
</div>
|
18
app/views/maps/_newtopic.html.erb
Normal file
18
app/views/maps/_newtopic.html.erb
Normal file
|
@ -0,0 +1,18 @@
|
|||
<div class="anypage">
|
||||
<%= form_for Item.new, url: user_items_url(user), remote: true do |form| %>
|
||||
<button id="closenewtopic" onclick="$('#new_item').fadeOut('fast'); $('#new_item')[0].reset(); return false;">close</button>
|
||||
<h3>Add Topic</h3>
|
||||
<label for="category">Category</label>
|
||||
<%= select_tag "category", options_from_collection_for_select(ItemCategory.order("name ASC").all, "id", "name") %>
|
||||
<label for="item_name">Title</label>
|
||||
<%= form.text_field :name %>
|
||||
<label for="item_desc">Description</label>
|
||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="item_link">Link</label>
|
||||
<%= form.text_field :link, class: "link" %>
|
||||
<label for="item_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.hidden_field :map, :value => @map.id %>
|
||||
<%= form.submit "Add Item", class: "addItem", id: "addItem" %>
|
||||
<% end %>
|
||||
</div>
|
10
app/views/maps/edit.html.erb
Normal file
10
app/views/maps/edit.html.erb
Normal file
|
@ -0,0 +1,10 @@
|
|||
<%= form_for @map, url: user_map_url(@user, @map) do |form| %>
|
||||
<h3>Edit Map</h3>
|
||||
<label for="map_name">Name</label>
|
||||
<%= form.text_field :name %>
|
||||
<label for="map_desc">Description</label>
|
||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="map_perm">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private']), { :selected => @map.permission }) %>
|
||||
<%= form.submit "Update", class: "update" %>
|
||||
<% end %>
|
11
app/views/maps/index.html.erb
Normal file
11
app/views/maps/index.html.erb
Normal file
|
@ -0,0 +1,11 @@
|
|||
<h1>Maps</h1>
|
||||
|
||||
<div class="maps" id="cards">
|
||||
<% @maps.each do |map| %>
|
||||
<%= render map %>
|
||||
<% end %>
|
||||
<% if @maps.empty? %>
|
||||
<p><br>Shucks, there are no maps.<p>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="clearfloat"></div>
|
12
app/views/maps/new.html.erb
Normal file
12
app/views/maps/new.html.erb
Normal file
|
@ -0,0 +1,12 @@
|
|||
<div class="nothidden">
|
||||
<%= form_for @map || Map.new, url: user_maps_url do |form|%>
|
||||
<h3>Add Map</h3>
|
||||
<label for="map_name">Name</label>
|
||||
<%= form.text_field :name %>
|
||||
<label for="map_desc">Description</label>
|
||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||
<label for="map_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Add Map", class: "add" %>
|
||||
<% end %>
|
||||
</div>
|
37
app/views/maps/show.html.erb
Normal file
37
app/views/maps/show.html.erb
Normal file
|
@ -0,0 +1,37 @@
|
|||
<div class="focus">
|
||||
<div class="focusleft">
|
||||
<p># of Topics: <%= @map.items.count %></p>
|
||||
<p># of Synapses: <%= @map.synapses.count %></p>
|
||||
</div>
|
||||
<div class="focusmiddle">
|
||||
<h1 class="title"><%= @map.name %> <% if authenticated? %><%= link_to "[edit]", edit_user_map_path(@user, @map) %><% end %></h1>
|
||||
<div class="desc">
|
||||
<p><%= @map.desc %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="focusright">
|
||||
<div class="link"><p>Permissions:<%= @map.permission %></p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfloat nodemargin"></div>
|
||||
|
||||
<div class="maps" id="container">
|
||||
<div id="center-container">
|
||||
<div id="infovis"></div>
|
||||
</div>
|
||||
<div id="showcard">
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfloat"></div>
|
||||
|
||||
<script>
|
||||
json = <%= @mapjson %>;
|
||||
if (json.length > 0) {
|
||||
$(document).ready(function() {
|
||||
initFD();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<%= render :partial => 'newtopic' %>
|
||||
<%= render :partial => 'newsynapse' %>
|
|
@ -1,5 +1,5 @@
|
|||
<div class="anypage">
|
||||
<%= form_for Synapse.new, url: synapses_url, remote: true do |form| %>
|
||||
<%= form_for Synapse.new, url: user_synapses_url(user), remote: true do |form| %>
|
||||
<button id="closenewsynapse" onclick="$('#new_synapse').fadeOut('fast'); $('#new_synapse')[0].reset(); return false;">close</button>
|
||||
<h3>Add Synapse Between Topics</h3>
|
||||
<%= hidden_field_tag(:category, "Item") %>
|
||||
|
@ -13,6 +13,8 @@
|
|||
<label for="node2_id">Choose Second Item</label>
|
||||
<%= select_tag :node2_id, options_from_collection_for_select(Item.order("name ASC").all, "id", "name") %>
|
||||
<% end %>
|
||||
<label for="synapse_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Add Synapse", class: "add" %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -6,7 +6,7 @@ map1 = document.getElementById('container');
|
|||
|
||||
if (map1 != null) {
|
||||
|
||||
var mymap, newnode, select1, select2, option, temp1, temp2, temp;
|
||||
var mymap, newnode, temp1, temp2, temp;
|
||||
if (fd != null) {
|
||||
mymap = fd;
|
||||
}
|
||||
|
@ -14,69 +14,69 @@ if (map1 != null) {
|
|||
mymap = rg;
|
||||
}
|
||||
|
||||
temp1 = mymap.graph.getNode(<%= @synapse.item1.id %>);
|
||||
if (temp1 == null) {
|
||||
newnode = <%= @synapse.item1.self_as_json.html_safe %>;
|
||||
mymap.graph.addNode(newnode);
|
||||
temp = mymap.graph.getNode('<%= @synapse.item1.id %>');
|
||||
temp.setData('dim', 1, 'start');
|
||||
temp.setData('dim', 40, 'end');
|
||||
if (mymap == fd) {
|
||||
temp.setPos(new $jit.Complex(0, 0), 'current');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'start');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'end');
|
||||
}
|
||||
else if (mymap == rg) {
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'current');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'start');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'end');
|
||||
}
|
||||
mymap.fx.plotNode(temp, mymap.canvas);
|
||||
temp1 = mymap.graph.getNode(<%= @synapse.item1.id %>);
|
||||
// add the new node to the synapse select list
|
||||
$("#node1_id").prepend("<option value='<%= @synapse.item1.id %>'><%= @synapse.item1.name %></option>");
|
||||
$("#node2_id").prepend("<option value='<%= @synapse.item1.id %>'><%= @synapse.item1.name %></option>");
|
||||
if (mymap == fd || mymap == rg) {
|
||||
temp1 = mymap.graph.getNode(<%= @synapse.item1.id %>);
|
||||
if (temp1 == null) {
|
||||
newnode = <%= @synapse.item1.self_as_json.html_safe %>;
|
||||
mymap.graph.addNode(newnode);
|
||||
temp = mymap.graph.getNode('<%= @synapse.item1.id %>');
|
||||
temp.setData('dim', 1, 'start');
|
||||
temp.setData('dim', 40, 'end');
|
||||
if (mymap == fd) {
|
||||
temp.setPos(new $jit.Complex(0, 0), 'current');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'start');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'end');
|
||||
}
|
||||
else if (mymap == rg) {
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'current');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'start');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'end');
|
||||
}
|
||||
mymap.fx.plotNode(temp, mymap.canvas);
|
||||
temp1 = mymap.graph.getNode(<%= @synapse.item1.id %>);
|
||||
}
|
||||
temp2 = mymap.graph.getNode(<%= @synapse.item2.id %>);
|
||||
if (temp2 == null) {
|
||||
newnode = <%= @synapse.item2.self_as_json.html_safe %>;
|
||||
mymap.graph.addNode(newnode);
|
||||
temp = mymap.graph.getNode('<%= @synapse.item2.id %>');
|
||||
temp.setData('dim', 1, 'start');
|
||||
temp.setData('dim', 40, 'end');
|
||||
if (mymap == fd) {
|
||||
temp.setPos(new $jit.Complex(0, 0), 'current');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'start');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'end');
|
||||
}
|
||||
else if (mymap == rg) {
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'current');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'start');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'end');
|
||||
}
|
||||
mymap.fx.plotNode(temp, mymap.canvas);
|
||||
temp2 = mymap.graph.getNode(<%= @synapse.item2.id %>);
|
||||
}
|
||||
mymap.graph.addAdjacence(temp1, temp2, {});
|
||||
temp = mymap.graph.getAdjacence(temp1.id, temp2.id);
|
||||
temp.setDataset('start', {
|
||||
lineWidth: 0.4,
|
||||
color: '#d1d1d1'
|
||||
});
|
||||
temp.setDataset('end', {
|
||||
lineWidth: 3,
|
||||
color: '#36acfb'
|
||||
});
|
||||
temp.setDataset('current', {
|
||||
desc: '<%= @synapse.desc %>',
|
||||
category: '<%= @synapse.category %>'
|
||||
});
|
||||
mymap.fx.plotLine(temp, mymap.canvas);
|
||||
mymap.fx.animate({
|
||||
modes: ['node-property:dim','edge-property:lineWidth:color'],
|
||||
duration: 400
|
||||
});
|
||||
}
|
||||
temp2 = mymap.graph.getNode(<%= @synapse.item2.id %>);
|
||||
if (temp2 == null) {
|
||||
newnode = <%= @synapse.item2.self_as_json.html_safe %>;
|
||||
mymap.graph.addNode(newnode);
|
||||
temp = mymap.graph.getNode('<%= @synapse.item2.id %>');
|
||||
temp.setData('dim', 1, 'start');
|
||||
temp.setData('dim', 40, 'end');
|
||||
if (mymap == fd) {
|
||||
temp.setPos(new $jit.Complex(0, 0), 'current');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'start');
|
||||
temp.setPos(new $jit.Complex(0, 0), 'end');
|
||||
}
|
||||
else if (mymap == rg) {
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'current');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'start');
|
||||
temp.setPos(new $jit.Polar(5.54, 347.6), 'end');
|
||||
}
|
||||
mymap.fx.plotNode(temp, mymap.canvas);
|
||||
temp2 = mymap.graph.getNode(<%= @synapse.item2.id %>);
|
||||
// add the new node to the synapse select list
|
||||
$("#node1_id").prepend("<option value='<%= @synapse.item2.id %>'><%= @synapse.item2.name %></option>");
|
||||
$("#node2_id").prepend("<option value='<%= @synapse.item2.id %>'><%= @synapse.item2.name %></option>");
|
||||
else {
|
||||
json = <%= @synapse.selfplusnodes_as_json.html_safe %>
|
||||
initFD();
|
||||
}
|
||||
mymap.graph.addAdjacence(temp1, temp2, {});
|
||||
temp = mymap.graph.getAdjacence(temp1.id, temp2.id);
|
||||
temp.setDataset('start', {
|
||||
lineWidth: 0.4,
|
||||
color: '#d1d1d1'
|
||||
});
|
||||
temp.setDataset('end', {
|
||||
lineWidth: 3,
|
||||
color: '#36acfb'
|
||||
});
|
||||
temp.setDataset('current', {
|
||||
desc: '<%= @synapse.desc %>',
|
||||
category: '<%= @synapse.category %>'
|
||||
});
|
||||
mymap.fx.plotLine(temp, mymap.canvas);
|
||||
mymap.fx.animate({
|
||||
modes: ['node-property:dim','edge-property:lineWidth:color'],
|
||||
duration: 400
|
||||
});
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
<%= form_for @synapse, url: synapse_url do |form| %>
|
||||
<%= form_for @synapse, url: user_synapse_url do |form| %>
|
||||
<h3>Edit Synapse</h3>
|
||||
<% if @collection.count > 0 %>
|
||||
<label for="node1_id">Choose First <%= @synapse.category %></label>
|
||||
|
@ -10,5 +10,7 @@
|
|||
<label for="node2_id">Choose Second <%= @synapse.category %></label>
|
||||
<%= select "node2_id", "node2", @collection.order("name ASC").map {|p| [ p.name, p.id ] }, { :selected => @synapse.node2_id } %>
|
||||
<% end %>
|
||||
<label for="synapse_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Update", class: "update" %>
|
||||
<% end %>
|
|
@ -1,11 +1,20 @@
|
|||
<h1>Synapses</h1>
|
||||
|
||||
<div class="synapses" id="synapses">
|
||||
<% @synapses.each do |synapse| %>
|
||||
<%= render synapse %>
|
||||
<% end %>
|
||||
<% if @synapses.empty? %>
|
||||
<p><br>Shucks, there are no synapses.<p>
|
||||
<% end %>
|
||||
<div class="synapses" id="container">
|
||||
<div id="center-container">
|
||||
<div id="infovis"></div>
|
||||
</div>
|
||||
<div id="showcard">
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfloat"></div>
|
||||
|
||||
<script>
|
||||
json = <%= @synapsesjson %>;
|
||||
$(document).ready(function() {
|
||||
initFD();
|
||||
});
|
||||
</script>
|
||||
|
||||
<% if authenticated? %>
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% end %>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="newsynapses">
|
||||
<%= form_for @synapse, url: synapses_url do |form| %>
|
||||
<%= form_for @synapse, url: user_synapses_url do |form| %>
|
||||
<h3>Add Synapse Between Topics</h3>
|
||||
<%= hidden_field_tag(:category, "Item") %>
|
||||
<% if Item.all.count > 0 %>
|
||||
|
@ -12,6 +12,8 @@
|
|||
<label for="node2_id">Choose Second Item</label>
|
||||
<%= select_tag :node2_id, options_from_collection_for_select(Item.order("name ASC").all, "id", "name") %>
|
||||
<% end %>
|
||||
<label for="synapse_permission">Permission</label>
|
||||
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
|
||||
<%= form.submit "Add Synapse", class: "add" %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -13,4 +13,9 @@
|
|||
$(document).ready(function() {
|
||||
initFD();
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<% if authenticated? %>
|
||||
<%= render :partial => 'items/new' %>
|
||||
<%= render :partial => 'synapses/new' %>
|
||||
<% end %>
|
|
@ -0,0 +1,7 @@
|
|||
<%= formula_form_for @user, url: user_url do |form| %>
|
||||
<h3>Edit Account</h3>
|
||||
<%= form.input :name, label: "Name", class: "name" %>
|
||||
<%= form.input :email, label: "Email", class: "email" %>
|
||||
<%= form.input :password, label: "Password", class: "password" %>
|
||||
<%= form.submit "Update", class: "update" %>
|
||||
<% end %>
|
|
@ -1,4 +1,4 @@
|
|||
<%= formula_form_for @user, url: user_url do |form| %>
|
||||
<%= formula_form_for @user, url: users_url do |form| %>
|
||||
<h3>Create Account</h3>
|
||||
<%= form.input :name, label: "Name", class: "name" %>
|
||||
<%= form.input :email, label: "Email", class: "email" %>
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
<div class="focus">
|
||||
<div class="focusleft">
|
||||
<p># of Topics: <%= @user.items.count %></p>
|
||||
<p># of Synapses: <%= @user.synapses.count %></p>
|
||||
<p># of Maps: <%= @user.maps.count %></p>
|
||||
</div>
|
||||
<div class="focusmiddle">
|
||||
<h1 class="title"><%= @user.name %></h1>
|
||||
<div class="desc">
|
||||
<p><%= link_to "View their topics", user_items_path(@user)%></p>
|
||||
<p><%= link_to "View their synapses", user_synapses_path(@user)%></p>
|
||||
<p><%= link_to "View their maps", user_maps_path(@user) %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="focusright">
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfloat nodemargin"></div>
|
|
@ -1,14 +1,25 @@
|
|||
#development:
|
||||
# min_messages: WARNING
|
||||
# adapter: postgresql
|
||||
# host: ec2-54-243-188-58.compute-1.amazonaws.com
|
||||
# port: 5442
|
||||
# encoding: unicode
|
||||
# database: da81fvorvn5pp9
|
||||
# pool: 5
|
||||
# username: yolhqgtlivenrk
|
||||
# password: "oi_EAZwbXboYjqB_9tWPh2x5YS"
|
||||
|
||||
development:
|
||||
min_messages: WARNING
|
||||
adapter: postgresql
|
||||
host: ec2-54-243-188-58.compute-1.amazonaws.com
|
||||
port: 5442
|
||||
host: 127.0.0.1
|
||||
port: 5432
|
||||
encoding: unicode
|
||||
database: da81fvorvn5pp9
|
||||
database: metamap002_development
|
||||
pool: 5
|
||||
username: yolhqgtlivenrk
|
||||
password: "oi_EAZwbXboYjqB_9tWPh2x5YS"
|
||||
|
||||
username: postgres
|
||||
password: "3112"
|
||||
|
||||
test:
|
||||
min_messages: WARNING
|
||||
adapter: postgresql
|
||||
|
|
|
@ -2,16 +2,15 @@ ISSAD::Application.routes.draw do
|
|||
|
||||
root to: 'main#home', via: :get
|
||||
|
||||
match 'my-topics', to: 'main#userobjects', via: :get, as: :userobjects
|
||||
match 'my-synapses', to: 'main#usersynapses', via: :get, as: :usersynapses
|
||||
match 'maps', to: 'main#allmaps', via: :get, as: :allmaps
|
||||
|
||||
resource :user
|
||||
resource :session
|
||||
|
||||
resources :items
|
||||
resources :people
|
||||
resources :groups
|
||||
resources :synapses
|
||||
resources :users do
|
||||
resources :items
|
||||
resources :synapses
|
||||
resources :maps
|
||||
end
|
||||
|
||||
# The priority is based upon order of creation:
|
||||
# first created -> highest priority.
|
||||
|
|
|
@ -4,6 +4,7 @@ class CreateItems < ActiveRecord::Migration
|
|||
t.text :name
|
||||
t.text :desc
|
||||
t.text :link
|
||||
t.text :permission
|
||||
t.integer :user_id
|
||||
t.integer :item_category_id
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@ class CreateSynapses < ActiveRecord::Migration
|
|||
create_table :synapses do |t|
|
||||
t.text :desc
|
||||
t.text :category
|
||||
t.text :weight
|
||||
t.text :permission
|
||||
t.integer :node1_id
|
||||
t.integer :node2_id
|
||||
t.integer :user_id
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
class CreateMaps < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :maps do |t|
|
||||
|
||||
t.text :name
|
||||
t.text :desc
|
||||
t.text :permission
|
||||
t.integer :user_id
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
|
10
db/migrate/20121025234111_add_permission_to_item.rb
Normal file
10
db/migrate/20121025234111_add_permission_to_item.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class AddPermissionToItem < ActiveRecord::Migration
|
||||
def self.up
|
||||
add_column :items, :permission, :text
|
||||
Item.update_all ["permission = ?", "commons"]
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_column :items, :permission
|
||||
end
|
||||
end
|
13
db/migrate/20121025234344_add_permission_to_synapse.rb
Normal file
13
db/migrate/20121025234344_add_permission_to_synapse.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
class AddPermissionToSynapse < ActiveRecord::Migration
|
||||
def self.up
|
||||
add_column :synapses, :permission, :text
|
||||
add_column :synapses, :weight, :text
|
||||
Synapse.update_all ["permission = ?", "commons"]
|
||||
Synapse.update_all ["weight = ?", "5"]
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_column :synapses, :permission
|
||||
remove_column :synapses, :weight
|
||||
end
|
||||
end
|
14
db/migrate/20121026000731_create_mappings.rb
Normal file
14
db/migrate/20121026000731_create_mappings.rb
Normal file
|
@ -0,0 +1,14 @@
|
|||
class CreateMappings < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :mappings do |t|
|
||||
t.text :category
|
||||
t.integer :xloc
|
||||
t.integer :yloc
|
||||
t.integer :item_id
|
||||
t.integer :synapse_id
|
||||
t.integer :map_id
|
||||
t.integer :user_id
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
132
db/schema.rb
132
db/schema.rb
|
@ -1,54 +1,78 @@
|
|||
# encoding: UTF-8
|
||||
# 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
|
||||
# incrementally modify your database, and then regenerate this schema definition.
|
||||
#
|
||||
# Note that this schema.rb definition is the authoritative source for your
|
||||
# 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
|
||||
# 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).
|
||||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20121005160234) do
|
||||
|
||||
create_table "item_categories", :force => true do |t|
|
||||
t.text "name"
|
||||
t.string "icon"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "items", :force => true do |t|
|
||||
t.text "name"
|
||||
t.text "desc"
|
||||
t.text "link"
|
||||
t.integer "user_id"
|
||||
t.integer "item_category_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "synapses", :force => true do |t|
|
||||
t.text "desc"
|
||||
t.text "category"
|
||||
t.integer "node1_id"
|
||||
t.integer "node2_id"
|
||||
t.integer "user_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "users", :force => true do |t|
|
||||
t.string "name"
|
||||
t.string "email"
|
||||
t.string "crypted_password"
|
||||
t.string "password_salt"
|
||||
t.string "persistence_token"
|
||||
t.string "perishable_token"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
end
|
||||
# encoding: UTF-8
|
||||
# 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
|
||||
# incrementally modify your database, and then regenerate this schema definition.
|
||||
#
|
||||
# Note that this schema.rb definition is the authoritative source for your
|
||||
# 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
|
||||
# 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).
|
||||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20121026064859) do
|
||||
|
||||
create_table "item_categories", :force => true do |t|
|
||||
t.text "name"
|
||||
t.string "icon"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "items", :force => true do |t|
|
||||
t.text "name"
|
||||
t.text "desc"
|
||||
t.text "link"
|
||||
t.integer "user_id"
|
||||
t.integer "item_category_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.text "permission"
|
||||
end
|
||||
|
||||
create_table "mappings", :force => true do |t|
|
||||
t.text "category"
|
||||
t.integer "xloc"
|
||||
t.integer "yloc"
|
||||
t.integer "map_id"
|
||||
t.integer "user_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "item_id"
|
||||
t.integer "synapse_id"
|
||||
end
|
||||
|
||||
create_table "maps", :force => true do |t|
|
||||
t.text "name"
|
||||
t.text "desc"
|
||||
t.text "permission"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "user_id"
|
||||
end
|
||||
|
||||
create_table "synapses", :force => true do |t|
|
||||
t.text "desc"
|
||||
t.text "category"
|
||||
t.integer "node1_id"
|
||||
t.integer "node2_id"
|
||||
t.integer "user_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.text "permission"
|
||||
t.text "weight"
|
||||
end
|
||||
|
||||
create_table "users", :force => true do |t|
|
||||
t.string "name"
|
||||
t.string "email"
|
||||
t.string "crypted_password"
|
||||
t.string "password_salt"
|
||||
t.string "persistence_token"
|
||||
t.string "perishable_token"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
end
|
||||
|
|
11
test/fixtures/mappings.yml
vendored
Normal file
11
test/fixtures/mappings.yml
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
|
||||
|
||||
# This model initially had no columns defined. If you add columns to the
|
||||
# model remove the '{}' from the fixture names and add the columns immediately
|
||||
# below each fixture, per the syntax in the comments below
|
||||
#
|
||||
one: {}
|
||||
# column: value
|
||||
#
|
||||
two: {}
|
||||
# column: value
|
7
test/functional/maps_controller_test.rb
Normal file
7
test/functional/maps_controller_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class MapsControllerTest < ActionController::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
4
test/unit/helpers/maps_helper_test.rb
Normal file
4
test/unit/helpers/maps_helper_test.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
require 'test_helper'
|
||||
|
||||
class MapsHelperTest < ActionView::TestCase
|
||||
end
|
7
test/unit/mapping_test.rb
Normal file
7
test/unit/mapping_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class MappingTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
Loading…
Reference in a new issue