Skip to content
Code-Schnipsel Gruppen Projekte
Commit 46aac44a erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

temp commit

Übergeordneter 73fd2756
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -20,7 +20,7 @@ function ($attributes) {
try {
$amount = 1;
$inviteCodes = [];
$couponCodes = [];
if (!empty($attributes['amount'])) {
$amount = (int)$attributes['amount'];
......@@ -28,7 +28,12 @@ function ($attributes) {
}
for ($i = 0; $i < $amount; $i++) {
$inviteCodes[] = Handler::createCouponCode($attributes);
$couponCodes[] = Handler::createCouponCode($attributes);
}
/** @var \QUI\ERP\Coupons\CouponCode $Code */
foreach ($couponCodes as $Code) {
$Code->redeem();
}
} catch (\QUI\ERP\Coupons\CouponCodeException $Exception) {
QUI::getMessagesHandler()->addError(
......
......@@ -21,11 +21,25 @@ function ($searchParams) {
Permission::hasPermission(Handler::PERMISSION_VIEW);
$searchParams = Orthos::clearArray(json_decode($searchParams, true));
$inviteCodes = array();
$inviteCodes = [];
$Users = QUI::getUsers();
$L = QUI::getLocale();
try {
foreach (Handler::search($searchParams) as $InviteCode) {
$inviteCodes[] = $InviteCode->toArray();
$inviteCode = $InviteCode->toArray();
foreach ($inviteCode['usages'] as $k => $usage) {
// User
$User = $Users->get($usage['userId']);
$inviteCode['usages'][$k]['userName'] = $User->getUsername();
// Date
$Date = new DateTime($usage['date']);
$inviteCode['usages'][$k]['date'] = $L->formatDate($Date->getTimestamp());
}
$inviteCodes[] = $inviteCode;
}
} catch (\Exception $Exception) {
QUI\System\Log::writeException($Exception);
......@@ -47,6 +61,6 @@ function ($searchParams) {
Handler::search($searchParams, true)
);
},
array('searchParams'),
['searchParams'],
'Permission::checkAdminUser'
);
<div class="quiqqer-coupons-manager-usages">
<table>
<thead>
<tr>
<th>
{{headerDate}}
</th>
<th>
{{headerUser}}
</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
\ No newline at end of file
......@@ -24,10 +24,12 @@ define('package/quiqqer/coupons/bin/controls/Manager', [
'text!package/quiqqer/coupons/bin/controls/Manager.html',
'text!package/quiqqer/coupons/bin/controls/Manager.Create.html',
'text!package/quiqqer/coupons/bin/controls/Manager.Usages.html',
'css!package/quiqqer/coupons/bin/controls/Manager.css'
], function (QUI, QUIPanel, QUILoader, QUIPopup, QUIConfirm, QUIButton, QUISeparator,
Grid, QUIFormUtils, CouponCodes, QUILocale, Mustache, template, templateCreate) {
Grid, QUIFormUtils, CouponCodes, QUILocale, Mustache, template, templateCreate,
templateUsages) {
"use strict";
var lg = 'quiqqer/coupons';
......@@ -172,7 +174,8 @@ define('package/quiqqer/coupons/bin/controls/Manager', [
header : QUILocale.get(lg, 'controls.manager.tbl.header.status'),
dataIndex: 'status',
dataType : 'node',
width : 200
width : 200,
className: 'clickable'
}, {
header : QUILocale.get(lg, 'controls.manager.tbl.header.validUntilDate'),
dataIndex: 'validUntilDate',
......@@ -188,10 +191,6 @@ define('package/quiqqer/coupons/bin/controls/Manager', [
dataIndex: 'createDate',
dataType : 'string',
width : 150
}, {
dataIndex: 'userId',
dataType : 'number',
hidden : true
}],
pagination : true,
serverSort : true,
......@@ -216,14 +215,7 @@ define('package/quiqqer/coupons/bin/controls/Manager', [
}
var Row = selected[0];
if (Row.userId) {
self.Loader.show();
self.$openUserPanel(Row.userId).then(function () {
self.Loader.hide();
});
}
self.$showUsages(Row);
},
onRefresh : this.$listRefresh
});
......@@ -493,17 +485,47 @@ define('package/quiqqer/coupons/bin/controls/Manager', [
/**
* Open user panel
*
* @param {Number} userId
* @param {Object} RowData
*/
$openUserPanel: function (userId) {
return new Promise(function (resolve, reject) {
require([
'controls/users/User',
'utils/Panels'
], function (UserPanel, PanelUtils) {
PanelUtils.openPanelInTasks(new UserPanel(userId)).then(resolve, reject);
}.bind(this));
});
$showUsages: function (RowData) {
new QUIConfirm({
maxHeight: 550,
maxWidth : 400,
autoclose: false,
title: QUILocale.get(lg, 'controls.Manager.usages.title', {code: RowData.code}),
icon : 'fa fa-user',
cancel_button: false,
ok_button : {
text : false,
textimage: 'icon-ok fa fa-check'
},
events : {
onOpen: function (Popup) {
var lgPrefix = 'controls.Manager.usages.template.';
Popup.setContent(Mustache.render(templateUsages, {
headerUser: QUILocale.get(lg, lgPrefix + 'headerUser'),
headerDate: QUILocale.get(lg, lgPrefix + 'headerDate')
}));
var Content = Popup.getContent();
var TableBody = Content.getElement('tbody');
console.log(TableBody);
for (var i = 0, len = RowData.usages.length; i < len; i++) {
var usage = RowData.usages[i];
new Element('tr', {
html: '<td>' + usage.date + '</td>' +
'<td>' + usage.userId + ' (' + usage.userName + ')</td>'
}).inject(TableBody);
}
}
}
}).open();
}
});
});
......@@ -263,5 +263,17 @@
<de><![CDATA[Coupon-Codes, die bereits versendet wurden, nochmals versenden]]></de>
<en><![CDATA[Resend Coupon codes that have already been sent]]></en>
</locale>
<locale name="controls.Manager.usages.title">
<de><![CDATA[Verwendungen von Coupon-Code "[code]"]]></de>
<en><![CDATA[Usages of Coupon code "[code]"]]></en>
</locale>
<locale name="controls.Manager.usages.template.headerUser">
<de><![CDATA[Benutzer]]></de>
<en><![CDATA[User]]></en>
</locale>
<locale name="controls.Manager.usages.template.headerDate">
<de><![CDATA[Datum]]></de>
<en><![CDATA[Date]]></en>
</locale>
</groups>
</locales>
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren