// GreenPOS is a point of sales application designed for touch screens.
// Copyright (C) 2007-2009 Openbravo, S.L.
// http://code.google.com/p/openbravocustom/
//
// This file is part of GreenPOS.
//
// GreenPOS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// GreenPOS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with GreenPOS. If not, see <http://www.gnu.org/licenses/>.
package com.openbravo.pos.inventory;
import com.openbravo.basic.BasicException;
import com.openbravo.data.loader.Datas;
import com.openbravo.data.model.Column;
import com.openbravo.data.model.Field;
import com.openbravo.data.model.PrimaryKey;
import com.openbravo.data.model.Row;
import com.openbravo.data.model.Table;
import com.openbravo.data.user.EditorRecord;
import com.openbravo.format.Formats;
import com.openbravo.pos.forms.AppLocal;
import com.openbravo.pos.panels.AuxiliarFilter;
import com.openbravo.pos.panels.JPanelTable2;
import com.openbravo.pos.ticket.ProductInfoExt;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
*
* @author jaroslawwozniak
* @author adrianromero
*/
public class AuxiliarPanel extends JPanelTable2 {
private AuxiliarEditor editor;
private AuxiliarFilter filter;
protected void init() {
filter = new AuxiliarFilter();
filter.init(app);
filter.addActionListener(new ReloadActionListener());
row = new Row(
new Field("ID", Datas.STRING, Formats.STRING),
new Field("PRODUCT1", Datas.STRING, Formats.STRING),
new Field("PRODUCT2", Datas.STRING, Formats.STRING),
new Field(AppLocal.getIntString("label.prodref"), Datas.STRING, Formats.STRING, true, true, true),
new Field(AppLocal.getIntString("label.prodbarcode"), Datas.STRING, Formats.STRING, false, true, true),
new Field(AppLocal.getIntString("label.prodname"), Datas.STRING, Formats.STRING, true, true, true)
);
Table table = new Table(
"PRODUCTS_COM",
new PrimaryKey("ID"),
new Column("PRODUCT"),
new Column("PRODUCT2"));
lpr = row.getListProvider(app.getSession(),
"SELECT COM.ID, COM.PRODUCT, COM.PRODUCT2, P.REFERENCE, P.CODE, P.NAME " +
"FROM PRODUCTS_COM COM, PRODUCTS P " +
"WHERE COM.PRODUCT2 = P.ID AND COM.PRODUCT = ?", filter);
spr = row.getSaveProvider(app.getSession(), table);
editor = new AuxiliarEditor(app, dirty);
}
@Override
public void activate() throws BasicException {
filter.activate();
//super.activate();
startNavigation();
reload(filter);
}
@Override
public Component getFilter(){
return filter.getComponent();
}
public EditorRecord getEditor() {
return editor;
}
public String getTitle() {
return AppLocal.getIntString("Menu.Auxiliar");
}
private void reload(AuxiliarFilter filter) throws BasicException {
ProductInfoExt prod = filter.getProductInfoExt();
editor.setInsertProduct(prod); // must be set before load
bd.setEditable(prod != null);
bd.actionLoad();
}
private class ReloadActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
try {
reload((AuxiliarFilter) e.getSource());
} catch (BasicException w) {
}
}
}
}