Submission/Submission alias deletion WIP
This commit is contained in:
17
src/main.cpp
17
src/main.cpp
@ -1209,6 +1209,23 @@ int main(int argc, char *argv[]) {
|
||||
return page.render(ctx);
|
||||
});
|
||||
|
||||
/*
|
||||
* Page for freelancer to view existing Links to a submission
|
||||
*/
|
||||
CROW_ROUTE(app, "/freelancer/submissionManagement/view/viewLink")
|
||||
([&, configuration](const crow::request& getRequest) {
|
||||
auto& cookieCtx = app.get_context<crow::CookieParser>(getRequest);
|
||||
crow::mustache::context ctx;
|
||||
if (Utilities::checkCookieLoginState(configuration, cookieCtx)) {
|
||||
ctx = Utilities::getFreelancerSubmissionLinks(configuration, cookieCtx.get_cookie(COOKIE_FREELANCER_EMAIL));
|
||||
|
||||
|
||||
ctx[MUSTACHE_COOKIE_LOGGED_IN] = true;
|
||||
}
|
||||
auto page = crow::mustache::load(TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_VIEW_LINK);
|
||||
return page.render(ctx);
|
||||
});
|
||||
|
||||
/*
|
||||
* Page for freelancer to generate link to a particular submission
|
||||
*/
|
||||
|
@ -36,6 +36,7 @@ namespace TemplateConstCollection {
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT = "freelancer_Submission_Management.html";
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_ADD = "freelancer_Submission_Management_Add.html";
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_VIEW = "freelancer_Submission_Management_View.html";
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_VIEW_LINK = "freelancer_Submission_Management_View_Link.html";
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_VIEW_GENERATE_LINK = "freelancer_Submission_Management_View_Generate_link.html";
|
||||
const static std::string TEMPLATE_FREELANCER_SUBMISSION_MANAGEMENT_VIEW_GENERATE_LINK_FULFILMENT = "freelancer_Submission_Management_View_Generate_link_fulfilment.html";
|
||||
|
||||
|
@ -719,6 +719,18 @@ namespace Utilities {
|
||||
return jsonFreelancerSubmissions;
|
||||
}
|
||||
|
||||
/*
|
||||
* Gets the freelancer submission alias links and converts them into a wvalue JSON under the name "submissions"
|
||||
* takes config and freelancer email and filename
|
||||
*/
|
||||
crow::json::wvalue getFreelancerSubmissionLinks(const Utilities::config& configuration, const std::string& emailAddress, const std::string& fileName) {
|
||||
pqxx::connection databaseConnection(configuration.databaseConnectionString);
|
||||
Database::prepareStatement(databaseConnection, ID_SELECT_FREELANCER_FILE_SUBMISSION_ALIAS);
|
||||
pqxx::result resultJsonFreelancerSubmissions = Database::executePreparedStatement_SELECT_FREELANCER_FILE_SUBMISSION_ALIAS(databaseConnection, emailAddress, fileName);
|
||||
crow::json::wvalue jsonFreelancerSubmissions = Database::convertResultToJSON(resultJsonFreelancerSubmissions, "submissionlinks");
|
||||
return jsonFreelancerSubmissions;
|
||||
}
|
||||
|
||||
/*
|
||||
* Gets the freelancer alias and converts them into a wvalue JSON under the name "alias"
|
||||
* takes config and freelancer email
|
||||
|
40
templates/freelancer_Submission_Management_View_Link.html
Normal file
40
templates/freelancer_Submission_Management_View_Link.html
Normal file
@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{{> templateIncludes/style.css.html}}
|
||||
</head>
|
||||
<body>
|
||||
<h2>Submission Management</h2>
|
||||
{{^COOKIE_LOGGED_IN}}
|
||||
Please Log in.
|
||||
{{/COOKIE_LOGGED_IN}}
|
||||
{{#COOKIE_LOGGED_IN}}
|
||||
<table>
|
||||
{{#submissionlinks}}
|
||||
<tr>
|
||||
<th>
|
||||
<a href="https://{{submissionLink}}">{{submissionLink}}</a>
|
||||
</th>
|
||||
<th>
|
||||
<form action="/freelancer/submissionManagement/view/delete" method="post">
|
||||
<button type="submit" name="filename" value="{{filename}}" class="button">Delete</button>
|
||||
</form>
|
||||
</th>
|
||||
</tr>
|
||||
{{/submissionlinks}}
|
||||
</table>
|
||||
<p>
|
||||
<form action="/freelancer/submissionManagement/view/generateLink" method="post">
|
||||
<button type="submit" name="filename" value="{{filename}}" class="button">Generate Link</button>
|
||||
</form>
|
||||
</p>
|
||||
{{/COOKIE_LOGGED_IN}}
|
||||
{{> templateIncludes/freelancerLoginSignupProfileLogoutInterface.html.html}}
|
||||
<br>
|
||||
{{> templateIncludes/returnToIndexButton.html.html}}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user