good start on more persistent permissions throughout the platform
This commit is contained in:
parent
aa911d4bdf
commit
02ac167444
14 changed files with 153 additions and 78 deletions
|
@ -20,8 +20,15 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
|
|
||||||
var showCard = document.createElement('div');
|
var showCard = document.createElement('div');
|
||||||
showCard.className = 'showcard topic_' + node.id;
|
showCard.className = 'showcard topic_' + node.id;
|
||||||
showCard.innerHTML = html;
|
if (authorizeToEdit(node)) {
|
||||||
showCard.style.display = "none";
|
var perm = document.createElement('div');
|
||||||
|
perm.className = 'permission canEdit';
|
||||||
|
perm.innerHTML = html;
|
||||||
|
showCard.appendChild(perm);
|
||||||
|
} else {
|
||||||
|
showCard.innerHTML = html;
|
||||||
|
}
|
||||||
|
showCard.style.display = "none";
|
||||||
domElement.appendChild(showCard);
|
domElement.appendChild(showCard);
|
||||||
|
|
||||||
// Create a 'name' button and add it to the main node label
|
// Create a 'name' button and add it to the main node label
|
||||||
|
|
5
app/assets/javascripts/Jit/permissions.js
Normal file
5
app/assets/javascripts/Jit/permissions.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
function authorizeToEdit(obj) {
|
||||||
|
if (userid && (obj.data.$permission == "commons" || obj.data.$userid == userid)) return true;
|
||||||
|
else return false;
|
||||||
|
}
|
|
@ -1,46 +1,54 @@
|
||||||
function editEdge(edge, e) {
|
function editEdge(edge, e) {
|
||||||
//reset so we don't interfere with other edges
|
if (authorizeToEdit(edge)) {
|
||||||
$('#edit_synapse').remove();
|
//reset so we don't interfere with other edges
|
||||||
|
$('#edit_synapse').remove();
|
||||||
|
|
||||||
deselectEdge(edge); //so the label is missing while editing
|
deselectEdge(edge); //so the label is missing while editing
|
||||||
var edit_div = document.createElement('div');
|
var perm = document.createElement('div');
|
||||||
edit_div.setAttribute('id', 'edit_synapse');
|
perm.className = 'permission canEdit';
|
||||||
$('.main .wrapper').append(edit_div);
|
var edit_div = document.createElement('div');
|
||||||
$('#edit_synapse').attr('class', 'best_in_place best_in_place_desc');
|
edit_div.setAttribute('id', 'edit_synapse');
|
||||||
$('#edit_synapse').attr('data-object', 'synapse');
|
perm.appendChild(edit_div);
|
||||||
$('#edit_synapse').attr('data-attribute', 'desc');
|
$('.main .wrapper').append(perm);
|
||||||
$('#edit_synapse').attr('data-type', 'input');
|
$('#edit_synapse').attr('class', 'best_in_place best_in_place_desc');
|
||||||
//TODO how to get blank data-nil
|
$('#edit_synapse').attr('data-object', 'synapse');
|
||||||
$('#edit_synapse').attr('data-nil', ' ');
|
$('#edit_synapse').attr('data-attribute', 'desc');
|
||||||
$('#edit_synapse').attr('data-url', '/synapses/' + edge.getData("id"));
|
$('#edit_synapse').attr('data-type', 'input');
|
||||||
$('#edit_synapse').html(edge.getData("desc"));
|
//TODO how to get blank data-nil
|
||||||
|
$('#edit_synapse').attr('data-nil', ' ');
|
||||||
|
$('#edit_synapse').attr('data-url', '/synapses/' + edge.getData("id"));
|
||||||
|
$('#edit_synapse').html(edge.getData("desc"));
|
||||||
|
|
||||||
$('#edit_synapse').css('position', 'absolute');
|
$('#edit_synapse').css('position', 'absolute');
|
||||||
$('#edit_synapse').css('left', e.clientX);
|
$('#edit_synapse').css('left', e.clientX);
|
||||||
$('#edit_synapse').css('top', e.clientY);
|
$('#edit_synapse').css('top', e.clientY);
|
||||||
|
|
||||||
$('#edit_synapse').bind("ajax:success", function() {
|
$('#edit_synapse').bind("ajax:success", function() {
|
||||||
var desc = $(this).html();
|
var desc = $(this).html();
|
||||||
edge.setData("desc", desc);
|
edge.setData("desc", desc);
|
||||||
selectEdge(edge);
|
selectEdge(edge);
|
||||||
Mconsole.plot();
|
Mconsole.plot();
|
||||||
$('#edit_synapse').remove();
|
$('#edit_synapse').remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#edit_synapse').focusout(function() {
|
$('#edit_synapse').focusout(function() {
|
||||||
//in case they cancel
|
//in case they cancel
|
||||||
$('#edit_synapse').hide();
|
$('#edit_synapse').hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
//css stuff above moves it, this activates it
|
//css stuff above moves it, this activates it
|
||||||
$('#edit_synapse').click();
|
$('#edit_synapse').click();
|
||||||
$('#edit_synapse form').submit(function() {
|
$('#edit_synapse form').submit(function() {
|
||||||
//hide it once form submits.
|
//hide it once form submits.
|
||||||
//If you don't do this, and data is unchanged, it'll show up on canvas
|
//If you don't do this, and data is unchanged, it'll show up on canvas
|
||||||
$('#edit_synapse').hide();
|
$('#edit_synapse').hide();
|
||||||
});
|
});
|
||||||
$('#edit_synapse input').focus();
|
$('#edit_synapse input').focus();
|
||||||
$('#edit_synapse').show();
|
$('#edit_synapse').show();
|
||||||
|
}
|
||||||
|
else if (! authorizeToEdit(edge)) {
|
||||||
|
alert("You don't have the permissions to edit this synapse.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function deselectAllEdges() {
|
function deselectAllEdges() {
|
||||||
|
|
|
@ -87,21 +87,25 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null,
|
||||||
|
|
||||||
// controls the sliding hover of the settings for cards
|
// controls the sliding hover of the settings for cards
|
||||||
var sliding2 = false;
|
var sliding2 = false;
|
||||||
var lT2;
|
var lT1,lT2;
|
||||||
$(".permActivator").hover(
|
$(".permActivator").hover(
|
||||||
function () {
|
function () {
|
||||||
clearTimeout(lT2);
|
clearTimeout(lT2);
|
||||||
if (! sliding2) {
|
that = this;
|
||||||
sliding2 = true;
|
lT1 = setTimeout(function() {
|
||||||
$(this).animate({
|
if (! sliding2) {
|
||||||
width: '203px',
|
sliding2 = true;
|
||||||
height: '37px'
|
$(that).animate({
|
||||||
}, 300, function() {
|
width: '203px',
|
||||||
sliding2 = false;
|
height: '37px'
|
||||||
});
|
}, 300, function() {
|
||||||
}
|
sliding2 = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
|
clearTimeout(lT1);
|
||||||
that = this;
|
that = this;
|
||||||
lT2 = setTimeout(function() {
|
lT2 = setTimeout(function() {
|
||||||
if (! sliding2) {
|
if (! sliding2) {
|
||||||
|
@ -116,6 +120,24 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null,
|
||||||
},800);
|
},800);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
//bind best_in_place ajax callbacks
|
||||||
|
$('.best_in_place_permission').bind("ajax:success", function() {
|
||||||
|
var permission = $(this).html();
|
||||||
|
var el = $(this).parents('.cardSettings').find('.mapPerm');
|
||||||
|
el.attr('title', permission);
|
||||||
|
if (permission == "commons") el.html("co");
|
||||||
|
else if (permission == "public") el.html("pu");
|
||||||
|
else if (permission == "private") el.html("pr");
|
||||||
|
});
|
||||||
|
|
||||||
|
//bind best_in_place ajax callbacks
|
||||||
|
$('.best_in_place_metacode').bind("ajax:success", function() {
|
||||||
|
var metacode = $(this).html();
|
||||||
|
//changing img alt, img src for top card (topic view page)
|
||||||
|
//and on-canvas card. Also changing image of node
|
||||||
|
$(this).parents('.CardOnGraph').find('img.icon').attr('alt', metacode);
|
||||||
|
$(this).parents('.CardOnGraph').find('img.icon').attr('src', imgArray[metacode].src);
|
||||||
|
});
|
||||||
|
|
||||||
// this is to save the layout of maps when you're on a map page
|
// this is to save the layout of maps when you're on a map page
|
||||||
$("#saveLayout").click(function(event) {
|
$("#saveLayout").click(function(event) {
|
||||||
|
|
|
@ -72,39 +72,40 @@
|
||||||
padding-bottom:5px;
|
padding-bottom:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .best_in_place_name {
|
.best_in_place_name {
|
||||||
max-width:130px;
|
max-width:130px;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .best_in_place_name input{
|
.best_in_place_name input{
|
||||||
max-width:130px;
|
max-width:130px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .desc {
|
.desc {
|
||||||
font-size:15px;
|
font-size:15px;
|
||||||
font-family:Arial, Helvetica, sans-serif;
|
font-family:Arial, Helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .desc h3 {
|
.desc h3 {
|
||||||
font-style:normal;
|
font-style:normal;
|
||||||
margin-top:5px;
|
margin-top:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .best_in_place_desc input {
|
.best_in_place_desc input {
|
||||||
float: right;
|
float: right;
|
||||||
margin: 2px 0px 0px 2px;
|
margin: 2px 0px 0px 2px;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .best_in_place_desc {
|
.best_in_place_desc {
|
||||||
width:155px;
|
width:155px;
|
||||||
display:block;
|
display:block;
|
||||||
margin-top:2px;
|
margin-top:2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .best_in_place_desc input[value="Save"] {
|
.best_in_place_desc textarea{
|
||||||
margin-right: -8px;
|
width:150px;
|
||||||
|
display:block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CardOnGraph .link {
|
.CardOnGraph .link {
|
||||||
|
@ -139,7 +140,7 @@ margin-right: -8px;
|
||||||
.cardSettings {
|
.cardSettings {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 12px;
|
left: 12px;
|
||||||
top: 13px;
|
top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editSettings {
|
.editSettings {
|
||||||
|
@ -152,6 +153,7 @@ margin-right: -8px;
|
||||||
opacity: 0.98;
|
opacity: 0.98;
|
||||||
box-shadow: 4px 4px 5px #888888;
|
box-shadow: 4px 4px 5px #888888;
|
||||||
border: 1px solid #AAA;
|
border: 1px solid #AAA;
|
||||||
|
z-index: 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editSettings span {
|
.editSettings span {
|
||||||
|
@ -163,6 +165,9 @@ margin-right: -8px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
background: url('settings.png') no-repeat 0 0;
|
background: url('settings.png') no-repeat 0 0;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
|
position: absolute;
|
||||||
|
left: 0px;
|
||||||
|
top: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mapPerm {
|
.mapPerm {
|
||||||
|
@ -172,7 +177,7 @@ margin-right: -8px;
|
||||||
border: 1px solid #AAA;
|
border: 1px solid #AAA;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -7px;
|
left: -7px;
|
||||||
top: 18px;
|
top: 0px;
|
||||||
width:16px;
|
width:16px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ end
|
||||||
@synapsedata['$userid'] = synapse.user.id
|
@synapsedata['$userid'] = synapse.user.id
|
||||||
@synapsedata['$username'] = synapse.user.name
|
@synapsedata['$username'] = synapse.user.name
|
||||||
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
||||||
|
@synapsedata['$permission'] = synapse.permission
|
||||||
json.data @synapsedata
|
json.data @synapsedata
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -65,6 +66,7 @@ end
|
||||||
@topicdata['$xloc'] = @mapping.xloc
|
@topicdata['$xloc'] = @mapping.xloc
|
||||||
@topicdata['$yloc'] = @mapping.yloc
|
@topicdata['$yloc'] = @mapping.yloc
|
||||||
@topicdata['$mappingid'] = @mapping.id
|
@topicdata['$mappingid'] = @mapping.id
|
||||||
|
@topicdata['$permission'] = topic.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id topic.id
|
json.id topic.id
|
||||||
json.name topic.name
|
json.name topic.name
|
||||||
|
|
|
@ -16,10 +16,11 @@ has_many :maps, :through => :mappings
|
||||||
@synapsedata['$desc'] = self.desc
|
@synapsedata['$desc'] = self.desc
|
||||||
@synapsedata['$showDesc'] = false
|
@synapsedata['$showDesc'] = false
|
||||||
@synapsedata['$category'] = self.category
|
@synapsedata['$category'] = self.category
|
||||||
@synapsedata['$id'] = synapse.id
|
@synapsedata['$id'] = self.id
|
||||||
@synapsedata['$userid'] = synapse.user.id
|
@synapsedata['$userid'] = self.user.id
|
||||||
@synapsedata['$username'] = synapse.user.name
|
@synapsedata['$username'] = self.user.name
|
||||||
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
@synapsedata['$direction'] = [self.node1_id.to_s(), self.node2_id.to_s()]
|
||||||
|
@synapsedata['$permission'] = self.permission
|
||||||
json.data @synapsedata
|
json.data @synapsedata
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -43,6 +44,7 @@ has_many :maps, :through => :mappings
|
||||||
@synapsedata['$userid'] = synapse.user.id
|
@synapsedata['$userid'] = synapse.user.id
|
||||||
@synapsedata['$username'] = synapse.user.name
|
@synapsedata['$username'] = synapse.user.name
|
||||||
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
||||||
|
@synapsedata['$permission'] = synapse.permission
|
||||||
json.data @synapsedata
|
json.data @synapsedata
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -58,6 +60,7 @@ has_many :maps, :through => :mappings
|
||||||
@topicdata['$inmaps'] = @inmaps
|
@topicdata['$inmaps'] = @inmaps
|
||||||
@topicdata['$userid'] = topic.user.id
|
@topicdata['$userid'] = topic.user.id
|
||||||
@topicdata['$username'] = topic.user.name
|
@topicdata['$username'] = topic.user.name
|
||||||
|
@topicdata['$permission'] = topic.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id topic.id
|
json.id topic.id
|
||||||
json.name topic.name
|
json.name topic.name
|
||||||
|
|
|
@ -28,7 +28,7 @@ belongs_to :metacode
|
||||||
|
|
||||||
def mk_permission
|
def mk_permission
|
||||||
if self.permission == "commons"
|
if self.permission == "commons"
|
||||||
"cc"
|
"co"
|
||||||
elsif self.permission == "public"
|
elsif self.permission == "public"
|
||||||
"pu"
|
"pu"
|
||||||
elsif self.permission == "private"
|
elsif self.permission == "private"
|
||||||
|
@ -58,11 +58,12 @@ belongs_to :metacode
|
||||||
|
|
||||||
@topicdata = Hash.new
|
@topicdata = Hash.new
|
||||||
@topicdata['$desc'] = self.desc
|
@topicdata['$desc'] = self.desc
|
||||||
@topicdata['$link'] = self.link
|
@topicdata['$link'] = self.link
|
||||||
@topicdata['$metacode'] = self.metacode.name
|
@topicdata['$metacode'] = self.metacode.name
|
||||||
@topicdata['$inmaps'] = @inmaps
|
@topicdata['$inmaps'] = @inmaps
|
||||||
@topicdata['$userid'] = self.user.id
|
@topicdata['$userid'] = self.user.id
|
||||||
@topicdata['$username'] = self.user.name
|
@topicdata['$username'] = self.user.name
|
||||||
|
@topicdata['$permission'] = self.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id self.id
|
json.id self.id
|
||||||
json.name self.name
|
json.name self.name
|
||||||
|
@ -87,6 +88,7 @@ belongs_to :metacode
|
||||||
@topicdata['$xloc'] = @mapping.xloc
|
@topicdata['$xloc'] = @mapping.xloc
|
||||||
@topicdata['$yloc'] = @mapping.yloc
|
@topicdata['$yloc'] = @mapping.yloc
|
||||||
@topicdata['$mappingid'] = @mapping.id
|
@topicdata['$mappingid'] = @mapping.id
|
||||||
|
@topicdata['$permission'] = self.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id self.id
|
json.id self.id
|
||||||
json.name self.name
|
json.name self.name
|
||||||
|
@ -113,6 +115,7 @@ belongs_to :metacode
|
||||||
@synapsedata['$userid'] = synapse.user.id
|
@synapsedata['$userid'] = synapse.user.id
|
||||||
@synapsedata['$username'] = synapse.user.name
|
@synapsedata['$username'] = synapse.user.name
|
||||||
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
@synapsedata['$direction'] = [synapse.node1_id.to_s(), synapse.node2_id.to_s()]
|
||||||
|
@synapsedata['$permission'] = synapse.permission
|
||||||
json.data @synapsedata
|
json.data @synapsedata
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -128,6 +131,7 @@ belongs_to :metacode
|
||||||
@topicdata['$inmaps'] = @inmaps
|
@topicdata['$inmaps'] = @inmaps
|
||||||
@topicdata['$userid'] = topic.user.id
|
@topicdata['$userid'] = topic.user.id
|
||||||
@topicdata['$username'] = topic.user.name
|
@topicdata['$username'] = topic.user.name
|
||||||
|
@topicdata['$permission'] = topic.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id topic.id
|
json.id topic.id
|
||||||
json.name topic.name
|
json.name topic.name
|
||||||
|
@ -146,6 +150,7 @@ belongs_to :metacode
|
||||||
@topicdata['$inmaps'] = @inmaps
|
@topicdata['$inmaps'] = @inmaps
|
||||||
@topicdata['$userid'] = topic.user.id
|
@topicdata['$userid'] = topic.user.id
|
||||||
@topicdata['$username'] = topic.user.name
|
@topicdata['$username'] = topic.user.name
|
||||||
|
@topicdata['$permission'] = topic.permission
|
||||||
json.data @topicdata
|
json.data @topicdata
|
||||||
json.id topic.id
|
json.id topic.id
|
||||||
json.name topic.name
|
json.name topic.name
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<title>Metamaps</title>
|
<title>Metamaps</title>
|
||||||
<% if authenticated? %>
|
<% if authenticated? %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var userid = "<%= user.id %>";
|
var userid = <%= user.id %>;
|
||||||
var username = "<%= user.name %>";
|
var username = "<%= user.name %>";
|
||||||
</script>
|
</script>
|
||||||
<% else %>
|
<% else %>
|
||||||
|
|
|
@ -12,19 +12,19 @@
|
||||||
<p class="type">Map</p>
|
<p class="type">Map</p>
|
||||||
<%= image_tag 'map.png', :class => 'icon', :size => '50x50' %>
|
<%= image_tag 'map.png', :class => 'icon', :size => '50x50' %>
|
||||||
<div class="cardSettings">
|
<div class="cardSettings">
|
||||||
|
<div class="mapPerm" title="<%= map.permission %>"><%= map.mk_permission %></div>
|
||||||
<% if map.user == user %>
|
<% if map.user == user %>
|
||||||
<div class="permActivator">
|
<div class="permActivator">
|
||||||
<div class="editSettings">
|
<div class="editSettings">
|
||||||
<span>Permissions: </span>
|
<span>Permissions: </span>
|
||||||
<span title="Click to Edit"><%= best_in_place map, :permission, :type => :select, :collection => [['commons', 'commons'], ['public','public'], ['private','private']] %></span>
|
<span title="Click to Edit"><%= best_in_place map, :permission, :type => :select, :collection => [['commons', 'commons'], ['public','public'], ['private','private']], :classes => 'best_in_place_permission' %></span>
|
||||||
<div class="clearfloat"></div>
|
<div class="clearfloat"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="mapPerm"><%= map.mk_permission %></div>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="title">
|
<span class="title">
|
||||||
<span><%= best_in_place map, :name, :type => :input %></span>
|
<span><%= best_in_place map, :name, :type => :input, :classes => 'best_in_place_name' %></span>
|
||||||
<a href="/maps/<%=map.id %>" class="topic-go-arrow">
|
<a href="/maps/<%=map.id %>" class="topic-go-arrow">
|
||||||
<img class="topic-go-arrow"
|
<img class="topic-go-arrow"
|
||||||
title="Go to map"
|
title="Go to map"
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
<div class="scroll">
|
<div class="scroll">
|
||||||
<div class="desc">
|
<div class="desc">
|
||||||
<p class="mapdata"><%= map.topics.count %> topics and <%= map.synapses.count %> synapses</p>
|
<p class="mapdata"><%= map.topics.count %> topics and <%= map.synapses.count %> synapses</p>
|
||||||
<p><%= best_in_place map, :desc, :type => :textarea, :nil => "<span class='gray'>Click to add description.</span>" %></p>
|
<p><%= best_in_place map, :desc, :type => :textarea, :nil => "<span class='gray'>Click to add description.</span>", :classes => 'best_in_place_desc' %></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,9 @@
|
||||||
<%= form.text_field :name %>
|
<%= form.text_field :name %>
|
||||||
<label for="map_desc">Description</label>
|
<label for="map_desc">Description</label>
|
||||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||||
<label for="map_perm">Permission</label>
|
<% if @map.user == user %>
|
||||||
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @map.permission) %>
|
<label for="map_perm">Permission</label>
|
||||||
|
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @map.permission) %>
|
||||||
|
<% end %>
|
||||||
<%= form.submit "Update", class: "update" %>
|
<%= form.submit "Update", class: "update" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
<label for="node2_id">Choose Second Topic</label>
|
<label for="node2_id">Choose Second Topic</label>
|
||||||
<%= select "node2_id", "node2", Topic.order("name ASC").visibleToUser(user, nil).map {|p| [ p.name, p.id ] }, { :selected => @synapse.node2_id } %>
|
<%= select "node2_id", "node2", Topic.order("name ASC").visibleToUser(user, nil).map {|p| [ p.name, p.id ] }, { :selected => @synapse.node2_id } %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<label for="synapse_permission">Permission</label>
|
<% if @synapse.user == user %>
|
||||||
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @synapse.permission) %>
|
<label for="synapse_permission">Permission</label>
|
||||||
|
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @synapse.permission) %>
|
||||||
|
<% end %>
|
||||||
<%= form.submit "Update", class: "update" %>
|
<%= form.submit "Update", class: "update" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -20,6 +20,18 @@
|
||||||
data-attribute="metacode"
|
data-attribute="metacode"
|
||||||
data-type="select"><%= topic.metacode.name %></p>
|
data-type="select"><%= topic.metacode.name %></p>
|
||||||
<%= image_tag topic.metacode.icon, :class => 'icon', :size => '50x50' %>
|
<%= image_tag topic.metacode.icon, :class => 'icon', :size => '50x50' %>
|
||||||
|
<div class="cardSettings">
|
||||||
|
<div class="mapPerm" title="<%= topic.permission %>"><%= topic.mk_permission %></div>
|
||||||
|
<% if topic.user == user %>
|
||||||
|
<div class="permActivator">
|
||||||
|
<div class="editSettings">
|
||||||
|
<span>Permissions: </span>
|
||||||
|
<span title="Click to Edit"><%= best_in_place topic, :permission, :type => :select, :collection => [['commons', 'commons'], ['public','public'], ['private','private']], :classes => 'best_in_place_permission' %></span>
|
||||||
|
<div class="clearfloat"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
<span class="title">
|
<span class="title">
|
||||||
<span class="best_in_place best_in_place_name"
|
<span class="best_in_place best_in_place_name"
|
||||||
data-url="/topics/<%=topic.id %>"
|
data-url="/topics/<%=topic.id %>"
|
||||||
|
|
|
@ -14,7 +14,9 @@
|
||||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||||
<label for="topic_link">Link</label>
|
<label for="topic_link">Link</label>
|
||||||
<%= form.text_field :link, class: "link" %>
|
<%= form.text_field :link, class: "link" %>
|
||||||
<label for="topic_permission">Permission</label>
|
<% if @topic.user == user %>
|
||||||
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @topic.permission) %>
|
<label for="topic_permission">Permission</label>
|
||||||
|
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @topic.permission) %>
|
||||||
|
<% end %>
|
||||||
<%= form.submit "Update", class: "update" %>
|
<%= form.submit "Update", class: "update" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
Loading…
Add table
Reference in a new issue