From b02131ea683c71155531beaf241c7aa63084650e Mon Sep 17 00:00:00 2001
From: Tina_Azure <->
Date: Sat, 19 Aug 2023 11:37:03 +0200
Subject: [PATCH] Submission/Submission alias deletion WIP
---
src/main.cpp | 17 ++++++++
src/templateConstCollection.cpp | 1 +
src/utilities.cpp | 12 ++++++
...ancer_Submission_Management_View_Link.html | 40 +++++++++++++++++++
4 files changed, 70 insertions(+)
create mode 100644 templates/freelancer_Submission_Management_View_Link.html
diff --git a/src/main.cpp b/src/main.cpp
index 3b829bb..9315d71 100644
--- a/src/main.cpp
+++ b/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(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
*/
diff --git a/src/templateConstCollection.cpp b/src/templateConstCollection.cpp
index 64bde8e..a070ac4 100644
--- a/src/templateConstCollection.cpp
+++ b/src/templateConstCollection.cpp
@@ -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";
diff --git a/src/utilities.cpp b/src/utilities.cpp
index 0fa5648..49ab466 100644
--- a/src/utilities.cpp
+++ b/src/utilities.cpp
@@ -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
diff --git a/templates/freelancer_Submission_Management_View_Link.html b/templates/freelancer_Submission_Management_View_Link.html
new file mode 100644
index 0000000..8212b1a
--- /dev/null
+++ b/templates/freelancer_Submission_Management_View_Link.html
@@ -0,0 +1,40 @@
+
+
+
+ {{> templateIncludes/style.css.html}}
+
+
+ Submission Management
+ {{^COOKIE_LOGGED_IN}}
+ Please Log in.
+ {{/COOKIE_LOGGED_IN}}
+ {{#COOKIE_LOGGED_IN}}
+
+
+
+
+ {{/COOKIE_LOGGED_IN}}
+ {{> templateIncludes/freelancerLoginSignupProfileLogoutInterface.html.html}}
+
+ {{> templateIncludes/returnToIndexButton.html.html}}
+
+
+
+
+
+
\ No newline at end of file