Fix contacts and channels export payload
This commit is contained in:
parent
3881780dbe
commit
854577e04c
1 changed files with 23 additions and 25 deletions
|
|
@ -305,43 +305,41 @@
|
||||||
.replace(/'/g, "'");
|
.replace(/'/g, "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildChannel(alias, slot, colorCode, txHz, rxHz) {
|
function formatFreq(mhz) {
|
||||||
|
return parseFloat(mhz).toFixed(6);
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildChannel(alias, slot, colorCode, txFreq, rxFreq) {
|
||||||
var slotName = slot === "SLOT1" ? "1" : "2";
|
var slotName = slot === "SLOT1" ? "1" : "2";
|
||||||
return ' <set name="ConventionalPersonality" alias="' + escapeXml(alias) + '" key="DGTLCONV6PT25">\n' +
|
return ' <set name="ConventionalPersonality" alias="' + escapeXml(alias) + '" key="DGTLCONV6PT25">\n' +
|
||||||
' <field name="CP_PERSTYPE" Name="Digital">DGTLCONV6PT25</field>\n' +
|
' <field name="CP_PERSTYPE" Name="Digital">DGTLCONV6PT25</field>\n' +
|
||||||
' <field name="CP_CNVPERSALIAS">' + escapeXml(alias) + '</field>\n' +
|
' <field name="CP_CNVPERSALIAS">' + escapeXml(alias) + '</field>\n' +
|
||||||
' <field name="CP_SLTASSGMNT" Name="' + slotName + '">' + slot + '</field>\n' +
|
' <field name="CP_SLTASSGMNT" Name="' + slotName + '">' + slot + '</field>\n' +
|
||||||
' <field name="CP_COLORCODE">' + colorCode + '</field>\n' +
|
' <field name="CP_COLORCODE">' + colorCode + '</field>\n' +
|
||||||
' <field name="CP_TXFREQ">' + txHz + '</field>\n' +
|
' <field name="CP_TXFREQ">' + txFreq + '</field>\n' +
|
||||||
' <field name="CP_RXFREQ">' + rxHz + '</field>\n' +
|
' <field name="CP_RXFREQ">' + rxFreq + '</field>\n' +
|
||||||
' <field name="CP_TXINHXPLEN" Name="Color Code Free">MTCHCLRCD</field>\n' +
|
' <field name="CP_TXINHXPLEN" Name="Color Code Free">MTCHCLRCD</field>\n' +
|
||||||
' <field name="CP_TOT">180</field>\n' +
|
' <field name="CP_TOT">180</field>\n' +
|
||||||
' </set>\n';
|
' </set>\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateCpsXml(repeaters, talkgroups) {
|
function generateCpsXml(repeaters, talkgroups) {
|
||||||
var channels = "";
|
var channels = "";
|
||||||
repeaters.forEach(function (r) {
|
repeaters.forEach(function (r) {
|
||||||
var txHz = Math.round(r.freq_tx * 1000000);
|
var txFreq = formatFreq(r.freq_tx);
|
||||||
var rxHz = Math.round(r.freq_rx * 1000000);
|
var rxFreq = formatFreq(r.freq_rx);
|
||||||
var cc = r.color_code;
|
var cc = r.color_code;
|
||||||
talkgroups.forEach(function (tg) {
|
talkgroups.forEach(function (tg) {
|
||||||
var slot = tg.slot === "1" ? "SLOT1" : "SLOT2";
|
var slot = tg.slot === "1" ? "SLOT1" : "SLOT2";
|
||||||
var alias = tg.name.substring(0, 16);
|
var alias = tg.name.substring(0, 16);
|
||||||
channels += buildChannel(alias, slot, cc, txHz, rxHz);
|
channels += buildChannel(alias, slot, cc, txFreq, rxFreq);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return '<?xml version="1.0" encoding="utf-8" standalone="yes"?>\n' +
|
return '<?xml version="1.0" encoding="utf-8" standalone="yes"?>\n' +
|
||||||
"<config>\n" +
|
"<config>\n" +
|
||||||
' <category name="Zone">\n' +
|
' <collection name="ZoneItems">\n' +
|
||||||
' <set name="Zone" alias="DMRmap">\n' +
|
|
||||||
' <field name="ZP_ZONEALIAS">DMRmap</field>\n' +
|
|
||||||
' <field name="ZP_ZONETYPE" Name="Normal">NORMAL</field>\n' +
|
|
||||||
' <collection name="ZoneItems">\n' +
|
|
||||||
channels +
|
channels +
|
||||||
" </collection>\n" +
|
" </collection>\n" +
|
||||||
" </set>\n" +
|
|
||||||
" </category>\n" +
|
|
||||||
"</config>";
|
"</config>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -539,11 +537,11 @@
|
||||||
var name = ("TG" + tg.id + " " + (tg.name || "")).trim().substring(0, 16);
|
var name = ("TG" + tg.id + " " + (tg.name || "")).trim().substring(0, 16);
|
||||||
var row = name + ",False,,," +
|
var row = name + ",False,,," +
|
||||||
"False,,," +
|
"False,,," +
|
||||||
"False,,,,,," +
|
"False,,,,,,," +
|
||||||
"False,,,,,,,,," +
|
"False,,,,,,,,," +
|
||||||
"False," + tg.id + ",Regular,False,No Style,Repetitive,Group Call,False," +
|
"False," + tg.id + ",Regular,False,No Style,Repetitive,Group Call,False," +
|
||||||
"False,,Regular,False,No Style,Repetitive,Group Call," +
|
"False,,,,,,," +
|
||||||
"False,,No Style";
|
"False,,";
|
||||||
rows.push(row);
|
rows.push(row);
|
||||||
});
|
});
|
||||||
return rows.join("\r\n");
|
return rows.join("\r\n");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue