Jet interpreter (Tag.cpp, __call.cpp, __imap*.cpp/h, __smtpsend.cpp/h, __imapemptyfolder.cpp/h - new): assorted parser/tag fixes found across this work - a stray literal-tag-in-comment and backslash-quote parser corruption class, a dangling-pointer fix, a __call.cpp fd leak, IMAP folder-management tags, multi-account/per-host IMAP support, and a smtpsend Message-ID fix. barant.com site (jetc/barant-site/): - A site-wide persistent music player (header band, playlist/queue, stereo FFT EQ, session-persisted state) fed by new library/ ianslibrary/music song-list subpages. - /account split into info/phones/invoices subpages; a full invoicing and Square payment system (create/edit/copy/pay/email invoice); admin invoice management and mail-account management subpages. - /services split into overview/hosting/siptrunking/documents subpages, retiring the old standalone pages. - SIPPHONE.tag: a Jet 2.0 WebRTC softphone tag. - main.css/spa.js/email.js: the SPA loading indicator, the music player band styling, and assorted fixes accumulated alongside this work. qualityiron-site/: the qualityiron.vegas job/contractor/customer/ document management app, ported from its original Jet 1.4 codebase to Jet 2.0 as barant.coms APIServers second multi-tenant site. wcwc/wcwc.jet: the WCWC site Jet source (wcwc.jtc build output not included). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
59 lines
1.7 KiB
Plaintext
59 lines
1.7 KiB
Plaintext
<page>
|
|
<title>Quality Iron</title>
|
|
<contents>
|
|
<script>
|
|
function setrows(include) {
|
|
var table = document.getElementById("list");
|
|
for (var i = 1; row = table.rows[i]; i++) {
|
|
if(include == "") {
|
|
row.style.visibility = "visible";
|
|
} else {
|
|
row.style.visibility = "collapse";
|
|
}
|
|
for (var j = 0; col = row.cells[j]; j++) {
|
|
if(col.innerHTML.toUpperCase().includes(include.toUpperCase())) {
|
|
row.style.visibility = "visible";
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<retain name="selected_customer_id">
|
|
<div>
|
|
<h1>CUSTOMERS</h1>
|
|
<div style="padding: 5px;">
|
|
<div style="display: inline-block;"><linkbutton page="createcustomer">Create Customer</linkbutton></div>
|
|
<sql>
|
|
select *,
|
|
date_format(convert_tz(created,'UTC','America/Los_Angeles'), "%W, %M %D, %Y %l:%i%p") as created_date
|
|
from customers
|
|
order by name</sql>$[sqlerror]
|
|
<ifrow>
|
|
<div style="display: inline-block;">Customers</div>
|
|
<div style="border-radius: 5px; display: inline-block; background: #345; color: #def; margin-left: 20px; padding: 5px;">
|
|
<img style="margin-top: 3px;" src="/assets/magglass.png" width="20px;" align="top">
|
|
<input style="font-size: 20px; color: #def;" type="text" size="10" name="search" value="" onkeyup="setrows(this.value); return true;">
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<table id="list">
|
|
<tr>
|
|
<th></th>
|
|
<th>Name</th>
|
|
<th>Created</th>
|
|
</tr>
|
|
<whilerow>
|
|
<tr style="visibility: table-row">
|
|
<td><linkbutton page="customer" process="selectcustomer" name="selected_customer_id" value="$[.id]">Open</linkbutton></td>
|
|
<td>$[.name]</td>
|
|
<td>$[.created_date]</td>
|
|
</tr>
|
|
</whilerow>
|
|
</table>
|
|
</div>
|
|
</ifrow>
|
|
</div>
|
|
</contents>
|
|
</page>
|