/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Taxes.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/ · Java · 320 lines · 241 code · 44 blank · 35 comment · 12 complexity · 46f2151526daca12344f1a186df7be46 MD5 · raw file

  1. /*
  2. This file is part of YaBS.
  3. YaBS is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or
  6. (at your option) any later version.
  7. YaBS is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with YaBS. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. /*
  15. * ContactPanel.java
  16. *
  17. * Created on Nov 20, 2008, 8:17:28 AM
  18. */
  19. package mpv5.ui.dialogs.subcomponents;
  20. import java.awt.Component;
  21. import java.math.BigDecimal;
  22. import java.util.Date;
  23. import mpv5.data.PropertyStore;
  24. import mpv5.db.common.Context;
  25. import mpv5.db.common.DatabaseObject;
  26. import mpv5.db.common.NodataFoundException;
  27. import mpv5.db.objects.Tax;
  28. import mpv5.globals.Messages;
  29. import mpv5.i18n.LanguageManager;
  30. import mpv5.ui.dialogs.ControlApplet;
  31. import mpv5.ui.dialogs.Popup;
  32. import mpv5.ui.panels.DataPanel;
  33. import mpv5.usermanagement.MPSecurityManager;
  34. import mpv5.utils.ui.TextFieldUtils;
  35. /**
  36. *
  37. *
  38. */
  39. public class ControlPanel_Taxes extends javax.swing.JPanel implements ControlApplet, DataPanel {
  40. private static final long serialVersionUID = 1L;
  41. private ControlPanel_Taxes insta;
  42. private Tax dataOwner;
  43. /** Creates new form ContactPanel
  44. */
  45. public ControlPanel_Taxes() {
  46. if (MPSecurityManager.checkAdminAccess()) {
  47. initComponents();
  48. value.set_ValueClass(Double.class);
  49. value.setText(0);
  50. selecttax.setContext(Context.getTaxes());
  51. selecttax.setReceiver(this);
  52. selecttax.getComboBox().setEditable(false);
  53. selecttax.setSearchEnabled(false);
  54. refresh();
  55. }
  56. }
  57. public void showRequiredFields() {
  58. TextFieldUtils.blinkerRed(cname);
  59. }
  60. /** This method is called from within the constructor to
  61. * initialize the form.
  62. * WARNING: Do NOT modify this code. The content of this method is
  63. * always regenerated by the Form Editor.
  64. */
  65. @SuppressWarnings("unchecked")
  66. // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  67. private void initComponents() {
  68. buttonGroup1 = new javax.swing.ButtonGroup();
  69. jPanel6 = new javax.swing.JPanel();
  70. jButton2 = new javax.swing.JButton();
  71. jButton1 = new javax.swing.JButton();
  72. jButton3 = new javax.swing.JButton();
  73. jPanel1 = new javax.swing.JPanel();
  74. selecttax = new mpv5.ui.beans.LabeledCombobox();
  75. cname = new mpv5.ui.beans.LabeledTextField();
  76. value = new mpv5.ui.beans.LabeledTextField();
  77. countries = new mpv5.ui.beans.LabeledCombobox();
  78. java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N
  79. setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ControlPanel_Taxes.border.title"))); // NOI18N
  80. setName("Form"); // NOI18N
  81. setLayout(new java.awt.BorderLayout());
  82. jPanel6.setBackground(new java.awt.Color(255, 255, 255));
  83. jPanel6.setName("jPanel6"); // NOI18N
  84. jPanel6.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
  85. jButton2.setText(bundle.getString("ControlPanel_Taxes.jButton2.text")); // NOI18N
  86. jButton2.setName("jButton2"); // NOI18N
  87. jButton2.addActionListener(new java.awt.event.ActionListener() {
  88. public void actionPerformed(java.awt.event.ActionEvent evt) {
  89. jButton2ActionPerformed(evt);
  90. }
  91. });
  92. jPanel6.add(jButton2);
  93. jButton1.setText(bundle.getString("ControlPanel_Taxes.jButton1.text")); // NOI18N
  94. jButton1.setName("jButton1"); // NOI18N
  95. jButton1.addActionListener(new java.awt.event.ActionListener() {
  96. public void actionPerformed(java.awt.event.ActionEvent evt) {
  97. jButton1ActionPerformed(evt);
  98. }
  99. });
  100. jPanel6.add(jButton1);
  101. jButton3.setText(bundle.getString("ControlPanel_Taxes.jButton3.text")); // NOI18N
  102. jButton3.setName("jButton3"); // NOI18N
  103. jButton3.addActionListener(new java.awt.event.ActionListener() {
  104. public void actionPerformed(java.awt.event.ActionEvent evt) {
  105. jButton3ActionPerformed(evt);
  106. }
  107. });
  108. jPanel6.add(jButton3);
  109. add(jPanel6, java.awt.BorderLayout.PAGE_END);
  110. jPanel1.setName("jPanel1"); // NOI18N
  111. selecttax.set_Label(bundle.getString("ControlPanel_Taxes.selecttax._Label")); // NOI18N
  112. selecttax.setName("selecttax"); // NOI18N
  113. cname.set_Label(bundle.getString("ControlPanel_Taxes.cname._Label")); // NOI18N
  114. cname.setName("cname"); // NOI18N
  115. value.set_Label(bundle.getString("ControlPanel_Taxes.value._Label")); // NOI18N
  116. value.setName("value"); // NOI18N
  117. countries.set_Label(bundle.getString("ControlPanel_Taxes.countries._Label")); // NOI18N
  118. countries.setName("countries"); // NOI18N
  119. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  120. jPanel1.setLayout(jPanel1Layout);
  121. jPanel1Layout.setHorizontalGroup(
  122. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  123. .addGroup(jPanel1Layout.createSequentialGroup()
  124. .addContainerGap()
  125. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  126. .addComponent(value, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  127. .addComponent(cname, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  128. .addComponent(selecttax, javax.swing.GroupLayout.DEFAULT_SIZE, 244, Short.MAX_VALUE)
  129. .addComponent(countries, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  130. .addContainerGap(43, Short.MAX_VALUE))
  131. );
  132. jPanel1Layout.setVerticalGroup(
  133. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  134. .addGroup(jPanel1Layout.createSequentialGroup()
  135. .addContainerGap()
  136. .addComponent(selecttax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  137. .addGap(18, 18, 18)
  138. .addComponent(cname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  139. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  140. .addComponent(value, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  141. .addGap(18, 18, 18)
  142. .addComponent(countries, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  143. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  144. );
  145. add(jPanel1, java.awt.BorderLayout.CENTER);
  146. }// </editor-fold>//GEN-END:initComponents
  147. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  148. collectData();
  149. Tax t = new Tax();
  150. if (dataOwner != null) {
  151. t = dataOwner;
  152. } else {
  153. t.setIdentifier(cname_);
  154. }
  155. t.setCname(cname_);
  156. t.setCountry(country_);
  157. t.setTaxvalue(taxvalue_);
  158. t.save();
  159. actionAfterSave();
  160. }//GEN-LAST:event_jButton2ActionPerformed
  161. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  162. collectData();
  163. Tax t = new Tax();
  164. t.setCountry(country_);
  165. t.setIdentifier(cname_);
  166. t.setCname(cname_);
  167. t.setTaxvalue(taxvalue_);
  168. t.save();
  169. actionAfterCreate();
  170. }//GEN-LAST:event_jButton1ActionPerformed
  171. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
  172. if (dataOwner != null && dataOwner.isExisting()) {
  173. if(!dataOwner.delete())
  174. Popup.notice(Messages.IN_USE);
  175. }
  176. refresh();
  177. }//GEN-LAST:event_jButton3ActionPerformed
  178. // Variables declaration - do not modify//GEN-BEGIN:variables
  179. private javax.swing.ButtonGroup buttonGroup1;
  180. private mpv5.ui.beans.LabeledTextField cname;
  181. private mpv5.ui.beans.LabeledCombobox countries;
  182. private javax.swing.JButton jButton1;
  183. private javax.swing.JButton jButton2;
  184. private javax.swing.JButton jButton3;
  185. private javax.swing.JPanel jPanel1;
  186. private javax.swing.JPanel jPanel6;
  187. private mpv5.ui.beans.LabeledCombobox selecttax;
  188. private mpv5.ui.beans.LabeledTextField value;
  189. // End of variables declaration//GEN-END:variables
  190. public String cname_;
  191. public int intaddedby_;
  192. public int ids_;
  193. public Date dateadded_;
  194. public int groupsids_ = 1;
  195. public BigDecimal taxvalue_;
  196. public String identifier_ = "";
  197. public String country_ = "";
  198. public void setValues(PropertyStore values) {
  199. throw new UnsupportedOperationException("Not supported yet.");
  200. }
  201. public String getUname() {
  202. return "Taxes";
  203. }
  204. public void reset() {
  205. }
  206. public ControlApplet instanceOf() {
  207. if (insta == null) {
  208. insta = new ControlPanel_Taxes();
  209. }
  210. return insta;
  211. }
  212. public void refresh() {
  213. try {
  214. selecttax.setModel(DatabaseObject.getObjects(Context.getTaxes()));
  215. } catch (NodataFoundException ex) {
  216. }
  217. countries.setModel(LanguageManager.getCountriesAsComboBoxModel());
  218. }
  219. public Component getAndRemoveActionPanel() {
  220. this.remove(jPanel6);
  221. validate();
  222. return jPanel6;
  223. }
  224. public boolean collectData() {
  225. try {
  226. cname_ = cname.getText();
  227. taxvalue_ = new BigDecimal(value.getValue(0d).toString());
  228. country_ = countries.getComboBox().getSelectedItem().toString();
  229. return true;
  230. } catch (Exception e) {
  231. return false;
  232. }
  233. }
  234. public DatabaseObject getDataOwner() {
  235. return dataOwner;
  236. }
  237. public void setDataOwner(DatabaseObject object, boolean populateData) {
  238. this.dataOwner = (Tax) object;
  239. if (populateData) {
  240. dataOwner.setPanelData(this);
  241. this.exposeData();
  242. }
  243. }
  244. public void exposeData() {
  245. cname.setText(cname_);
  246. value.setText(taxvalue_);
  247. countries.setSelectedItem(country_);
  248. }
  249. public void paste(DatabaseObject... dbos) {
  250. for (DatabaseObject dbo : dbos) {
  251. setDataOwner(dbo, true);
  252. }
  253. }
  254. public void showSearchBar(boolean show) {
  255. throw new UnsupportedOperationException("Not supported yet.");
  256. }
  257. public void actionAfterSave() {
  258. refresh();
  259. }
  260. public void actionAfterCreate() {
  261. refresh();
  262. }
  263. public void actionBeforeCreate() {
  264. }
  265. public void actionBeforeSave() {
  266. }
  267. public void mail() {
  268. throw new UnsupportedOperationException("Not supported yet.");
  269. }
  270. public void print() {
  271. mpv5.utils.export.Export.print(this);
  272. }
  273. }