Exemplo n.º 1
0
 def _process(self):
     all_regforms = get_event_regforms(self.event, session.user)
     scheduled_and_registered_regforms = [regform[0] for regform in all_regforms
                                          if regform[0].is_scheduled or regform[1]]
     user_registrations = [regform[0].id for regform in all_regforms if regform[1]]
     if len(scheduled_and_registered_regforms) == 1:
         return redirect(url_for('.display_regform', scheduled_and_registered_regforms[0]))
     return self.view_class.render_template('display/regform_list.html', self.event,
                                            regforms=scheduled_and_registered_regforms,
                                            user_registrations=user_registrations)
Exemplo n.º 2
0
 def _process(self):
     all_regforms = get_event_regforms(self.event_new, session.user)
     scheduled_and_registered_regforms = [regform[0] for regform in all_regforms
                                          if regform[0].is_scheduled or regform[1]]
     user_registrations = [regform[0].id for regform in all_regforms if regform[1]]
     if len(scheduled_and_registered_regforms) == 1:
         return redirect(url_for('.display_regform', scheduled_and_registered_regforms[0]))
     return self.view_class.render_template('display/regform_list.html', self._conf,
                                            event=self.event_new, regforms=scheduled_and_registered_regforms,
                                            user_registrations=user_registrations)
Exemplo n.º 3
0
def _inject_event_header(event, **kwargs):
    from indico.modules.events.registration.util import get_event_regforms
    if event.has_feature('registration'):
        all_regforms = get_event_regforms(event, session.user, with_registrations=True)
        open_and_registered_regforms = [regform for regform, registration in all_regforms
                                        if regform.is_open or registration]
        user_registrations = {regform: registration for regform, registration in all_regforms}
        # A participant could appear more than once in the list in case he register to multiple registration form.
        # This is deemed very unlikely in the case of meetings and lectures and thus not worth the extra complexity.
        return render_template('events/registration/display/event_header.html', event=event,
                               regforms=open_and_registered_regforms, user_registrations=user_registrations)
Exemplo n.º 4
0
def _inject_regform_announcement(event, **kwargs):
    from indico.modules.events.registration.util import get_registrations_with_tickets, get_event_regforms
    if event.has_feature('registration'):
        all_regforms = get_event_regforms(event, session.user)
        user_registrations = sum(regform[1] for regform in all_regforms)
        open_and_registered_regforms = [regform[0] for regform in all_regforms if regform[0].is_open or regform[1]]
        if open_and_registered_regforms:
            return render_template('events/registration/display/conference_home.html',
                                   regforms=open_and_registered_regforms, event=event,
                                   user_registrations=user_registrations,
                                   registrations_with_tickets=get_registrations_with_tickets(session.user, event))
Exemplo n.º 5
0
def _inject_event_header(event, **kwargs):
    from indico.modules.events.registration.util import get_event_regforms
    if event.has_feature('registration'):
        all_regforms = get_event_regforms(event, session.user, with_registrations=True)
        open_and_registered_regforms = [regform for regform, registration in all_regforms
                                        if regform.is_open or registration]
        user_registrations = {regform: registration for regform, registration in all_regforms}
        # A participant could appear more than once in the list in case he register to multiple registration form.
        # This is deemed very unlikely in the case of meetings and lectures and thus not worth the extra complexity.
        return render_template('events/registration/display/event_header.html', event=event,
                               regforms=open_and_registered_regforms, user_registrations=user_registrations)
Exemplo n.º 6
0
def _inject_regform_announcement(event, **kwargs):
    from indico.modules.events.registration.util import get_registrations_with_tickets, get_event_regforms
    if event.has_feature('registration'):
        all_regforms = get_event_regforms(event, session.user)
        user_registrations = sum(regform[1] for regform in all_regforms)
        open_and_registered_regforms = [regform[0] for regform in all_regforms if regform[0].is_open or regform[1]]
        if open_and_registered_regforms:
            return render_template('events/registration/display/conference_home.html',
                                   regforms=open_and_registered_regforms, event=event,
                                   user_registrations=user_registrations,
                                   registrations_with_tickets=get_registrations_with_tickets(session.user, event))
Exemplo n.º 7
0
def _inject_regform_announcement(event, roles, has_contrib, **kwargs):
    from indico.modules.events.registration.util import get_registrations_with_tickets, get_event_regforms
    if event.has_feature('registration'):
        all_regforms = get_event_regforms(event, session.user)
        user_registrations = sum(regform[1] for regform in all_regforms)
        return render_template(
            'events/registration/display/conference_tab.html',
            event=event,
            roles=roles,
            has_contrib=has_contrib,
            user_registrations=user_registrations,
            registrations_with_tickets=get_registrations_with_tickets(
                session.user, event))
def RHredirectToExternal(contrib_id):

    contrib = Contribution.get_or_404(contrib_id)
    event = contrib.event
    if not session.user:
        flash(_("The vc link  is only available to logged in users."), 'error')
        raise BadRequest(response=redirect(event.url))

    vcas = contrib.vc_room_associations
    vca = None
    for _vca in vcas:
        vca = _vca
        if isinstance(vca.vc_room.plugin, RedirectorPlugin):
            break
    else:
        raise BadRequest(response=redirect(event.url))
    if vca.data.get('only_registered_users') and \
        not any([x[1] for x in get_event_regforms(event, session.user)]):
        flash(_("The vc link is only available to registered users."), 'error')
        raise BadRequest(response=redirect(event.url))

    vcroom = vca.vc_room
    url = vcroom.data['room_url_base']
    data = {'id': contrib.friendly_id, 'username': session.user.name}

    req = requests.post(url, json=data)
    if req.status_code != 200:
        flash('Error: The redirector did not succeed!', 'error')
        raise BadRequest(response=redirect(event.url))

    res = req.json()
    if res['status'] != 'success':
        flash(_("Videoconference link:") + ' ' + res['message'], 'error')
        raise BadRequest(response=redirect(event.url))

    return redirect(res['url'])
Exemplo n.º 9
0
 def is_registered(self, event):
     return any([x[1] for x in get_event_regforms(event, session.user)])