Commit 4c45791b by Tuomas Riihimäki

Add sort number for discounts.

1 parent c41cb319
......@@ -421,6 +421,10 @@ public class BootstrapBean implements BootstrapBeanLocal {
dbUpdates.add(new String[] {
"ALTER TABLE products ADD COLUMN min_buy_count INTEGER default 0;"
});
dbUpdates.add(new String[] {
"ALTER TABLE discounts ADD COLUMN sort INTEGER NOT NULL default 10;"
});
}
......
......@@ -80,6 +80,7 @@ public class DiscountBean implements DiscountBeanLocal {
}
}
}
ret.sort(Discount.SORT_COMPARATOR);
return ret;
}
......
......@@ -21,6 +21,7 @@ package fi.codecrew.moya.model;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
......@@ -42,12 +43,26 @@ import javax.persistence.TemporalType;
@Entity
@Table(name = "discounts")
public class Discount extends GenericEntity {
public static final String SORT_FIELD = "sort";
private static final long serialVersionUID = 1L;
private static final String EVENT_ID = "event_id";
private static final BigDecimal SCALE4_ZERO = BigDecimal.ZERO.setScale(4, RoundingMode.HALF_UP);
private static final BigDecimal SCALE6_ZERO = BigDecimal.ZERO.setScale(6, RoundingMode.HALF_UP);
public static Comparator<Discount> SORT_COMPARATOR = new Comparator<Discount>(){
@Override
public int compare(Discount o1, Discount o2) {
return Integer.compare(o1.getSort(), o2.getSort());
}
};
@Column(name = SORT_FIELD, nullable = false)
private int sort = 10;
@ManyToOne()
@JoinColumn(name = EVENT_ID, nullable = false)
private LanEvent event;
......@@ -61,6 +76,7 @@ public class Discount extends GenericEntity {
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "valid_from")
private Date validFrom;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "valid_to")
private Date validTo;
......@@ -240,4 +256,12 @@ public class Discount extends GenericEntity {
this.validFrom = validFrom;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
}
......@@ -40,6 +40,7 @@ import javax.persistence.Lob;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
......@@ -127,6 +128,7 @@ public class Product extends GenericEntity {
joinColumns = {
@JoinColumn(name = PRODUCTFLAG_TABLE_PRODUCTID, referencedColumnName = Product.ID_COLUMN)
})
@OrderBy(Discount.SORT_FIELD+" ASC")
private List<Discount> discounts;
@Column(name = "vat", nullable = false, precision = 4, scale = Bill.VAT_SCALE)
......
......@@ -16,6 +16,14 @@
<f:param name="productid" value="#{productView.product.id}" />
</h:link>
<h:panelGrid columns="3">
<h:outputLabel for="id" value="#{i18n['discount.id']}:" />
<h:outputText id="id" value="#{productView.discount.id}" />
<h:message for="id" />
<h:outputLabel for="sort" value="#{i18n['discount.sort']}:" />
<h:inputText id="sort" value="#{productView.discount.sort}" />
<h:message for="sort" />
<h:outputLabel for="shortdesc" value="#{i18n['discount.shortdesc']}:" />
<h:inputText id="shortdesc" value="#{productView.discount.shortdesc}" />
<h:message for="shortdesc" />
......
......@@ -190,7 +190,9 @@ public class ProductView extends GenericCDIView {
public ListDataModel<Discount> getProductDiscounts()
{
productDiscounts = new ListDataModel<Discount>(product.getDiscounts());
List<Discount> discs = product.getDiscounts();
discs.sort(Discount.SORT_COMPARATOR);
productDiscounts = new ListDataModel<Discount>(discs);
return productDiscounts;
}
......
......@@ -149,6 +149,9 @@ create = Luo
delete = Poista
discount.id = ID
discount.sort = Sort nr.
edit = Muokkaa
error = Virhe
......
......@@ -341,6 +341,7 @@ discount.code = Discount code
discount.create = Create new
discount.details = Details
discount.edit = Edit
discount.id = ID
discount.maxNum = Max no of discounts
discount.perUser = Discounts per user
discount.percentage = Discount multiplier
......@@ -348,6 +349,7 @@ discount.products = Products
discount.role = Role discount
discount.save = Save
discount.shortdesc = Description
discount.sort = Sort nr.
discount.validFrom = Valid from
discount.validTo = Valid until
......
......@@ -342,6 +342,7 @@ discount.code = Alennuskoodi
discount.create = Luo uusi
discount.details = Tiedot
discount.edit = Muokkaa
discount.id = ID
discount.maxNum = Alennusten enimm\u00E4islkm
discount.perUser = Alennuksia per k\u00E4ytt\u00E4j\u00E4
discount.percentage = Alennuskerroin
......@@ -349,6 +350,7 @@ discount.products = Tuotteet
discount.role = Roolialennus
discount.save = Tallenna
discount.shortdesc = Kuvaus
discount.sort = J\u00E4rjestysnumero
discount.validFrom = Voimassa alkaen
discount.validTo = Voimassa asti
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!