Add last statement update support.

K-Psul
- Add handler for checkout data (balance update)
- New statements are sent through ws, and display live on K-Psul.
This commit is contained in:
Aurélien Delobelle 2017-05-18 13:33:53 +02:00
parent bacc079778
commit 914d2ca870
2 changed files with 28 additions and 1 deletions

View file

@ -316,6 +316,8 @@ class CheckoutManager {
</a>
`,
};
OperationWebSocket.add_handler(data => this.update_data(data));
}
update(id) {
@ -344,6 +346,14 @@ class CheckoutManager {
}
update_data(ws_data) {
let data = ws_data["checkouts"].find(o => o.id === this.checkout.id);
if (!data)
return;
this.checkout.update(data);
this._update_on_success(data);
}
is_empty() { return this.checkout.is_empty(); }
display() {

View file

@ -765,7 +765,24 @@ class CheckoutStatementCreate(SuccessMessageMixin, CreateView):
form.instance.balance_new = getAmountBalance(form.cleaned_data)
form.instance.checkout_id = self.kwargs['pk_checkout']
form.instance.by = self.request.user.profile.account_kfet
return super(CheckoutStatementCreate, self).form_valid(form)
res = super(CheckoutStatementCreate, self).form_valid(form)
ws_data = {
'id': self.object.id,
'at': self.object.at,
'balance_new': self.object.balance_new,
'balance_old': self.object.balance_old,
'by': str(self.object.by),
}
consumers.KPsul.group_send('kfet.kpsul', {
'checkouts': [{
'id': self.object.checkout.id,
'laststatement': ws_data,
}],
})
return res
class CheckoutStatementUpdate(SuccessMessageMixin, UpdateView):
model = CheckoutStatement