From 71114b00609782db8adb41f9beef44903aa26b49 Mon Sep 17 00:00:00 2001 From: calzoneman Date: Thu, 4 Sep 2014 20:53:18 -0500 Subject: [PATCH] Fix: don't search channel library if rank < seeplaylist --- lib/channel/library.js | 3 ++- templates/channel.jade | 4 ++-- www/js/ui.js | 18 ++++++++++++++++++ www/js/util.js | 1 + 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/channel/library.js b/lib/channel/library.js index ece7a825..b255d667 100644 --- a/lib/channel/library.js +++ b/lib/channel/library.js @@ -77,7 +77,8 @@ LibraryModule.prototype.handleSearchMedia = function (user, data) { }); }; - if (data.source === "yt" || !this.channel.is(Flags.C_REGISTERED)) { + if (data.source === "yt" || !this.channel.is(Flags.C_REGISTERED) || + !this.channel.modules.permissions.canSeePlaylist(user)) { searchYT(); } else { db.channels.searchLibrary(this.channel.name, query, function (err, res) { diff --git a/templates/channel.jade b/templates/channel.jade index 9e9a7f87..65c63a1d 100644 --- a/templates/channel.jade +++ b/templates/channel.jade @@ -13,8 +13,8 @@ html(lang="en") - var cname = "/r/" + channelName ul.nav.navbar-nav mixin navdefaultlinks(cname) - li: a(href="#", onclick="javascript:showUserOptions()") Options - li: a#showchansettings(href="#", onclick="javascript:$('#channeloptions').modal()") Channel Settings + li: a(href="javascript:void(0)", onclick="javascript:showUserOptions()") Options + li: a#showchansettings(href="javascript:void(0)", onclick="javascript:$('#channeloptions').modal()") Channel Settings li.dropdown a.dropdown-toggle(href="#", data-toggle="dropdown") Layout b.caret diff --git a/www/js/ui.js b/www/js/ui.js index f0fe47bf..8fa4f9fd 100644 --- a/www/js/ui.js +++ b/www/js/ui.js @@ -242,6 +242,15 @@ $("#newpollbtn").click(showPollMenu); /* search controls */ $("#library_search").click(function() { + if (!hasPermission("seeplaylist")) { + $("#searchcontrol .alert").remove(); + var al = makeAlert("Permission Denied", + "This channel does not allow you to search its library", + "alert-danger"); + al.find(".alert").insertAfter($("#library_query").parent()); + return; + } + socket.emit("searchMedia", { source: "library", query: $("#library_query").val().toLowerCase() @@ -250,6 +259,15 @@ $("#library_search").click(function() { $("#library_query").keydown(function(ev) { if(ev.keyCode == 13) { + if (!hasPermission("seeplaylist")) { + $("#searchcontrol .alert").remove(); + var al = makeAlert("Permission Denied", + "This channel does not allow you to search its library", + "alert-danger"); + al.find(".alert").insertAfter($("#library_query").parent()); + return; + } + socket.emit("searchMedia", { source: "library", query: $("#library_query").val().toLowerCase() diff --git a/www/js/util.js b/www/js/util.js index a5086970..ee16a5ca 100644 --- a/www/js/util.js +++ b/www/js/util.js @@ -914,6 +914,7 @@ function handlePermissionChange() { setVisible("#plmeta", hasPermission("seeplaylist")); $("#getplaylist").attr("disabled", !hasPermission("seeplaylist")); + setVisible("#showplaylistmanager", hasPermission("seeplaylist")); setVisible("#showmediaurl", hasPermission("playlistadd")); setVisible("#showcustomembed", hasPermission("playlistaddcustom")); $("#queue_next").attr("disabled", !hasPermission("playlistnext"));