X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/afcbfd1a09e22ff4839ba5db42047c96f355506c..d8845c7819caac09b95c4cdf1e8d48cc1cb1b7a6:/projects/stargazer/users_impl.cpp diff --git a/projects/stargazer/users_impl.cpp b/projects/stargazer/users_impl.cpp index e973d2cd..ef5e98ca 100644 --- a/projects/stargazer/users_impl.cpp +++ b/projects/stargazer/users_impl.cpp @@ -345,6 +345,7 @@ if (store->GetUsersList(&usersList) < 0) user_iter ui; +unsigned errors = 0; for (unsigned int i = 0; i < usersList.size(); i++) { USER_IMPL u(settings, store, tariffs, sysAdmin, this, m_services); @@ -355,13 +356,26 @@ for (unsigned int i = 0; i < usersList.size(); i++) AddUserIntoIndexes(ui); - if (ui->ReadConf() < 0) - return -1; + if (settings->GetStopOnError()) + { + if (ui->ReadConf() < 0) + return -1; - if (ui->ReadStat() < 0) - return -1; + if (ui->ReadStat() < 0) + return -1; + } + else + { + if (ui->ReadConf() < 0) + errors++; + + if (ui->ReadStat() < 0) + errors++; + } } +if (errors > 0) + return -1; return 0; } //----------------------------------------------------------------------------- @@ -503,6 +517,7 @@ else } std::for_each(users.begin(), users.end(), std::mem_fun_ref(&USER_IMPL::ProcessDailyFee)); +std::for_each(users.begin(), users.end(), std::mem_fun_ref(&USER_IMPL::ProcessServices)); if (settings->GetDayFeeIsLastDay()) {