Esempio n. 1
0
 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)
Esempio n. 2
0
 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')
             )
         }
     }
Esempio n. 3
0
 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')
             )
         }
     }
Esempio n. 4
0
 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'))
         }
     }
Esempio n. 5
0
 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())
Esempio n. 6
0
 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
Esempio n. 7
0
 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))
Esempio n. 8
0
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)
Esempio n. 9
0
 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))
Esempio n. 10
0
 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)
Esempio n. 11
0
 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)
Esempio n. 12
0
 def icon_url(self):
     return url_for_plugin(self.name + '.static', filename='images/dummy_icon.png')
Esempio n. 13
0
 def icon_url(self):
     return url_for_plugin(self.name + '.static', filename='images/dummy_icon.png')
Esempio n. 14
0
 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))
Esempio n. 15
0
 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)
Esempio n. 17
0
 def icon_url(self):
     return url_for_plugin(self.name + '.static',
                           filename='images/zoom_logo.png')
Esempio n. 18
0
 def logo_url(self):
     return url_for_plugin(self.name + '.static', filename='images/logo.png')
Esempio n. 19
0
 def generate_content(cls, attachment):
     return render_template('previewer_jupyter:iframe_preview.html',
                            source_url=url_for_plugin('previewer_jupyter.preview_ipynb', attachment))
Esempio n. 20
0
 def logo_url(self):
     return url_for_plugin(self.name + '.static',
                           filename='images/logo.png')
Esempio n. 21
0
 def icon_url(self):
     return url_for_plugin(self.name + '.static',
                           filename='images/vidyo_logo_notext.png')
Esempio n. 22
0
 def get_event_management_url(self, event, **kwargs):
     if is_chat_admin(session.user):
         return url_for_plugin('chat.manage_rooms', event)
Esempio n. 23
0
 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')
Esempio n. 24
0
 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')
Esempio n. 25
0
    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
Esempio n. 26
0
 def get_event_management_url(self, event, **kwargs):
     if is_chat_admin(session.user):
         return url_for_plugin('chat.manage_rooms', event)
Esempio n. 27
0
 def icon_url(self):
     return url_for_plugin(self.name + '.static', filename='images/vidyo_logo_notext.png')
Esempio n. 28
0
 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')
Esempio n. 29
0
 def generate_content(cls, attachment):
     return render_template('previewer_jupyter:iframe_preview.html',
                            source_url=url_for_plugin('previewer_jupyter.preview_ipynb', attachment))