Using new permissions system consequently
This commit is contained in:
@@ -127,7 +127,7 @@ std::deque<std::shared_ptr<ViewEntry>> ClientChannelView::insert_channels(shared
|
||||
std::deque<std::shared_ptr<ViewEntry>> result;
|
||||
|
||||
if(!cache && test_permissions) cache = make_shared<CalculateCache>();
|
||||
bool has_perm = !test_permissions || owner->permissionGranted(permission::PERMTEST_ORDERED, permission::b_channel_ignore_view_power, 1, nullptr, true, cache);
|
||||
bool has_perm = !test_permissions || permission::v2::permission_granted(1, owner->calculate_permission(permission::b_channel_ignore_view_power, 0, false, cache));
|
||||
bool first = true;
|
||||
while(head) {
|
||||
if(!first && first_only) break;
|
||||
@@ -145,7 +145,7 @@ std::deque<std::shared_ptr<ViewEntry>> ClientChannelView::insert_channels(shared
|
||||
}
|
||||
|
||||
if(!has_perm) {
|
||||
if(!channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission_value(permission::i_channel_view_power, channel->channelId()), false)) {
|
||||
if(!channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission(permission::i_channel_view_power, channel->channelId()), false)) {
|
||||
head = head->next;
|
||||
debugMessage(this->getServerId(), "{}[CHANNEL] Dropping channel {} ({}) (No permissions)", CLIENT_STR_LOG_PREFIX_(this->owner), channel->channelId(), channel->name());
|
||||
continue;
|
||||
@@ -245,7 +245,7 @@ std::deque<std::shared_ptr<ViewEntry>> ClientChannelView::test_channel(std::shar
|
||||
if(!cache) cache = make_shared<CalculateCache>();
|
||||
|
||||
std::deque<std::shared_ptr<ViewEntry>> result;
|
||||
bool has_perm = owner->permissionGranted(permission::PERMTEST_ORDERED, permission::b_channel_ignore_view_power, 1, nullptr, true, cache);
|
||||
bool has_perm = permission::v2::permission_granted(1, owner->calculate_permission(permission::b_channel_ignore_view_power, 0, false, cache));
|
||||
if(has_perm) return {};
|
||||
|
||||
deque<shared_ptr<TreeView::LinkedTreeEntry>> parents = {l_old};
|
||||
@@ -267,7 +267,7 @@ std::deque<std::shared_ptr<ViewEntry>> ClientChannelView::test_channel(std::shar
|
||||
auto channel = dynamic_pointer_cast<BasicChannel>(l_entry->entry);
|
||||
sassert(entry->channelId() == channel->channelId());
|
||||
|
||||
if(!channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission_value(permission::i_channel_view_power, channel->channelId()), false)) {
|
||||
if(!channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission(permission::i_channel_view_power, channel->channelId()), false)) {
|
||||
|
||||
for(const auto& te : this->delete_entry(entry))
|
||||
result.push_back(dynamic_pointer_cast<ViewEntry>(te));
|
||||
@@ -288,7 +288,7 @@ std::deque<std::pair<bool, std::shared_ptr<ViewEntry>>> ClientChannelView::updat
|
||||
std::deque<std::pair<bool, std::shared_ptr<ViewEntry>>> ClientChannelView::update_channel_path(std::shared_ptr<ts::TreeView::LinkedTreeEntry> l_channel, std::shared_ptr<ts::TreeView::LinkedTreeEntry> l_own, shared_ptr<CalculateCache> cache, ssize_t length) {
|
||||
if(!cache) cache = make_shared<CalculateCache>();
|
||||
std::deque<std::pair<bool, std::shared_ptr<ViewEntry>>> result;
|
||||
bool has_perm = owner->permissionGranted(permission::PERMTEST_ORDERED, permission::b_channel_ignore_view_power, 1, nullptr, true, cache);
|
||||
bool has_perm = permission::v2::permission_granted(1, owner->calculate_permission(permission::b_channel_ignore_view_power, 0, false, cache));
|
||||
|
||||
while(l_channel && length-- != 0) {
|
||||
auto b_channel = dynamic_pointer_cast<BasicChannel>(l_channel->entry);
|
||||
@@ -303,7 +303,7 @@ std::deque<std::pair<bool, std::shared_ptr<ViewEntry>>> ClientChannelView::updat
|
||||
visible = true;
|
||||
|
||||
if(!has_perm) {
|
||||
if(!b_channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission_value(permission::i_channel_view_power, b_channel->channelId()), false)) {
|
||||
if(!b_channel->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission(permission::i_channel_view_power, b_channel->channelId()), false)) {
|
||||
visible = false;
|
||||
}
|
||||
}
|
||||
@@ -341,9 +341,9 @@ std::deque<std::pair<ClientChannelView::ChannelAction, std::shared_ptr<ViewEntry
|
||||
if(!l_entry) { //Channel not visible yet
|
||||
if(!l_parent && parent) return {}; //The invisible channel was moved into an invisible tree
|
||||
|
||||
bool has_perm = owner->permissionGranted(permission::PERMTEST_ORDERED, permission::b_channel_ignore_view_power, 1, nullptr);
|
||||
bool has_perm = permission::v2::permission_granted(1, owner->calculate_permission(permission::b_channel_ignore_view_power, 0, false));
|
||||
if(!has_perm) {
|
||||
has_perm = dynamic_pointer_cast<BasicChannel>(channel->entry)->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission_value(permission::i_channel_view_power, dynamic_pointer_cast<BasicChannel>(channel->entry)->channelId()), false);
|
||||
has_perm = dynamic_pointer_cast<BasicChannel>(channel->entry)->permission_granted(permission::i_channel_needed_view_power, this->owner->calculate_permission(permission::i_channel_view_power, dynamic_pointer_cast<BasicChannel>(channel->entry)->channelId()), false);
|
||||
}
|
||||
if(!has_perm) return {}; //Channel wasn't visible and he still has no permission for that :)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user