def display(self, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [*self._extra_title_parts, self.title] if self.MANAGEMENT: title_parts.insert(0, _('Management')) elif isinstance(self._rh, RHAdminBase): title_parts.insert(0, _('Administration')) injected_bundles = values_from_signal(signals.plugin.inject_bundle.send(self.__class__), as_list=True, multi_value_types=list) custom_js = list(current_app.manifest['__custom.js']) custom_css = list(current_app.manifest['__custom.css']) css_files = list(map(self._fix_path, self.get_extra_css_files() + custom_css)) js_files = list(map(self._fix_path, custom_js)) body = self._display(params) bundles = itertools.chain((current_app.manifest[x] for x in self._resolve_bundles() if x in current_app.manifest._entries), self.additional_bundles['screen'], injected_bundles) print_bundles = itertools.chain((current_app.manifest[x] for x in self.print_bundles), self.additional_bundles['print']) return render_template('indico_base.html', css_files=css_files, js_files=js_files, bundles=bundles, print_bundles=print_bundles, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_metadata=self.page_metadata, page_title=' - '.join(str(x) for x in title_parts if x), head_content=self._get_head_content(), body=body)
def render_event_footer(event, dark=False): location = event.venue_name if event.room_name: location = '{} ({})'.format(event.room_name, location) description = '{}\n\n{}'.format(truncate(event.description, 1000), event.short_external_url).strip() google_calendar_params = { 'action': 'TEMPLATE', 'text': event.title, 'dates': '{}/{}'.format(event.start_dt.strftime('%Y%m%dT%H%M%SZ'), event.end_dt.strftime('%Y%m%dT%H%M%SZ')), 'details': description, 'location': location, 'trp': False, 'sprop': [event.external_url, 'name:indico'] } social_settings_data = social_settings.get_all() show_social = social_settings_data['enabled'] and layout_settings.get( event, 'show_social_badges') return render_template('events/footer.html', event=event, dark=dark, social_settings=social_settings_data, show_social=show_social, google_calendar_params=google_calendar_params)
def display(cls, template_name, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [cls.title] if cls.MANAGEMENT: title_parts.insert(0, _('Management')) elif isinstance(g.rh, RHAdminBase): title_parts.insert(0, _('Administration')) injected_bundles = values_from_signal(signals.plugin.inject_bundle.send(cls), as_list=True, multi_value_types=list) custom_js = list(current_app.manifest['__custom.js']) custom_css = list(current_app.manifest['__custom.css']) css_files = list(map(cls._fix_path, custom_css)) js_files = list(map(cls._fix_path, custom_js)) bundles = itertools.chain((current_app.manifest[x] for x in cls._resolve_bundles() if x in current_app.manifest._entries), cls.additional_bundles['screen'], injected_bundles) print_bundles = itertools.chain((current_app.manifest[x] for x in cls.print_bundles), cls.additional_bundles['print']) template = cls._prefix_template(template_name) return render_template(template, css_files=css_files, js_files=js_files, page_metadata=cls.page_metadata, bundles=bundles, print_bundles=print_bundles, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_title=' - '.join(str(x) for x in title_parts if x), **params)
def display(self, **params): from indico.legacy.webinterface.rh.base import RHModificationBaseProtected from indico.modules.admin import RHAdminBase from indico.modules.core.settings import social_settings title_parts = [to_unicode(self._getTitle())] if self.MANAGEMENT or isinstance(self._rh, RHModificationBaseProtected): title_parts.append(_(u'Management area')) elif isinstance(self._rh, RHAdminBase): title_parts.append(_(u'Administrator area')) plugin_css = values_from_signal(signals.plugin.inject_css.send(self.__class__), as_list=True, multi_value_types=list) plugin_js = values_from_signal(signals.plugin.inject_js.send(self.__class__), as_list=True, multi_value_types=list) custom_js = self._asset_env['custom_js'].urls() if 'custom_js' in self._asset_env else [] custom_css = self._asset_env['custom_sass'].urls() if 'custom_sass' in self._asset_env else [] css_files = map(self._fix_path, self.getCSSFiles() + plugin_css + self.get_extra_css_files() + custom_css) print_css_files = map(self._fix_path, self.getPrintCSSFiles()) js_files = map(self._fix_path, self.getJSFiles() + plugin_js + custom_js) body = to_unicode(self._display(params)) return render_template(u'indico_base.html', css_files=css_files, print_css_files=print_css_files, js_files=js_files, social=social_settings.get_all(), page_title=u' - '.join(title_parts), head_content=to_unicode(self._getHeadContent()), body=body)
def display(self, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [to_unicode(self._getTitle())] if self.MANAGEMENT: title_parts.append(_('Management area')) elif isinstance(self._rh, RHAdminBase): title_parts.append(_('Administration area')) plugin_css = values_from_signal(signals.plugin.inject_css.send(self.__class__), as_list=True, multi_value_types=list) plugin_js = values_from_signal(signals.plugin.inject_js.send(self.__class__), as_list=True, multi_value_types=list) custom_js = self._asset_env['custom_js'].urls() if 'custom_js' in self._asset_env else [] custom_css = self._asset_env['custom_sass'].urls() if 'custom_sass' in self._asset_env else [] css_files = map(self._fix_path, self.getCSSFiles() + plugin_css + self.get_extra_css_files() + custom_css) print_css_files = map(self._fix_path, self.getPrintCSSFiles()) js_files = map(self._fix_path, self.getJSFiles() + plugin_js + custom_js) body = to_unicode(self._display(params)) return render_template('indico_base.html', css_files=css_files, print_css_files=print_css_files, js_files=js_files, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_title=' - '.join(title_parts), head_content=to_unicode(self._getHeadContent()), body=body)
def display(cls, template_name, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [cls.title] if cls.MANAGEMENT: title_parts.insert(0, _('Management')) elif isinstance(g.rh, RHAdminBase): title_parts.insert(0, _('Administration')) injected_bundles = values_from_signal(signals.plugin.inject_bundle.send(cls), as_list=True, multi_value_types=list) custom_js = list(current_app.manifest['__custom.js']) custom_css = list(current_app.manifest['__custom.css']) css_files = map(cls._fix_path, custom_css) js_files = map(cls._fix_path, custom_js) bundles = itertools.chain((current_app.manifest[x] for x in cls._resolve_bundles() if x in current_app.manifest._entries), cls.additional_bundles['screen'], injected_bundles) print_bundles = itertools.chain((current_app.manifest[x] for x in cls.print_bundles), cls.additional_bundles['print']) template = cls._prefix_template(template_name) return render_template(template, css_files=css_files, js_files=js_files, bundles=bundles, print_bundles=print_bundles, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_title=' - '.join(unicode(x) for x in title_parts if x), **params)
def display(self, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [self.title] if self.MANAGEMENT: title_parts.insert(0, _('Management')) elif isinstance(self._rh, RHAdminBase): title_parts.insert(0, _('Administration')) injected_bundles = values_from_signal(signals.plugin.inject_bundle.send(self.__class__), as_list=True, multi_value_types=list) custom_js = list(current_app.manifest['__custom.js']) custom_css = list(current_app.manifest['__custom.css']) css_files = map(self._fix_path, self.get_extra_css_files() + custom_css) js_files = map(self._fix_path, custom_js) body = to_unicode(self._display(params)) bundles = itertools.chain((current_app.manifest[x] for x in self._resolve_bundles() if x in current_app.manifest._entries), self.additional_bundles['screen'], injected_bundles) print_bundles = itertools.chain((current_app.manifest[x] for x in self.print_bundles), self.additional_bundles['print']) return render_template('indico_base.html', css_files=css_files, js_files=js_files, bundles=bundles, print_bundles=print_bundles, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_title=' - '.join(unicode(x) for x in title_parts if x), head_content=to_unicode(self._getHeadContent()), body=body)
def getVars(self): v = wcomponents.WTemplated.getVars( self ) v['site_name'] = core_settings.get('site_title') v['social'] = social_settings.get_all() event = self._conf.as_event v['image'] = event.logo_url if event.has_logo else (config.IMAGES_BASE_URL + '/logo_indico.png') v['description'] = strip_ml_tags(self._conf.as_event.description[:500].encode('utf-8')) return v
def getVars(self): v = wcomponents.WTemplated.getVars( self ) v['site_name'] = core_settings.get('site_title') v['social'] = social_settings.get_all() event = self._conf.as_event v['image'] = event.logo_url if event.has_logo else Config.getInstance().getSystemIconURL("logo_indico") v['description'] = strip_ml_tags(self._conf.as_event.description[:500].encode('utf-8')) return v
def _process(self): proxy = PrefixSettingsProxy({'core': core_settings, 'social': social_settings}) form = SettingsForm(obj=FormDefaults(**proxy.get_all())) if form.validate_on_submit(): proxy.set_multi(form.data) flash(_('Settings have been saved'), 'success') return redirect(url_for('.settings')) cephalopod_url, cephalopod_data = self._get_cephalopod_data() return WPSettings.render_template('settings.html', 'settings', form=form, core_settings=core_settings.get_all(), social_settings=social_settings.get_all(), cephalopod_url=cephalopod_url, cephalopod_data=cephalopod_data)
def _process(self): proxy = PrefixSettingsProxy({'core': core_settings, 'social': social_settings}) form = SettingsForm(obj=FormDefaults(**proxy.get_all())) if form.validate_on_submit(): proxy.set_multi(form.data) flash(_('Settings have been saved'), 'success') return redirect(url_for('.settings')) cephalopod_url, cephalopod_data = self._get_cephalopod_data() show_migration_message = cephalopod_settings.get('show_migration_message') return WPSettings.render_template('admin/settings.html', 'settings', form=form, core_settings=core_settings.get_all(), social_settings=social_settings.get_all(), cephalopod_url=cephalopod_url, cephalopod_data=cephalopod_data, show_migration_message=show_migration_message)
def display(self, **params): from indico.modules.admin import RHAdminBase from indico.modules.core.settings import core_settings, social_settings title_parts = [self.title] if self.MANAGEMENT: title_parts.insert(0, _('Management')) elif isinstance(self._rh, RHAdminBase): title_parts.insert(0, _('Administration')) plugin_css = values_from_signal(signals.plugin.inject_css.send( self.__class__), as_list=True, multi_value_types=list) plugin_js = values_from_signal(signals.plugin.inject_js.send( self.__class__), as_list=True, multi_value_types=list) custom_js = self._asset_env['custom_js'].urls( ) if 'custom_js' in self._asset_env else [] custom_css = self._asset_env['custom_sass'].urls( ) if 'custom_sass' in self._asset_env else [] css_files = map( self._fix_path, self.getCSSFiles() + plugin_css + self.get_extra_css_files() + custom_css) print_css_files = map(self._fix_path, self.getPrintCSSFiles()) js_files = map(self._fix_path, self.getJSFiles() + plugin_js + custom_js) body = to_unicode(self._display(params)) return render_template('indico_base.html', css_files=css_files, print_css_files=print_css_files, js_files=js_files, site_name=core_settings.get('site_title'), social=social_settings.get_all(), page_title=' - '.join( unicode(x) for x in title_parts if x), head_content=to_unicode(self._getHeadContent()), body=body)
def render_event_footer(event, dark=False): location = event.venue_name if event.room_name: location = '{} ({})'.format(event.room_name, location) description = '{}\n\n{}'.format(truncate(event.description, 1000), event.short_external_url).strip() google_calendar_params = { 'action': 'TEMPLATE', 'text': event.title, 'dates': '{}/{}'.format(event.start_dt.strftime('%Y%m%dT%H%M%SZ'), event.end_dt.strftime('%Y%m%dT%H%M%SZ')), 'details': description, 'location': location, 'trp': False, 'sprop': [event.external_url, 'name:indico'] } social_settings_data = social_settings.get_all() show_social = social_settings_data['enabled'] and layout_settings.get(event, 'show_social_badges') return render_template('events/footer.html', event=event, dark=dark, social_settings=social_settings_data, show_social=show_social, google_calendar_params=google_calendar_params)