mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
bug fixes for stage0 production version
This commit is contained in:
parent
18d479ced6
commit
d46f9d73d9
@ -71,11 +71,15 @@ Poco::JSON::Object* JsonGetLogin::handle(Poco::Dynamic::Var params)
|
||||
em->addError(new Error("JsonGetLogin::handle", "generic exception calling userModel->getJson: "));
|
||||
em->sendErrorsAsEmail();
|
||||
}
|
||||
// use both variants for compatibility reasons, but final version is Transactions.pending
|
||||
result->set("Transaction.pending", session->getProcessingTransactionCount());
|
||||
result->set("Transactions.pending", session->getProcessingTransactionCount());
|
||||
auto executing = observer->getTaskCount(userModel->getEmail(), TASK_OBSERVER_SIGN_TRANSACTION);
|
||||
if (executing < 0) {
|
||||
executing = 0;
|
||||
}
|
||||
// use both variants for compatibility reasons, but final version is Transactions.executing
|
||||
result->set("Transaction.executing", executing);
|
||||
result->set("Transactions.executing", executing);
|
||||
//printf("pending: %d\n", session->getProcessingTransactionCount());
|
||||
//std::string user_string = userModel->toString();
|
||||
|
||||
@ -54,9 +54,15 @@ namespace controller {
|
||||
Poco::AutoPtr<EmailVerificationCode> EmailVerificationCode::load(int user_id, model::table::EmailOptInType type) {
|
||||
auto db = new model::table::EmailOptIn();
|
||||
std::vector<std::string> fields = { "user_id", "email_opt_in_type_id" };
|
||||
if (db->loadFromDB(fields, user_id, (int)type) == 1) {
|
||||
return Poco::AutoPtr<EmailVerificationCode>(new EmailVerificationCode(db));
|
||||
std::vector<int> field_values = { user_id, (int)type };
|
||||
auto results = db->loadFromDB<int, model::table::EmailOptInTuple>(fields, field_values);
|
||||
if (results.size() > 0) {
|
||||
db->release();
|
||||
return Poco::AutoPtr<EmailVerificationCode>(new EmailVerificationCode(new model::table::EmailOptIn(results[0])));
|
||||
}
|
||||
/*if (db->loadFromDB(fields, user_id, (int)type) == 1) {
|
||||
return Poco::AutoPtr<EmailVerificationCode>(new EmailVerificationCode(db));
|
||||
}*/
|
||||
db->release();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -90,6 +90,33 @@ namespace model {
|
||||
return select;
|
||||
}
|
||||
|
||||
Poco::Data::Statement EmailOptIn::_loadMultipleFromDB(Poco::Data::Session session, const std::vector<std::string> fieldNames, MysqlConditionType conditionType/* = MYSQL_CONDITION_AND*/)
|
||||
{
|
||||
Poco::Data::Statement select(session);
|
||||
if (fieldNames.size() <= 1) {
|
||||
throw Poco::NullValueException("EmailOptIn::_loadFromDB fieldNames empty or contain only one field");
|
||||
}
|
||||
|
||||
select << "SELECT id, user_id, verification_code, email_opt_in_type_id, created, resend_count, updated FROM " << getTableName()
|
||||
<< " where " << fieldNames[0] << " = ? ";
|
||||
if (conditionType == MYSQL_CONDITION_AND) {
|
||||
for (int i = 1; i < fieldNames.size(); i++) {
|
||||
select << " AND " << fieldNames[i] << " = ? ";
|
||||
}
|
||||
}
|
||||
else if (conditionType == MYSQL_CONDITION_OR) {
|
||||
for (int i = 1; i < fieldNames.size(); i++) {
|
||||
select << " OR " << fieldNames[i] << " = ? ";
|
||||
}
|
||||
}
|
||||
else {
|
||||
addError(new ParamError("EmailOptIn::_loadFromDB", "condition type not implemented", conditionType));
|
||||
}
|
||||
|
||||
return select;
|
||||
}
|
||||
|
||||
|
||||
Poco::Data::Statement EmailOptIn::_loadFromDB(Poco::Data::Session session, const std::vector<std::string>& fieldNames, MysqlConditionType conditionType/* = MYSQL_CONDITION_AND*/)
|
||||
{
|
||||
Poco::Data::Statement select(session);
|
||||
|
||||
@ -48,6 +48,7 @@ namespace model {
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadMultipleFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadMultipleFromDB(Poco::Data::Session session, const std::vector<std::string> fieldNames, MysqlConditionType conditionType = MYSQL_CONDITION_AND);
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::vector<std::string>& fieldNames, MysqlConditionType conditionType = MYSQL_CONDITION_AND);
|
||||
Poco::Data::Statement _insertIntoDB(Poco::Data::Session session);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user