use Lc\ShopBundle\Model\ProductFamily; | use Lc\ShopBundle\Model\ProductFamily; | ||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType; | use Symfony\Component\Form\Extension\Core\Type\ChoiceType; | ||||
use Symfony\Component\Form\Extension\Core\Type\CollectionType; | use Symfony\Component\Form\Extension\Core\Type\CollectionType; | ||||
use Symfony\Component\Form\Extension\Core\Type\HiddenType; | |||||
use Symfony\Component\Form\Extension\Core\Type\NumberType; | use Symfony\Component\Form\Extension\Core\Type\NumberType; | ||||
use Symfony\Component\Form\FormError; | use Symfony\Component\Form\FormError; | ||||
use Symfony\Component\HttpFoundation\Response; | use Symfony\Component\HttpFoundation\Response; | ||||
'data' => $reductionCatalog | 'data' => $reductionCatalog | ||||
)); | )); | ||||
$formBuilder->add('stayOnPage', HiddenType::class, array( | |||||
'required'=>false, | |||||
'mapped'=>false, | |||||
)); | |||||
$formBuilder->add('warningMessageType', ChoiceType::class, array( | $formBuilder->add('warningMessageType', ChoiceType::class, array( | ||||
'choices' => array( | 'choices' => array( | ||||
'field.default.warningMessageTypeOptions.' . ProductFamily::WARNING_MESSAGE_TYPE_SUCCESS => ProductFamily::WARNING_MESSAGE_TYPE_SUCCESS, | 'field.default.warningMessageTypeOptions.' . ProductFamily::WARNING_MESSAGE_TYPE_SUCCESS => ProductFamily::WARNING_MESSAGE_TYPE_SUCCESS, | ||||
$this->dispatch(EasyAdminEvents::POST_UPDATE, ['entity' => $entity]); | $this->dispatch(EasyAdminEvents::POST_UPDATE, ['entity' => $entity]); | ||||
$this->utils->addFlash('success', 'Produit sauvegardé'); | $this->utils->addFlash('success', 'Produit sauvegardé'); | ||||
return $this->redirectToReferrer(); | |||||
//return $this->redirectToRoute('easyadmin', ['entity' => 'ProductFamily', 'action' => 'edit', 'id' => $id]) ; | |||||
if($editForm->get('stayOnPage')->getData() || $this->request->get('submitAndStay')){ | |||||
return $this->redirectToRoute('easyadmin', ['entity' => 'ProductFamily', 'action' => 'edit', 'id' => $id]) ; | |||||
}else { | |||||
return $this->redirectToReferrer(); | |||||
} | |||||
} | } | ||||
$this->dispatch(EasyAdminEvents::POST_EDIT); | $this->dispatch(EasyAdminEvents::POST_EDIT); | ||||
$this->executeDynamicMethod('persist<EntityName>Entity', [$entity, $newForm]); | $this->executeDynamicMethod('persist<EntityName>Entity', [$entity, $newForm]); | ||||
$this->dispatch(EasyAdminEvents::POST_PERSIST, ['entity' => $entity]); | $this->dispatch(EasyAdminEvents::POST_PERSIST, ['entity' => $entity]); | ||||
return $this->redirectToReferrer(); | |||||
if($newForm->get('stayOnPage')->getData() || $this->request->get('submitAndStay')){ | |||||
return $this->redirectToRoute('easyadmin', ['entity' => 'ProductFamily', 'action' => 'edit', 'id' => $entity->getId()]) ; | |||||
}else { | |||||
return $this->redirectToReferrer(); | |||||
} | |||||
} | } | ||||
$this->dispatch(EasyAdminEvents::POST_NEW, [ | $this->dispatch(EasyAdminEvents::POST_NEW, [ |
/* Général */ | /* Général */ | ||||
/* line 125, ../../sass/backend/custom.scss */ | /* line 125, ../../sass/backend/custom.scss */ | ||||
.btn.btn-primary.action-save { | |||||
.btn.action-save { | |||||
float: right; | float: right; | ||||
margin-left: 10px; | |||||
} | } | ||||
/* line 126, ../../sass/backend/custom.scss */ | /* line 126, ../../sass/backend/custom.scss */ | ||||
} | } | ||||
/* ORDER */ | /* ORDER */ | ||||
/* line 225, ../../sass/backend/custom.scss */ | |||||
/* line 224, ../../sass/backend/custom.scss */ | |||||
.table-order-summary { | .table-order-summary { | ||||
width: 100%; | width: 100%; | ||||
} | } | ||||
/* line 228, ../../sass/backend/custom.scss */ | |||||
/* line 227, ../../sass/backend/custom.scss */ | |||||
.order-product-item.redelivery { | .order-product-item.redelivery { | ||||
background: rgba(18, 104, 253, 0.38) !important; | background: rgba(18, 104, 253, 0.38) !important; | ||||
} | } | ||||
/*.select2-container--bootstrap .select2-selection{max-width: none;}*/ | /*.select2-container--bootstrap .select2-selection{max-width: none;}*/ | ||||
/*.order-product-item{margin: 15px 0; padding: 0;}*/ | /*.order-product-item{margin: 15px 0; padding: 0;}*/ | ||||
/* Product */ | /* Product */ | ||||
/* line 233, ../../sass/backend/custom.scss */ | |||||
/* line 232, ../../sass/backend/custom.scss */ | |||||
.product-form-modal { | .product-form-modal { | ||||
display: none; | display: none; | ||||
} | } | ||||
/* line 234, ../../sass/backend/custom.scss */ | |||||
/* line 233, ../../sass/backend/custom.scss */ | |||||
.product-form.modal .form-check-label { | .product-form.modal .form-check-label { | ||||
font-style: italic; | font-style: italic; | ||||
color: #666; | color: #666; | ||||
text-align: left; | text-align: left; | ||||
} | } | ||||
/* line 235, ../../sass/backend/custom.scss */ | |||||
/* line 234, ../../sass/backend/custom.scss */ | |||||
.products-collection-table .inherited { | .products-collection-table .inherited { | ||||
color: #888; | color: #888; | ||||
font-style: italic; | font-style: italic; | ||||
font-weight: initial; | font-weight: initial; | ||||
} | } | ||||
/* line 236, ../../sass/backend/custom.scss */ | |||||
/* line 235, ../../sass/backend/custom.scss */ | |||||
.products-collection-table td { | .products-collection-table td { | ||||
position: relative; | position: relative; | ||||
} | } | ||||
/* line 237, ../../sass/backend/custom.scss */ | |||||
/* line 236, ../../sass/backend/custom.scss */ | |||||
.card-body.p-0 .products-collection-table tbody > tr > td:first-of-type, .card-body.p-0 .products-collection-table tbody > tr > th:first-of-type, .card-body.p-0 .products-collection-table thead > tr > td:first-of-type, .card-body.p-0 .products-collection-table thead > tr > th:first-of-type { | .card-body.p-0 .products-collection-table tbody > tr > td:first-of-type, .card-body.p-0 .products-collection-table tbody > tr > th:first-of-type, .card-body.p-0 .products-collection-table thead > tr > td:first-of-type, .card-body.p-0 .products-collection-table thead > tr > th:first-of-type { | ||||
padding-left: 0.35rem; | padding-left: 0.35rem; | ||||
} | } | ||||
/* line 238, ../../sass/backend/custom.scss */ | |||||
/* line 237, ../../sass/backend/custom.scss */ | |||||
.products-collection-table .btn-empty-field { | .products-collection-table .btn-empty-field { | ||||
position: absolute; | position: absolute; | ||||
right: 3px; | right: 3px; | ||||
padding: 0px; | padding: 0px; | ||||
} | } | ||||
/* line 239, ../../sass/backend/custom.scss */ | |||||
/* line 238, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table { | #lc-product-family-edit .products-collection-table { | ||||
table-layout: fixed; | table-layout: fixed; | ||||
/* background-clip: padding-box;*/ | |||||
border-collapse: collapse; | |||||
} | } | ||||
/* line 240, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table tr { | |||||
border-bottom: 1px solid #dee2e6; | |||||
} | |||||
/* line 241, ../../sass/backend/custom.scss */ | |||||
/* line 239, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table th { | #lc-product-family-edit .products-collection-table th { | ||||
font-size: 13px; | font-size: 13px; | ||||
border-left: 1px solid #dee2e6; | border-left: 1px solid #dee2e6; | ||||
border-top: 1px solid #dee2e6; | border-top: 1px solid #dee2e6; | ||||
text-align: center; | text-align: center; | ||||
border-bottom: 2px solid #dee2e6; | |||||
} | } | ||||
/* line 242, ../../sass/backend/custom.scss */ | |||||
/* line 240, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table tfoot th { | |||||
border-top: 2px solid #dee2e6; | |||||
} | |||||
/* line 241, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table th span { | #lc-product-family-edit .products-collection-table th span { | ||||
white-space: initial; | white-space: initial; | ||||
} | } | ||||
/* line 243, ../../sass/backend/custom.scss */ | |||||
/* line 242, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table th:last-child { | #lc-product-family-edit .products-collection-table th:last-child { | ||||
border-right: 1px solid #dee2e6; | border-right: 1px solid #dee2e6; | ||||
} | } | ||||
/* line 244, ../../sass/backend/custom.scss */ | |||||
/* line 243, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table td { | #lc-product-family-edit .products-collection-table td { | ||||
border-left: 1px solid #dee2e6; | border-left: 1px solid #dee2e6; | ||||
text-align: center; | text-align: center; | ||||
font-size: 13px; | font-size: 13px; | ||||
border-bottom: 1px solid #dee2e6; | |||||
} | } | ||||
/* line 245, ../../sass/backend/custom.scss */ | |||||
/* line 244, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table td:last-child { | #lc-product-family-edit .products-collection-table td:last-child { | ||||
border-right: 1px solid #dee2e6; | border-right: 1px solid #dee2e6; | ||||
white-space: nowrap; | white-space: nowrap; | ||||
} | } | ||||
/* line 246, ../../sass/backend/custom.scss */ | |||||
/* line 245, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .btn-add-product { | #lc-product-family-edit .btn-add-product { | ||||
margin: 20px 0; | margin: 20px 0; | ||||
float: right; | float: right; | ||||
} | } | ||||
/* line 247, ../../sass/backend/custom.scss */ | |||||
/* line 246, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .inherited { | #lc-product-family-edit .inherited { | ||||
color: #888; | color: #888; | ||||
font-style: italic; | font-style: italic; | ||||
font-weight: initial; | font-weight: initial; | ||||
} | } | ||||
/* line 248, ../../sass/backend/custom.scss */ | |||||
/* line 247, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table td .value { | #lc-product-family-edit .products-collection-table td .value { | ||||
min-width: 80%; | min-width: 80%; | ||||
margin: auto; | margin: auto; | ||||
cursor: pointer; | cursor: pointer; | ||||
} | } | ||||
/* line 249, ../../sass/backend/custom.scss */ | |||||
/* line 248, ../../sass/backend/custom.scss */ | |||||
#lc-product-family-edit .products-collection-table td .modal { | #lc-product-family-edit .products-collection-table td .modal { | ||||
text-align: left; | text-align: left; | ||||
} | } | ||||
/* line 249, ../../sass/backend/custom.scss */ | |||||
table.products-collection-table th.main-info, td.buyingPrice, td.multiplyingFactor, td.priceWithTax { | |||||
background: #eeeeee; | |||||
background-clip: padding-box; | |||||
} | |||||
/* DeliveryZone */ | /* DeliveryZone */ | ||||
/* line 253, ../../sass/backend/custom.scss */ | /* line 253, ../../sass/backend/custom.scss */ | ||||
#autocomplete-cities { | #autocomplete-cities { |
function arrayRemove(arr, value) { return arr.filter(function(ele){ return ele != value; });} | function arrayRemove(arr, value) { return arr.filter(function(ele){ return ele != value; });} | ||||
const scratchDiv = document.createElement('div'); | |||||
function toPlainText(html) { | |||||
scratchDiv.innerHTML = html; | |||||
return scratchDiv.textContent; | |||||
} |
//INIT VAR | //INIT VAR | ||||
this.init(); | this.init(); | ||||
this.initKeyboardNav(); | this.initKeyboardNav(); | ||||
this.title = toPlainText(this.title) | |||||
//METHOD | //METHOD | ||||
//this.updateProductForm(); | //this.updateProductForm(); | ||||
//this.updateProductView(); | //this.updateProductView(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
decode(str){ | |||||
var textArea = document.createElement('textarea'); | |||||
textArea.innerText = str; | |||||
return textArea.textContent; | |||||
}, | |||||
titleUpdated: function () { | titleUpdated: function () { | ||||
}, | }, | ||||
availableQuantityUpdated: function () { | availableQuantityUpdated: function () { | ||||
deleteProductForm: function () { | deleteProductForm: function () { | ||||
if (confirm('Êtes-vous sur de cette action ?')) { | if (confirm('Êtes-vous sur de cette action ?')) { | ||||
Vue.delete(this.$parent.formProducts, this.keyForm); | Vue.delete(this.$parent.formProducts, this.keyForm); | ||||
this.$parent.updateSortableProducts(false); | |||||
this.$parent.reindexProductForm(null); | |||||
this.$nextTick(function () { | |||||
this.$parent.updateSortableProducts(true); | |||||
}); | |||||
} | } | ||||
}, | }, | ||||
return Object.assign( | return Object.assign( | ||||
{ | { | ||||
isMounted: false, | isMounted: false, | ||||
stayOnPage: false, | |||||
title: null, | title: null, | ||||
isNovelty: null, | isNovelty: null, | ||||
isOrganic: null, | isOrganic: null, | ||||
}, | }, | ||||
mounted: function () { | mounted: function () { | ||||
this.$nextTick(function () { | this.$nextTick(function () { | ||||
this.title = toPlainText(this.title) | |||||
this.isMounted = true; | this.isMounted = true; | ||||
$(".vuejs-checkbox-switch input").each(function () { | $(".vuejs-checkbox-switch input").each(function () { | ||||
setBootstrapSwitch($(this)); | setBootstrapSwitch($(this)); | ||||
newForm = newForm.replace(/__name__/g, Object.keys(this.formProducts).length); | newForm = newForm.replace(/__name__/g, Object.keys(this.formProducts).length); | ||||
Vue.set(this.formProducts, Object.keys(this.formProducts).length, newForm); | Vue.set(this.formProducts, Object.keys(this.formProducts).length, newForm); | ||||
log(Object.keys(this.formProducts).length); | |||||
this.$nextTick(function () { | this.$nextTick(function () { | ||||
this.updateSortableProducts(false); | this.updateSortableProducts(false); | ||||
this.updateKeyboardNav(); | this.updateKeyboardNav(); | ||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
reindexProductForm: function (newArray) { | |||||
if(newArray==null) { | |||||
log('ncichhc'); | |||||
var newArray = {}; | |||||
var i = 0; | |||||
for (key in this.formProducts) { | |||||
newArray[i] = this.formProducts[key]; | |||||
i++; | |||||
} | |||||
} | |||||
this.formProducts = newArray; | |||||
this.updateKeyboardNav(); | |||||
postForm:function(){ | |||||
this.stayOnPage = 1; | |||||
$("#edit-productfamily-form").submit(); | |||||
}, | }, | ||||
initLcSortableProductsList: function () { | initLcSortableProductsList: function () { | ||||
}); | }); | ||||
} | } | ||||
}, | }, | ||||
updateSortableProducts: function (reindex) { | |||||
updateSortableProducts: function (post) { | |||||
if ($('.lc-sortable-products').length > 0) { | if ($('.lc-sortable-products').length > 0) { | ||||
var app=this; | var app=this; | ||||
var newArray = {}; | var newArray = {}; | ||||
$('.lc-sortable-products tr.lc-draggable').each(function (index, li) { | $('.lc-sortable-products tr.lc-draggable').each(function (index, li) { | ||||
oldKey = $(li).find('.field-position').val(); | oldKey = $(li).find('.field-position').val(); | ||||
//log('OLD : '+oldKey); | |||||
$(li).find('.field-position').val(index); | $(li).find('.field-position').val(index); | ||||
//log('NEW : '+index); | |||||
if(reindex)newArray[index] = app.formProducts[oldKey]; | |||||
}); | }); | ||||
if(reindex)app.reindexProductForm(newArray); | |||||
if(post)this.postForm(); | |||||
} | } | ||||
}, | }, | ||||
}); | }); | ||||
var allowLeave = false; | var allowLeave = false; | ||||
$('#edit-productfamily-form').on('submit', function () { | |||||
$('#edit-productfamily-form, #new-productfamily-form').on('submit', function () { | |||||
allowLeave = true; | allowLeave = true; | ||||
}) | }) | ||||
$(window).bind('beforeunload', function (e) { | $(window).bind('beforeunload', function (e) { |
/* Général */ | /* Général */ | ||||
.btn.btn-primary.action-save{float: right;} | |||||
.btn.action-save{float: right; margin-left: 10px;} | |||||
.button-action a.float-right{margin-left: 10px;} | .button-action a.float-right{margin-left: 10px;} | ||||
.input-group-text { | .input-group-text { | ||||
.autoresize textarea{height: auto; min-height: 38px;} | .autoresize textarea{height: auto; min-height: 38px;} | ||||
/* ORDER */ | |||||
/* ORDER */ | |||||
.table-order-summary{width: 100%;} | .table-order-summary{width: 100%;} | ||||
.products-collection-table td{position: relative;} | .products-collection-table td{position: relative;} | ||||
.card-body.p-0 .products-collection-table tbody > tr > td:first-of-type, .card-body.p-0 .products-collection-table tbody > tr > th:first-of-type, .card-body.p-0 .products-collection-table thead > tr > td:first-of-type, .card-body.p-0 .products-collection-table thead > tr > th:first-of-type{padding-left: 0.35rem;} | .card-body.p-0 .products-collection-table tbody > tr > td:first-of-type, .card-body.p-0 .products-collection-table tbody > tr > th:first-of-type, .card-body.p-0 .products-collection-table thead > tr > td:first-of-type, .card-body.p-0 .products-collection-table thead > tr > th:first-of-type{padding-left: 0.35rem;} | ||||
.products-collection-table .btn-empty-field{position: absolute; right: 3px; font-size: 0.7rem; top: 5px; padding: 0px;} | .products-collection-table .btn-empty-field{position: absolute; right: 3px; font-size: 0.7rem; top: 5px; padding: 0px;} | ||||
#lc-product-family-edit .products-collection-table {table-layout:fixed;} | |||||
#lc-product-family-edit .products-collection-table tr{border-bottom: 1px solid #dee2e6;} | |||||
#lc-product-family-edit .products-collection-table th{font-size:13px; border-left: 1px solid #dee2e6; border-top: 1px solid #dee2e6; text-align: center;} | |||||
#lc-product-family-edit .products-collection-table {table-layout:fixed;/* background-clip: padding-box;*/ border-collapse: collapse;} | |||||
#lc-product-family-edit .products-collection-table th{font-size:13px; border-left: 1px solid #dee2e6; border-top: 1px solid #dee2e6; text-align: center; border-bottom: 2px solid #dee2e6;} | |||||
#lc-product-family-edit .products-collection-table tfoot th{border-top: 2px solid #dee2e6;} | |||||
#lc-product-family-edit .products-collection-table th span {white-space: initial;} | #lc-product-family-edit .products-collection-table th span {white-space: initial;} | ||||
#lc-product-family-edit .products-collection-table th:last-child{border-right: 1px solid #dee2e6;} | #lc-product-family-edit .products-collection-table th:last-child{border-right: 1px solid #dee2e6;} | ||||
#lc-product-family-edit .products-collection-table td{border-left: 1px solid #dee2e6; text-align: center; font-size: 13px;} | |||||
#lc-product-family-edit .products-collection-table td{border-left: 1px solid #dee2e6; text-align: center; font-size: 13px; border-bottom: 1px solid #dee2e6;} | |||||
#lc-product-family-edit .products-collection-table td:last-child{border-right: 1px solid #dee2e6; white-space: nowrap; } | #lc-product-family-edit .products-collection-table td:last-child{border-right: 1px solid #dee2e6; white-space: nowrap; } | ||||
#lc-product-family-edit .btn-add-product {margin: 20px 0; float: right;} | #lc-product-family-edit .btn-add-product {margin: 20px 0; float: right;} | ||||
#lc-product-family-edit .inherited {color: #888; font-style: italic; font-weight: initial;} | #lc-product-family-edit .inherited {color: #888; font-style: italic; font-weight: initial;} | ||||
#lc-product-family-edit .products-collection-table td .value {min-width: 80%; margin: auto; min-height: 35px; cursor: pointer;} | #lc-product-family-edit .products-collection-table td .value {min-width: 80%; margin: auto; min-height: 35px; cursor: pointer;} | ||||
#lc-product-family-edit .products-collection-table td .modal {text-align: left;} | #lc-product-family-edit .products-collection-table td .modal {text-align: left;} | ||||
table.products-collection-table th.main-info, td.buyingPrice, td.multiplyingFactor, td.priceWithTax{background: #eeeeee; background-clip: padding-box} | |||||
/* DeliveryZone */ | /* DeliveryZone */ | ||||
choiceFile: Parcourir | choiceFile: Parcourir | ||||
send: Envoyer | send: Envoyer | ||||
edit: Éditer | edit: Éditer | ||||
saveAndStay: Sauvegarder (rester sur la page) | |||||
search: Rechercher | search: Rechercher | ||||
delete: Supprimer | delete: Supprimer | ||||
change: Modifier | change: Modifier | ||||
save: Sauvegarder les modifications | |||||
save: Sauvegarder (retour liste) | |||||
cancel: Annuler | cancel: Annuler | ||||
continue: Continuer | continue: Continuer | ||||
list: Retour à la liste | list: Retour à la liste |
{# TODO à corriger le theme requiert des infos easyAdmin il devrait être possible de ne pas en utiliser #} | {# TODO à corriger le theme requiert des infos easyAdmin il devrait être possible de ne pas en utiliser #} | ||||
{% block form_widget -%} | {% block form_widget -%} | ||||
{{ parent() }} | {{ parent() }} | ||||
<button type="submit" name="save_and_leave" class="btn btn-primary action-save"> | <button type="submit" name="save_and_leave" class="btn btn-primary action-save"> | ||||
<span class="btn-label">{{ 'action.save'|trans(_trans_parameters, _translation_domain) }}</span> | <span class="btn-label">{{ 'action.save'|trans(_trans_parameters, _translation_domain) }}</span> | ||||
</button> | </button> | ||||
{% if easyadmin.entity.name =='ProductFamily' %} | |||||
<button name="submitAndStay" value="1" type="submit" class="btn btn-success action-save"> | |||||
<span class="btn-label">{{ 'action.saveAndStay'|trans(_trans_parameters, _translation_domain) }}</span> | |||||
</button> | |||||
{% endif %} | |||||
{% set _entity_actions = (easyadmin.view == 'new') | {% set _entity_actions = (easyadmin.view == 'new') | ||||
? easyadmin_get_actions_for_new_item(easyadmin.entity.name) | ? easyadmin_get_actions_for_new_item(easyadmin.entity.name) | ||||
}, with_context = false) }} | }, with_context = false) }} | ||||
{% endblock item_actions %} | {% endblock item_actions %} | ||||
{# | {# | ||||
{% block _user_niche_row %} | {% block _user_niche_row %} |
{% endif %} | {% endif %} | ||||
</div> | </div> | ||||
{{ form_widget(form.stayOnPage, {"attr": {"v-model": "stayOnPage"}}) }} | |||||
</div> | </div> | ||||
{{ form_end(form) }} | {{ form_end(form) }} |
<button type="button" class="btn-remove-product btn-sm btn-danger" @click="deleteProductForm()"> | <button type="button" class="btn-remove-product btn-sm btn-danger" @click="deleteProductForm()"> | ||||
<i class="fa fa-trash"></i> | <i class="fa fa-trash"></i> | ||||
</button> | </button> | ||||
{{ form_widget(product.position, {'attr' : {'class': "field-position"}}) }} | |||||
{{ form_widget(product.position, {'attr' : {'class': "field-position", "v-model" : 'position'}}) }} | |||||
<div class="modal fade show" :id="'modal-extends-product-'+keyForm"> | <div class="modal fade show" :id="'modal-extends-product-'+keyForm"> |
<div class="row"> | <div class="row"> | ||||
{{ macros.startCard(8, 'ProductFamily.main','light') }} | {{ macros.startCard(8, 'ProductFamily.main','light') }} | ||||
<div class="col-12"> | |||||
{{ form_row(form.status) }} | |||||
</div> | |||||
<div class="col-12"> | <div class="col-12"> | ||||
{{ form_row(form.supplier) }} | {{ form_row(form.supplier) }} | ||||
</div> | </div> |
Unité | Unité | ||||
</th> | </th> | ||||
<th v-show="getBehaviorPrice() == '{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_REFERENCE_UNIT') }}'" | <th v-show="getBehaviorPrice() == '{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_REFERENCE_UNIT') }}'" | ||||
colspan="3" class="buyingPriceByRefUnit"> | |||||
colspan="3" class="buyingPriceByRefUnit "> | |||||
PA HT / ${ getUnitReference() } | PA HT / ${ getUnitReference() } | ||||
</th> | </th> | ||||
<th v-show="getBehaviorPrice() == '{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_REFERENCE_UNIT') }}'" | <th v-show="getBehaviorPrice() == '{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_REFERENCE_UNIT') }}'" | ||||
PA TTC / ${ getUnitReference() } | PA TTC / ${ getUnitReference() } | ||||
</th> | </th> | ||||
<th colspan="3" class="price"> | |||||
<th colspan="3" class="price main-info"> | |||||
PA HT | PA HT | ||||
</th> | </th> | ||||
<th colspan="3" class="price" | <th colspan="3" class="price" | ||||
v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | ||||
PA TTC | PA TTC | ||||
</th> | </th> | ||||
<th colspan="3" class=""> | |||||
<th colspan="3" class="main-info"> | |||||
Coef | Coef | ||||
</th> | </th> | ||||
v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | ||||
PV HT | PV HT | ||||
</th> | </th> | ||||
<th colspan="3" class="price"> | |||||
<th colspan="3" class="price main-info"> | |||||
PV TTC | PV TTC | ||||
</th> | </th> | ||||
<th colspan="2"> | <th colspan="2"> | ||||
<tbody class="products-collection"> | <tbody class="products-collection"> | ||||
<template> | <template> | ||||
<product-form v-for="(formProduct, blop) in formProducts" v-bind:key="blop" | |||||
:key-form="blop" ref="productForm" v-bind:product-family="productFamily" | |||||
<product-form v-for="(formProduct, name, index) in formProducts" v-bind:key="name" | |||||
:key-form="name" ref="productForm" v-bind:product-family="productFamily" | |||||
:template="formProduct"></product-form> | :template="formProduct"></product-form> | ||||
</template> | </template> | ||||
</tbody> | </tbody> | ||||
${productFamily.buyingPriceByRefUnitWithTax} | ${productFamily.buyingPriceByRefUnitWithTax} | ||||
</th> | </th> | ||||
<th colspan="3" class="price"> | |||||
<th colspan="3" class="price main-info"> | |||||
${productFamily.buyingPrice} | ${productFamily.buyingPrice} | ||||
</th> | </th> | ||||
<th colspan="3" class="price" | <th colspan="3" class="price" | ||||
v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | ||||
${productFamily.buyingPriceWithTax} | ${productFamily.buyingPriceWithTax} | ||||
</th> | </th> | ||||
<th colspan="3" class=""> | |||||
<th colspan="3" class="main-info"> | |||||
${productFamily.multiplyingFactor} | ${productFamily.multiplyingFactor} | ||||
</th> | </th> | ||||
v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | v-show="getBehaviorPrice() =='{{ constant('Lc\\ShopBundle\\Model\\ProductFamily::BEHAVIOR_PRICE_BY_PIECE') }}'"> | ||||
${productFamily.price} | ${productFamily.price} | ||||
</th> | </th> | ||||
<th colspan="3" class="price"> | |||||
<th colspan="3" class="price main-info"> | |||||
${productFamily.priceWithTax} | ${productFamily.priceWithTax} | ||||
</th> | </th> | ||||
<th colspan="2" class="price"> | <th colspan="2" class="price"> |