Beispiel #1
0
 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'
Beispiel #2
0
    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}
        )
Beispiel #3
0
    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')))
Beispiel #4
0
 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()
Beispiel #5
0
 def assert_all_channels():
     assert Channel.get_visible_channels_of(u) == {
         channel, plugin_channel, bundle_channel
     }
Beispiel #6
0
 def assert_channel(c):
     assert Channel.get_visible_channels_of(u) == {c}
Beispiel #7
0
 def assert_no_channels():
     assert Channel.get_visible_channels_of(u) == set()