Rev 35268 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<div class="modal-header "><button type="button" class="close" data-dismiss="modal">×</button><h4 class="modal-title">Edit Scratch Offer</h4></div><div class="modal-body"><form id="editofferForm"><input type="hidden" name="id" value="$!offer.id"><div class="row"><div class="col-md-6"><div class="form-group"><label>Offer Name *</label><input type="text" class="form-control" name="name"value="$!offer.name" required></div><div class="form-group"><label>Description</label><textarea class="form-control" name="description"rows="3">$!offer.description</textarea></div><div class="form-group"><label>Offer Images *</label><div class="offer-images-container" style="display: flex; align-items: center">#foreach($imageId in $offer.offerImage.split(","))<div class="offer-image-entry " style="margin-right: 10px">## <input type="file" class="form-control offer-image-file"## accept="image/*" required>## <input type="hidden" class="offer-image-id"## name="offerImageIds[]" value="$imageId"><img src="/document/$imageId" width="50"class="mt-2 existing-image"></div>#end</div>## <button type="button" class="btn btn-xs btn-success add-offer-image">## <i class="fa fa-plus"></i> Add Another Image## </button></div></div><div class="col-md-6"><div class="form-group"><label>Offer Period *</label><div class="input-daterange input-group"><input type="date" class="form-control date-picker"name="start_date" value="$!offer.startDate" required><span class="input-group-addon">to</span><input type="date" class="form-control date-picker"name="end_date" value="$!offer.endDate" required></div></div><div class="form-group"><label>Product Category *</label><select class="form-control productCategory" name="productCategory" multiple required>#foreach($category in $categoryList)#set($categoryIdString = $category.id.toString())#set($selectedCategories = $offer.productCategory.split(","))<option value="$category.id"#if($selectedCategories.contains($categoryIdString))selected="selected"#end>$category.displayName</option>#end</select></div><div class="form-group">$offer.paymentMethod<label>Payment Method <span class="text-danger">*</span></label><select class="form-control paymentMethod" name="paymentMethod" required multiple>#foreach($paymentMethod in $paymentMethods)#set($paymentMethod = $paymentMethod.toString())<option value="$paymentMethod"#if($paymentMethod.contains($paymentMethod))selected="selected"#end>$paymentMethod</option>#end</select></div><div class="form-group"><label>Offer Classification <span class="text-danger">*</span></label><select class="form-control classification" name="classification" required><option value="">Select Classification</option>#foreach($classification in $classifications)#set($classification = $classification.toString())<option value="$classification"#if($offer.classification == $classification)selected="selected"#end>$classification</option>#end</select></div></div></div><div class="row"><div class="col-md-6"><div class="form-group"><label>User Limit</label><input type="number" class="form-control" name="userLimit"value="$!offer.userLimit"></div></div><div class="col-md-6"><div class="form-group"><label>Scratch Validity (Days)</label><input type="number" class="form-control" name="scratchValidity"value="$!offer.scratchValidity"></div></div></div><div class="table-responsive"><table class="table dynamic-table" id="giftsContainer"><thead><tr><th colspan="2">Gift Configuration</th><th colspan="3" class="text-end"><button type="button" class="btn btn-sm btn-success add-gift"><i class="fa fa-plus"></i> Add Gift</button></th></tr><tr><th colspan="2">Basic Information</th><th colspan="3">Additional Details</th></tr></thead><tbody>#foreach($gift in $giftList)<tr class="gift-row"><!-- Basic Information Column --><td colspan="2"><div class="mb-3"><label class="fw-bold"> <strong class="text-black">Default</strong></label><input type="radio" name="defaultGift" class="default-gift-radio" #if($gift.default)checked #end></div><div class="row"><div class="mb-3 col-md-12"><label>Gift Name <span class="text-danger">*</span></label><input type="text" class="form-control gift-name"name="gifts[].name" value="$gift.name" required><input type="hidden" name="gifts[].id" value="$gift.id"></div></div><div class="row"><div class="col-md-6 mb-3"><label>Min Cart Value <span class="text-danger">*</span></label><input type="number" step="0.01" class="form-control gift-min-cart"name="gifts[].minCartValue" value="$gift.minCartValue" required></div><div class="col-md-6 mb-3"><label>Max Cart Value <span class="text-danger">*</span></label><input type="number" step="0.01" class="form-control gift-max-cart"name="gifts[].maxCartValue" value="$gift.maxCartValue" required></div></div><div class="row"><div class="col-md-6 mb-3"><label>Gift Quantity <span class="text-danger">*</span></label><input type="number" class="form-control gift-redemptions"name="gifts[].maxRedemptions" value="$gift.maxRedemptions" required></div><div class="mb-3 col-md-6"><label> Select Partner Store OR <span class="text-danger">*</span></label><select class="form-control fofo-store-id mb-2 partnerInfo" name="partnerInfo"multiplerequired>#foreach($retailer in $retailerInfo)#set($retailerIdString = $retailer.getPartnerId().toString())#set($selectedPartner = $gift.fofoStore.split(","))<option value="$retailer.getPartnerId()"#if($selectedPartner.contains($retailerIdString))selected="selected"#end>$retailer.getBusinessName()</option>#end</select></div></div></td><!-- Additional Details Column --><td colspan="3"><div class="mb-3"><label>Gift Image <span class="text-danger">*</span></label><input type="file" class="form-control gift-thumbnail-file" accept="image/*"><input type="hidden" class="gift-thumbnail-id"name="gifts[].thumbnailDocumentId" value="$gift.thumbnailUrl"><img src="/document/$gift.thumbnailUrl" width="50"class="mt-2 existing-thumbnail"></div><div class="mb-3"><label>Product Category <span class="text-danger">*</span></label><select class="form-control gift-product-category" name="GiftProductCategory" multiplerequired>#foreach($category in $categoryList)#set($categoryIdString = $category.id.toString())#set($selectedCategories = $gift.productCategory.split(","))<option value="$category.id"#if($selectedCategories.contains($categoryIdString))selected="selected"#end>$category.displayName</option>#end</select></div><div class="mb-3"><label> Upload CSV<span class="text-danger">*</span></label><input type="file" class="form-control fofo-store-file" accept=".csv"><input type="hidden" class="fofo-store-id"name="gifts[].fofoStore" value="$gift.fofoStore"><small class="text-muted">CSV format: S.No,Partner Name,FofoId,Code</small>#if($gift.fofoStoreId)<div class="mt-1"><small class="text-success">Existing CSV uploaded</small></div>#end</div><div class="text-end"><button type="button" class="btn btn-sm btn-danger delete-gift"value="$gift.id"><i class="fa fa-times"></i> Delete Gift</button></div></td></tr>#end</tbody></table></div><div class="form-group"><label>Terms & Conditions</label><textarea class="form-control" name="termsCondition"rows="3">$!offer.termsCondition</textarea></div></form></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button><button type="button" class="btn btn-primary update-offer" value="$offer.id" data-offer-id="$offer.id">UpdateOffer</button></div><script>$(function () {initMultiselect('.productCategory', 'Categories')initMultiselect('.gift-product-category', 'Categories')initMultiselect('.paymentMethod', 'Payment method')initMultiselect('.partnerInfo', 'Partner')})function toggleCsvOnPartnerChange(row) {const partnerSelect = row.find('.partnerInfo');const csvInput = row.find('.fofo-store-file');if (partnerSelect.val() && partnerSelect.val().length > 0) {csvInput.prop('disabled', true).val('');} else {csvInput.prop('disabled', false);}}$(document).on('change', '.partnerInfo', function () {const row = $(this).closest('tr.gift-row');toggleCsvOnPartnerChange(row);});$('#editOfferModal').on('shown.bs.modal', function () {$(this).find('tr.gift-row').each(function () {toggleCsvOnPartnerChange($(this));});});$(document).on('change', '.default-gift-radio', function () {if ($(this).is(':checked')) {$('.default-gift-radio').not(this).prop('checked', false);}});</script>