Skip to content
Code-Schnipsel Gruppen Projekte
Commit be423a01 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

fix: Rechnungsentwurf Titel -> Netto Brutto richtig gestellt

Übergeordneter 81647546
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
<?php
/**
* This file contains package_quiqqer_invoice_ajax_invoices_temporary_html
*/
/**
* Return the invoice as HTML
*
* @return string
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_isNetto',
function ($uid) {
$User = QUI::getUsers()->get($uid);
$status = QUI\ERP\Utils\User::getBruttoNettoUserStatus($User);
return $status === QUI\ERP\Utils\User::IS_NETTO_USER;
},
array('uid'),
'Permission::checkAdminUser'
);
......@@ -83,7 +83,23 @@ define('package/quiqqer/invoice/bin/backend/classes/Invoices', [
showError: false
});
});
},
/**
* Is the user a netto or brutto user?
*
* @param userId
* @return {Promise}
*/
isNetto: function (userId) {
return new Promise(function (resolve, reject) {
QUIAjax.get('package_quiqqer_invoice_ajax_invoices_temporary_isNetto', resolve, {
'package': 'quiqqer/invoice',
uid : userId,
onError : reject,
showError: false
});
});
},
/**
......
......@@ -71,7 +71,6 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
this.$rows = [];
this.$extrasAreOpen = false;
this.$oldUserId = false;
},
/**
......@@ -106,6 +105,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
this.$rows = this.$Table.getElements('.closable');
this.$AddressRow = this.$Table.getElement('.address-row');
this.$AddressSelect = this.$Table.getElement('[name="address"]');
this.$triggerChange = null;
this.$AddressSelect.addEvent('change', function () {
self.setAddressId(this.value);
......@@ -163,6 +163,11 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
return Promise.resolve();
}
if (this.$CustomerSelect.getValue() === '' &&
this.getAttribute('userId')) {
this.$CustomerSelect.addItem(this.getAttribute('userId'));
}
var TemporaryUser;
return this.$getUser().then(function (User) {
......@@ -222,7 +227,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
}
return this.refresh().then(function () {
self.fireEvent('change', [self]);
self.$fireChange();
self.$AddressSelect.fireEvent('change');
}, function () {
self.setAttribute('userId', self.$oldUserId);
......@@ -247,7 +252,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
self.$City.set('value', address.city);
self.setAttribute('addressId', addressId);
self.fireEvent('change', [self]);
self.$fireChange();
resolve(address);
}, {
......@@ -308,11 +313,13 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
* event on import
*/
$onImport: function () {
var CustomerSelect = this.$Elm.getElements('[name="customer"]');
QUI.parse(this.$Elm).then(function () {
var self = this;
this.$CustomerSelect = QUI.Controls.getById(
this.$Elm.getElement('[name="customer"]').get('data-quiid')
CustomerSelect.get('data-quiid')
);
this.$CustomerSelect.addEvents({
......@@ -327,6 +334,19 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
}.bind(this));
},
/**
* fire the change event
*/
$fireChange: function () {
if (this.$triggerChange) {
clearTimeout(this.$triggerChange);
}
this.$triggerChange = (function () {
this.fireEvent('change', [this]);
}).delay(100, this);
},
/**
* Address creation
*/
......
......@@ -260,8 +260,6 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice', [
dateTime = time[1];
}
console.log(self.getAttribute('time_for_payment'));
QUIFormUtils.setDataToForm({
date : dateDate,
time_for_payment: self.getAttribute('time_for_payment'),
......@@ -298,9 +296,18 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice', [
self.setAttribute('customer_id', userId);
self.setAttribute('invoice_address_id', Data.getValue().addressId);
Invoices.getPaymentTime(userId).then(function (paymentTime) {
self.setAttribute('time_for_payment', paymentTime);
Promise.all([
Invoices.getPaymentTime(userId),
Invoices.isNetto(userId)
]).then(function (result) {
var paymentTime = result[0];
var isNetto = result[1];
Content.getElement('[name="time_for_payment"]').value = paymentTime;
self.setAttribute('isbrutto', !isNetto);
self.setAttribute('time_for_payment', paymentTime);
self.refresh();
});
});
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren