Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
ef17e7a0c7
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 368
|
def appVersionCode = 369
|
||||||
def appVersionName = '1.32.28'
|
def appVersionName = '1.32.29'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -43,6 +43,7 @@ public class DBSettingsModel {
|
|||||||
private String produzioneDefaultCodAnag;
|
private String produzioneDefaultCodAnag;
|
||||||
private boolean flagPrintPackingListOnOrderClose;
|
private boolean flagPrintPackingListOnOrderClose;
|
||||||
private boolean flagPrintEtichetteOnOrderClose;
|
private boolean flagPrintEtichetteOnOrderClose;
|
||||||
|
private boolean flagPrintEtichetteOnLUClose;
|
||||||
private int onNumCnfInputChanged = 1;
|
private int onNumCnfInputChanged = 1;
|
||||||
private int onQtaTotInputChanged = 1;
|
private int onQtaTotInputChanged = 1;
|
||||||
private boolean flagAccettazioneUseQtaOrd = false;
|
private boolean flagAccettazioneUseQtaOrd = false;
|
||||||
@ -285,6 +286,15 @@ public class DBSettingsModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagPrintEtichetteOnLUClose() {
|
||||||
|
return flagPrintEtichetteOnLUClose;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagPrintEtichetteOnLUClose(boolean flagPrintEtichetteOnLUClose) {
|
||||||
|
this.flagPrintEtichetteOnLUClose = flagPrintEtichetteOnLUClose;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int getOnNumCnfInputChanged() {
|
public int getOnNumCnfInputChanged() {
|
||||||
return onNumCnfInputChanged;
|
return onNumCnfInputChanged;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -332,6 +332,10 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
.setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE"));
|
.setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SPEDIZIONE")
|
||||||
|
.setKeySection("FLAG_PRINT_ETICHETTE_ON_LU_CLOSE"));
|
||||||
stbGestSetupList.add(new StbGestSetup()
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
@ -403,6 +407,7 @@ public class SettingsManager {
|
|||||||
dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_GRIGLIA", Boolean.class));
|
dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_GRIGLIA", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class));
|
dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class));
|
dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class));
|
||||||
|
dbSettingsModelIstance.setFlagPrintEtichetteOnLUClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_LU_CLOSE", Boolean.class, true));
|
||||||
dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class));
|
dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class));
|
||||||
dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class));
|
dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class));
|
||||||
dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class));
|
dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class));
|
||||||
|
|||||||
@ -290,7 +290,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
|
|||||||
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
||||||
+ "<br /><br />" +
|
+ "<br /><br />" +
|
||||||
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
|
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
|
|
||||||
|
|||||||
@ -861,7 +861,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size())
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size())
|
||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + codMarts.size() + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
|
"<b>" + codMarts.size() + "</b> " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, codMarts.size())
|
||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
||||||
null,
|
null,
|
||||||
|
|||||||
@ -356,7 +356,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
|
|||||||
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
||||||
+ "<br /><br />" +
|
+ "<br /><br />" +
|
||||||
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
|
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import java.math.BigDecimal;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -240,7 +239,6 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
articolo.setFlagQtaMultipla(art.getFlagQtaMultipla());
|
articolo.setFlagQtaMultipla(art.getFlagQtaMultipla());
|
||||||
articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile());
|
articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile());
|
||||||
articolo.setMerceDaRic(art.getMerceDaRic());
|
articolo.setMerceDaRic(art.getMerceDaRic());
|
||||||
articolo.setQtaCnf(art.getQtaCnf());
|
|
||||||
articolo.setUntMis(art.getUntMis());
|
articolo.setUntMis(art.getUntMis());
|
||||||
articolo.setDescrizione(art.getDescrizione());
|
articolo.setDescrizione(art.getDescrizione());
|
||||||
articolo.setDataIns(UtilityDate.getDateInstance());
|
articolo.setDataIns(UtilityDate.getDateInstance());
|
||||||
@ -250,7 +248,8 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
articolo.setQtaProposta(art.getQtaProposta());
|
articolo.setQtaProposta(art.getQtaProposta());
|
||||||
articolo.setNewNoPromo(art.isNewNoPromo());
|
articolo.setNewNoPromo(art.isNewNoPromo());
|
||||||
articolo.setSystemNote(art.generateSystemNote());
|
articolo.setSystemNote(art.generateSystemNote());
|
||||||
articolo.setQtaOrd(art.getQtaOrd());
|
articolo.setQtaCnf(art.getQtaCnf() > 0f ? art.getQtaCnf() : 1);
|
||||||
|
articolo.setQtaOrd(art.getQtaOrd() > 0f ? art.getQtaOrd() : art.getQtaCnf());
|
||||||
articolo.setCodAlis(art.getCodAlis());
|
articolo.setCodAlis(art.getCodAlis());
|
||||||
articolo.setCtMaxOrd(BigDecimal.valueOf(art.getCtMaxOrd()));
|
articolo.setCtMaxOrd(BigDecimal.valueOf(art.getCtMaxOrd()));
|
||||||
|
|
||||||
@ -279,9 +278,9 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<ArticoloOrdinabileDTO> getNewArticoli() {
|
private List<ArticoloOrdinabileDTO> getNewArticoli() {
|
||||||
return mArticoliGriglia.stream()
|
return Stream.of(mArticoliGriglia)
|
||||||
.filter(x -> x.getQtaOrd() > 0f)
|
.filter(x -> x.getQtaOrd() > 0f)
|
||||||
.collect(Collectors.toList());
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void orderNewProducts() {
|
public void orderNewProducts() {
|
||||||
|
|||||||
@ -14,9 +14,15 @@ import androidx.core.content.ContextCompat;
|
|||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
|
import com.annimon.stream.Collectors;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -109,6 +115,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
|
|||||||
} else {
|
} else {
|
||||||
setGriglia(griglia);
|
setGriglia(griglia);
|
||||||
setListaArticoli(listArticoli);
|
setListaArticoli(listArticoli);
|
||||||
|
this.onGrigliaRetrieved();
|
||||||
}
|
}
|
||||||
}).show(requireActivity().getSupportFragmentManager(), "tag");
|
}).show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
|
|
||||||
@ -119,6 +126,33 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
|
|||||||
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
|
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onGrigliaRetrieved() {
|
||||||
|
if (UtilityString.isNullOrEmpty(mGriglia.getCodAlis())) {
|
||||||
|
|
||||||
|
Map<String, Long> downloadedGrids = Stream.of(mListArticoli).collect(Collectors.groupingBy(ArticoloOrdinabileDTO::getCodAlis, Collectors.counting()));
|
||||||
|
if (downloadedGrids != null && !downloadedGrids.isEmpty()) {
|
||||||
|
|
||||||
|
List<String> gridsDetails = Stream.of(downloadedGrids)
|
||||||
|
.map((el) -> "<b>" + el.getKey() + ":</b> " + el.getValue() + " " + getResources().getQuantityString(R.plurals.available_articles, el.getValue().intValue()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
|
||||||
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.grid_details).toString(),
|
||||||
|
Html.fromHtml(
|
||||||
|
String.format(getResources().getQuantityString(R.plurals.loaded_grids_message, (int) downloadedGrids.size()), downloadedGrids.size())
|
||||||
|
+ "<br /><br />" +
|
||||||
|
StringUtils.join(gridsDetails, "<br/>")),
|
||||||
|
null,
|
||||||
|
this::fetchOrders)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "downloadedGridDetails");
|
||||||
|
} else {
|
||||||
|
fetchOrders();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fetchOrders();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void setGriglia(Griglia griglia) {
|
private void setGriglia(Griglia griglia) {
|
||||||
mGriglia = griglia;
|
mGriglia = griglia;
|
||||||
mBinding.fabNewOrder.setVisibility(View.VISIBLE);
|
mBinding.fabNewOrder.setVisibility(View.VISIBLE);
|
||||||
@ -129,7 +163,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
|
|||||||
mBinding.descrLis.setText(griglia.getDescrLisa());
|
mBinding.descrLis.setText(griglia.getDescrLisa());
|
||||||
}
|
}
|
||||||
mBinding.descrDepo.setText(griglia.getDescrDepo());
|
mBinding.descrDepo.setText(griglia.getDescrDepo());
|
||||||
fetchOrders();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setListaArticoli(List<ArticoloOrdinabileDTO> listArticoli) {
|
private void setListaArticoli(List<ArticoloOrdinabileDTO> listArticoli) {
|
||||||
@ -161,7 +194,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
|
|||||||
mBinding.ordiniAEmptyView.setVisibility(ordini == null || ordini.size() <= 0 ? View.VISIBLE : View.GONE);
|
mBinding.ordiniAEmptyView.setVisibility(ordini == null || ordini.size() <= 0 ? View.VISIBLE : View.GONE);
|
||||||
refreshRenderedOrdini(ordini);
|
refreshRenderedOrdini(ordini);
|
||||||
mAdapter.updateItems(mRenderedOrderList);
|
mAdapter.updateItems(mRenderedOrderList);
|
||||||
if (mRenderedOrderList.size() <= 0 && mRedirectToNewOrder) {
|
if (mRenderedOrderList.isEmpty() && mRedirectToNewOrder) {
|
||||||
createNewOrder();
|
createNewOrder();
|
||||||
} else {
|
} else {
|
||||||
mRedirectToNewOrder = false;
|
mRedirectToNewOrder = false;
|
||||||
|
|||||||
@ -1415,7 +1415,7 @@ public class SpedizioneViewModel {
|
|||||||
filledMtbColts,
|
filledMtbColts,
|
||||||
positionedMtbColts -> {
|
positionedMtbColts -> {
|
||||||
|
|
||||||
this.askPrint(shouldPrint, positionedMtbColts, () -> {
|
this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts, () -> {
|
||||||
Stream.of(positionedMtbColts)
|
Stream.of(positionedMtbColts)
|
||||||
.filter(x -> !this.mColliRegistrati.contains(x))
|
.filter(x -> !this.mColliRegistrati.contains(x))
|
||||||
.forEach(x -> this.mColliRegistrati.add(x));
|
.forEach(x -> this.mColliRegistrati.add(x));
|
||||||
|
|||||||
@ -91,6 +91,10 @@
|
|||||||
<item quantity="other">articoli</item>
|
<item quantity="other">articoli</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="available_articles">
|
<plurals name="available_articles">
|
||||||
|
<item quantity="one">articolo disponibile</item>
|
||||||
|
<item quantity="other">articoli disponibili</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="ordered_articles">
|
||||||
<item quantity="one">articolo ordinato</item>
|
<item quantity="one">articolo ordinato</item>
|
||||||
<item quantity="other">articoli ordinati</item>
|
<item quantity="other">articoli ordinati</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
@ -102,6 +106,10 @@
|
|||||||
<item quantity="one"><![CDATA[È stato selezionato <b>%d</b> ordine]]></item>
|
<item quantity="one"><![CDATA[È stato selezionato <b>%d</b> ordine]]></item>
|
||||||
<item quantity="other"><![CDATA[Sono stati selezionati <b>%d</b> ordini]]></item>
|
<item quantity="other"><![CDATA[Sono stati selezionati <b>%d</b> ordini]]></item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="loaded_grids_message">
|
||||||
|
<item quantity="one"><![CDATA[È stata scaricata <b>%d</b> griglia]]></item>
|
||||||
|
<item quantity="other"><![CDATA[Sono state scaricate <b>%d</b> griglie]]></item>
|
||||||
|
</plurals>
|
||||||
<plurals name="pieces">
|
<plurals name="pieces">
|
||||||
<item quantity="one">@string/piece</item>
|
<item quantity="one">@string/piece</item>
|
||||||
<item quantity="other">pezzi</item>
|
<item quantity="other">pezzi</item>
|
||||||
@ -450,4 +458,5 @@
|
|||||||
<string name="invalid_product_ordered">L\'ordine presenta uno o più articoli non validi per la lista selezionata!</string>
|
<string name="invalid_product_ordered">L\'ordine presenta uno o più articoli non validi per la lista selezionata!</string>
|
||||||
<string name="confirm_export_invalid_product"><![CDATA[Uno o più articoli ordinati non sono presenti nella lista selezionata! <br>Sei sicuro di voler continuare?]]></string>
|
<string name="confirm_export_invalid_product"><![CDATA[Uno o più articoli ordinati non sono presenti nella lista selezionata! <br>Sei sicuro di voler continuare?]]></string>
|
||||||
<string name="expired_list_session"><![CDATA[La lista di prodotti è stata caricata troppo tempo fa!]]></string>
|
<string name="expired_list_session"><![CDATA[La lista di prodotti è stata caricata troppo tempo fa!]]></string>
|
||||||
|
<string name="grid_details">Griglie disponibili</string>
|
||||||
</resources>
|
</resources>
|
||||||
@ -9,9 +9,15 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
|
|
||||||
<plurals name="available_articles">
|
<plurals name="available_articles">
|
||||||
|
<item quantity="one">item available</item>
|
||||||
|
<item quantity="other">items available</item>
|
||||||
|
</plurals>
|
||||||
|
|
||||||
|
<plurals name="ordered_articles">
|
||||||
<item quantity="one">ordered item</item>
|
<item quantity="one">ordered item</item>
|
||||||
<item quantity="other">ordered items</item>
|
<item quantity="other">ordered items</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
|
||||||
<plurals name="already_registered_lu">
|
<plurals name="already_registered_lu">
|
||||||
<item quantity="one">already registered LU</item>
|
<item quantity="one">already registered LU</item>
|
||||||
<item quantity="other">already registered LUs</item>
|
<item quantity="other">already registered LUs</item>
|
||||||
@ -21,6 +27,10 @@
|
|||||||
<item quantity="one"><![CDATA[<b>%d</b> order selected]]></item>
|
<item quantity="one"><![CDATA[<b>%d</b> order selected]]></item>
|
||||||
<item quantity="other"><![CDATA[<b>%d</b> orders selected]]></item>
|
<item quantity="other"><![CDATA[<b>%d</b> orders selected]]></item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="loaded_grids_message">
|
||||||
|
<item quantity="one"><![CDATA[<b>%d</b> grid downloaded]]></item>
|
||||||
|
<item quantity="other"><![CDATA[<b>%d</b> grids downloaded]]></item>
|
||||||
|
</plurals>
|
||||||
<plurals name="pieces">
|
<plurals name="pieces">
|
||||||
<item quantity="one">@string/piece</item>
|
<item quantity="one">@string/piece</item>
|
||||||
<item quantity="other">pieces</item>
|
<item quantity="other">pieces</item>
|
||||||
@ -457,4 +467,5 @@
|
|||||||
<string name="invalid_product_ordered">One or more ordered products are not available in the selected list!</string>
|
<string name="invalid_product_ordered">One or more ordered products are not available in the selected list!</string>
|
||||||
<string name="confirm_export_invalid_product"><![CDATA[One or more ordered products are not available in the selected list! <br> Do you wish to continue?]]></string>
|
<string name="confirm_export_invalid_product"><![CDATA[One or more ordered products are not available in the selected list! <br> Do you wish to continue?]]></string>
|
||||||
<string name="expired_list_session"><![CDATA[The product list was loaded too much time ago!]]></string>
|
<string name="expired_list_session"><![CDATA[The product list was loaded too much time ago!]]></string>
|
||||||
|
<string name="grid_details">Available grids</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user