Example #1
0
void UserDialog::addUser()
{
    QSqlRecord record;

    QSqlField id("id", QVariant::Int);
    QSqlField username("username", QVariant::String);
    QSqlField email("email", QVariant::String);
    QSqlField hashedPassword("hashed_password", QVariant::String);
    QSqlField salt("salt", QVariant::String);
    QSqlField roleId("role_id", QVariant::Int);

    id.setAutoValue(true);
    username.setValue(QVariant(usernameLineEdit->text()));
    email.setValue(QVariant(emailLineEdit->text()));

    QString generatedSalt = QUuid::createUuid().toString();
    QString generatedHashedPassword = QCryptographicHash::hash(passwordLineEdit->text().toAscii()
                                                               + generatedSalt.toAscii(),
                                                               QCryptographicHash::Sha1);

    hashedPassword.setValue(QVariant(generatedHashedPassword));
    salt.setValue(QVariant(generatedSalt));
    roleId.setValue(QVariant(getRoleId()));

    record.append(id);
    record.append(username);
    record.append(email);
    record.append(hashedPassword);
    record.append(salt);
    record.append(roleId);

    if(isFieldInputValid()
        && !isPasswordEmpty()
        && !userExists()
        && userModel->insertRecord(-1, record))
    {
        accept();
    }
    else
    {
        userModel->revertAll();
    }
}
Example #2
0
void UserDialog::editUser()
{
    userRecord.setValue("username", QVariant( usernameLineEdit->text()));
    userRecord.setValue("email", QVariant(emailLineEdit->text()));
    userRecord.setValue("role_id", QVariant(getRoleId()));

    if(passwordLineEdit->text().isEmpty())
    {
        userRecord.setValue("salt", userRecord.field("salt").value());
        userRecord.setValue("hashed_password", userRecord.field("hashed_password").value());
    }
    else
    {
        QString generatedSalt = QUuid::createUuid().toString();
        QString generatedHashedPassword = QCryptographicHash::hash(passwordLineEdit->text().toAscii()
                                                                   + generatedSalt.toAscii(),
                                                                   QCryptographicHash::Sha1);
        userRecord.setValue("salt", QVariant(generatedSalt));
        userRecord.setValue("hashed_password", QVariant(generatedHashedPassword));
    }

    QSqlField roleId("role_id", QVariant::Int);
    roleId.setValue(QVariant(getRoleId()));
    userRecord.append(roleId);

    if(isFieldInputValid() && userModel->setRecord(userRow, userRecord))
    {
        userModel->submitAll();
        accept();
    }
    else
    {
        userModel->revertAll();
    }

}
 bool GetRolePermissions::operator==(const ModelType &rhs) const {
   return roleId() == rhs.roleId();
 }
 std::string GetRolePermissions::toString() const {
   return detail::PrettyStringBuilder()
       .init("GetRolePermissions")
       .append("role_id", roleId())
       .finalize();
 }