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

refactor: locale update; frontend redeem started to fix

Übergeordneter 4537e2f2
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -14,11 +14,15 @@
*/
QUI::$Ajax->registerFunction(
'package_quiqqer_coupons_ajax_frontend_redeem',
function ($id) {
$id = (int)$id;
function ($code, $orderHash) {
try {
$CouponCode = Handler::getCouponCode($id);
$CouponCode = Handler::getCouponCodeByCode($code);
} catch (QUI\ERP\Coupons\CouponCodeException $Exception) {
QUI\System\Log::writeDebugException($Exception);
QUI::getMessagesHandler()->addError($Exception->getMessage());
return false;
} catch (\Exception $Exception) {
QUI\System\Log::writeException($Exception);
......@@ -32,8 +36,10 @@ function ($id) {
return false;
}
$Order = QUI\ERP\Order\Handler::getInstance()->getOrderByHash($orderHash);
return true;
},
['id'],
'Permission::checkAdminUser'
['code', 'orderHash']
);
......@@ -23,13 +23,15 @@ define('package/quiqqer/coupons/bin/frontend/classes/CouponCodes', [
* Adds a coupon to the current session basket
*
* @param {String} code
* @param {String} orderHash
* @return {Promise}
*/
addCouponCodeToBasket: function (code) {
addCouponCodeToBasket: function (code, orderHash) {
return new Promise(function (resolve, reject) {
QUIAjax.post('package_quiqqer_coupons_ajax_frontend_redeem', resolve, {
'package': pkg,
code : code,
orderHash: orderHash,
onError : reject
});
});
......
......@@ -4,4 +4,18 @@
div + .quiqqer-coupons-field {
margin-left: 20px;
}
.quiqqer-coupons-couponcodeinput {
display: flex;
padding: 5px;
}
.quiqqer-coupons-couponcodeinput button {
border-radius: 0 3px 3px 0;
}
.quiqqer-coupons-couponcodeinput input {
border-radius: 3px 0 0 3px;
line-height: 36px;
}
\ No newline at end of file
......@@ -88,9 +88,25 @@ define('package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput', [
this.Loader.show();
CouponCodes.addCouponCodeToBasket(code).then(function () {
// @todo
self.Loader.hide();
// get order process
var OrderProcessNode = this.getElm().getParent(
'[data-qui="package/quiqqer/order/bin/frontend/controls/OrderProcess"]'
);
var OrderProcess = window.QUI.Controls.getById(OrderProcessNode.get('data-quiid'));
OrderProcess.Loader.show();
OrderProcess.getOrder().then(function (orderHash) {
return CouponCodes.addCouponCodeToBasket(code, orderHash);
}).then(function (redeemed) {
if (redeemed === false) {
OrderProcess.Loader.hide();
self.Loader.hide();
return;
}
OrderProcess.refreshCurrentStep();
});
}
});
......
......@@ -16,7 +16,7 @@
<en><![CDATA[Shop]]></en>
</locale>
<locale name="menu.erp.couponcodes.title">
<de><![CDATA[Coupon-Codes]]></de>
<de><![CDATA[Gutschein-Codes]]></de>
<en><![CDATA[Coupon codes]]></en>
</locale>
......@@ -26,7 +26,7 @@
<en><![CDATA[General settings]]></en>
</locale>
<locale name="settings.menu.title">
<de><![CDATA[Coupon-Codes]]></de>
<de><![CDATA[Gutschein-Codes]]></de>
<en><![CDATA[Coupon codes]]></en>
</locale>
<locale name="settings.category.title">
......@@ -34,25 +34,29 @@
<en><![CDATA[Settings]]></en>
</locale>
<locale name="settings.prefix.title">
<de><![CDATA[Coupon-Code Präfix]]></de>
<de><![CDATA[Gutschein-Code Präfix]]></de>
<en><![CDATA[Coupon code prefix]]></en>
</locale>
<locale name="settings.prefix.description" html="true">
<de><![CDATA[Präfix, das generierten Coupon-Codes vorangestellt wird. <b>Betrifft nicht bereits erstellte oder eigenhändig festgelegte Coupon-Codes!</b>]]></de>
<en><![CDATA[Prefix that is prepended to generated Coupon codes. <b>Does not affect already created Coupon codes or codes set by the user!</b>]]></en>
<de>
<![CDATA[Präfix, das generierten Coupon-Codes vorangestellt wird. <b>Betrifft nicht bereits erstellte oder eigenhändig festgelegte Coupon-Codes!</b>]]></de>
<en>
<![CDATA[Prefix that is prepended to generated Coupon codes. <b>Does not affect already created Coupon codes or codes set by the user!</b>]]></en>
</locale>
<locale name="settings.codeGenerator.title">
<de><![CDATA[Coupon-Code Generator]]></de>
<de><![CDATA[Gutschein-Code Generator]]></de>
<en><![CDATA[Coupon code Generator]]></en>
</locale>
<locale name="settings.codeGenerator.description">
<de><![CDATA[Bestimmt die Klasse, die zufällige Coupon-Codes generiert. Hat auch Auswirkungen auf das Format der Coupon-Codes.]]></de>
<en><![CDATA[Determines the class that generates random invitation codes. Also affects the format of Coupon codes.]]></en>
<de>
<![CDATA[Bestimmt die Klasse, die zufällige Coupon-Codes generiert. Hat auch Auswirkungen auf das Format der Coupon-Codes.]]></de>
<en>
<![CDATA[Determines the class that generates random invitation codes. Also affects the format of Coupon codes.]]></en>
</locale>
<!-- Permissions -->
<locale name="permission.quiqqer.invitecode._header">
<de><![CDATA[Coupon-Codes]]></de>
<de><![CDATA[Gutschein-Codes]]></de>
<en><![CDATA[Coupon codes]]></en>
</locale>
<locale name="permission.quiqqer.invitecode.view">
......@@ -72,8 +76,10 @@
<groups name="quiqqer/coupons" datatype="php">
<!-- Ajax -->
<locale name="message.ajax.general_error">
<de><![CDATA[Beim Verarbeiten der Anfrage ist ein unerwarteter Fehler aufgetreten. Bitte prüfen Sie die Fehler-Logs oder kontaktieren Sie einen Administrator.]]></de>
<en><![CDATA[An unexpected error occurred while processing the request. Please check the error logs or contact an administrator.]]></en>
<de>
<![CDATA[Beim Verarbeiten der Anfrage ist ein unerwarteter Fehler aufgetreten. Bitte prüfen Sie die Fehler-Logs oder kontaktieren Sie einen Administrator.]]></de>
<en>
<![CDATA[An unexpected error occurred while processing the request. Please check the error logs or contact an administrator.]]></en>
</locale>
<locale name="message.ajax.create.error" html="true">
<de><![CDATA[Die Coupon-Codes konnten nicht erstellt werden:<br><br>[error]]]></de>
......@@ -132,8 +138,10 @@
<!-- Class: Handler -->
<locale name="exception.Handler.code_already_exists">
<de><![CDATA[Der Coupon-Code "[code]" existiert bereits. Bitte verwenden Sie einen anderen Code oder lassen Sie das Code-Feld leer, um einen zufälligen Code zu erzeugen.]]></de>
<en><![CDATA[The Coupon code "[code]" already exists. Please use a differenct code or leave the code field empty to generate a random one.]]></en>
<de>
<![CDATA[Der Coupon-Code "[code]" existiert bereits. Bitte verwenden Sie einen anderen Code oder lassen Sie das Code-Feld leer, um einen zufälligen Code zu erzeugen.]]></de>
<en>
<![CDATA[The Coupon code "[code]" already exists. Please use a differenct code or leave the code field empty to generate a random one.]]></en>
</locale>
<locale name="exception.Handler.code_not_found">
<de><![CDATA[Der Coupon-Code "[code]" wurde nicht gefunden.]]></de>
......@@ -144,7 +152,8 @@
<en><![CDATA[The discount #[discountId] cannot be used: [error]]]></en>
</locale>
<locale name="exception.Handler.no_discounts_linked">
<de><![CDATA[Bitte geben Sie mindestens einen Rabatt an, der mit dem Coupon-Code verknüpft werden soll.]]></de>
<de>
<![CDATA[Bitte geben Sie mindestens einen Rabatt an, der mit dem Coupon-Code verknüpft werden soll.]]></de>
<en><![CDATA[Please provide ad least on discount that shall be linked to the Coupon code.]]></en>
</locale>
</groups>
......@@ -152,7 +161,7 @@
<groups name="quiqqer/coupons" datatype="js">
<!-- Control: Manager -->
<locale name="controls.manager.title">
<de><![CDATA[Coupon-Codes]]></de>
<de><![CDATA[Gutschein-Codes]]></de>
<en><![CDATA[Coupon codes]]></en>
</locale>
<locale name="controls.manager.create.template.labelDate">
......@@ -176,11 +185,11 @@
<en><![CDATA[Restrict to the following groups (optional)]]></en>
</locale>
<locale name="controls.manager.create.template.labelCode">
<de><![CDATA[Coupon-Code (optional - wird automatisch generiert, wenn Feld leergelassen wird)]]></de>
<de><![CDATA[Gutschein-Code (optional - wird automatisch generiert, wenn Feld leergelassen wird)]]></de>
<en><![CDATA[Coupon code (optional - is generated automatically if left empty)]]></en>
</locale>
<locale name="controls.manager.create.template.labelReusable">
<de><![CDATA[Wiederverwendbar (Coupon-Code kann mehrfach verwendet werden)]]></de>
<de><![CDATA[Wiederverwendbar (Gutschein-Code kann mehrfach verwendet werden)]]></de>
<en><![CDATA[Reusable (Coupon code can be used multiple times)]]></en>
</locale>
<locale name="controls.manager.create.template.labelDiscount">
......@@ -188,15 +197,15 @@
<en><![CDATA[Linked discount]]></en>
</locale>
<locale name="controls.manager.details.popup.title_new">
<de><![CDATA[Neuen Coupon-Code erstellen]]></de>
<de><![CDATA[Neuen Gutschein-Code erstellen]]></de>
<en><![CDATA[Create new Coupon code]]></en>
</locale>
<locale name="controls.manager.details.popup.title_edit">
<de><![CDATA[Coupon-Code "[code]" bearbeiten]]></de>
<de><![CDATA[Gutschein-Code "[code]" bearbeiten]]></de>
<en><![CDATA[Edit Coupon code "[code]"]]></en>
</locale>
<locale name="controls.manager.details.popup.btn.confirm_text_new">
<de><![CDATA[Coupon-Code erstellen]]></de>
<de><![CDATA[Gutschein-Code erstellen]]></de>
<en><![CDATA[Create Coupon code]]></en>
</locale>
<locale name="controls.manager.details.popup.btn.confirm_text_edit">
......@@ -204,11 +213,11 @@
<en><![CDATA[Save changes]]></en>
</locale>
<locale name="controls.manager.details.popup.btn.confirm_new">
<de><![CDATA[Hier klicken, um neuen Coupon-Code erstellen]]></de>
<de><![CDATA[Hier klicken, um neuen Gutschein-Code erstellen]]></de>
<en><![CDATA[Click here to create a new Coupon code]]></en>
</locale>
<locale name="controls.manager.details.popup.btn.confirm_edit">
<de><![CDATA[Hier klicken, um die Änderungen am Coupon-Code zu speichern]]></de>
<de><![CDATA[Hier klicken, um die Änderungen am Gutschein-Code zu speichern]]></de>
<en><![CDATA[Click here to save the changes made to the Coupon code]]></en>
</locale>
<locale name="controls.manager.tbl.btn.create">
......@@ -284,27 +293,30 @@
<en><![CDATA[User does not exist anymore]]></en>
</locale>
<locale name="controls.manager.delete.popup.info">
<de><![CDATA[Sind Sie sicher, dass Sie die folgenden Coupon-Codes unwiderruflich löschen wollen?<br><br>[codes]]]></de>
<de>
<![CDATA[Sind Sie sicher, dass Sie die folgenden Gutschein-Codes unwiderruflich löschen wollen?<br><br>[codes]]]></de>
<en><![CDATA[Are you sure you want to irrevocably delete the following Coupon codes?<br><br>[codes]]]></en>
</locale>
<locale name="controls.manager.delete.popup.title">
<de><![CDATA[Coupon-Codes löschen]]></de>
<de><![CDATA[Gutschein-Codes löschen]]></de>
<en><![CDATA[Delete Coupon codes]]></en>
</locale>
<locale name="controls.manager.sendmail.popup.info">
<de><![CDATA[Sind Sie sicher, dass die markierten Coupon-Codes per E-Mail versandt werden sollen? CouponCodes, die keine zugewiesene E-Mail-Adresse haben, werden nicht versandt.]]></de>
<en><![CDATA[Are you sure that the marked Invite codes should be sent by e-mail? Coupon codes that do not have an assigned e-mail address will not be sent.]]></en>
<de>
<![CDATA[Sind Sie sicher, dass die markierten Gutschein-Codes per E-Mail versandt werden sollen? CouponCodes, die keine zugewiesene E-Mail-Adresse haben, werden nicht versandt.]]></de>
<en>
<![CDATA[Are you sure that the marked Invite codes should be sent by e-mail? Coupon codes that do not have an assigned e-mail address will not be sent.]]></en>
</locale>
<locale name="controls.manager.sendmail.popup.title">
<de><![CDATA[Coupon-Codes versenden]]></de>
<de><![CDATA[Gutschein-Codes versenden]]></de>
<en><![CDATA[Send Coupon codes]]></en>
</locale>
<locale name="controls.manager.sendmail.popup.label.resend">
<de><![CDATA[Coupon-Codes, die bereits versendet wurden, nochmals versenden]]></de>
<de><![CDATA[Gutschein-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>
<de><![CDATA[Verwendungen von Gutschein-Code "[code]"]]></de>
<en><![CDATA[Usages of Coupon code "[code]"]]></en>
</locale>
<locale name="controls.Manager.usages.template.headerUser">
......@@ -330,7 +342,7 @@
<!-- Control: frontend/controls/CouponCodeInput -->
<locale name="controls.frontend.CouponCodeInput.template.labelInput">
<de><![CDATA[Coupon-Code]]></de>
<de><![CDATA[Gutschein-Code]]></de>
<en><![CDATA[Coupon code]]></en>
</locale>
<locale name="controls.frontend.CouponCodeInput.template.submitBtnText">
......
......@@ -17,9 +17,9 @@ class Handler
/**
* Permissions
*/
const PERMISSION_VIEW = 'quiqqer.couponcode.view';
const PERMISSION_VIEW = 'quiqqer.couponcode.view';
const PERMISSION_CREATE = 'quiqqer.couponcode.create';
const PERMISSION_EDIT = 'quiqqer.couponcode.edit';
const PERMISSION_EDIT = 'quiqqer.couponcode.edit';
const PERMISSION_DELETE = 'quiqqer.couponcode.delete';
/**
......@@ -139,7 +139,7 @@ public static function createCouponCode($discountIds, $settings = [])
'title' => empty($settings['title']) ? null : $settings['title'],
'createDate' => $Now->format('Y-m-d H:i:s'),
'code' => $code,
'isReusable' => !empty($settings['reusable']),
'isReusable' => empty($settings['reusable']) ? 0 : 1,
'discountIds' => json_encode($discountIds)
];
......@@ -403,8 +403,14 @@ public static function existsCode($code)
*/
public static function getRegistrationSite()
{
$Conf = QUI::getPackage('quiqqer/coupons')->getConfig();
$regSite = $Conf->get('settings', 'registrationSite');
try {
$Conf = QUI::getPackage('quiqqer/coupons')->getConfig();
$regSite = $Conf->get('settings', 'registrationSite');
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeDebugException($Exception);
return false;
}
if (empty($regSite)) {
return false;
......
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