// Chromis POS - The New Face of Open Source POS // Copyright (c) (c) 2015-2016 // http://www.chromis.co.uk // // This file is part of Chromis POS // // Chromis POS 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. // // Chromis POS 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 Chromis POS. If not, see <http://www.gnu.org/licenses/>. package uk.chromis.pos.admin; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.ListCellRenderer; import uk.chromis.basic.BasicException; import uk.chromis.data.gui.ListCellRendererBasic; import uk.chromis.data.loader.ComparatorCreator; import uk.chromis.data.loader.TableDefinition; import uk.chromis.data.loader.Vectorer; import uk.chromis.data.user.EditorRecord; import uk.chromis.data.user.ListProvider; import uk.chromis.data.user.ListProviderCreator; import uk.chromis.data.user.SaveProvider; import uk.chromis.pos.forms.AppLocal; import uk.chromis.pos.panels.JPanelTable; /** * * @author adrianromero */ public class PeoplePanel extends JPanelTable { private TableDefinition tpeople; private PeopleView jeditor; private DataLogicAdmin dlAdmin; /** * Creates a new instance of JPanelPeople */ public PeoplePanel() { } /** * */ @Override protected void init() { dlAdmin = (DataLogicAdmin) app.getBean("uk.chromis.pos.admin.DataLogicAdmin"); tpeople = dlAdmin.getTablePeople(); jeditor = new PeopleView(dlAdmin, dirty, app); //this is part of a quick and dirty fix until, I can code another way to achive the required results //A static variable is being used in AppLocal until the solution is found. //It meant that changes had to added to toher class for this to work. //The user list is not update after a logoff\logon event after the first activation, until a restart. //Any help with this will be appreciated John l try { AppLocal.LIST_BY_RIGHTS = "select PEOPLE.ID, PEOPLE.NAME, APPPASSWORD, ROLE, VISIBLE, CARD," + "IMAGE from PEOPLE inner join ROLES on PEOPLE.ROLE=ROLES.ID " + "where ROLES.RIGHTSLEVEL <= " + dlAdmin.getRightsLevelByID(app.getAppUserView().getUser().getRole()); } catch (BasicException ex) { Logger.getLogger(PeoplePanel.class.getName()).log(Level.SEVERE, null, ex); } getListProvider(); } /** * * @return */ @Override public ListProvider getListProvider() { return new ListProviderCreator(tpeople); } /** * * @return */ @Override public SaveProvider getSaveProvider() { return new SaveProvider(tpeople); } /** * * @return */ @Override public Vectorer getVectorer() { return tpeople.getVectorerBasic(new int[]{1}); } /** * * @return */ @Override public ComparatorCreator getComparatorCreator() { return tpeople.getComparatorCreator(new int[]{1, 3}); } /** * * @return */ @Override public ListCellRenderer getListCellRenderer() { return new ListCellRendererBasic(tpeople.getRenderStringBasic(new int[]{1})); } /** * * @return */ @Override public EditorRecord getEditor() { return jeditor; } /** * * @throws BasicException */ @Override public void activate() throws BasicException { jeditor.activate(); // primero el editor super.activate(); // y luego cargamos los datos } /** * * @return */ @Override public String getTitle() { return AppLocal.getIntString("Menu.Users"); } }