Beispiel #1
0
 def inaccessible_callback(self, name, **kwargs):
     if not self.connected:
         self.connected = True
         kc = keycloak.Keycloak(None)
         return kc.get_redirect_url(request.url)
     else:
         return 'not authorized'
Beispiel #2
0
def _create_audit_log(model, action) -> None:
    audit = decision_reason_audit.DecisionReasonAudit(
        keycloak.Keycloak(None).get_username(), action, model.id, model.name, model.reason)

    session = models.db.session
    session.add(audit)
    session.commit()
Beispiel #3
0
def create_application(run_mode=os.getenv('FLASK_ENV', 'production')):
    # Create application
    application = flask.Flask(__name__)
    application.config.from_object(config.CONFIGURATION[run_mode])

    # Do the call that sets up OIDC for the application.
    keycloak.Keycloak(application)

    # Create the connection to the database.
    models.db = flask_sqlalchemy.SQLAlchemy(application)

    # The root page - point the users to the admin interface.
    @application.route('/')
    def index():
        return '<a href="/admin/synonym/"/>Login to administration.</a>'

    admin = flask_admin.Admin(application, name='Namex Administration', template_mode='bootstrap3')

    admin.add_view(synonym_view.SynonymView(synonym.Synonym, models.db.session))
    admin.add_view(virtual_word_condition_view.VirtualWordConditionView(virtual_word_condition.VirtualWordCondition, models.db.session, name='Restricted Word Condition'))
    admin.add_view(decision_reason_view.DecisionReasonView(decision_reason.DecisionReason, models.db.session))
    admin.add_view(word_classification_view.WordClassificationView(word_classification.WordClassification, models.db.session))

    admin.add_view(synonym_audit_view.SynonymAuditView(synonym_audit.SynonymAudit, models.db.session))
    admin.add_view(restricted_word_condition_audit_view.RestrictedConditionAuditView(restricted_condition_audit.RestrictedConditionAudit, models.db.session))
    admin.add_view(decision_reason_audit_view.DecisionReasonAuditView(decision_reason_audit.DecisionReasonAudit, models.db.session))

    return application, admin
Beispiel #4
0
def create_application(run_mode=os.getenv('FLASK_ENV', 'production')):
    # Create application
    application = flask.Flask(__name__)
    application.config.from_object(config.CONFIGURATION[run_mode])

    # Do the call that sets up OIDC for the application.
    keycloak.Keycloak(application)

    # Create the connection to the database.
    models.db = flask_sqlalchemy.SQLAlchemy(application)

    # The root page - point the users to the admin interface.
    @application.route('/')
    def index():
        return '<a href="/admin/synonym/"/>Click me to get to Synonyms!</a>'

    admin = flask_admin.Admin(application,
                              name='Solr Configuration',
                              template_mode='bootstrap3')
    admin.add_view(synonym_view.SynonymView(synonym.Synonym,
                                            models.db.session))
    admin.add_view(
        synonym_audit_view.SynonymAuditView(synonym_audit.SynonymAudit,
                                            models.db.session))

    return application
Beispiel #5
0
    def is_accessible(self):
        kc = keycloak.Keycloak(None)

        if not kc.is_logged_in():
            self.connected = False
            return False

        return kc.has_access()
Beispiel #6
0
def _create_audit_log(model, action) -> None:
    audit = restricted_condition_audit.RestrictedConditionAudit(
    keycloak.Keycloak(None).get_username(), action,
    model.id, model.rc_condition_text, model.rc_words, model.rc_consent_required, model.rc_consenting_body, model.rc_instructions, model.rc_allow_use)

    session = models.db.session
    session.add(audit)
    session.commit()
Beispiel #7
0
def _create_audit_log(model, action) -> None:
    audit = synonym_audit.SynonymAudit(
        keycloak.Keycloak(None).get_username(), action, model.id, model.category, model.synonyms_text, model.comment,
        model.enabled)

    session = models.db.session
    session.add(audit)
    session.commit()
Beispiel #8
0
    def is_accessible(self):
        # Disallow editing unless in the 'testing' environment.
        editable = current_app.env == 'testing'
        self.can_create = editable
        self.can_delete = editable
        self.can_edit = editable

        if editable:
            # Make all columns editable. [temporarily except the Boolean field "enabled" - see Flask-Admin problem 1604]
            self.column_editable_list = [
                'category', 'comment', 'synonyms_text'
            ]
        else:
            self.column_editable_list = []

        # Flask-OIDC function that states whether or not the user is logged in and has permissions.
        return keycloak.Keycloak(None).has_access()
Beispiel #9
0
 def inaccessible_callback(self, name, **kwargs):
     # Flask-OIDC function that is called if the user is not logged in or does not have permissions.
     return keycloak.Keycloak(None).get_redirect_url(request.url)
Beispiel #10
0
 def inaccessible_callback(self, name, **kwargs):
     return keycloak.Keycloak(None).get_redirect_url(request.url)
Beispiel #11
0
 def is_accessible(self):
     return keycloak.Keycloak(None).has_access()