Exemplo n.º 1
0
def user_settings_agreements(ipa, username):
    user = User(user_or_404(ipa, username))
    agreements = [
        Agreement(a) for a in ipa.fasagreement_find(all=False)
        if Agreement(a).enabled
    ]
    form = UserSettingsAgreementSign()
    if form.validate_on_submit():
        agreement_name = form.agreement.data
        if agreement_name not in [a.name for a in agreements]:
            flash(_("Unknown agreement: %(name)s.", name=agreement_name),
                  "warning")
            return redirect(
                url_for('user_settings_agreements', username=username))
        try:
            ipa.fasagreement_add_user(agreement_name, user=user.username)
        except python_freeipa.exceptions.BadRequest as e:
            app.logger.error(
                f"Cannot sign the agreement {agreement_name!r}: {e}")
            flash(
                _(
                    'Cannot sign the agreement "%(name)s": %(error)s',
                    name=agreement_name,
                    error=e,
                ),
                'danger',
            )
        else:
            flash(
                _('You signed the "%(name)s" agreement.', name=agreement_name),
                "success",
            )
        return redirect(url_for('user_settings_agreements', username=username))

    return render_template(
        'user-settings-agreements.html',
        user=user,
        activetab="agreements",
        agreementslist=agreements,
        raw=ipa.fasagreement_find(all=True),
    )
Exemplo n.º 2
0
def test_agreement(dummy_agreement_dict):
    """Test the Agreement representation"""
    agreement = Agreement(dummy_agreement_dict)
    assert agreement.name == "CentOS Agreement"
    assert agreement.description == "Particularly \nsing purpose \nhere"
    assert agreement.users == [
        'andrew0',
        'austin5',
        'terri10',
        'austin15',
        'brittney20',
        'logan25',
        'tracy30',
        'alexis35',
        'james40',
        'julie45',
    ]
    assert agreement.groups == ["designers"]
    assert agreement.enabled is True
Exemplo n.º 3
0
def dummy_agreement():
    agreement = ipa_admin.fasagreement_add(
        "dummy agreement", description="i agree to dummy"
    )
    yield Agreement(agreement)
    ipa_admin.fasagreement_del("dummy agreement")
Exemplo n.º 4
0
def test_agreement_disabled(dummy_agreement_dict):
    """Test the Agreement representation when disabled"""
    dummy_agreement_dict["ipaenabledflag"] = ["FALSE"]
    agreement = Agreement(dummy_agreement_dict)
    assert agreement.enabled is False