def assert_public_channels(): channel.subscription_right = 'restricted' assert Channel.get_visible_channels_of(u) == { plugin_channel, bundle_channel } channel.subscription_right = 'private' assert Channel.get_visible_channels_of(u) == { plugin_channel, bundle_channel } channel.subscription_right = 'public'
def render_page(self, screen, user): channels = Channel.get_visible_channels_of(user) plugin_channels = [c for c in channels if type(c) == PluginChannel] bundle_channels = [c for c in channels if type(c) == ChannelBundle] """Let admins select channels with the same orientation as the screen orientation """ plugin_channels = [c for c in plugin_channels if (c.plugin.name == "editor" and c.get_config_param( 'vertical') and "Portrait" == screen.orientation) or (c.plugin.name == "editor" and not c.get_config_param( 'vertical') and "Landscape" == screen.orientation) or (c.plugin.name != "editor")] subscriptions=user.get_subscriptions_of_owned_screens() last_by = {sub.channel.id: { 'user': sub.created_by.readable_name, 'channel_name': sub.channel.name, 'plugin_channel': hasattr(sub.channel, 'plugin') } for sub in subscriptions if sub.screen.id == screen.id } return self.renderer.screen_subscriptions( screen=screen, user=user, users=User.select(), screen_channels=Channel.get_screens_channels_from(user=user), plugin_channels=plugin_channels, bundle_channels=bundle_channels, subscriptions=subscriptions, last_by = last_by, plugin_channels_names = {c.id: c.name for c in plugin_channels}, bundle_channels_names = {c.id: c.name for c in bundle_channels} )
def render_page(self, current_user=None, users=None): if current_user is None: current_user = User.get(self.session['user']['id']) if UserPermissions.channel_administrator in current_user.highest_permission_level: users = User.select() channels = list(Channel.get_visible_channels_of(current_user)) plugin_channels = [] bundles = [] for channel in channels: if type(channel) is PluginChannel: plugin_channels.append(channel) elif type(channel) is ChannelBundle: bundles.append(channel) return self.renderer.channels( plugin_channels=plugin_channels, bundles=bundles, current_user=current_user, users=users, activated_plugins=Plugin.selectBy(activated='yes'), found_plugins=Plugin.select(NOT(Plugin.q.activated == 'notfound')))
def get(self, channel_id): channel = Channel.get(int(channel_id)) current_user = User.get(self.session['user']['id']) if channel in Channel.get_visible_channels_of(current_user): return self.render_page(channel) raise self.forbidden()
def assert_all_channels(): assert Channel.get_visible_channels_of(u) == { channel, plugin_channel, bundle_channel }
def assert_channel(c): assert Channel.get_visible_channels_of(u) == {c}
def assert_no_channels(): assert Channel.get_visible_channels_of(u) == set()