def adjust_payment_form_data(self, data): event = data['event'] registration = data['registration'] data['item_name'] = '{}: registration for {}'.format(remove_accents(registration.full_name), remove_accents(event.getTitle())) data['return_url'] = url_for_plugin('payment_paypal.success', registration.locator.uuid, _external=True) data['cancel_url'] = url_for_plugin('payment_paypal.cancel', registration.locator.uuid, _external=True) data['notify_url'] = url_for_plugin('payment_paypal.notify', registration.locator.uuid, _external=True)
def _extend_indico_help(self, sender, **kwargs): return { _('Videoconference'): { _('Vidyo'): ( url_for_plugin(self.name + '.static', filename='help/html/index.html'), url_for_plugin(self.name + '.static', filename='help/pdf/index.pdf') ) } }
def _extend_indico_help(self, sender, **kwargs): return { _('Statistics'): { _('Piwik'): ( url_for_plugin(self.name + '.static', filename='help/html/index.html'), url_for_plugin(self.name + '.static', filename='help/pdf/index.pdf') ) } }
def extend_indico_help(self, sender, **kwargs): return { _('Chat Guides'): { _('Chat User Guide'): (url_for_plugin(self.name + '.static', filename='help/html/ChatUserGuide.html'), url_for_plugin(self.name + '.static', filename='help/pdf/ChatUserGuide.pdf')), _('Recommended Chat Clients'): (url_for_plugin(self.name + '.static', filename='help/html/XMPPClients.html'), url_for_plugin(self.name + '.static', filename='help/pdf/XMPPClients.pdf')) } }
def _process(self): if not retrieve_logs(self.chatroom): flash(_('There are no logs available for this room.'), 'warning') return redirect(url_for_plugin('.manage_rooms', self.event)) return WPChatEventMgmt.render_template('manage_event_logs.html', self._conf, event_chatroom=self.event_chatroom, start_date=self.event.getAdjustedStartDate(), end_date=self.event.getAdjustedEndDate())
def url(self): # explicit _external=False since offline site creation forces # _external=True if not specified and we want to be able to mangle # the generated urls into something suitable as filenames if self.is_user_link: return self.link_url elif self.is_internal_link: data = self.default_data if data.static_site and isinstance(data.static_site, basestring) and ContextManager.get('offlineMode'): return data.static_site kwargs = {} if self.name == 'timetable': from indico.modules.events. layout import layout_settings if layout_settings.get(self.event, 'timetable_by_room'): kwargs['ttLyt'] = 'room' if layout_settings.get(self.event, 'timetable_detailed'): start_date = self.event.getSchedule().getAdjustedStartDate() kwargs['_anchor'] = start_date.strftime('%Y%m%d.detailed') return url_for(data.endpoint, self.event, _external=False, **kwargs) elif self.is_plugin_link: from indico.core.plugins import url_for_plugin return url_for_plugin(self.default_data.endpoint, self.event, _external=False) elif self.is_page: return url_for('event_pages.page_display', self.event, page_id=self.page_id, slug=slugify(self.title), _external=False) else: return None
def _process(self): form = self._get_attach_form() if form.validate_on_submit(): event_chatroom = ChatroomEventAssociation(event=self.event, chatroom=form.chatroom.data) notify_attached(form.chatroom.data, self.event, session.user) flash(_('Chatroom added'), 'success') self.event.log(EventLogRealm.management, EventLogKind.positive, 'Chat', 'Chatroom attached: {}'.format(event_chatroom.chatroom.name), session.user) return redirect(url_for_plugin('.manage_rooms', self.event))
def _build_css_url(theme): if ':' in theme: try: path = get_plugin_conference_themes()[theme][0] except KeyError: return None plugin = theme.split(':', 1)[0] return url_for_plugin(plugin + '.static', filename=path) else: css_base = url_parse(config.CONFERENCE_CSS_TEMPLATES_BASE_URL).path return '{}/{}'.format(css_base, theme)
def _process(self): reason = '{} has requested to delete this room.'.format(to_unicode(session.user.full_name)) chatroom_deleted = self.event_chatroom.delete(reason) notify_deleted(self.chatroom, self.event, session.user, chatroom_deleted) if chatroom_deleted: flash(_('Chatroom deleted'), 'success') else: flash(_('Chatroom removed from event'), 'success') self.event.log(EventLogRealm.management, EventLogKind.change, 'Chat', 'Chatroom removed: {}'.format(self.chatroom.name), session.user, data={'Deleted from server': 'Yes' if chatroom_deleted else 'No'}) return redirect(url_for_plugin('.manage_rooms', self.event))
def _process(self): defaults = FormDefaults(self.chatroom) for name in EditChatroomForm.event_specific_fields: defaults[name] = getattr(self.event_chatroom, name) form = EditChatroomForm(obj=defaults) if form.validate_on_submit(): form.populate_obj(self.event_chatroom, fields=form.event_specific_fields) form.populate_obj(self.chatroom, skip=form.event_specific_fields) self.chatroom.modified_dt = now_utc() if attrs_changed(self.chatroom, 'name', 'description', 'password'): update_room(self.chatroom) notify_modified(self.chatroom, self.event, session.user) flash(_('Chatroom updated'), 'success') self.event.log(EventLogRealm.management, EventLogKind.change, 'Chat', 'Chatroom updated: {}'.format(self.chatroom.name), session.user) return redirect(url_for_plugin('.manage_rooms', self.event)) return WPChatEventMgmt.render_template('manage_event_edit.html', self._conf, form=form, event_chatroom=self.event_chatroom, event=self.event)
def _process(self): form = AddChatroomForm(obj=FormDefaults(name=to_unicode(self.event.title)), date=self.event.getAdjustedStartDate()) if form.validate_on_submit(): chatroom = Chatroom(created_by_user=session.user) event_chatroom = ChatroomEventAssociation(event_id=self.event_id, chatroom=chatroom) form.populate_obj(event_chatroom, fields=form.event_specific_fields) form.populate_obj(chatroom, skip=form.event_specific_fields) chatroom.jid_node = form.jid_node.data db.session.add_all((chatroom, event_chatroom)) db.session.flush() create_room(chatroom) notify_created(chatroom, self.event, session.user) self.event.log(EventLogRealm.management, EventLogKind.positive, 'Chat', 'Chatroom created: {}'.format(chatroom.name), session.user) flash(_('Chatroom created'), 'success') return redirect(url_for_plugin('.manage_rooms', self.event)) return WPChatEventMgmt.render_template('manage_event_edit.html', self._conf, form=form, event=self.event)
def icon_url(self): return url_for_plugin(self.name + '.static', filename='images/dummy_icon.png')
def render(cls, param, regform, registration): url = url_for_plugin('cern_access.access_identity_data', registration.locator.uuid, _external=True) return Markup('<a href="{}">{}</a>'.format(url, param))
def get_vars_js(self): return {'urls': {'check': url_for_plugin('conversion.check')}}
def get_event_management_url(self, event, **kwargs): if event.can_manage(session.user): return url_for_plugin('print_checkin.configure', event)
def icon_url(self): return url_for_plugin(self.name + '.static', filename='images/zoom_logo.png')
def logo_url(self): return url_for_plugin(self.name + '.static', filename='images/logo.png')
def generate_content(cls, attachment): return render_template('previewer_jupyter:iframe_preview.html', source_url=url_for_plugin('previewer_jupyter.preview_ipynb', attachment))
def icon_url(self): return url_for_plugin(self.name + '.static', filename='images/vidyo_logo_notext.png')
def get_event_management_url(self, event, **kwargs): if is_chat_admin(session.user): return url_for_plugin('chat.manage_rooms', event)
def add_sidemenu_item(self, sender, event, **kwargs): if not event.can_manage(session.user) or not PiwikPlugin.settings.get('site_id_events'): return return SideMenuItem(u'statistics', _(u"Statistics"), url_for_plugin(u'piwik.view', event), section=u'reports')
def extend_event_management_menu(self, sender, event, **kwargs): if event.can_manage(session.user) or is_chat_admin(session.user): return SideMenuItem('chat', 'Chat Rooms', url_for_plugin('chat.manage_rooms', event), section='services')
def _generate_form_data(self, amount, data): if amount is None: return {} registration = data['registration'] personal_data = registration.get_personal_data() event = data['event'] currency = data['currency'] seed = data['settings']['hash_seed_{}'.format(currency.lower())] shop_id = data['settings']['shop_id_{}'.format(currency.lower())] method = get_payment_method(event, currency, data['selected_method']) if method is None: raise UserValueError(_('Invalid currency')) template_page = '' # yes, apparently it's supposed to be empty.. template_hash = sha512( (seed + template_page).encode('utf-8')).hexdigest() order_id = self._get_order_id(data) locator = registration.locator.uuid address = re.sub(r'(\r?\n)+', ', ', personal_data.get('address', '')) form_data = { 'PSPID': shop_id, 'ORDERID': order_id, 'AMOUNT': int(amount * 100), 'CURRENCY': currency, 'LANGUAGE': session.lang, 'CN': unicode_to_ascii(remove_accents(registration.full_name[:35], False)), 'EMAIL': registration.email[:50], 'OWNERADDRESS': address[:35], 'OWNERTELNO': personal_data.get('phone', '')[:30], 'TP': template_page + '&hash=' + template_hash, 'PM': method['type'], 'BRAND': method['name'], 'PARAMVAR': data['settings']['server_url_suffix'], 'HOMEURL': url_for('event_registration.display_regform', locator, _external=True), 'ACCEPTURL': url_for_plugin('payment_cern.success', locator, _external=True), 'CANCELURL': url_for_plugin('payment_cern.cancel', locator, _external=True), 'DECLINEURL': url_for_plugin('payment_cern.decline', locator, _external=True), 'EXCEPTIONURL': url_for_plugin('payment_cern.uncertain', locator, _external=True), 'BACKURL': url_for('payment.event_payment', locator, _external=True) } form_data['SHASIGN'] = create_hash(seed, form_data) return form_data