Ejemplo n.º 1
0
Privileges::Privileges()
{
  _notifyName = "usrprivUpdated";
  QString user;
  XSqlQuery userq("SELECT getEffectiveXtUser() AS user;");
  if (userq.lastError().type() != QSqlError::NoError)
    userq.exec("SELECT CURRENT_USER AS user;");
  if (userq.first())
    user = userq.value("user").toString();

  _readSql = QString("SELECT priv_name AS key, TEXT('t') AS value "
             "  FROM usrpriv, priv "
             " WHERE((usrpriv_priv_id=priv_id)"
             "   AND (usrpriv_username='******')) "
             " UNION "
             "SELECT priv_name AS key, TEXT('t') AS value "
             "  FROM priv, grppriv, usrgrp"
             " WHERE((usrgrp_grp_id=grppriv_grp_id)"
             "   AND (grppriv_priv_id=priv_id)"
             "   AND (usrgrp_username='******'));").arg(user);

  QSqlDatabase::database().driver()->subscribeToNotification("usrprivUpdated");
  QObject::connect(QSqlDatabase::database().driver(), SIGNAL(notification(const QString&)),
           this, SLOT(sSetDirty(const QString &)));

  load();
}
Ejemplo n.º 2
0
Privileges::Privileges()
{
    QString user;
    XSqlQuery userq("SELECT getEffectiveXtUser() AS user;");
    if (userq.lastError().type() != QSqlError::NoError)
        userq.exec("SELECT CURRENT_USER AS user;");
    if (userq.first())
        user = userq.value("user").toString();

    _readSql = QString("SELECT priv_name AS key, TEXT('t') AS value "
                       "  FROM usrpriv, priv "
                       " WHERE((usrpriv_priv_id=priv_id)"
                       "   AND (usrpriv_username='******')) "
                       " UNION "
                       "SELECT priv_name AS key, TEXT('t') AS value "
                       "  FROM priv, grppriv, usrgrp"
                       " WHERE((usrgrp_grp_id=grppriv_grp_id)"
                       "   AND (grppriv_priv_id=priv_id)"
                       "   AND (usrgrp_username='******'));").arg(user);

    load();
}