Exemple #1
0
    def _process_POST(self):
        if User.query.has_rows():
            return redirect(url_for_index())
        setup_form = BootstrapForm(request.form)
        if not setup_form.validate():
            flash(_("Some fields are invalid. Please, correct them and submit the form again."), 'error')
            return redirect(url_for('bootstrap.index'))

        # Creating new user
        user = User()
        user.first_name = to_unicode(setup_form.first_name.data)
        user.last_name = to_unicode(setup_form.last_name.data)
        user.affiliation = to_unicode(setup_form.affiliation.data)
        user.email = to_unicode(setup_form.email.data)
        user.is_admin = True

        identity = Identity(provider='indico', identifier=setup_form.username.data, password=setup_form.password.data)
        user.identities.add(identity)

        db.session.add(user)
        db.session.flush()

        user.settings.set('timezone', Config.getInstance().getDefaultTimezone())
        user.settings.set('lang', session.lang or Config.getInstance().getDefaultLocale())

        login_user(user, identity)
        full_name = user.full_name  # needed after the session closes

        transaction.commit()

        # Configuring server's settings
        minfo = HelperMaKaCInfo.getMaKaCInfoInstance()
        minfo.setOrganisation(setup_form.affiliation.data)

        message = get_template_module('bootstrap/flash_messages.html').bootstrap_success(name=full_name)
        flash(Markup(message), 'success')

        # Activate instance tracking
        if setup_form.enable_tracking.data:
            contact_name = setup_form.contact_name.data
            contact_email = setup_form.contact_email.data

            try:
                register_instance(contact_name, contact_email)
            except (HTTPError, ValueError) as err:
                message = get_template_module('bootstrap/flash_messages.html').community_error(err=err)
                category = 'error'
            except Timeout:
                message = get_template_module('bootstrap/flash_messages.html').community_timeout()
                category = 'error'
            except RequestException as exc:
                message = get_template_module('bootstrap/flash_messages.html').community_exception(exc=exc)
                category = 'error'
            else:
                message = get_template_module('bootstrap/flash_messages.html').community_success()
                category = 'success'
            flash(Markup(message), category)

        return redirect(url_for_index())
Exemple #2
0
 def _process_GET(self):
     if User.query.has_rows():
         return redirect(url_for_index())
     return render_template('bootstrap/bootstrap.html',
                            form=BootstrapForm(),
                            timezone=Config.getInstance().getDefaultTimezone(),
                            indico_version=MaKaC.__version__,
                            python_version=python_version())
Exemple #3
0
 def _process_GET(self):
     if User.query.filter_by(is_system=False).has_rows():
         return redirect(url_for_index())
     return render_template('bootstrap/bootstrap.html',
                            form=BootstrapForm(),
                            timezone=Config.getInstance().getDefaultTimezone(),
                            languages=get_all_locales(),
                            indico_version=indico.__version__,
                            python_version=python_version())
Exemple #4
0
 def _process_GET(self):
     if User.query.filter_by(is_system=False).has_rows():
         return redirect(url_for_index())
     return render_template('bootstrap/bootstrap.html',
                            form=BootstrapForm(),
                            timezone=config.DEFAULT_TIMEZONE,
                            languages=get_all_locales(),
                            operating_system=get_os(),
                            postgres_version=get_postgres_version(),
                            indico_version=indico.__version__,
                            python_version=python_version())
Exemple #5
0
 def _process_GET(self):
     if User.has_rows():
         return redirect(url_for('misc.index'))
     return render_template(
         'bootstrap/bootstrap.html',
         selected_lang_name=parse_locale(
             get_current_locale()).language_name,
         language_options=sorted(get_all_locales().items(),
                                 key=itemgetter(1)),
         form=BootstrapForm(language=session.lang),
         timezone=Config.getInstance().getDefaultTimezone(),
         indico_version=MaKaC.__version__,
         python_version=python_version())
Exemple #6
0
    def _process(self):
        if User.query.filter_by(is_system=False).has_rows():
            return redirect(url_for_index())

        form = BootstrapForm()
        if form.validate_on_submit():
            return self._handle_submit(form)

        return render_template(
            'bootstrap/bootstrap.html',
            form=form,
            timezone=config.DEFAULT_TIMEZONE,
            languages=get_all_locales(),
            operating_system=get_os(),
            postgres_version=get_postgres_version(),
            indico_version=indico.__version__,
            python_version=python_version(),
            show_local_warning=(config.DEBUG
                                or is_private_url(request.url_root)))