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

Merge branch 'dev' of dev.quiqqer.com:quiqqer/invoice into dev

Übergeordnete d6c2a1f2 2628ca3c
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_product_calc
*/
/**
* Calculates the current price of the article
*
* @return string
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_product_calc',
function ($params, $user) {
$params = \json_decode($params, true);
$user = \json_decode($user, true);
if (!empty($user)) {
try {
$User = QUI\ERP\User::convertUserDataToErpUser($user);
$Calc = QUI\ERP\Accounting\Calc::getInstance($User);
} catch (QUI\ERP\Exception $Exception) {
$Calc = QUI\ERP\Accounting\Calc::getInstance();
}
} else {
$Calc = QUI\ERP\Accounting\Calc::getInstance();
}
$Article = new QUI\ERP\Accounting\Article($params);
$Article->calc($Calc);
return $Article->toArray();
},
['params', 'user'],
'Permission::checkAdminUser'
);
<?php
/**
* This file contains package_quiqqer_invoice_ajax_invoices_temporary_product_parseProductToArticle
*/
use QUI\ERP\Products\Controls\Products\ProductEdit;
use QUI\ERP\Products\Handler\Products;
/**
*
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_product_getProductEdit',
function ($productId, $user) {
$Product = Products::getProduct($productId);
$user = \json_encode($user, true);
$Control = new ProductEdit([
'Product' => $Product
]);
$css = ''; //QUI\Control\Manager::getCSS();
$html = $Control->create();
return $css.$html;
},
['productId', 'user'],
'Permission::checkAdminUser'
);
<?php
/**
* This file contains package_quiqqer_invoice_ajax_invoices_temporary_product_hasProductCustomFields
*/
use QUI\ERP\Products\Handler\Products;
/**
*
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_product_hasProductCustomFields',
function ($productId) {
$Product = Products::getProduct($productId);
$fields = $Product->createUniqueProduct()->getCustomFields();
return \count($fields);
},
['productId'],
'Permission::checkAdminUser'
);
<?php
/**
* This file contains package_quiqqer_invoice_ajax_invoices_temporary_product_parseProductToArticle
*/
use QUI\ERP\Products\Handler\Fields;
use QUI\ERP\Products\Handler\Products;
/**
*
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_product_parseProductToArticle',
function ($productId, $attributes, $user) {
$user = \json_decode($user, true);
$attributes = \json_decode($attributes, true);
$User = null;
$Locale = QUI::getLocale();
if (!empty($user)) {
try {
$User = QUI\ERP\User::convertUserDataToErpUser($user);
} catch (QUI\Exception $Exception) {
if (!isset($user['uid'])) {
throw $Exception;
}
$User = QUI::getUsers()->get($user['uid']);
}
$Locale = $User->getLocale();
}
try {
$Product = Products::getProduct((int)$productId);
foreach ($attributes as $field => $value) {
if (\strpos($field, 'field-') === false) {
continue;
}
$field = \str_replace('field-', '', $field);
$Field = $Product->getField((int)$field);
$Field->setValue($value);
}
// look if the invoice text field has values
try {
$Description = $Product->getField(Fields::FIELD_SHORT_DESC);
$InvoiceText = $Product->getField(
QUI\ERP\Accounting\Invoice\Handler::INVOICE_PRODUCT_TEXT_ID
);
if (!$InvoiceText->isEmpty()) {
$Description->setValue($InvoiceText->getValue());
}
} catch (QUI\Exception $Exception) {
QUI\System\Log::addNotice($Exception->getMessage());
}
// create unique product, to create the ERP Article, so invoice can work with it
$Unique = $Product->createUniqueProduct($User);
if (isset($attributes['quantity'])) {
$Unique->setQuantity($attributes['quantity']);
}
$Unique->calc();
return $Unique->toArticle($Locale)->toArray();
} catch (QUI\Exception $Exception) {
QUI\System\Log::write($Exception->getMessage());
}
return [];
},
['productId', 'attributes', 'user'],
'Permission::checkAdminUser'
);
<?php
/**
* This file contains package_quiqqer_invoice_ajax_invoices_temporary_product_summary
*/
/**
* Data for the summary display of an article
* The calculation is with a brutto user, so you get the complete data
*
* @return array
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_invoice_ajax_invoices_temporary_product_summary',
function ($article) {
$article = \json_decode($article, true);
$Brutto = new QUI\ERP\User([
'id' => 'BRUTTO',
'country' => '',
'username' => '',
'firstname' => '',
'lastname' => '',
'lang' => QUI::getLocale()->getCurrent(),
'isCompany' => 0,
'isNetto' => 0
]);
$Brutto->setAttribute(
'quiqqer.erp.isNettoUser',
QUI\ERP\Utils\User::IS_BRUTTO_USER
);
$Calc = QUI\ERP\Accounting\Calc::getInstance($Brutto);
$Article = new QUI\ERP\Accounting\Article($article);
//$Article->setCurrency();
$Article->setUser($Brutto);
$Article->calc($Calc);
return $Article->toArray();
},
['article'],
'Permission::checkAdminUser'
);
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