mirror of
https://github.com/ngoduykhanh/wireguard-ui
synced 2024-06-02 14:02:13 +02:00
add handling of missing QR
This commit is contained in:
parent
e89f7d31d1
commit
ec6f0b7506
|
@ -255,18 +255,25 @@ func EmailClient(db store.IStore, mailer emailer.Emailer, emailSubject, emailCon
|
||||||
config := util.BuildClientConfig(*clientData.Client, server, globalSettings)
|
config := util.BuildClientConfig(*clientData.Client, server, globalSettings)
|
||||||
|
|
||||||
cfg_att := emailer.Attachment{"wg0.conf", []byte(config)}
|
cfg_att := emailer.Attachment{"wg0.conf", []byte(config)}
|
||||||
qrdata, err := base64.StdEncoding.DecodeString(strings.TrimPrefix(clientData.QRCode, "data:image/png;base64,"))
|
var attachments []emailer.Attachment
|
||||||
if err != nil {
|
if clientData.Client.PrivateKey != "" {
|
||||||
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, "decoding: " + err.Error()})
|
qrdata, err := base64.StdEncoding.DecodeString(strings.TrimPrefix(clientData.QRCode, "data:image/png;base64,"))
|
||||||
|
if err != nil {
|
||||||
|
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, "decoding: " + err.Error()})
|
||||||
|
}
|
||||||
|
qr_att := emailer.Attachment{"wg.png", qrdata}
|
||||||
|
attachments = []emailer.Attachment{cfg_att, qr_att}
|
||||||
|
} else {
|
||||||
|
attachments = []emailer.Attachment{cfg_att}
|
||||||
}
|
}
|
||||||
qr_att := emailer.Attachment{"wg.png", qrdata}
|
|
||||||
err = mailer.Send(
|
err = mailer.Send(
|
||||||
clientData.Client.Name,
|
clientData.Client.Name,
|
||||||
payload.Email,
|
payload.Email,
|
||||||
emailSubject,
|
emailSubject,
|
||||||
emailContent,
|
emailContent,
|
||||||
[]emailer.Attachment{cfg_att, qr_att},
|
attachments,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, err.Error()})
|
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, err.Error()})
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ func (o *JsonDB) GetClients(hasQRCode bool) ([]model.ClientData, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate client qrcode image in base64
|
// generate client qrcode image in base64
|
||||||
if hasQRCode {
|
if hasQRCode && client.PrivateKey != "" {
|
||||||
server, _ := o.GetServer()
|
server, _ := o.GetServer()
|
||||||
globalSettings, _ := o.GetGlobalSettings()
|
globalSettings, _ := o.GetGlobalSettings()
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ func (o *JsonDB) GetClientByID(clientID string, hasQRCode bool) (model.ClientDat
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate client qrcode image in base64
|
// generate client qrcode image in base64
|
||||||
if hasQRCode {
|
if hasQRCode && client.PrivateKey != "" {
|
||||||
server, _ := o.GetServer()
|
server, _ := o.GetServer()
|
||||||
globalSettings, _ := o.GetGlobalSettings()
|
globalSettings, _ := o.GetGlobalSettings()
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ Wireguard Clients
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<img id="qr_code" class="w-100" style="image-rendering: pixelated;" src="" alt="QR code" />
|
<img id="qr_code" class="w-100" style="image-rendering: pixelated;" src="" alt="QR code not available" />
|
||||||
</div>
|
</div>
|
||||||
<!-- /.modal-content -->
|
<!-- /.modal-content -->
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue