Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
MetaGer Keymanager
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
open-source
MetaGer Keymanager
Commits
0c20f5bd
Commit
0c20f5bd
authored
10 months ago
by
Dominik Hebeler
Browse files
Options
Downloads
Patches
Plain Diff
add settings url to key overview page
parent
4536e095
No related branches found
No related tags found
No related merge requests found
Pipeline
#9586
passed
10 months ago
Stage: build
Stage: deploy
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
pass/public/styles/admin/key-overview.less
+9
-0
9 additions, 0 deletions
pass/public/styles/admin/key-overview.less
pass/routes/admin/index.js
+1
-0
1 addition, 0 deletions
pass/routes/admin/index.js
pass/views/admin/key/overview.ejs
+121
-100
121 additions, 100 deletions
pass/views/admin/key/overview.ejs
with
131 additions
and
100 deletions
pass/public/styles/admin/key-overview.less
+
9
−
0
View file @
0c20f5bd
...
...
@@ -95,6 +95,15 @@
}
}
div.settings-url {
display: flex;
>input {
flex-grow: 1;
padding-inline: .5rem;
}
}
div#payments {
display: grid;
gap: 3rem;
...
...
This diff is collapsed.
Click to expand it.
pass/routes/admin/index.js
+
1
−
0
View file @
0c20f5bd
...
...
@@ -404,6 +404,7 @@ router.use("/key/:key", (req, res, next) => {
});
}
});
res
.
locals
.
key_url
=
`https://metager.de/meta/settings/load-settings?key=
${
key
.
get_key
()}
`
;
next
();
});
});
...
...
This diff is collapsed.
Click to expand it.
pass/views/admin/key/overview.ejs
+
121
−
100
View file @
0c20f5bd
<%- include('../../templates/page_header', {css:
[`${baseDir}/styles/admin/base.css`,
`${baseDir}/styles/admin/key-overview.css`], js:
[`${baseDir}/js/admin/key-overview.js`]}); %>
<div id="admin-container">
<ul class="breadcrumps">
<li>
<a href="<%= baseDir _%>/admin/">
<%= req.t("breadcrumps.overview", {ns: "admin"}) _%>
</a>
</li>
<li><%= req.t("breadcrumps.key-management", {ns: "admin"}) _%></li>
</ul>
<div id="key-info">
<h1><%= key.get_key() _%></h1>
<h2>
<%= req.t("key.key-overview.charge", {ns: "admin", token:
key.get_charge()}) _%>
</h2>
<%_ if(typeof success !== "undefined") { %>
<div class="charge-success">
<%= req.t("key.key-overview.charge-success", {ns: "admin"}) _%>
</div>
<%_ } _%>
<div id="charges">
<%_ for(let i = 0; i < key.get_charge_orders().length; i++) { _%>
<div class="charge">
<div class="charge-amount">
<%= key.get_charge_orders()[i].amount _%>
</div>
<div>
<%= req.t("key.key-overview.expiration", {ns: "admin", expiration:
key.get_charge_orders()[i].expiration.format("DD.MM.YYYY HH:mm:ss")})
_%>
</div>
<form method="POST" action="<%= `${baseDir}/admin/key/${key.get_key()}/remove-charge`%>">
<input type="hidden" name="payment_reference" value="<%= key.get_charge_orders()[i].payment_reference_id _%>" />
<button type="submit">
<%= req.t("key.key-overview.delete", {ns: "admin"}) _%>
</button>
</form>
</div>
<%_ } _%>
</div>
</div>
<form method="POST" id="charge-form">
<h3 class="heading">
<%= req.t("key.key-overview.charge-form.heading", {ns: "admin"}) _%>
</h3>
<div class="hint">
<%= req.t("key.key-overview.charge-form.hint", {ns: "admin"}) _%>
</div>
<%_ if(typeof errors !== "undefined") { _%>
<ul id="errors">
<%_ for(let i = 0; i < errors.length; i++) { _%>
<li class="error"><%= errors[i].param + ": " + errors[i].msg _%></li>
<%_ } _%>
<%- include('../../templates/page_header', {css: [`${baseDir}/styles/admin/base.css`,
`${baseDir}/styles/admin/key-overview.css`], js: [`${baseDir}/js/admin/key-overview.js`]}); %>
<div id="admin-container">
<ul class="breadcrumps">
<li>
<a href="<%= baseDir _%>/admin/">
<%= req.t("breadcrumps.overview", {ns: "admin" }) _%>
</a>
</li>
<li>
<%= req.t("breadcrumps.key-management", {ns: "admin" }) _%>
</li>
</ul>
<%_ } _%>
<div class="input-group">
<label for="amount"><%= req.t("key.key-overview.charge-form.amount.label", {ns: "admin"})
_%></label>
<input type="number" name="amount" id="amount" min="0" step="1" placeholder="1000" />
</div>
<div>oder</div>
<div class="input-group">
<label for="price"><%= req.t("key.key-overview.charge-form.price.label", {ns: "admin"})
_%></label>
<input type="number" name="price" id="price" min="0" step="0.01" placeholder="10.00" />
<div id="key-info">
<h1>
<%= key.get_key() _%>
</h1>
<div class="input-group settings-url">
<input id="setting-url" type="text" readonly value="<%= key_url %>" />
<button class="copy button" data-target="setting-url"><img src="<%= baseDir _%>/images/copy.svg" />
<div>
<%= req.t("key.copy-url", {ns: "key" }) _%>
</div>
</button>
</div>
<h2>
<%= req.t("key.key-overview.charge", {ns: "admin" , token: key.get_charge()}) _%>
</h2>
<%_ if(typeof success !=="undefined" ) { %>
<div class="charge-success">
<%= req.t("key.key-overview.charge-success", {ns: "admin" }) _%>
</div>
<%_ } _%>
<div id="charges">
<%_ for(let i=0; i < key.get_charge_orders().length; i++) { _%>
<div class="charge">
<div class="charge-amount">
<%= key.get_charge_orders()[i].amount _%>
</div>
<div>
<%= req.t("key.key-overview.expiration", {ns: "admin" , expiration:
key.get_charge_orders()[i].expiration.format("DD.MM.YYYY HH:mm:ss")}) _%>
</div>
<form method="POST" action="<%= `${baseDir}/admin/key/${key.get_key()}/remove-charge`%>">
<input type="hidden" name="payment_reference"
value="<%= key.get_charge_orders()[i].payment_reference_id _%>" />
<button type="submit">
<%= req.t("key.key-overview.delete", {ns: "admin" }) _%>
</button>
</form>
</div>
<%_ } _%>
</div>
</div>
<button class="button" type="submit">
<%= req.t("key.key-overview.charge-form.submit", {ns: "admin"}) _%>
</button>
</form>
<%_ if(payments.length > 0) { _%>
<div id="payments">
<h1 class="heading">
<%= req.t("key.key-overview.payments.heading", {ns: "admin"}) _%>
</h1>
<%_ for(let i = 0; i < payments.length; i++) { _%>
<div class="payment">
<div class="payment_id_name">ID</div>
<div class="payment_public_id_name">Public ID</div>
<div class="payment_price_name">Betrag</div>
<div class="payment_processor_id_name">Zahlungsdienstleister ID</div>
<div class="payment_created_at_name">Eingangsdatum</div>
<div class="payment_id"><%= payments[i].id _%></div>
<div class="payment_public_id"><%= payments[i].public_id _%></div>
<div class="payment_price"><%= new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(payments[i].price) _%></div>
<div class="payment_processor_id_id">
<%- payments[i].payment_processor_id _%>
<form method="POST" id="charge-form">
<h3 class="heading">
<%= req.t("key.key-overview.charge-form.heading", {ns: "admin" }) _%>
</h3>
<div class="hint">
<%= req.t("key.key-overview.charge-form.hint", {ns: "admin" }) _%>
</div>
<div class="payment_created_at_id">
<%= payments[i].created_at.format("DD.MM.YYYY HH:mm:ss") _%>
<%_ if(typeof errors !=="undefined" ) { _%>
<ul id="errors">
<%_ for(let i=0; i < errors.length; i++) { _%>
<li class="error">
<%= errors[i].param + ": " + errors[i].msg _%>
</li>
<%_ } _%>
</ul>
<%_ } _%>
<div class="input-group">
<label for="amount">
<%= req.t("key.key-overview.charge-form.amount.label", {ns: "admin" }) _%>
</label>
<input type="number" name="amount" id="amount" min="0" step="1" placeholder="1000" />
</div>
<div>oder</div>
<div class="input-group">
<label for="price">
<%= req.t("key.key-overview.charge-form.price.label", {ns: "admin" }) _%>
</label>
<input type="number" name="price" id="price" min="0" step="0.01" placeholder="10.00" />
</div>
<button class="button" type="submit">
<%= req.t("key.key-overview.charge-form.submit", {ns: "admin" }) _%>
</button>
</form>
<%_ if(payments.length> 0) { _%>
<div id="payments">
<h1 class="heading">
<%= req.t("key.key-overview.payments.heading", {ns: "admin" }) _%>
</h1>
<%_ for(let i=0; i < payments.length; i++) { _%>
<div class="payment">
<div class="payment_id_name">ID</div>
<div class="payment_public_id_name">Public ID</div>
<div class="payment_price_name">Betrag</div>
<div class="payment_processor_id_name">Zahlungsdienstleister ID</div>
<div class="payment_created_at_name">Eingangsdatum</div>
<div class="payment_id">
<%= payments[i].id _%>
</div>
<div class="payment_public_id">
<%= payments[i].public_id _%>
</div>
<div class="payment_price">
<%= new Intl.NumberFormat('de-DE', { style: 'currency' , currency: 'EUR' }).format(payments[i].price) _%>
</div>
<div class="payment_processor_id_id">
<%- payments[i].payment_processor_id _%>
</div>
<div class="payment_created_at_id">
<%= payments[i].created_at.format("DD.MM.YYYY HH:mm:ss") _%>
</div>
<details class="payment_processor_data">
<summary>Zahlungsdienstleister Antwort</summary>
<p>
<%= payments[i].payment_processor_data _%>
</p>
</details>
</div>
<%_ } _%>
</div>
<details class="payment_processor_data">
<summary>Zahlungsdienstleister Antwort</summary>
<p><%= payments[i].payment_processor_data _%></p>
</details>
</div>
<%_ } _%>
<%_ } _%>
</div>
<%_ } _%>
</div>
<%- include('../../templates/page_footer'); -%>
\ No newline at end of file
<%- include('../../templates/page_footer'); -%>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment