r31 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util
Author: kmorin Date: 2014-04-07 16:02:17 +0200 (Mon, 07 Apr 2014) New Revision: 31 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/31 Log: fixes #4665 [ECRAN] Transfert Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderService.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FolderTreeNode.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-04-07 14:02:17 UTC (rev 31) @@ -140,8 +140,7 @@ if (count == 0) { List<Client> clients; try { -// File clientFile = new File(ClassLoader.getSystemResource("fx_clients.csv").toURI()); - File clientFile = new File("/home/kmorin/Projects/faxToMail/faxtomail-service/src/main/resources/fx_clients.csv"); + File clientFile = new File(ClassLoader.getSystemResource("fx_clients.csv").toURI()); clients = getReferentielService().importClients(clientFile); } catch(Exception e) { @@ -235,15 +234,24 @@ int etatAttenteSize = etatAttentes.size(); + MailFolder chargesClientelle = folderDao.create(MailFolder.PROPERTY_NAME, "Chargés de clientèle"); + folders.add(chargesClientelle); + Collections.shuffle(etatAttentes); MailFolder cyrilFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Cyril", + MailFolder.PROPERTY_PARENT, chargesClientelle, MailFolder.PROPERTY_ETAT_ATTENTE, etatAttentes.subList(0, random.nextInt(etatAttenteSize - 8) + 2)); + chargesClientelle.addChildren(cyrilFolder); + int r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, cyrilFolder, cyril); } - MailFolder claireFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Claire"); + MailFolder claireFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Claire", + MailFolder.PROPERTY_PARENT, chargesClientelle); + chargesClientelle.addChildren(claireFolder); + r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, claireFolder, claire); @@ -251,36 +259,46 @@ Collections.shuffle(etatAttentes); MailFolder agatheFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Agathe", + MailFolder.PROPERTY_PARENT, chargesClientelle, MailFolder.PROPERTY_ETAT_ATTENTE, etatAttentes.subList(0, random.nextInt(etatAttenteSize - 8) + 2)); + chargesClientelle.addChildren(agatheFolder); + r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, agatheFolder, agathe); } - folders.add(folderDao.create(MailFolder.PROPERTY_NAME, "Chargés de clientèle", - MailFolder.PROPERTY_CHILDREN, Lists.newArrayList(cyrilFolder, claireFolder, agatheFolder))); + MailFolder sav = folderDao.create(MailFolder.PROPERTY_NAME, "SAV", + MailFolder.PROPERTY_ETAT_ATTENTE, etatAttentes.subList(0, random.nextInt(etatAttenteSize - 8) + 2)); + folders.add(sav); - MailFolder marcFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Marc"); + MailFolder marcFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Marc", + MailFolder.PROPERTY_PARENT, sav); + sav.addChildren(marcFolder); + r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, marcFolder, marc); } - MailFolder fredericFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Frédéric"); + MailFolder fredericFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Frédéric", + MailFolder.PROPERTY_PARENT, sav); + sav.addChildren(fredericFolder); + r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, fredericFolder, frederic); } - MailFolder jeanneFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Jeanne"); + MailFolder jeanneFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Jeanne", + MailFolder.PROPERTY_PARENT, sav); + sav.addChildren(jeanneFolder); + r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, jeanneFolder, jeanne); } Collections.shuffle(etatAttentes); - folders.add(folderDao.create(MailFolder.PROPERTY_NAME, "SAV", - MailFolder.PROPERTY_CHILDREN, Lists.newArrayList(marcFolder, fredericFolder, jeanneFolder), - MailFolder.PROPERTY_ETAT_ATTENTE, etatAttentes.subList(0, random.nextInt(etatAttenteSize - 8) + 2))); // companies CompanyTopiaDao companyTopiaDao = getPersistenceContext().getCompanyDao(); Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderService.java 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderService.java 2014-04-07 14:02:17 UTC (rev 31) @@ -88,8 +88,10 @@ Collection<MailFolder> result = new HashSet<>(); Collection<MailFolder> children = folder.getChildren(); - for (MailFolder child : children) { - result.addAll(getFoldersWithEtatAttente(child, parentEtatAttente, etatAttente)); + if (children != null) { + for (MailFolder child : children) { + result.addAll(getFoldersWithEtatAttente(child, parentEtatAttente, etatAttente)); + } } if (etatAttentes.contains(etatAttente)) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-04-07 14:02:17 UTC (rev 31) @@ -506,7 +506,9 @@ } public void setMailFolder(MailFolder mailFolder) { + Object oldValue = getMailFolder(); editObject.setMailFolder(mailFolder); + firePropertyChanged(Email.PROPERTY_MAIL_FOLDER, oldValue, mailFolder); } public Date getArchiveDate() { @@ -514,7 +516,9 @@ } public void setArchiveDate(Date archiveDate) { + Object oldValue = getArchiveDate(); editObject.setArchiveDate(archiveDate); + firePropertyChanged(Email.PROPERTY_ARCHIVE_DATE, oldValue, archiveDate); } public int getQuotationNb() { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUI.css 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUI.css 2014-04-07 14:02:17 UTC (rev 31) @@ -15,4 +15,5 @@ text: "faxtomail.chooseMailFolder.action.validate"; toolTipText: "faxtomail.chooseMailFolder.action.validate.tip"; _applicationAction: {com.franciaflex.faxtomail.ui.swing.actions.TransmitAction.class}; + enabled: { model.getMailFolder() != null }; } \ No newline at end of file Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUIHandler.java 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/MailFolderChooserUIHandler.java 2014-04-07 14:02:17 UTC (rev 31) @@ -18,10 +18,8 @@ import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; -import javax.swing.tree.TreeNode; import java.awt.*; import java.util.Collection; -import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -54,15 +52,26 @@ Map<MailFolder, DefaultMutableTreeNode> nodesByFolder = FaxToMailUIUtil.initFolderTree(getContext(), navigationTree, folders); + MailFolder currentFolder = getModel().getMailFolder(); + for (MailFolder folder : nodesByFolder.keySet()) { + DefaultMutableTreeNode node = nodesByFolder.get(folder); + if (node.getClass().isAssignableFrom(FolderTreeNode.class)) { + FolderTreeNode folderTreeNode = (FolderTreeNode) node; + folderTreeNode.setCanSelect(!currentFolder.equals(folder) && + (foldersWithEtatAttente.isEmpty() + || foldersWithEtatAttente.contains(folder))); + } + } + navigationTree.setCellRenderer(new DefaultTreeCellRenderer() { @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { Component component = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); - DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; - setEnabled(foldersWithEtatAttente.isEmpty() || foldersWithEtatAttente.contains(node.getUserObject())); + FolderTreeNode node = (FolderTreeNode) value; + setEnabled(node.isCanSelect()); return component; } @@ -73,6 +82,9 @@ public void valueChanged(TreeSelectionEvent e) { FolderTreeNode folderNode = (FolderTreeNode) e.getPath().getLastPathComponent(); MailFolder folder = folderNode.getMailFolder(); + if (!folderNode.isCanSelect()) { + folder = null; + } getModel().setMailFolder(folder); } }); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FolderTreeNode.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FolderTreeNode.java 2014-04-04 15:42:36 UTC (rev 30) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FolderTreeNode.java 2014-04-07 14:02:17 UTC (rev 31) @@ -33,6 +33,8 @@ */ public class FolderTreeNode extends DefaultMutableTreeNode { + protected boolean canSelect; + public FolderTreeNode(MailFolder folder) { super(folder); } @@ -41,6 +43,14 @@ return (MailFolder) userObject; } + public boolean isCanSelect() { + return canSelect; + } + + public void setCanSelect(boolean canSelect) { + this.canSelect = canSelect; + } + @Override public String toString() { MailFolder folder = (MailFolder) userObject;
participants (1)
-
kmorin@users.forge.codelutin.com