PageRenderTime 109ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/src/mpv5/ui/panels/RemindPanel.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 635 lines | 524 code | 77 blank | 34 comment | 34 complexity | 8b6f2deb0239fc3196bdb506c793766f MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
  1. /*
  2. * This file is part of YaBS.
  3. *
  4. * YaBS is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 3 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * YaBS is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with YaBS. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. /*
  18. * GeneralListPanel.java
  19. *
  20. * Created on 03.04.2009, 15:26:37
  21. */
  22. package mpv5.ui.panels;
  23. import enoa.handler.TemplateHandler;
  24. import java.awt.event.ActionEvent;
  25. import java.awt.event.ActionListener;
  26. import java.io.File;
  27. import java.util.HashMap;
  28. import java.util.List;
  29. import java.util.Vector;
  30. import java.util.logging.Level;
  31. import java.util.logging.Logger;
  32. import javax.swing.DefaultListModel;
  33. import mpv5.db.common.Context;
  34. import mpv5.db.common.DatabaseObject;
  35. import mpv5.db.common.NodataFoundException;
  36. import mpv5.db.objects.Item;
  37. import mpv5.db.objects.Reminder;
  38. import mpv5.db.objects.Stage;
  39. import mpv5.db.objects.Template;
  40. import mpv5.globals.Constants;
  41. import mpv5.globals.Messages;
  42. import mpv5.handler.FormFieldsHandler;
  43. import mpv5.logging.Log;
  44. import mpv5.ui.dialogs.DialogForFile;
  45. import mpv5.ui.dialogs.Popup;
  46. import mpv5.ui.frames.MPView;
  47. import mpv5.utils.export.Export;
  48. import mpv5.utils.export.Exportable;
  49. import mpv5.utils.files.FileDirectoryHandler;
  50. import mpv5.utils.jobs.Job;
  51. /**
  52. *
  53. *
  54. */
  55. public class RemindPanel extends javax.swing.JPanel {
  56. private static final long serialVersionUID = 1L;
  57. Reminder dataOwner = new Reminder();
  58. private java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle();
  59. /** Creates new form GeneralListPanel */
  60. public RemindPanel() {
  61. initComponents();
  62. labeledTextField1.set_ValueClass(Double.class);
  63. labeledCombobox1.setSearchEnabled(true);
  64. labeledCombobox1.setContext(Context.getItem());
  65. labeledCombobox3.setSearchEnabled(true);
  66. labeledCombobox3.setContext(Context.getStage());
  67. labeledCombobox1.getComboBox().addActionListener(new ActionListener() {
  68. public void actionPerformed(ActionEvent e) {
  69. try {
  70. refresh((Item) DatabaseObject.getObject(Context.getItem(), Integer.valueOf(labeledCombobox1.getSelectedItem().getId())));
  71. } catch (Exception ex) {
  72. Log.Debug(this, ex.getMessage());
  73. }
  74. }
  75. });
  76. labeledCombobox3.getComboBox().addActionListener(new ActionListener() {
  77. public void actionPerformed(ActionEvent e) {
  78. try {
  79. Stage s = (Stage) DatabaseObject.getObject(Context.getStage(), Integer.valueOf(labeledCombobox3.getSelectedItem().getId()));
  80. jTextPane1.setText(s.__getDescription());
  81. labeledTextField1.setText(s.__getExtravalue());
  82. } catch (Exception ex) {
  83. Log.Debug(this, ex.getMessage());
  84. }
  85. }
  86. });
  87. labeledCombobox2.setContext(Context.getGroup());
  88. labeledCombobox2.setSearchEnabled(true);
  89. labeledCombobox2.setEditable(true);
  90. labeledCombobox2.triggerSearch();
  91. }
  92. public RemindPanel(Item bill) {
  93. initComponents();
  94. labeledCombobox1.getComboBox().addActionListener(new ActionListener() {
  95. public void actionPerformed(ActionEvent e) {
  96. try {
  97. refresh((Item) DatabaseObject.getObject(Context.getItem(), Integer.valueOf(labeledCombobox1.getSelectedItem().getId())));
  98. } catch (Exception ex) {
  99. Log.Debug(this, ex.getMessage());
  100. }
  101. }
  102. });
  103. labeledCombobox3.getComboBox().addActionListener(new ActionListener() {
  104. public void actionPerformed(ActionEvent e) {
  105. try {
  106. Stage s = (Stage) DatabaseObject.getObject(Context.getStage(), Integer.valueOf(labeledCombobox3.getSelectedItem().getId()));
  107. jTextPane1.setText(s.__getDescription());
  108. labeledTextField1.setText(s.__getExtravalue());
  109. } catch (Exception ex) {
  110. Log.Debug(this, ex.getMessage());
  111. }
  112. }
  113. });
  114. labeledTextField1.set_ValueClass(Double.class);
  115. labeledCombobox3.setSearchEnabled(true);
  116. labeledCombobox3.setContext(Context.getStage());
  117. labeledCombobox1.setModel(bill);
  118. labeledCombobox3.triggerSearch();
  119. refresh(bill);
  120. labeledCombobox2.setContext(Context.getGroup());
  121. labeledCombobox2.setSearchEnabled(true);
  122. labeledCombobox2.setEditable(true);
  123. labeledCombobox2.triggerSearch();
  124. }
  125. /** This method is called from within the constructor to
  126. * initialize the form.
  127. * WARNING: Do NOT modify this code. The content of this method is
  128. * always regenerated by the Form Editor.
  129. */
  130. @SuppressWarnings("unchecked")
  131. // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  132. private void initComponents() {
  133. jToolBar1 = new javax.swing.JToolBar();
  134. jButton1 = new javax.swing.JButton();
  135. jButton2 = new javax.swing.JButton();
  136. jButton5 = new javax.swing.JButton();
  137. jSeparator1 = new javax.swing.JToolBar.Separator();
  138. jButton4 = new javax.swing.JButton();
  139. jButton6 = new javax.swing.JButton();
  140. jSeparator3 = new javax.swing.JToolBar.Separator();
  141. jButton3 = new javax.swing.JButton();
  142. jButton7 = new javax.swing.JButton();
  143. jButton8 = new javax.swing.JButton();
  144. jPanel1 = new javax.swing.JPanel();
  145. labeledCombobox1 = new mpv5.ui.beans.LabeledCombobox();
  146. labeledCombobox3 = new mpv5.ui.beans.LabeledCombobox();
  147. jScrollPane1 = new javax.swing.JScrollPane();
  148. jTextPane1 = new javax.swing.JTextPane();
  149. labeledTextField1 = new mpv5.ui.beans.LabeledTextField();
  150. labeledCombobox2 = new mpv5.ui.beans.LabeledCombobox();
  151. jLabel1 = new javax.swing.JLabel();
  152. jScrollPane2 = new javax.swing.JScrollPane();
  153. jList1 = new javax.swing.JList();
  154. mpv5.i18n.LanguageManager.getBundle();
  155. setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("RemindPanel.border.title"))); // NOI18N
  156. setName("Form"); // NOI18N
  157. jToolBar1.setFloatable(false);
  158. jToolBar1.setRollover(true);
  159. jToolBar1.setName("jToolBar1"); // NOI18N
  160. jButton1.setText(bundle.getString("RemindPanel.jButton1.text")); // NOI18N
  161. jButton1.setName("jButton1"); // NOI18N
  162. jButton1.addActionListener(new java.awt.event.ActionListener() {
  163. public void actionPerformed(java.awt.event.ActionEvent evt) {
  164. jButton1ActionPerformed(evt);
  165. }
  166. });
  167. jToolBar1.add(jButton1);
  168. jButton2.setText(bundle.getString("RemindPanel.jButton2.text")); // NOI18N
  169. jButton2.setFocusable(false);
  170. jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  171. jButton2.setName("jButton2"); // NOI18N
  172. jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  173. jButton2.addActionListener(new java.awt.event.ActionListener() {
  174. public void actionPerformed(java.awt.event.ActionEvent evt) {
  175. jButton2ActionPerformed(evt);
  176. }
  177. });
  178. jToolBar1.add(jButton2);
  179. jButton5.setText(bundle.getString("RemindPanel.jButton5.text")); // NOI18N
  180. jButton5.setFocusable(false);
  181. jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  182. jButton5.setName("jButton5"); // NOI18N
  183. jButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  184. jButton5.addActionListener(new java.awt.event.ActionListener() {
  185. public void actionPerformed(java.awt.event.ActionEvent evt) {
  186. jButton5ActionPerformed(evt);
  187. }
  188. });
  189. jToolBar1.add(jButton5);
  190. jSeparator1.setName("jSeparator1"); // NOI18N
  191. jToolBar1.add(jSeparator1);
  192. jButton4.setText(bundle.getString("RemindPanel.jButton4.text")); // NOI18N
  193. jButton4.setName("jButton4"); // NOI18N
  194. jButton4.addActionListener(new java.awt.event.ActionListener() {
  195. public void actionPerformed(java.awt.event.ActionEvent evt) {
  196. jButton4ActionPerformed(evt);
  197. }
  198. });
  199. jToolBar1.add(jButton4);
  200. jButton6.setText(bundle.getString("RemindPanel.jButton6.text")); // NOI18N
  201. jButton6.setName("jButton6"); // NOI18N
  202. jButton6.addActionListener(new java.awt.event.ActionListener() {
  203. public void actionPerformed(java.awt.event.ActionEvent evt) {
  204. jButton6ActionPerformed(evt);
  205. }
  206. });
  207. jToolBar1.add(jButton6);
  208. jSeparator3.setName("jSeparator3"); // NOI18N
  209. jToolBar1.add(jSeparator3);
  210. jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/22/view_text.png"))); // NOI18N
  211. jButton3.setText(bundle.getString("RemindPanel.jButton3.text")); // NOI18N
  212. jButton3.setFocusable(false);
  213. jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  214. jButton3.setName("jButton3"); // NOI18N
  215. jButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  216. jButton3.addActionListener(new java.awt.event.ActionListener() {
  217. public void actionPerformed(java.awt.event.ActionEvent evt) {
  218. jButton3ActionPerformed(evt);
  219. }
  220. });
  221. jToolBar1.add(jButton3);
  222. jButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/22/mimetypes/pdf.png"))); // NOI18N
  223. jButton7.setText(bundle.getString("RemindPanel.jButton7.text")); // NOI18N
  224. jButton7.setFocusable(false);
  225. jButton7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  226. jButton7.setName("jButton7"); // NOI18N
  227. jButton7.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  228. jButton7.addActionListener(new java.awt.event.ActionListener() {
  229. public void actionPerformed(java.awt.event.ActionEvent evt) {
  230. jButton7ActionPerformed(evt);
  231. }
  232. });
  233. jToolBar1.add(jButton7);
  234. jButton8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/22/mimetypes/odt.png"))); // NOI18N
  235. jButton8.setText(bundle.getString("RemindPanel.jButton8.text")); // NOI18N
  236. jButton8.setFocusable(false);
  237. jButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  238. jButton8.setName("jButton8"); // NOI18N
  239. jButton8.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  240. jButton8.addActionListener(new java.awt.event.ActionListener() {
  241. public void actionPerformed(java.awt.event.ActionEvent evt) {
  242. jButton8ActionPerformed(evt);
  243. }
  244. });
  245. jToolBar1.add(jButton8);
  246. jPanel1.setBackground(new java.awt.Color(255, 255, 255));
  247. jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("RemindPanel.jPanel1.border.title"))); // NOI18N
  248. jPanel1.setName("jPanel1"); // NOI18N
  249. labeledCombobox1.set_Label(bundle.getString("RemindPanel.labeledCombobox1._Label")); // NOI18N
  250. labeledCombobox1.setName("labeledCombobox1"); // NOI18N
  251. labeledCombobox3.set_Label(bundle.getString("RemindPanel.labeledCombobox3._Label")); // NOI18N
  252. labeledCombobox3.setName("labeledCombobox3"); // NOI18N
  253. jScrollPane1.setName("jScrollPane1"); // NOI18N
  254. jTextPane1.setName("jTextPane1"); // NOI18N
  255. jScrollPane1.setViewportView(jTextPane1);
  256. labeledTextField1.set_Label(bundle.getString("RemindPanel.labeledTextField1._Label")); // NOI18N
  257. labeledTextField1.setName("labeledTextField1"); // NOI18N
  258. labeledCombobox2.set_Label(bundle.getString("RemindPanel.labeledCombobox2._Label")); // NOI18N
  259. labeledCombobox2.setName("labeledCombobox2"); // NOI18N
  260. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  261. jPanel1.setLayout(jPanel1Layout);
  262. jPanel1Layout.setHorizontalGroup(
  263. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  264. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  265. .addContainerGap()
  266. .addComponent(labeledTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  267. .addGroup(jPanel1Layout.createSequentialGroup()
  268. .addGap(2, 2, 2)
  269. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  270. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 554, Short.MAX_VALUE)
  271. .addGroup(jPanel1Layout.createSequentialGroup()
  272. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  273. .addComponent(labeledCombobox3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  274. .addComponent(labeledCombobox1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 270, Short.MAX_VALUE))
  275. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  276. .addComponent(labeledCombobox2, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE))))
  277. );
  278. jPanel1Layout.setVerticalGroup(
  279. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  280. .addGroup(jPanel1Layout.createSequentialGroup()
  281. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  282. .addGroup(jPanel1Layout.createSequentialGroup()
  283. .addComponent(labeledCombobox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  284. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  285. .addComponent(labeledCombobox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  286. .addComponent(labeledCombobox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  287. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  288. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
  289. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  290. .addComponent(labeledTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  291. );
  292. jLabel1.setText(bundle.getString("RemindPanel.jLabel1.text")); // NOI18N
  293. jLabel1.setName("jLabel1"); // NOI18N
  294. jScrollPane2.setName("jScrollPane2"); // NOI18N
  295. jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
  296. jList1.setName("jList1"); // NOI18N
  297. jList1.addMouseListener(new java.awt.event.MouseAdapter() {
  298. public void mouseClicked(java.awt.event.MouseEvent evt) {
  299. jList1MouseClicked(evt);
  300. }
  301. });
  302. jScrollPane2.setViewportView(jList1);
  303. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
  304. this.setLayout(layout);
  305. layout.setHorizontalGroup(
  306. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  307. .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 568, Short.MAX_VALUE)
  308. .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 568, Short.MAX_VALUE)
  309. .addGroup(layout.createSequentialGroup()
  310. .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 558, Short.MAX_VALUE)
  311. .addContainerGap())
  312. .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  313. );
  314. layout.setVerticalGroup(
  315. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  316. .addGroup(layout.createSequentialGroup()
  317. .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  318. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  319. .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  320. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  321. .addComponent(jLabel1)
  322. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  323. .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE))
  324. );
  325. }// </editor-fold>//GEN-END:initComponents
  326. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  327. if (dataOwner == null) {
  328. dataOwner = new Reminder();
  329. }
  330. dataOwner.setIDS(-1);
  331. save();
  332. }//GEN-LAST:event_jButton2ActionPerformed
  333. private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
  334. dataOwner.delete();
  335. try {
  336. refresh((Item) Item.getObject(Context.getItem(), dataOwner.__getItemsids()));
  337. } catch (NodataFoundException ex) {
  338. refresh(null);
  339. }
  340. }//GEN-LAST:event_jButton5ActionPerformed
  341. private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
  342. String msg = Popup.Enter_Value(Messages.ENTER_A_DESCRIPTION);
  343. if (msg != null) {
  344. Stage s = new Stage();
  345. s.setCname(msg);
  346. s.setGroupsids(mpv5.db.objects.User.getCurrentUser().__getGroupsids());
  347. s.setDescription(jTextPane1.getText());
  348. try {
  349. s.setExtravalue(Double.valueOf(labeledTextField1.getText()));
  350. } catch (NumberFormatException e) {
  351. s.setExtravalue(0d);
  352. }
  353. s.save();
  354. labeledCombobox3.triggerSearch();
  355. }
  356. }//GEN-LAST:event_jButton4ActionPerformed
  357. private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
  358. try {
  359. Stage s = (Stage) DatabaseObject.getObject(Context.getStage(), Integer.valueOf(labeledCombobox3.getSelectedItem().getId()));
  360. s.delete();
  361. labeledCombobox3.triggerSearch();
  362. } catch (NodataFoundException ex) {
  363. Log.Debug(this, ex.getMessage());
  364. }
  365. }//GEN-LAST:event_jButton6ActionPerformed
  366. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
  367. int group = 1;
  368. PreviewPanel pr;
  369. if (dataOwner != null && dataOwner.isExisting()) {
  370. if (labeledCombobox2.getSelectedItem() != null) {
  371. group = Integer.valueOf(labeledCombobox2.getSelectedItem().getId());
  372. }
  373. Template t = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER);
  374. if (t != null) {
  375. Exportable te = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER).getExFile();
  376. HashMap<String, Object> hm1 = new FormFieldsHandler(dataOwner).getFormattedFormFields(null);
  377. File f2 = FileDirectoryHandler.getTempFile("pdf");
  378. Export ex = new Export(t);
  379. ex.putAll(hm1);
  380. ex.setTemplate(te);
  381. ex.setTargetFile(f2);
  382. try {
  383. Stage g = (Stage) DatabaseObject.getObject(Context.getStage(), dataOwner.__getStagesids());
  384. ex.put("reminder.stage", g.__getCname());
  385. } catch (NodataFoundException ex1) {
  386. Log.Debug(ex1);
  387. }
  388. try {
  389. Item i = (Item) DatabaseObject.getObject(Context.getItem(), dataOwner.__getItemsids());
  390. ex.put("reminder.count", Reminder.getRemindersOf(i).size());
  391. } catch (NodataFoundException nodataFoundException) {
  392. Log.Debug(nodataFoundException);
  393. }
  394. pr = new PreviewPanel();
  395. pr.setDataOwner(dataOwner);
  396. new Job(ex, pr).execute();
  397. } else {
  398. Popup.notice(Messages.NO_TEMPLATE_DEFINDED);
  399. }
  400. }
  401. }//GEN-LAST:event_jButton3ActionPerformed
  402. private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked
  403. try {
  404. expose((Reminder) jList1.getSelectedValue());
  405. } catch (Exception e) {
  406. }
  407. }//GEN-LAST:event_jList1MouseClicked
  408. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  409. save();
  410. }//GEN-LAST:event_jButton1ActionPerformed
  411. private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
  412. int group = 1;
  413. if (dataOwner != null && dataOwner.isExisting()) {
  414. if (labeledCombobox2.getSelectedItem() != null) {
  415. group = Integer.valueOf(labeledCombobox2.getSelectedItem().getId());
  416. }
  417. Template t = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER);
  418. if (t != null) {
  419. Exportable te = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER).getExFile();
  420. HashMap<String, Object> hm1 = new HashMap<String, Object>();
  421. File f2 = FileDirectoryHandler.getTempFile("pdf");
  422. try {
  423. Stage g = (Stage) DatabaseObject.getObject(Context.getStage(), dataOwner.__getStagesids());
  424. hm1.put("reminder.stage", g.__getCname());
  425. } catch (NodataFoundException ex1) {
  426. Log.Debug(ex1);
  427. }
  428. try {
  429. Item i = (Item) DatabaseObject.getObject(Context.getItem(), dataOwner.__getItemsids());
  430. hm1.put("reminder.count", Reminder.getRemindersOf(i).size());
  431. } catch (NodataFoundException nodataFoundException) {
  432. Log.Debug(nodataFoundException);
  433. }
  434. new Job(Export.createFile(dataOwner.__getCname(), t, dataOwner, hm1), new DialogForFile(DialogForFile.FILES_ONLY, dataOwner.__getCname())).execute();
  435. } else {
  436. Popup.notice(Messages.NO_TEMPLATE_DEFINDED);
  437. }
  438. }
  439. }//GEN-LAST:event_jButton7ActionPerformed
  440. private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed
  441. int group = 1;
  442. PreviewPanel pr;
  443. if (dataOwner != null && dataOwner.isExisting()) {
  444. if (labeledCombobox2.getSelectedItem() != null) {
  445. group = Integer.valueOf(labeledCombobox2.getSelectedItem().getId());
  446. }
  447. Template t = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER);
  448. if (t != null) {
  449. Exportable te = TemplateHandler.loadTemplate(group, Constants.TYPE_REMINDER).getExFile();
  450. HashMap<String, Object> hm1 = new HashMap<String, Object>();
  451. File f2 = FileDirectoryHandler.getTempFile("odt");
  452. try {
  453. Stage g = (Stage) DatabaseObject.getObject(Context.getStage(), dataOwner.__getStagesids());
  454. hm1.put("reminder.stage", g.__getCname());
  455. } catch (NodataFoundException ex1) {
  456. Log.Debug(ex1);
  457. }
  458. try {
  459. Item i = (Item) DatabaseObject.getObject(Context.getItem(), dataOwner.__getItemsids());
  460. hm1.put("reminder.count", Reminder.getRemindersOf(i).size());
  461. } catch (NodataFoundException nodataFoundException) {
  462. Log.Debug(nodataFoundException);
  463. }
  464. new Job(Export.sourceFile(dataOwner.__getCname(), t, dataOwner, hm1), new DialogForFile(DialogForFile.FILES_ONLY, dataOwner.__getCname())).execute();
  465. } else {
  466. Popup.notice(Messages.NO_TEMPLATE_DEFINDED);
  467. }
  468. }
  469. }//GEN-LAST:event_jButton8ActionPerformed
  470. // Variables declaration - do not modify//GEN-BEGIN:variables
  471. private javax.swing.JButton jButton1;
  472. private javax.swing.JButton jButton2;
  473. private javax.swing.JButton jButton3;
  474. private javax.swing.JButton jButton4;
  475. private javax.swing.JButton jButton5;
  476. private javax.swing.JButton jButton6;
  477. private javax.swing.JButton jButton7;
  478. private javax.swing.JButton jButton8;
  479. private javax.swing.JLabel jLabel1;
  480. private javax.swing.JList jList1;
  481. private javax.swing.JPanel jPanel1;
  482. private javax.swing.JScrollPane jScrollPane1;
  483. private javax.swing.JScrollPane jScrollPane2;
  484. private javax.swing.JToolBar.Separator jSeparator1;
  485. private javax.swing.JToolBar.Separator jSeparator3;
  486. private javax.swing.JTextPane jTextPane1;
  487. private javax.swing.JToolBar jToolBar1;
  488. private mpv5.ui.beans.LabeledCombobox labeledCombobox1;
  489. private mpv5.ui.beans.LabeledCombobox labeledCombobox2;
  490. private mpv5.ui.beans.LabeledCombobox labeledCombobox3;
  491. private mpv5.ui.beans.LabeledTextField labeledTextField1;
  492. // End of variables declaration//GEN-END:variables
  493. private void save() {
  494. try {
  495. Item i = (Item) DatabaseObject.getObject(Context.getItem(), Integer.valueOf(labeledCombobox1.getSelectedItem().getId()));
  496. Stage s = null;
  497. try {
  498. s = (Stage) DatabaseObject.getObject(Context.getStage(), Integer.valueOf(labeledCombobox3.getSelectedItem().getId()));
  499. } catch (Exception nodataFoundException) {
  500. String msg = Popup.Enter_Value(Messages.ENTER_A_DESCRIPTION);
  501. if (msg == null) {
  502. msg = "autogenerated stage";
  503. }
  504. s = new Stage();
  505. s.setCname(msg);
  506. s.setGroupsids(mpv5.db.objects.User.getCurrentUser().__getGroupsids());
  507. s.setTemplategroup(mpv5.db.objects.User.getCurrentUser().__getGroupsids());
  508. s.setDescription(jTextPane1.getText());
  509. try {
  510. s.setExtravalue(labeledTextField1.getValue(0d));
  511. } catch (NumberFormatException numberFormatException) {
  512. s.setExtravalue(0d);
  513. }
  514. s.save();
  515. labeledCombobox3.triggerSearch();
  516. }
  517. dataOwner.setDescription(jTextPane1.getText());
  518. try {
  519. dataOwner.setExtravalue(Double.valueOf(labeledTextField1.getText()));
  520. } catch (NumberFormatException numberFormatException) {
  521. dataOwner.setExtravalue(0d);
  522. }
  523. dataOwner.setItemsids(i.__getIDS());
  524. dataOwner.setStagesids(s.__getIDS());
  525. dataOwner.setCname(s + "@" + i);
  526. dataOwner.save();
  527. refresh(i);
  528. } catch (Exception ex) {
  529. Log.Debug(this, ex);
  530. }
  531. }
  532. private void refresh(Item bill) {
  533. if (bill != null) {
  534. DefaultListModel d = new DefaultListModel();
  535. List<Reminder> data = Reminder.getRemindersOf(bill);
  536. for (int i = 0; i < data.size(); i++) {
  537. Reminder reminder = data.get(i);
  538. d.addElement(reminder);
  539. }
  540. jList1.setModel(d);
  541. } else {
  542. jList1.setModel(new DefaultListModel());
  543. }
  544. }
  545. private void expose(Reminder r) {
  546. dataOwner = r;
  547. try {
  548. labeledCombobox1.setModel(Item.getObject(Context.getItem(), r.__getItemsids()));
  549. } catch (NodataFoundException ex) {
  550. }
  551. try {
  552. labeledCombobox2.setModel(Item.getObject(Context.getGroup(), r.__getGroupsids()));
  553. } catch (NodataFoundException ex) {
  554. }
  555. labeledTextField1.setText(r.__getExtravalue());
  556. jTextPane1.setText(r.__getDescription());
  557. }
  558. }