Skip to content
Snippets Groups Projects
Commit 420f67ae authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

load key by payment ID

parent 6661a14d
No related branches found
No related tags found
No related merge requests found
Pipeline #8167 passed
...@@ -128,9 +128,9 @@ router.get( ...@@ -128,9 +128,9 @@ router.get(
let hasher = crypto.createHash("sha256"); let hasher = crypto.createHash("sha256");
hasher.update( hasher.update(
reqData.company + reqData.company +
res.locals.name + res.locals.name +
res.locals.email + res.locals.email +
res.locals.address res.locals.address
); );
res.locals.datahash = hasher.digest("hex"); res.locals.datahash = hasher.digest("hex");
res.render("admin/payments/receipt"); res.render("admin/payments/receipt");
...@@ -333,16 +333,29 @@ router.get("/key", (req, res) => { ...@@ -333,16 +333,29 @@ router.get("/key", (req, res) => {
router.post("/key", (req, res) => { router.post("/key", (req, res) => {
if (req.body.payment_id.length > 0) { if (req.body.payment_id.length > 0) {
return PaymentReference.LOAD_FROM_PUBLIC_ID(req.body.payment_id) // Either Payment ID or PaymentReference ID can be Supplied
.then((payment_reference) => { if (req.body.payment_id.indexOf("A") == 0) {
return res.redirect( return Payment.LOAD_FROM_PUBLIC_ID(req.body.payment_id)
`${res.baseDir}/admin/key/${payment_reference.key.get_key()}` .then(payment => {
); return PaymentReference.LOAD_FROM_ID(payment.payment_reference_id)
}) .then(payment_reference => {
.catch((reason) => { return res.redirect(
console.error(reason); `${res.baseDir}/admin/key/${payment_reference.key.get_key()}`
return res.redirect(`${res.baseDir}/admin/key`); );
}); })
});
} else {
return PaymentReference.LOAD_FROM_PUBLIC_ID(req.body.payment_id)
.then((payment_reference) => {
return res.redirect(
`${res.baseDir}/admin/key/${payment_reference.key.get_key()}`
);
})
.catch((reason) => {
console.error(reason);
return res.redirect(`${res.baseDir}/admin/key`);
});
}
} else { } else {
return Key.GET_KEY(req.body.key, false).then((key) => { return Key.GET_KEY(req.body.key, false).then((key) => {
return res.redirect(`${res.baseDir}/admin/key/${key.get_key()}`); return res.redirect(`${res.baseDir}/admin/key/${key.get_key()}`);
...@@ -424,8 +437,7 @@ router.post( ...@@ -424,8 +437,7 @@ router.post(
.then((payment_reference) => payment_reference.chargeKey()) .then((payment_reference) => payment_reference.chargeKey())
.then(() => { .then(() => {
res.redirect( res.redirect(
`${ `${res.baseDir
res.baseDir
}/admin/key/${res.locals.key.get_key()}?charge_success=true` }/admin/key/${res.locals.key.get_key()}?charge_success=true`
); );
}); });
...@@ -440,8 +452,7 @@ router.post( ...@@ -440,8 +452,7 @@ router.post(
const errors = validationResult(req); const errors = validationResult(req);
if (!errors.isEmpty()) { if (!errors.isEmpty()) {
return res.redirect( return res.redirect(
`${ `${res.baseDir
res.baseDir
}/admin/key/${res.locals.key.get_key()}?charge_success=true` }/admin/key/${res.locals.key.get_key()}?charge_success=true`
); );
} }
...@@ -459,8 +470,7 @@ router.post( ...@@ -459,8 +470,7 @@ router.post(
}) })
.then(() => { .then(() => {
res.redirect( res.redirect(
`${ `${res.baseDir
res.baseDir
}/admin/key/${res.locals.key.get_key()}?charge_success=true` }/admin/key/${res.locals.key.get_key()}?charge_success=true`
); );
}); });
......
...@@ -12,32 +12,16 @@ ...@@ -12,32 +12,16 @@
</ul> </ul>
<form method="POST"> <form method="POST">
<div class="input-group"> <div class="input-group">
<label for="key" <label for="key"><%= req.t("key.key-input.label", {ns: "admin"}) _%></label>
><%= req.t("key.key-input.label", {ns: "admin"}) _%></label <input type="text" name="key" id="key" size="36" placeholder="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
>
<input
type="text"
name="key"
id="key"
size="36"
placeholder="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
/>
</div> </div>
<div class="input-group"> <div class="input-group">
<label for="payment_id" <label for="payment_id"><%= req.t("key.payment-id-input.label", {ns: "admin"}) _%></label>
><%= req.t("key.payment-id-input.label", {ns: "admin"}) _%></label <input type="text" name="payment_id" id="payment_id" size="36" placeholder="ZXXXXXXX | AXXXXXXX" />
>
<input
type="text"
name="payment_id"
id="payment_id"
size="36"
placeholder="ZXXXXXXX"
/>
</div> </div>
<button class="button"> <button class="button">
<%= req.t("key.key-input.submit", {ns: "admin"}) _%> <%= req.t("key.key-input.submit", {ns: "admin"}) _%>
</button> </button>
</form> </form>
</div> </div>
<%- include('../../templates/page_footer'); -%> <%- include('../../templates/page_footer'); -%>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment