Skip to content

Commit

Permalink
Preventing readers from getting menus for creating models. Preventing…
Browse files Browse the repository at this point in the history
… writers and readers from getting menus for deleting projects. Preventing readers from getting menus for deleting models. Addresses #778
  • Loading branch information
alexsielicki committed Oct 31, 2017
1 parent 2e9e638 commit 3772659
Showing 1 changed file with 32 additions and 2 deletions.
34 changes: 32 additions & 2 deletions web-server/js/slycat-navbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,14 +226,44 @@ define("slycat-navbar", ["slycat-server-root", "slycat-web-client", "slycat-dial
};
};

var create_wizards = component.wizards.filter(filter_by_action("create"));
// var create_wizards = component.wizards.filter(filter_by_action("create"));
var create_wizards = component.wizards.filter(filter_by_action("create", function(wizard)
{
// Readers are prevented from creating anything at the model or project level
if(component.relation() === "reader" && (wizard.require.context() === "model" || wizard.require.context() === "project"))
{
return false;
}
else
{
return true;
}
}));
var edit_wizards = component.wizards.filter(filter_by_action("edit", function(wizard)
{
// Editing is permitted only to administrators. Also to writers at the model level.
return component.relation() === "administrator" ||
(component.relation() === "writer" && wizard.require.context() === "model");
}));
// var edit_wizards = component.wizards.filter(filter_by_action("edit"));
var info_wizards = component.wizards.filter(filter_by_action("info"));
var delete_wizards = component.wizards.filter(filter_by_action("delete"));
var delete_wizards = component.wizards.filter(filter_by_action("delete", function(wizard)
{
// Writers and readers are prevented from deleting projects
if(wizard.require.context() === "project" && (component.relation() === "writer" || component.relation() === "reader"))
{
return false;
}
// Readers are prevented from deleting models
else if(wizard.require.context() === "model" && component.relation() === "reader")
{
return false;
}
else
{
return true;
}
}));

var global_wizard_filter = function(wizard)
{
Expand Down

0 comments on commit 3772659

Please sign in to comment.