package gui;
import hibernateSwingApi.component.CTextField;
import hibernateSwingApi.hibernate.HibernateManager;
import hibernateSwingApi.utils.Utils;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
import pojos.Kullanici;
import service.AutoClosingMessageDialog;
import service.PSAUtil;
public class PSAKullaniciEklemeEkrani extends JFrame {
private static final long serialVersionUID = 1L;
private static PSAKullaniciEklemeEkrani instance;
private CTextField cTextFieldKullaniciAd;
private CTextField cTextFieldKullaniciSifre;
private JLabel cLabelKullaniciAd;
private JLabel cLabelKullaniciSifre;
private JLabel cLabelKullaniciRol;
private JLabel cLabelKullaniciIzinAciklama;
private JLabel cLabelKullaniciIcon;
private JLabel cLabelKulaniciEkleme;
private JPanel cPanelKullanici;
private JPanel cPanelKullaniciEkleme;
private JComboBox<String> jComboBoxKullaniciRol;
private JButton JButtonKullaniciEkle;
private JButton JButtonKullaniciGeri;
private JCheckBox cCheckBoxKasa;
private JCheckBox cCheckBoxPersonelBilgileri;
private JCheckBox cCheckBoxUrunSevkEt;
private JCheckBox cCheckBoxUrunEkleme;
private JCheckBox cCheckBoxYoneticiSayfasi;
private JButton JButtonTemizle;
private JLabel jLabelIsaretUrun;
private JLabel label;
private JCheckBox cCheckBoxMüsteriBilgileri;
private JLabel label_1;
private JLabel jLabelIsaret;
private JCheckBox cCheckBoxEtiket;
private JLabel label_4;
private JCheckBox cCheckBoxIstatistik;
private JLabel label_5;
private JCheckBox cCheckBoxBankaDzenle;
private JLabel label_6;
private JCheckBox cCheckBoxUrunSevkBilgi;
private JLabel label_2;
private JLabel label_3;
private JCheckBox cCheckBoxFirmaBilgileri;
private JCheckBox cCheckBoxKategori;
private JLabel label_7;
private JLabel label_8;
private JCheckBox cCheckBoxStokGuncelleme;
public static PSAKullaniciEklemeEkrani getInstance() {
instance = new PSAKullaniciEklemeEkrani();
return instance;
}
public PSAKullaniciEklemeEkrani() {
initialize();
}
private void initialize() {
setTitle("PSA MERKEZ KULLANICI EKLEME EKRANI");
setResizable(false);
setBounds(0, 0, 510, 739);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setIconImage(PSAUtil.getImageIconViaRelativePath("picture/psaIcon.png")
.getImage());
cPanelKullanici = new JPanel();
cPanelKullaniciEkleme = new JPanel();
cPanelKullaniciEkleme
.setBackground(UIManager.getColor("Button.shadow"));
cLabelKullaniciIcon = new JLabel();
cLabelKullaniciIcon.setBounds(194, 11, 96, 115);
cLabelKullaniciIcon.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/kulaniciIcon.png"));
cLabelKulaniciEkleme = new JLabel();
cLabelKulaniciEkleme.setText("KULLANICI EKLEME");
cLabelKulaniciEkleme.setFont(new Font("Tahoma", Font.BOLD, 16));
cTextFieldKullaniciAd = new CTextField(20);
cTextFieldKullaniciAd.setBounds(226, 132, 186, 20);
cLabelKullaniciAd = new JLabel();
cLabelKullaniciAd.setBounds(89, 132, 127, 20);
cLabelKullaniciAd.setText("*Kullan\u0131c\u0131 Ad\u0131");
cLabelKullaniciAd.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelKullaniciSifre = new JLabel();
cLabelKullaniciSifre.setBounds(89, 160, 127, 20);
cLabelKullaniciSifre.setText("*Kullan\u0131c\u0131 Sifre");
cLabelKullaniciSifre.setFont(new Font("Tahoma", Font.BOLD, 14));
cTextFieldKullaniciSifre = new CTextField(20);
cTextFieldKullaniciSifre.setBounds(226, 160, 186, 20);
cLabelKullaniciRol = new JLabel();
cLabelKullaniciRol.setBounds(89, 188, 127, 20);
cLabelKullaniciRol.setText("Kullan\u0131c\u0131 Rol\u00FC");
cLabelKullaniciRol.setFont(new Font("Tahoma", Font.BOLD, 14));
jComboBoxKullaniciRol = new JComboBox<>();
jComboBoxKullaniciRol.setBounds(226, 188, 186, 20);
jComboBoxKullaniciRol.setModel(new DefaultComboBoxModel<String>(
new String[] { "KULLANICI", "Y\u00D6NET\u0130C\u0130" }));
cLabelKullaniciIzinAciklama = new JLabel();
cLabelKullaniciIzinAciklama.setBounds(113, 236, 278, 23);
cLabelKullaniciIzinAciklama
.setText("Kullan\u0131c\u0131n\u0131n yetkili oldu\u011Fu izinleri se\u00E7iniz...");
cLabelKullaniciIzinAciklama.setFont(new Font("Tahoma", Font.BOLD, 14));
JButtonKullaniciEkle = new JButton();
JButtonKullaniciEkle.setBounds(89, 541, 323, 40);
JButtonKullaniciEkle.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/kullaniciEkle.png"));
JButtonKullaniciEkle.setText("KULLANICI EKLE");
JButtonKullaniciEkle.setFont(new Font("Tahoma", Font.BOLD, 15));
JButtonKullaniciGeri = new JButton();
JButtonKullaniciGeri.setBounds(89, 594, 323, 40);
JButtonKullaniciGeri.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/geriButonu.png"));
JButtonKullaniciGeri.setText("\u0130PTAL");
JButtonKullaniciGeri.setFont(new Font("Tahoma", Font.BOLD, 15));
cCheckBoxKasa = new JCheckBox();
cCheckBoxKasa.setBounds(287, 294, 151, 24);
cCheckBoxKasa.setText("Satış Bilgileri");
cCheckBoxPersonelBilgileri = new JCheckBox();
cCheckBoxPersonelBilgileri.setBounds(287, 321, 151, 24);
cCheckBoxPersonelBilgileri.setText("Personel Bilgileri");
cCheckBoxUrunSevkEt = new JCheckBox();
cCheckBoxUrunSevkEt.setBounds(47, 293, 151, 24);
cCheckBoxUrunSevkEt.setText("Ürün Sevk");
cCheckBoxUrunEkleme = new JCheckBox();
cCheckBoxUrunEkleme.setBounds(27, 266, 189, 24);
cCheckBoxUrunEkleme.setText("Ürün İşlemleri");
cCheckBoxYoneticiSayfasi = new JCheckBox();
cCheckBoxYoneticiSayfasi.setBounds(267, 266, 189, 24);
cCheckBoxYoneticiSayfasi.setText("Y\u00F6netici Sayfas\u0131");
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap()
.addComponent(cPanelKullanici, GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE)
.addGap(9))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap()
.addComponent(cPanelKullanici, GroupLayout.PREFERRED_SIZE, 689, GroupLayout.PREFERRED_SIZE)
.addContainerGap(21, Short.MAX_VALUE))
);
GroupLayout gl_cPanelKullanici = new GroupLayout(cPanelKullanici);
gl_cPanelKullanici.setHorizontalGroup(
gl_cPanelKullanici.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cPanelKullanici.createSequentialGroup()
.addComponent(cLabelKulaniciEkleme, GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)
.addGap(320))
.addComponent(cPanelKullaniciEkleme, GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE)
);
gl_cPanelKullanici.setVerticalGroup(
gl_cPanelKullanici.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cPanelKullanici.createSequentialGroup()
.addComponent(cLabelKulaniciEkleme, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(cPanelKullaniciEkleme, GroupLayout.PREFERRED_SIZE, 662, GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
cPanelKullaniciEkleme.setLayout(null);
cPanelKullaniciEkleme.add(cLabelKullaniciIcon);
cPanelKullaniciEkleme.add(cLabelKullaniciAd);
cPanelKullaniciEkleme.add(cTextFieldKullaniciAd);
cPanelKullaniciEkleme.add(cLabelKullaniciSifre);
cPanelKullaniciEkleme.add(cTextFieldKullaniciSifre);
cPanelKullaniciEkleme.add(cLabelKullaniciRol);
cPanelKullaniciEkleme.add(jComboBoxKullaniciRol);
cPanelKullaniciEkleme.add(cLabelKullaniciIzinAciklama);
cPanelKullaniciEkleme.add(cCheckBoxKasa);
cPanelKullaniciEkleme.add(cCheckBoxPersonelBilgileri);
cPanelKullaniciEkleme.add(cCheckBoxUrunSevkEt);
cPanelKullaniciEkleme.add(cCheckBoxUrunEkleme);
cPanelKullaniciEkleme.add(cCheckBoxYoneticiSayfasi);
cPanelKullaniciEkleme.add(JButtonKullaniciEkle);
cPanelKullaniciEkleme.add(JButtonKullaniciGeri);
JButtonTemizle = new JButton();
JButtonTemizle.setText("TEM\u0130ZLE");
JButtonTemizle.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/temizle.png"));
JButtonTemizle.setFont(new Font("Tahoma", Font.BOLD, 9));
JButtonTemizle.setBounds(370, 11, 108, 27);
cPanelKullaniciEkleme.add(JButtonTemizle);
jLabelIsaret = new JLabel("-");
jLabelIsaret.setHorizontalAlignment(SwingConstants.CENTER);
jLabelIsaret.setFont(new Font("Tahoma", Font.BOLD, 16));
jLabelIsaret.setBounds(267, 299, 14, 14);
cPanelKullaniciEkleme.add(jLabelIsaret);
jLabelIsaretUrun = new JLabel("-");
jLabelIsaretUrun.setHorizontalAlignment(SwingConstants.CENTER);
jLabelIsaretUrun.setFont(new Font("Tahoma", Font.BOLD, 16));
jLabelIsaretUrun.setBounds(27, 298, 14, 14);
cPanelKullaniciEkleme.add(jLabelIsaretUrun);
label = new JLabel("-");
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setFont(new Font("Tahoma", Font.BOLD, 16));
label.setBounds(267, 326, 14, 14);
cPanelKullaniciEkleme.add(label);
cCheckBoxMüsteriBilgileri = new JCheckBox();
cCheckBoxMüsteriBilgileri.setText("Müsteri Bilgileri");
cCheckBoxMüsteriBilgileri.setBounds(287, 348, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxMüsteriBilgileri);
label_1 = new JLabel("-");
label_1.setHorizontalAlignment(SwingConstants.CENTER);
label_1.setFont(new Font("Tahoma", Font.BOLD, 16));
label_1.setBounds(267, 353, 14, 14);
cPanelKullaniciEkleme.add(label_1);
cCheckBoxEtiket = new JCheckBox();
cCheckBoxEtiket.setText("Etiket");
cCheckBoxEtiket.setBounds(287, 375, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxEtiket);
label_4 = new JLabel("-");
label_4.setHorizontalAlignment(SwingConstants.CENTER);
label_4.setFont(new Font("Tahoma", Font.BOLD, 16));
label_4.setBounds(267, 380, 14, 14);
cPanelKullaniciEkleme.add(label_4);
cCheckBoxIstatistik = new JCheckBox();
cCheckBoxIstatistik.setText("İstatistik");
cCheckBoxIstatistik.setBounds(287, 402, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxIstatistik);
label_5 = new JLabel("-");
label_5.setHorizontalAlignment(SwingConstants.CENTER);
label_5.setFont(new Font("Tahoma", Font.BOLD, 16));
label_5.setBounds(267, 407, 14, 14);
cPanelKullaniciEkleme.add(label_5);
cCheckBoxBankaDzenle = new JCheckBox();
cCheckBoxBankaDzenle.setText("Banka Düzenle");
cCheckBoxBankaDzenle.setBounds(287, 429, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxBankaDzenle);
label_6 = new JLabel("-");
label_6.setHorizontalAlignment(SwingConstants.CENTER);
label_6.setFont(new Font("Tahoma", Font.BOLD, 16));
label_6.setBounds(267, 434, 14, 14);
cPanelKullaniciEkleme.add(label_6);
cCheckBoxUrunSevkBilgi = new JCheckBox();
cCheckBoxUrunSevkBilgi.setText("Ürün Sevk Bilgisi");
cCheckBoxUrunSevkBilgi.setBounds(47, 321, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxUrunSevkBilgi);
label_2 = new JLabel("-");
label_2.setHorizontalAlignment(SwingConstants.CENTER);
label_2.setFont(new Font("Tahoma", Font.BOLD, 16));
label_2.setBounds(27, 326, 14, 14);
cPanelKullaniciEkleme.add(label_2);
label_3 = new JLabel("-");
label_3.setHorizontalAlignment(SwingConstants.CENTER);
label_3.setFont(new Font("Tahoma", Font.BOLD, 16));
label_3.setBounds(267, 461, 14, 14);
cPanelKullaniciEkleme.add(label_3);
cCheckBoxFirmaBilgileri = new JCheckBox();
cCheckBoxFirmaBilgileri.setText("Firma Bilgileri");
cCheckBoxFirmaBilgileri.setBounds(287, 456, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxFirmaBilgileri);
cCheckBoxKategori = new JCheckBox();
cCheckBoxKategori.setText("Kategori Düzenle");
cCheckBoxKategori.setBounds(287, 483, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxKategori);
label_7 = new JLabel("-");
label_7.setHorizontalAlignment(SwingConstants.CENTER);
label_7.setFont(new Font("Tahoma", Font.BOLD, 16));
label_7.setBounds(267, 488, 14, 14);
cPanelKullaniciEkleme.add(label_7);
label_8 = new JLabel("-");
label_8.setHorizontalAlignment(SwingConstants.CENTER);
label_8.setFont(new Font("Tahoma", Font.BOLD, 16));
label_8.setBounds(27, 353, 14, 14);
cPanelKullaniciEkleme.add(label_8);
cCheckBoxStokGuncelleme = new JCheckBox();
cCheckBoxStokGuncelleme.setText("Ürün Ekle/Güncelle/Sil");
cCheckBoxStokGuncelleme.setBounds(47, 348, 151, 24);
cPanelKullaniciEkleme.add(cCheckBoxStokGuncelleme);
cPanelKullanici.setLayout(gl_cPanelKullanici);
getContentPane().setLayout(groupLayout);
initListeners();
}
private void initListeners() {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
kullaniciEkraniSetEnable();
}
});
JButtonKullaniciGeri.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
kullaniciEkraniSetEnable();
}
});
JButtonKullaniciEkle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
kullaniciEkleClicked();
}
});
JButtonTemizle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
temizleClicked();
}
});
cCheckBoxYoneticiSayfasi.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.DESELECTED) {
cCheckBoxKasa.setSelected(false);
cCheckBoxMüsteriBilgileri.setSelected(false);
cCheckBoxPersonelBilgileri.setSelected(false);
cCheckBoxFirmaBilgileri.setSelected(false);
cCheckBoxKategori.setSelected(false);
cCheckBoxBankaDzenle.setSelected(false);
cCheckBoxIstatistik.setSelected(false);
cCheckBoxEtiket.setSelected(false);
}
}
});
cCheckBoxBankaDzenle.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxIstatistik.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxKasa.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxFirmaBilgileri.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxKategori.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxMüsteriBilgileri.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxPersonelBilgileri.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
cCheckBoxUrunEkleme.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.DESELECTED) {
cCheckBoxUrunSevkEt.setSelected(false);
cCheckBoxUrunSevkBilgi.setSelected(false);
cCheckBoxStokGuncelleme.setSelected(false);
}
}
});
cCheckBoxStokGuncelleme.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
urunSayfasiControl(evt);
}
});
cCheckBoxUrunSevkEt.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
urunSayfasiControl(evt);
}
});
cCheckBoxUrunSevkBilgi.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
urunSayfasiControl(evt);
}
});
cCheckBoxEtiket.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent evt) {
yoneticiSayfasiControl(evt);
}
});
}
protected void urunSayfasiControl(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.DESELECTED) {
return;
}
cCheckBoxUrunEkleme.setSelected(true);
}
protected void yoneticiSayfasiControl(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.DESELECTED) {
return;
}
cCheckBoxYoneticiSayfasi.setSelected(true);
}
protected void kullaniciEkraniSetEnable() {
PSAKullaniciEkrani.getInstance(1).setEnabled(true);
instance.dispose();
}
protected void temizleClicked() {
cTextFieldKullaniciAd.setText("");
cTextFieldKullaniciSifre.setText("");
jComboBoxKullaniciRol.setSelectedIndex(0);
jComboBoxKullaniciRol.updateUI();
cCheckBoxUrunEkleme.setSelected(false);
cCheckBoxYoneticiSayfasi.setSelected(false);
}
protected void kullaniciEkleClicked() {
if (!userControl()) {
Utils.showMessage("Lütfen zorunlu(*) alanları doldurunuz.");
return;
}
Kullanici kullanici = new Kullanici();
kullanici.setKullaniciAdi(cTextFieldKullaniciAd.getText());
kullanici.setSifre(cTextFieldKullaniciSifre.getText());
kullanici.setRol(jComboBoxKullaniciRol.getSelectedItem().toString());
kullanici.setYonetici(checkControl(cCheckBoxYoneticiSayfasi));
kullanici.setKasa(checkControl(cCheckBoxKasa));
kullanici.setPersonel(checkControl(cCheckBoxPersonelBilgileri));
kullanici.setMüsteri(checkControl(cCheckBoxMüsteriBilgileri));
kullanici.setKategori(checkControl(cCheckBoxKategori));
kullanici.setFirma(checkControl(cCheckBoxFirmaBilgileri));
kullanici.setUrunSevk(checkControl(cCheckBoxUrunSevkEt));
kullanici.setUrunSevkBilgi(checkControl(cCheckBoxUrunSevkBilgi));
kullanici.setUrun(checkControl(cCheckBoxUrunEkleme));
kullanici.setEtiket(checkControl(cCheckBoxEtiket));
kullanici.setStok(checkControl(cCheckBoxStokGuncelleme));
kullanici.setBanka(checkControl(cCheckBoxBankaDzenle));
kullanici.setIstatistik(checkControl(cCheckBoxIstatistik));
kullanici.setAdmin(false);
boolean control = HibernateManager.getInstance().save(kullanici);
if (control == true) {
AutoClosingMessageDialog
.showAutoClosingMessageDialog(
"Sisteme kullanici kaydınız başarı ile gerçekleştirilmiştir.",
2);
kullaniciEkraniSetEnable();
}
}
protected boolean userControl() {
boolean control = true;
if (cTextFieldKullaniciAd.getText().trim().equals("")
|| cTextFieldKullaniciSifre.getText().trim().equals("")) {
control = false;
}
return control;
}
private static String checkControl(JCheckBox cCheckBox) {
String state = "EVET";
if (cCheckBox.isSelected() == false) {
state = "HAYIR";
}
return state;
}
}