added redirect and ability to save checkboxes
This commit is contained in:
@@ -51,17 +51,25 @@ void initApi(crow::SimpleApp& app)
|
||||
return rsp("Failed to create id of character");
|
||||
}
|
||||
|
||||
vector<pair<const string&, const string&>> idValues;
|
||||
vector<pair<const string, const string>> idValues;
|
||||
idValues.reserve(ShadowrunCharacterForm::m_formIds.size());
|
||||
|
||||
auto checkboxes = std::set<string>(ShadowrunCharacterForm::m_checkboxIds.begin(), ShadowrunCharacterForm::m_checkboxIds.end());
|
||||
for (auto& id : ShadowrunCharacterForm::m_formIds) {
|
||||
auto data = params[id];
|
||||
if(!
|
||||
data.empty()){
|
||||
if(!data.empty()){
|
||||
idValues.push_back(make_pair(id, data));
|
||||
if (checkboxes.contains(id)){
|
||||
checkboxes.erase(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// append the checkboxes
|
||||
for (auto& checkbox : checkboxes){
|
||||
idValues.push_back(make_pair(checkbox, "0"));
|
||||
}
|
||||
|
||||
if (!storeCharacterData(key, idValues)){
|
||||
CROW_LOG_ERROR << "Failed to store character data of " << name_data;
|
||||
return rsp("Failed to store character data");
|
||||
@@ -76,7 +84,7 @@ void initApi(crow::SimpleApp& app)
|
||||
|
||||
auto data = getCharacterData(getKeyOfCharacter(name));
|
||||
|
||||
return crow::response{ShadowrunCharacterForm().htmx()};
|
||||
return crow::response{ShadowrunCharacterForm(data).htmx()};
|
||||
});
|
||||
|
||||
CROW_ROUTE(app, "/api/shadowrun/character-list")
|
||||
@@ -85,7 +93,6 @@ void initApi(crow::SimpleApp& app)
|
||||
|
||||
// Simulated character database
|
||||
auto characters = getCharacters();
|
||||
|
||||
html << "<form hx-get='/api/shadowrun/character-form' hx-target='#form-container' hx-params='*'>"
|
||||
<< "<label>Character Name: "
|
||||
<< "<select name='name'>";
|
||||
|
||||
Reference in New Issue
Block a user