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' import Model from './models'
const mAPI = { 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) { getToken: async function (user) {
user = await API.User.ensureObject(user) user = await API.User.ensureObject(user)

View File

@ -9,6 +9,7 @@ import wrap from '../../scripts/asyncRoute'
import http from '../../scripts/http' import http from '../../scripts/http'
import API from '../api' import API from '../api'
import News from '../api/news' import News from '../api/news'
import Minecraft from '../api/minecraft'
import emailer from '../api/emailer' import emailer from '../api/emailer'
import apiRouter from './api' 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) => { router.get('/donate', wrap(async (req, res, next) => {
if (!config.donations || !config.donations.business) return 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="EUR") EUR
option(value="USD") USD option(value="USD") USD
if user 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 else
input#custominfo(type="hidden", name="custom", value="") input#custominfo(type="hidden", name="custom", value="")
if minecraft if minecraft
.form-check.form-check-inline if minecraftName
input.form-check-input(id="mcinclude" type="checkbox" checked="false") p Donation will also be forwarded to the Minecraft server as
label.form-check-label(for="mcinclude") Include Minecraft Username b= minecraftName
.mcuname.form-group(style="display: none;") | .
label(for="mcusername") Minecraft Username else
input.form-control(id="mcusername", autocomplete="off") .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 .buttoncont
a.btn.btn-primary.text-light(name="submit", onclick="$(this).closest('form').submit()") a.btn.btn-primary.text-light(name="submit", onclick="$(this).closest('form').submit()")
i.fa.fa-fw.fa-paypal i.fa.fa-fw.fa-paypal

View File

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