Merge branch 'test' into prod

This commit is contained in:
Erik Thuning 2023-01-11 11:13:10 +01:00
commit 5068575111
4 changed files with 57 additions and 17 deletions

@ -306,16 +306,52 @@
<button>Ladda upp</button> <button>Ladda upp</button>
</form> </form>
</div> </div>
<div id="product-history" <div id="product-history">
class="¤hidden¤">
<h2>Artikelhistorik</h2> <h2>Artikelhistorik</h2>
¤history¤ ¤history¤
</div> </div>
<div id="product-label" <div id="product-label"
class="¤hidden¤"> class="¤label_hidden¤">
<h2>Etikett</h2> <h2>Etikett</h2>
¤label¤ ¤label¤
</div> </div>
<div id="product-direct-checkout" class="¤checkout_hidden¤">
<h2>Låna ut</h2>
<form class="light"
onSubmit="JavaScript:checkoutProduct(event)">
<datalist id="user_suggest"></datalist>
<input type="hidden"
name="page"
value="checkout" />
<label for="user">Användarnamn:</label>
<input onFocus="JavaScript:suggest(this, 'user')"
type="text"
name="user"
list="user_suggest"
autocomplete="off"
placeholder="Användarnamn"
required />
<input type="hidden"
id="product"
name="product"
value="¤serial¤" />
<button>
Låna ut
</button>
<br/>
<label>Löptid:</label>
<button onClick="JavaScript:loanLength(event, 7, 'day')">1 vecka</button>
<button onClick="JavaScript:loanLength(event, 1, 'year')">1 år</button>
<button onClick="JavaScript:loanLength(event, 3, 'year')">3 år</button>
<br/>
<label for="end">Slutdatum:</label>
<input type="text"
id="end"
onClick="JavaScript:calendar(event)"
name="end"
value="¤end¤" />
</form>
</div>
¤¤ attachment_list ¤¤ ¤¤ attachment_list ¤¤
<ul class="attachment-list"> <ul class="attachment-list">

@ -42,16 +42,24 @@ class Loan extends Event {
protected function queue_receipt($user) { protected function queue_receipt($user) {
$now = time(); $now = time();
$sendtime = $now + 3600;
$pending = prepare('select * from `pending_receipt` where `user` = ? $pending = prepare('select * from `pending_receipt` where `user` = ?
and `since_time` < ? and `send_time` > ?'); and `since_time` < ? and `send_time` > ?');
bind($pending, 'iii', $user->get_id(), $now, $now); bind($pending, 'iii', $user->get_id(), $now, $now);
execute($pending); execute($pending);
if(result_single($pending) === null) { $result = result_single($pending);
if($result === null) {
$add = prepare('insert into `pending_receipt` $add = prepare('insert into `pending_receipt`
(`user`, `since_time`, `send_time`) (`user`, `since_time`, `send_time`)
values(?, ?, ?)'); values(?, ?, ?)');
bind($add, 'iii', $user->get_id(), $now, $now + 3600); bind($add, 'iii', $user->get_id(), $now, $sendtime);
execute($add); execute($add);
} else {
$update = prepare('update `pending_receipt` set `send_time` = ?
where `user` = ? and `since_time` < ?
and `send_time` > ?');
bind($update, 'iiii', $sendtime, $user->get_id(), $now, $now);
execute($update);
} }
} }

@ -67,19 +67,24 @@ class ProductPage extends Page {
'tags' => $tags, 'tags' => $tags,
'info' => $info, 'info' => $info,
'label' => '', 'label' => '',
'hidden' => 'hidden', 'label_hidden' => 'hidden',
'checkout_hidden' => 'hidden',
'service' => 'Starta service', 'service' => 'Starta service',
'history' => $history, 'history' => $history,
'attachments' => $attachments); 'attachments' => $attachments,
'end' => format_date(default_loan_end(time())));
if(class_exists('QRcode')) { if(class_exists('QRcode')) {
$fields['label'] = replace($fields, $fields['label'] = replace($fields,
$this->fragments['product_label']); $this->fragments['product_label']);
} }
if(!$this->product->get_discardtime()) { if(!$this->product->get_discardtime()) {
$fields['hidden'] = ''; $fields['label_hidden'] = '';
if($this->product->get_status() == 'service') { if($this->product->get_status() == 'service') {
$fields['service'] = 'Avsluta service'; $fields['service'] = 'Avsluta service';
} }
if($this->product->get_status() == 'available') {
$fields['checkout_hidden'] = '';
}
} }
return replace($fields, $this->fragments['product_form']); return replace($fields, $this->fragments['product_form']);
} }

@ -1,9 +0,0 @@
create table `pending_receipt` (
`user` bigint(20) not null,
primary key (`user`),
constraint `pr_f_user`
foreign key(`user`) references `user`(`id`),
`send_time` bigint(20) not null,
`since_time` bigint(20) not null
) character set utf8mb4,
collate utf8mb4_unicode_ci;