Only error on rmdir if required true
This commit is contained in:
parent
3d49a12f33
commit
cd5f39849a
2 changed files with 12 additions and 2 deletions
|
|
@ -228,16 +228,21 @@ void QueueSystem::QueueHandle() {
|
|||
} else if (type == "rmdir") {
|
||||
bool missing = false;
|
||||
std::string directory = "", message = "", promptmsg = "";
|
||||
bool required = false;
|
||||
queueEntries[0]->status = QueueStatus::Request;
|
||||
|
||||
if (queueEntries[0]->obj[i].contains("directory") && queueEntries[0]->obj[i]["directory"].is_string()) {
|
||||
directory = queueEntries[0]->obj[i]["directory"];
|
||||
} else missing = true;
|
||||
|
||||
if (queueEntries[0]->obj[i].contains("required") && queueEntries[0]->obj[i]["required"].is_boolean()) {
|
||||
required = queueEntries[0]->obj[i]["required"];
|
||||
}
|
||||
|
||||
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
||||
|
||||
if (!missing && directory != "") {
|
||||
if (access(directory.c_str(), F_OK) != 0) ret = DELETE_ERROR;
|
||||
if (access(directory.c_str(), F_OK) != 0 && required) ret = DELETE_ERROR;
|
||||
else {
|
||||
if (QueueSystem::RequestNeeded == RMDIR_REQUEST) {
|
||||
/* There we already did it. :) */
|
||||
|
|
|
|||
|
|
@ -475,15 +475,20 @@ Result ScriptUtils::runFunctions(nlohmann::json storeJson, int selection, const
|
|||
} else if (type == "rmdir") {
|
||||
bool missing = false;
|
||||
std::string directory = "", promptmsg = "";
|
||||
bool required = false;
|
||||
|
||||
if (Script[i].contains("directory") && Script[i]["directory"].is_string()) {
|
||||
directory = Script[i]["directory"];
|
||||
}
|
||||
else missing = true;
|
||||
|
||||
if (Script[i].contains("required") && Script[i]["required"].is_boolean()) {
|
||||
required = Script[i]["required"];
|
||||
}
|
||||
|
||||
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
||||
if (!missing && directory != "") {
|
||||
if (access(directory.c_str(), F_OK) != 0) ret = DELETE_ERROR;
|
||||
if (access(directory.c_str(), F_OK) != 0 && required) ret = DELETE_ERROR;
|
||||
else {
|
||||
if (Msg::promptMsg(promptmsg)) removeDirRecursive(directory.c_str());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue