Initial xentral_oss_20.3.c9ffacf

This commit is contained in:
Alex
2021-05-21 08:49:41 +02:00
parent 5406e4a551
commit 34e5ac43d9
18884 changed files with 2109867 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace Xentral\Modules\Bmd;
use Xentral\Core\DependencyInjection\ContainerInterface;
use Xentral\Modules\Bmd\Service\BmdRevenueLedgerService;
final class Bootstrap
{
/**
* @return array
*/
public static function registerServices()
{
return [
'BmdRevenueLedgerService' => 'onInitBmdRevenueLedgerService',
];
}
/**
* @param ContainerInterface $container
*
* @return BmdRevenueLedgerService
*/
public static function onInitBmdRevenueLedgerService(ContainerInterface $container)
{
return new BmdRevenueLedgerService(
$container->get('Database')
);
}
}
@@ -0,0 +1,10 @@
<?php
namespace Xentral\Modules\Bmd\Exception;
use Xentral\Core\Exception\ModuleExceptionInterface;
interface BmdExceptionInterface extends ModuleExceptionInterface
{
}
@@ -0,0 +1,9 @@
<?php
namespace Xentral\Modules\Bmd\Exception;
use InvalidArgumentException as SplInvalidArgumentException;
class InvalidArgumentException extends SplInvalidArgumentException implements BmdExceptionInterface
{
}
@@ -0,0 +1,135 @@
<?php
namespace Xentral\Modules\Bmd\Service;
use RuntimeException;
use Xentral\Components\Database\Database;
use Xentral\Modules\Bmd\Exception\InvalidArgumentException;
class BmdRevenueLedgerService
{
/** @var Database $db */
private $db;
public function __construct(Database $db)
{
$this->db = $db;
}
/**
* @param int $revenueledger
* @param string $label
* @param string $taxcode
* @param float $salestaxpercent
*/
public function saveBmdRevenueLedger($revenueledger, $label, $taxcode, $salestaxpercent)
{
if (empty($revenueledger)) {
throw new InvalidArgumentException('revenueledger can not be empty');
}
$sql = 'INSERT INTO `bmdrevenueledger`
(
`revenueledger`,
`label`,
`taxcode`,
`salestaxpercent`
)
VALUES (
:revenueledger,
:label,
:taxcode,
:salestaxpercent
)';
$values = [
'revenueledger' => $revenueledger,
'label' => $label,
'taxcode' => $taxcode,
'salestaxpercent' => $salestaxpercent,
];
$this->db->perform($sql, $values);
$insertId = $this->db->lastInsertId();
if ($insertId === 0) {
throw new RuntimeException('Import template could not be created.');
}
}
/**
* @param int $id
* @param int $revenueledger
* @param string $label
* @param string $taxcode
* @param float $salestaxpercent
*/
public function updateBmdRevenueLedger($id, $revenueledger, $label, $taxcode, $salestaxpercent)
{
if (empty($revenueledger)) {
throw new InvalidArgumentException('revenueledger can not be empty');
}
$sql = 'UPDATE `bmdrevenueledger`
SET
`revenueledger`=:revenueledger,
`label` = :label,
`taxcode` = :taxcode,
`salestaxpercent` = :salestaxpercent
WHERE id=:id';
$values = [
'revenueledger' => $revenueledger,
'label' => $label,
'taxcode' => $taxcode,
'salestaxpercent' => $salestaxpercent,
'id' => $id,
];
$numAffected = (int)$this->db->fetchAffected($sql, $values);
if ($numAffected == 0) {
throw new RuntimeException('Import template could not be updated.');
}
}
/**
* @param int $id
*
* @return array
*/
public function getBmdRevenueLadgerById($id)
{
$sql = 'SELECT `id`, `revenueledger`,`label`,`taxcode`,`salestaxpercent` FROM `bmdrevenueledger` WHERE id =:id';
$values = [
'id' => $id,
];
$data = $this->db->fetchRow($sql, $values);
if (empty($data)) {
throw new InvalidArgumentException('Id is not valid.');
}
return $data;
}
/**
* @param int $id
*/
public function deleteRevenueLedgerById($id)
{
$sql = "DELETE FROM `bmdrevenueledger` WHERE `id` =:id";
$numAffected = (int)$this->db->fetchAffected($sql, ['id' => $id]);
if ($numAffected == 0) {
throw new RuntimeException('Import template could not be deleted.');
}
}
/**
* @return array
*/
public function getAllRevenueLedgers()
{
$sql = 'SELECT `id`, `revenueledger`,`label`,`taxcode`,`salestaxpercent` FROM `bmdrevenueledger`';
return $this->db->fetchAll($sql);
}
}
+155
View File
@@ -0,0 +1,155 @@
var Bmd = (function ($) {
'use strict';
var me = {
isInitialized: false,
selector: {
ledgerNewDialog: '#ledgernewdialog',
ledgerEditDialog: '.ledgereditdialog',
ledgerDeleteDialog: '.ledgerdeletedialog',
bmdledgerNewEdit: '#bmdledgernewedit',
bmdledgerDelete: '#bmdledgerdelete',
revenueledger: '#revenueledger',
ledgerLabel: '#label',
taxcode: '#taxcode',
salestaxpercent: '#salestaxpercent',
revenueledgerdeleteid: '#revenueledgerdeleteid',
revenueledgereditid: '#revenueledgereditid',
ledgermsg:'#ledgermsg',
ledgeroverviewTable:'#bmdledgeroverview'
},
storage: {
$dialog: null,
$deleteDialog:null,
},
init: function () {
if (me.isInitialized === true) {
return;
}
me.storage.$dialog = $(me.selector.bmdledgerNewEdit);
me.storage.$deleteDialog = $(me.selector.bmdledgerDelete);
me.dialogInit();
me.deleteDialogInit();
me.registerEvents();
me.isInitialized = true;
},
registerEvents: function () {
$(me.selector.ledgerNewDialog).on('click', function (event) {
event.preventDefault();
me.dialogNewOpen();
});
$(me.selector.ledgeroverviewTable).on('click', me.selector.ledgerEditDialog, function (event) {
event.preventDefault();
me.dialogEditOpen(this.id.replace('lee-',''));
});
$(me.selector.ledgeroverviewTable).on('click', me.selector.ledgerDeleteDialog, function (event) {
event.preventDefault();
me.dialogDeleteOpen(this.id.replace('led-',''));
});
},
deleteDialogInit: function () {
me.storage.$deleteDialog.dialog({
modal: true,
bgiframe: true,
closeOnEscape: false,
minWidth: 500,
minHeight: 200,
maxHeight: 500,
autoOpen: false,
open: function () {},
close: function () {}
});
},
dialogInit: function () {
me.storage.$dialog.dialog({
modal: true,
bgiframe: true,
closeOnEscape: false,
minWidth: 600,
minHeight: 200,
maxHeight: 500,
autoOpen: false,
open: function () {
$(me.selector.inputKey).trigger('focus');
},
close: function () {
me.dialogReset();
}
});
},
dialogNewOpen: function () {
me.dialogReset();
me.storage.$dialog.dialog('open');
},
dialogEditOpen: function (id) {
me.dialogReset();
$.ajax({
url: 'index.php?module=bmd&action=erloes&cmd=revenueledgerdata',
type: 'POST',
dataType: 'json',
data: {
id: id
},
success: function(data) {
if(data.error){
me.storage.$dialog.find(me.selector.ledgermsg).text(data.error);
}
else{
me.storage.$dialog.find(me.selector.revenueledgereditid).val(data.id);
me.storage.$dialog.find(me.selector.revenueledger).val(data.revenueledger);
me.storage.$dialog.find(me.selector.ledgerLabel).val(data.label);
me.storage.$dialog.find(me.selector.taxcode).val(data.taxcode);
me.storage.$dialog.find(me.selector.salestaxpercent).val(data.salestaxpercent);
me.storage.$dialog.dialog('open');
}
},
beforeSend: function() {}
});
},
dialogDeleteOpen: function (id) {
me.storage.$deleteDialog.find(me.selector.revenueledgerdeleteid).val(id);
me.storage.$deleteDialog.dialog('open');
},
dialogClose: function () {
me.storage.$dialog.dialog('close');
},
dialogReset: function () {
me.storage.$dialog.find(me.selector.revenueledgereditid).val(null);
me.storage.$dialog.find(me.selector.revenueledger).val(null);
me.storage.$dialog.find(me.selector.ledgerLabel).val(null);
me.storage.$dialog.find(me.selector.taxcode).val(null);
me.storage.$dialog.find(me.selector.salestaxpercent).val(null);
}
};
return {
init: me.init
};
})(jQuery);
$(document).ready(function () {
Bmd.init();
});