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), )
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
def dummy_agreement(): agreement = ipa_admin.fasagreement_add( "dummy agreement", description="i agree to dummy" ) yield Agreement(agreement) ipa_admin.fasagreement_del("dummy agreement")
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