Public Slots | Public Member Functions | Static Public Member Functions

DatabaseAuditLogView Class Reference

View used to show audit logs. More...

#include <Database.h>

Inheritance diagram for DatabaseAuditLogView:
Inheritance graph
[legend]
Collaboration diagram for DatabaseAuditLogView:
Collaboration graph
[legend]

List of all members.

Public Slots

void pipe_queryResult (QSqlQuery *result)
void updateModel ()

Public Member Functions

 DatabaseAuditLogView (QWidget *parent=0)

Static Public Member Functions

static const QString staticWindowTitle ()

Detailed Description

View used to show audit logs.


Constructor & Destructor Documentation

DatabaseAuditLogView::DatabaseAuditLogView ( QWidget parent = 0  ) 

                                                                    : QWidget(parent),
    baseQuery("SELECT * FROM vew_audits WHERE audi_timestamp >= '%1' AND audi_timestamp <= '%2' ")
{
    setObjectName("DatabaseAuditLogView");
    setWindowTitle(staticWindowTitle());
    logView = new QTableView(this);
    SqlQueryModel *model = new SqlQueryModel(logView);

    // set dependencies (best would be to query the DB for audited tables, or implement the notify system)
    foreach (QString tableName , Database::staticCon().tables(QSql::Tables))
        if (tableName.contains(GlobalConst::SMARTLET_SCHEMA))
            model->setDependency(tableName.remove(GlobalConst::SMARTLET_SCHEMA + "."));

    qDebug() << model->dependencies();
    logView->setModel(model);

    QGridLayout *l = new QGridLayout();
    l->addWidget(logView, 0, 0, 1, 1);
    setLayout(l);

    connect(TimeConstraint::instance(), SIGNAL(signalOnTimeConstraintChange(TimeConstraint::ConstraintType,QDateTime)),
            this, SLOT(updateModel()));

    updateModel();
}


Member Function Documentation

void DatabaseAuditLogView::pipe_queryResult ( QSqlQuery result  )  [slot]

{
    Q_ASSERT(logView);
    QSqlQueryModel *model = dynamic_cast<QSqlQueryModel*>(logView->model());
    Q_ASSERT(model);

    if (result->isActive())
        model->setQuery(*result);
    else {
        model->clear();
    }

    logView->setEnabled(result->isActive());
}

const QString DatabaseAuditLogView::staticWindowTitle (  )  [static]

Referenced by DatabaseAuditLogView().

{
    return "Smartlet audit log";
}

void DatabaseAuditLogView::updateModel (  )  [slot]

Referenced by DatabaseAuditLogView().

{
    logView->setEnabled(false);
    QString beginTime = TimeConstraint::instance()->getTimeConstraint(TimeConstraint::TypeBeginTime).toString(Qt::ISODate);
    QString endTime = TimeConstraint::instance()->getTimeConstraint(TimeConstraint::TypeEndTime).toString(Qt::ISODate);
    Database::instance()->execThreaded(baseQuery.arg(beginTime, endTime), this);
}


The documentation for this class was generated from the following files: