- Coupon : ajax add
This commit is contained in:
gmorel
2013-09-09 17:46:01 +02:00
parent 0fb331a5cb
commit 413e77fa97
8 changed files with 50 additions and 15 deletions

View File

@@ -344,8 +344,20 @@ class AvailableForTotalAmountManager extends CouponRuleAbstract
$cleanedCurrencies[$currency->getCode()] = $currency->getSymbol();
}
$name1 = $this->translator->trans(
'Price',
array(),
'constraint'
);
$name2 = $this->translator->trans(
'Currency',
array(),
'constraint'
);
return array(
self::INPUT1 => array(
'title' => $name1,
'availableOperators' => $this->availableOperators[self::INPUT1],
'availableValues' => '',
'type' => 'text',
@@ -354,6 +366,7 @@ class AvailableForTotalAmountManager extends CouponRuleAbstract
'selectedOperator' => ''
),
self::INPUT2 => array(
'title' => $name2,
'availableOperators' => $this->availableOperators[self::INPUT2],
'availableValues' => $cleanedCurrencies,
'type' => 'select',

View File

@@ -304,8 +304,15 @@ class AvailableForXArticlesManager extends CouponRuleAbstract
*/
protected function generateInputs()
{
$name1 = $this->translator->trans(
'Quantity',
array(),
'constraint'
);
return array(
self::INPUT1 => array(
'title' => $name1,
'availableOperators' => $this->availableOperators[self::INPUT1],
'type' => 'text',
'class' => 'form-control',

View File

@@ -330,7 +330,7 @@ class CouponController extends BaseAdminController
/**
* Manage Coupons read display
*
* @param int $couponId Coupon Id
* @param string $ruleId Rule service id
*
* @return \Symfony\Component\HttpFoundation\Response
*/
@@ -338,16 +338,21 @@ class CouponController extends BaseAdminController
{
$this->checkAuth('ADMIN', 'admin.coupon.read');
// @todo uncomment
// if (!$this->getRequest()->isXmlHttpRequest()) {
// $this->redirect('index');
// }
if (!$this->getRequest()->isXmlHttpRequest()) {
$this->redirect(
$this->getRoute(
'admin',
array(),
Router::ABSOLUTE_URL
)
);
}
/** @var ConstraintFactory $constraintFactory */
$constraintFactory = $this->container->get('thelia.constraint.factory');
$inputs = $constraintFactory->getInputs($ruleId);
if (!$inputs) {
if ($inputs === null) {
return $this->pageNotFound();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -247,4 +247,10 @@
.ui-slider{
margin-top: 23px;
}
.loading{
background: url("@{imgDir}/ajax-loader.gif") no-repeat;
height: 24px;
width: 24px;
}

View File

@@ -43,6 +43,7 @@
});
$('#category-rule').on('change', function (e) {
$('#rule-add-operators-values').html('<div class="loading" ></div>');
var url = "{$urlAjaxGetRuleInput}";
url = url.replace('ruleId', $(this).val())
console.log(url);
@@ -50,13 +51,13 @@
url: url,
statusCode: {
404: function() {
alert("page not found");
$('#rule-add-operators-values').html(
'{intl l='Please select another rule'}'
);
}
},
context: document.body
}
}).done(function(data) {
console.log(data);
$(this).addClass("done");
$('#rule-add-operators-values').html(data);
});
});

View File

@@ -194,8 +194,11 @@
<section class="row">
<div class="col-md-12 general-block-decorator clearfix">
<a title="{intl l='Save this rule'}" class="btn btn-default btn-primary pull-right">
<span class="glyphicon glyphicon-plus-sign"></span>
</a>
<div class="form-group col-md-2">
<div id="rule-add-organizer" class="form-group col-md-2">
<label for="type">{intl l='Condition type :'}</label>
<label class="radio">
<input type="radio" name="type" id="type" value="1" checked> {intl l='And'}
@@ -205,7 +208,7 @@
</label>
</div>
<div class="form-group col-md-4">
<div id="rule-add-type" class="form-group col-md-4">
<label for="categoryRule">{intl l='Rule\'s category :'}</label>
<select name="categoryRule" id="category-rule" class="form-control">
{foreach from=$availableRules item=availableRule}
@@ -214,7 +217,7 @@
</select>
</div>
<div class="form-group col-md-6">
<div id="rule-add-operators-values" class="form-group col-md-6">
<label for="operator">{intl l='Operator :'}</label>
<div class="row">
<div class="col-lg-6">

View File

@@ -3,7 +3,7 @@
{*{$inputs|var_dump}*}
{foreach from=$inputs key=name item=input}
<label for="operator">Operator :</label>
<label for="operator">{$input.title}</label>
<div class="row">
<div class="col-lg-6">
<select class="form-control" id="{$name}[operator]" name="{$name}[operator]">