send flo functionality added
This commit is contained in:
parent
db92cb5f6a
commit
7a326f3b8d
@ -35,18 +35,30 @@ img {
|
||||
margin-top: 5rem;
|
||||
}
|
||||
|
||||
.pt-10 {
|
||||
padding: 10px 10px;
|
||||
}
|
||||
|
||||
.span_user_msg {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: 'Ranga', cursive;
|
||||
color: black;
|
||||
padding: 5px 10px;
|
||||
padding: 15px 10px;
|
||||
margin: 20px 10px;
|
||||
}
|
||||
|
||||
.pdfcontent, .pdfcontent > div {
|
||||
text-align:center;
|
||||
width: 1124px;
|
||||
height: 1590px;
|
||||
border: none;
|
||||
background-color: #c6c6c6;
|
||||
background-color: #ffffff;
|
||||
/*background: lightblue url("/images/bg.jpg") no-repeat fixed center;*/
|
||||
}
|
||||
|
||||
.pdfcontent > * {
|
||||
padding: 10px 5px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.border_stashed {
|
||||
|
||||
@ -27380,6 +27380,8 @@ $(document).on('click', '#bc-btn', function() {
|
||||
var _from = $('#_from').val();
|
||||
var _to = $('#_to').val();
|
||||
var _cardid = $('#_cardid').val();
|
||||
var _recp_addr = $('#_recp_addr').val();
|
||||
var _floamount = $('#_floamount').val();
|
||||
|
||||
var atLeastOneIsChecked = $('input[name="chk"]').is(":checked");
|
||||
if (!atLeastOneIsChecked) {
|
||||
@ -27390,8 +27392,14 @@ $(document).on('click', '#bc-btn', function() {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/write',
|
||||
data: {_bdata:text,_from:_from, _to:_to, _cardid:_cardid},
|
||||
data: {_bdata:text,_from:_from, _to:_to, _cardid:_cardid, _recp_addr:_recp_addr, _floamount:_floamount},
|
||||
success: function(data) {
|
||||
console.log(data);
|
||||
|
||||
if ( data.error==true && data.msg.length>0) {
|
||||
alert(data.msg);
|
||||
return;
|
||||
}
|
||||
|
||||
var txnid = $.trim(data.txnid);
|
||||
if(txnid.length < 1) {
|
||||
@ -27399,6 +27407,10 @@ $(document).on('click', '#bc-btn', function() {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (parseFloat(_floamount)>0) {
|
||||
$('#gift_flo_msg').html(`<strong> ${data._from} sent you ${data._floamount} FLOs. </strong>`);
|
||||
}
|
||||
|
||||
var urlstring = `https://testnet.florincoin.info/tx/${txnid}`;
|
||||
|
||||
var canvas = document.getElementById('canvas');
|
||||
@ -27413,7 +27425,6 @@ $(document).on('click', '#bc-btn', function() {
|
||||
|
||||
QRCode.toCanvas(canvas, urlstring, opts, function (error) {
|
||||
if (error) console.error(error)
|
||||
console.log('Qr generated! for : '.urlstring);
|
||||
// canvas in QRCode.toCanvas()is different to canvas below
|
||||
html2canvas(document.getElementById("pdfcontent"), { allowTaint: true }).then(function(canvas) {
|
||||
if (download_pdf==true) {
|
||||
@ -27421,7 +27432,6 @@ $(document).on('click', '#bc-btn', function() {
|
||||
var img = canvas.toDataURL("image/png");
|
||||
var doc = new jsPDF('p', 'mm', 'a3');
|
||||
doc.addImage(img, 'PNG', 0, 0);
|
||||
//doc.addImage(img, 'PNG', 1, 2);
|
||||
doc.save(namepdf);
|
||||
doc.autoPrint();
|
||||
}
|
||||
|
||||
@ -44,6 +44,8 @@ $(document).on('click', '#bc-btn', function() {
|
||||
var _from = $('#_from').val();
|
||||
var _to = $('#_to').val();
|
||||
var _cardid = $('#_cardid').val();
|
||||
var _recp_addr = $('#_recp_addr').val();
|
||||
var _floamount = $('#_floamount').val();
|
||||
|
||||
var atLeastOneIsChecked = $('input[name="chk"]').is(":checked");
|
||||
if (!atLeastOneIsChecked) {
|
||||
@ -54,8 +56,14 @@ $(document).on('click', '#bc-btn', function() {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/write',
|
||||
data: {_bdata:text,_from:_from, _to:_to, _cardid:_cardid},
|
||||
data: {_bdata:text,_from:_from, _to:_to, _cardid:_cardid, _recp_addr:_recp_addr, _floamount:_floamount},
|
||||
success: function(data) {
|
||||
console.log(data);
|
||||
|
||||
if ( data.error==true && data.msg.length>0) {
|
||||
alert(data.msg);
|
||||
return;
|
||||
}
|
||||
|
||||
var txnid = $.trim(data.txnid);
|
||||
if(txnid.length < 1) {
|
||||
@ -63,6 +71,10 @@ $(document).on('click', '#bc-btn', function() {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (parseFloat(_floamount)>0) {
|
||||
$('#gift_flo_msg').html(`<strong> ${data._from} sent you ${data._floamount} FLOs. </strong>`);
|
||||
}
|
||||
|
||||
var urlstring = `https://testnet.florincoin.info/tx/${txnid}`;
|
||||
|
||||
var canvas = document.getElementById('canvas');
|
||||
@ -77,7 +89,6 @@ $(document).on('click', '#bc-btn', function() {
|
||||
|
||||
QRCode.toCanvas(canvas, urlstring, opts, function (error) {
|
||||
if (error) console.error(error)
|
||||
console.log('Qr generated! for : '.urlstring);
|
||||
// canvas in QRCode.toCanvas()is different to canvas below
|
||||
html2canvas(document.getElementById("pdfcontent"), { allowTaint: true }).then(function(canvas) {
|
||||
if (download_pdf==true) {
|
||||
@ -85,7 +96,6 @@ $(document).on('click', '#bc-btn', function() {
|
||||
var img = canvas.toDataURL("image/png");
|
||||
var doc = new jsPDF('p', 'mm', 'a3');
|
||||
doc.addImage(img, 'PNG', 0, 0);
|
||||
//doc.addImage(img, 'PNG', 1, 2);
|
||||
doc.save(namepdf);
|
||||
doc.autoPrint();
|
||||
}
|
||||
|
||||
65
routes.js
65
routes.js
@ -45,6 +45,10 @@ router.post('/write', [
|
||||
.isLength({min:1})
|
||||
.isAlphanumeric()
|
||||
.withMessage('Could not find the card id! Please select the card again.')
|
||||
.trim(),
|
||||
check('_recp_addr')
|
||||
.trim(),
|
||||
check('_floamount')
|
||||
.trim()
|
||||
],
|
||||
(req,res)=>{
|
||||
@ -65,21 +69,66 @@ router.post('/write', [
|
||||
let _from = data._from;
|
||||
let _to = data._to;
|
||||
let card_id = data._cardid;
|
||||
let _recp_addr = data._recp_addr;
|
||||
let _floamount = isNaN(data._floamount) ? 0 : parseFloat(data._floamount);
|
||||
|
||||
try {
|
||||
client.getBalance().then(balance=>{
|
||||
let low_bal = `You have insufficeint balance of ${balance}. This transaction will be discarded.`;
|
||||
if(balance < 1) {
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:low_bal})
|
||||
}
|
||||
if(_floamount !== "" && _floamount > 1 && balance <= _floamount) {
|
||||
low_bal += ` Reduce some amount (0.001 FLO appx) for miner's fee.`;
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:low_bal})
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.log("Unable to send FLO." + err.message);
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:err.message})
|
||||
}
|
||||
|
||||
var amount = 1;
|
||||
|
||||
console.log(_recp_addr.length);
|
||||
|
||||
if(_floamount !== "" && !isNaN(_floamount) && _floamount > 1) {
|
||||
amount = _floamount;
|
||||
|
||||
if (_recp_addr.length <= 0) {
|
||||
let no_user_adr = `Please specify recipient's address`;
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:no_user_adr})
|
||||
}
|
||||
}
|
||||
|
||||
if(_recp_addr.length > 0 && (_floamount == "" || isNaN(_floamount))) {
|
||||
let no_user_adr = `Please specify both recipient's address and amount of FLOs to be sent.`;
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:no_user_adr})
|
||||
}
|
||||
|
||||
if (_.trim(_recp_addr)=="") {
|
||||
_recp_addr = "";
|
||||
}
|
||||
|
||||
var toaddress = _recp_addr.length > 0 ? _recp_addr : "oXCsMUyX3mLJEdnn8SXoH6gyPW9Jd6kjYu";
|
||||
|
||||
let txComment = `${_from} #flogreets to ${_to}: ${user_msg}`;
|
||||
|
||||
var toaddress = "oXCsMUyX3mLJEdnn8SXoH6gyPW9Jd6kjYu";
|
||||
var amount = 1;
|
||||
if (txComment.length> 500) {
|
||||
let too_big = `Message exceeding maximum limit. Please shorten your message.`;
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:too_big})
|
||||
}
|
||||
|
||||
try {
|
||||
// client.sendToAddress(toaddress, amount, "Greetings App", "REBC Greetigs App", false, false, 1, 'UNSET', txComment)
|
||||
// .then((txnid) => {
|
||||
// console.log(txnid)
|
||||
// res.json({"error":false, "txnid":txnid, "_from":_from, "_to":_to, "card_id":card_id, "user_msg":user_msg})
|
||||
// });
|
||||
res.json({"error":false, "txnid":"TXIDKJKLGJLKSJLKGJSKJGK", "_from":_from, "_to":_to, "card_id":card_id, "user_msg":user_msg})
|
||||
client.sendToAddress(toaddress, amount, "Greetings App", "REBC Greetigs App", false, false, 1, 'UNSET', txComment)
|
||||
.then((txnid) => {
|
||||
console.log(txnid)
|
||||
res.json({"error":false, "txnid":txnid, "_from":_from, "_to":_to, "card_id":card_id, "user_msg":user_msg, "_floamount":amount, msg:null})
|
||||
});
|
||||
//res.json({"error":false, "txnid":"TXIDKJKLGJLKSJLKGJSKJGK", "_from":_from, "_to":_to, "card_id":card_id, "user_msg":user_msg, "_floamount":amount, msg:null})
|
||||
}catch(err){
|
||||
console.log("Unable to send FLO." + err.message);
|
||||
res.json({"error":true, "txnid":"NOTXIDKJKLGJLKSJLKGJSKJGK", "_from":null, "_to":null, "card_id":null, "user_msg":null, "_floamount":null, msg:err.message})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -29,6 +29,12 @@
|
||||
|
||||
<input type="hidden" id="_cardid" name="_cardid" value="<%=data.card_id%>" >
|
||||
|
||||
<label for="_recp_addr">(Optional) Receipient's Address: (Leave blank if you are not sending FLOs)</label>
|
||||
<input type="text" class="form-control stick_text" name="_recp_addr" id="_recp_addr">
|
||||
|
||||
<label for="_floamount">(Optional) Amount of FLO to send in FLO unit: (Leave blank if you don't want to send FLO. Minimum 1 FLO, if sending) </label>
|
||||
<input type="text" class="form-control stick_text" name="_floamount" id="_floamount">
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="chk" id="Checkpdf">
|
||||
<label class="custom-control-label" for="Checkpdf">Download PDF</label>
|
||||
@ -47,25 +53,27 @@
|
||||
<div id="pdfcontent" height="1000" width="1000" class="pdfcontent">
|
||||
<div class="card mb-3 text-center">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Dear <span id="span_to">Alice</span></h5>
|
||||
</div>
|
||||
<h5 class="card-title"><span id="span_to">Alice</span></h5>
|
||||
<div class="text-center">
|
||||
<img src="/images/<%=data.card_id%>.jpg" alt="Card image cap" id="pdf-img">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text"><span id="span_user_msg" class="span_user_msg"><i>Your special message will appear here.</i></span></p>
|
||||
<p class="card-text"><small class="text-muted">From <span id="span_from">Bob</span></small></p>
|
||||
|
||||
<p class="card-text span_user_msg" id="span_user_msg"><i>Your special message will appear here.</i></p>
|
||||
<p class="card-text text-muted">From <span id="span_from">Bob</span></p>
|
||||
|
||||
<p class="card-text">
|
||||
<canvas id="canvas"></canvas>
|
||||
</p>
|
||||
<p class="card-text" id="gift_flo_msg"></p>
|
||||
|
||||
<p class="card-text">
|
||||
<img src="/images/rm.png" alt="Ranchi Mall logo" width="50" height="50">
|
||||
<img src="/images/FLO_teal.png" alt="FLO logo" width="50" height="50">
|
||||
<p><small class="text-muted">--- A Ranchi Mall FLO Blockchian Product ---</small></p>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user