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): u = User.get(self.session['user']['id']) screen_status_validity = datetime.now() - timedelta(hours=1) return self.renderer.screens( screens=Screen.get_visible_screens_of(u), buildings=Building.select(), user=u, users=User.select(), channels=Channel.get_screens_channels_from(user=u), subscriptions=u.get_subscriptions_of_owned_screens(), screen_status_validity=screen_status_validity, max_inactivity_period=timedelta(weeks=4))
def render_page(self): u = User.get(self.session['user']['id']) screen_status_validity = datetime.now() - timedelta(hours=1) def get_data_edit_object(screen): object = screen.to_dictionary(['name', 'comment', 'location']) object['screenid'] = screen.id object['mac'] = screen.get_macs_string( ) if screen.macs is not None else '' object['building-name'] = screen.building.name return json.dumps(object) return self.renderer.screens( screens=Screen.get_visible_screens_of(u), buildings=Building.select(), user=u, highest_permission_level=u.highest_permission_level, users=User.select(), channels=Channel.get_screens_channels_from(user=u), subscriptions=u.get_subscriptions_of_owned_screens(), screen_status_validity=screen_status_validity, max_inactivity_period=timedelta(weeks=4), get_data_edit_object=get_data_edit_object)
def assert_all_channels(): assert set(Channel.get_screens_channels_from(u)) == { channel, plugin_channel, bundle_channel }
def assert_channels(*channels): assert set( Channel.get_screens_channels_from(u)) == set(channels)
def assert_channel(c): assert set(Channel.get_screens_channels_from(u)) == {c}
def assert_no_channels(): assert set(Channel.get_screens_channels_from(u)) == set()