Automatic minecraft username forward to donate page

This commit is contained in:
Evert Prants 2018-02-09 14:27:29 +02:00
parent c0a9ff5959
commit 60e9b00a74
Signed by: evert
GPG Key ID: 1688DA83D222D0B5
4 changed files with 44 additions and 19 deletions

View File

@ -4,6 +4,14 @@ import API from './index'
import Model from './models'
const mAPI = {
getMinecraftUsername: async function (user) {
user = await API.User.ensureObject(user)
let verified = await Model.MinecraftMember.query().where('user_id', user.id)
if (verified.length) return verified[0].name
return null
},
getToken: async function (user) {
user = await API.User.ensureObject(user)

View File

@ -9,6 +9,7 @@ import wrap from '../../scripts/asyncRoute'
import http from '../../scripts/http'
import API from '../api'
import News from '../api/news'
import Minecraft from '../api/minecraft'
import emailer from '../api/emailer'
import apiRouter from './api'
@ -282,7 +283,17 @@ router.get('/user/manage/email', ensureLogin, wrap(async (req, res) => {
router.get('/donate', wrap(async (req, res, next) => {
if (!config.donations || !config.donations.business) return next()
res.render('donate', config.donations)
let mcu = null
if (config.donations.minecraft && req.session.user) {
mcu = await Minecraft.getMinecraftUsername(req.session.user)
}
let cfg = Object.assign({
minecraftName: mcu
}, config.donations)
res.render('donate', cfg)
}))
/*

View File

@ -29,16 +29,24 @@ block body
option(value="EUR") EUR
option(value="USD") USD
if user
input#custominfo(type="hidden", name="custom", value="userid:" + user.id)
if minecraftName
input#custominfo(type="hidden", name="custom", value="userid:" + user.id + ",mcu:" + minecraftName)
else
input#custominfo(type="hidden", name="custom", value="userid:" + user.id)
else
input#custominfo(type="hidden", name="custom", value="")
if minecraft
.form-check.form-check-inline
input.form-check-input(id="mcinclude" type="checkbox" checked="false")
label.form-check-label(for="mcinclude") Include Minecraft Username
.mcuname.form-group(style="display: none;")
label(for="mcusername") Minecraft Username
input.form-control(id="mcusername", autocomplete="off")
if minecraftName
p Donation will also be forwarded to the Minecraft server as
b= minecraftName
| .
else
.form-check.form-check-inline
input.form-check-input(id="mcinclude" type="checkbox" checked="false")
label.form-check-label(for="mcinclude") Include Minecraft Username
.mcuname.form-group(style="display: none;")
label(for="mcusername") Minecraft Username
input.form-control(id="mcusername", autocomplete="off")
.buttoncont
a.btn.btn-primary.text-light(name="submit", onclick="$(this).closest('form').submit()")
i.fa.fa-fw.fa-paypal

View File

@ -3,15 +3,13 @@ block title
|Icy Network - Minecraft Server
block body
.wrapper
.boxcont
.box#totpcheck
h1 Minecraft Server
p Link your Icy Network account with your Minecraft account on our server
if token
p Run the following command on the Minecraft Server:
code /verify #{token}
else
p You've already logged in as
b= mcu.name
.container
h1 Minecraft Server
p Link your Icy Network account with your Minecraft account on our server
if token
p Run the following command on the Minecraft Server:
code /verify #{token}
else
p You've already logged in as
b= mcu.name