r2789 - in trunk/pollen-ui/src/main: java/org/chorem/pollen/ui/base java/org/chorem/pollen/ui/components java/org/chorem/pollen/ui/pages/poll java/org/chorem/pollen/ui/services java/org/chorem/pollen/ui/utils resources resources/org/chorem/pollen/ui/components webapp/poll
Author: fdesbois Date: 2009-11-04 16:26:08 +0100 (Wed, 04 Nov 2009) New Revision: 2789 Added: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ImageContextLink.java Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Image.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ImageDisplay.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollCreation.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/Configuration.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/ImageUtil.java trunk/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml trunk/pollen-ui/src/main/resources/pollen.properties trunk/pollen-ui/src/main/webapp/poll/ImageDisplay.tml trunk/pollen-ui/src/main/webapp/poll/PollCreation.tml trunk/pollen-ui/src/main/webapp/poll/Results.tml trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml Log: Ano #64 : - Add ContextLink to manage path from configuration - Change absolutepath in url by filename (image or feed) + context component - Change default config for upImgDir and feedDir Added: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java (rev 0) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -0,0 +1,33 @@ + +package org.chorem.pollen.ui.base; + +import java.io.File; + +/** + * ContextLink + * + * Created: 4 nov. 2009 + * + * ContextLink for Link components : HeaderLink, FileLink and Image + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public interface ContextLink { + + /** + * ContextPath for the link + * @return a String contextPath + */ + public String getContextPath(); + + /** + * Get a file from context with name defined by filename. + * @param filename name of the file to get + * @return a File with absolutePath corresponding to contextPath + filename + */ + public File getFile(String filename); +} Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -35,6 +35,7 @@ import org.chorem.pollen.business.dto.UserDTO; import org.chorem.pollen.business.services.ServiceAuth; import org.chorem.pollen.business.utils.MD5; +import org.chorem.pollen.ui.base.ContextLink; import org.chorem.pollen.ui.data.Lien; import org.chorem.pollen.ui.services.Configuration; @@ -67,7 +68,7 @@ @SuppressWarnings("unused") @Parameter(required = false, defaultPrefix = BindingConstants.LITERAL) @Property - private String feedUrl; + private String feedFilename; /** * Hierarchie de l'adresse @@ -161,6 +162,13 @@ @Inject private ServiceAuth serviceAuth; + @InjectComponent + private ContextLink feedContext; + + public ContextLink getFeedContext() { + return feedContext; + } + /** * Methode appelée lorsque l'utilisateur s'identifie. L'utilisateur est * retrouvé grâce au service d'authentification. @@ -230,10 +238,10 @@ * @return vrai si le fichier existe */ public boolean isFeedFileExisting() { - if (feedUrl == null) { + if (feedFilename == null) { return false; } - File feedFile = new File(feedUrl); + File feedFile = feedContext.getFile(feedFilename); return feedFile.exists() ? true : false; } Added: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java (rev 0) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -0,0 +1,36 @@ + +package org.chorem.pollen.ui.components; + +import org.chorem.pollen.ui.base.ContextLink; +import java.io.File; +import org.chorem.pollen.ui.base.*; +import org.apache.tapestry5.MarkupWriter; +import org.apache.tapestry5.ioc.annotations.Inject; +import org.chorem.pollen.ui.services.Configuration; + +/** + * FeedLink + * + * Created: 4 nov. 2009 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class FeedContextLink implements ContextLink { + + @Inject + private Configuration conf; + + @Override + public String getContextPath() { + return conf.getProperty(Configuration.FEED_DIR); + } + + @Override + public File getFile(String filename) { + return new File(getContextPath(), filename + ".xml"); + } +} Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -16,6 +16,7 @@ package org.chorem.pollen.ui.components; +import org.chorem.pollen.ui.base.ContextLink; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -28,6 +29,7 @@ import org.apache.tapestry5.Link; import org.apache.tapestry5.MarkupWriter; import org.apache.tapestry5.StreamResponse; +import org.apache.tapestry5.annotations.Log; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.corelib.base.AbstractLink; import org.apache.tapestry5.ioc.annotations.Inject; @@ -52,7 +54,7 @@ /** Chemin du fichier */ @Parameter(required = true) - private String _src; + private String _filename; /** Type MIME du fichier */ @Parameter @@ -64,8 +66,15 @@ @Inject private ComponentResources _resources; + /** + * Context to get the file + */ + @Parameter(required=true) + private ContextLink _context; + + @Log void beginRender(MarkupWriter writer) { - Link link = _resources.createEventLink("createLink", _src, _type); + Link link = _resources.createEventLink("createLink", _filename, _type); writeLink(writer, link); } @@ -74,12 +83,13 @@ } /** Affichage du fichier */ - public StreamResponse onCreateLink(final String src, String type) { - if (src == null || "".equals(src)) { + public StreamResponse onCreateLink(final String filename, String type) { + if (filename == null || "".equals(filename)) { return null; } - File file = new File(src); + //File file = new File(/*_context.getContextPath() + */filename/* + _context.getExtension()*/); + File file = _context.getFile(filename); FileInputStream stream = null; try { stream = new FileInputStream(file); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -30,6 +30,7 @@ import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.Response; +import org.chorem.pollen.ui.base.ContextLink; import org.slf4j.Logger; /** @@ -37,7 +38,7 @@ * * <pre> * Utilisation : - * <t:headlink rel="alternate" href="${feedUrl}" type="application/atom+xml" title="Pollen ATOM Feed" /> + * <t:headlink rel="alternate" href="${feedFilename}" type="application/atom+xml" title="Pollen ATOM Feed" /> * </pre> * * @author rannou @@ -46,6 +47,9 @@ public class HeadLink { /** Chemin du fichier */ + @Parameter(required = true) + private ContextLink _context; + @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL) private String _href; @@ -82,7 +86,7 @@ return null; } - File file = new File(href); + File file = _context.getFile(href); FileInputStream stream = null; try { stream = new FileInputStream(file); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Image.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Image.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Image.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -32,6 +32,7 @@ import org.apache.tapestry5.dom.Element; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.Response; +import org.chorem.pollen.ui.base.ContextLink; import org.slf4j.Logger; /** @@ -56,6 +57,9 @@ @Parameter(required = true) private String _src; + @Parameter(required = true) + private ContextLink _context; + /** Texte alternatif */ @Parameter private String _alt; @@ -93,7 +97,7 @@ return null; } - File file = new File(src); + File file = _context.getFile(src); FileInputStream stream = null; try { stream = new FileInputStream(file); Added: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ImageContextLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ImageContextLink.java (rev 0) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ImageContextLink.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -0,0 +1,68 @@ + +package org.chorem.pollen.ui.components; + +import java.io.File; +import org.apache.tapestry5.annotations.Parameter; +import org.apache.tapestry5.ioc.annotations.Inject; +import org.chorem.pollen.ui.base.ContextLink; +import org.chorem.pollen.ui.services.Configuration; + +/** + * ImageContextLink + * + * Created: 4 nov. 2009 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class ImageContextLink implements ContextLink { + + public static final String THUMB_PREFIX = "thumb_"; + + @Inject + private Configuration config; + + /** + * Directory for files getting or saving from this context + * (ie. subdirectory where images are uploaded, main directory is defined by contextPath) + */ + @Parameter + private String dir; + + /** + * true for thumbnails images prefixed by {@link Configuration.IMG_DIR} + */ + @Parameter + private boolean thumb; + + @Override + public String getContextPath() { + return config.getProperty(Configuration.IMG_DIR); + } + + @Override + public File getFile(String filename) { + if (thumb) { + filename = THUMB_PREFIX + filename; + } + return new File(getImageDir(), filename); + } + + /** + * Get the directory where are uploaded the images from the context. + * @return a File corresponding to the image directory + */ + public File getImageDir() { + File result = null; + if (dir != null && !dir.isEmpty()) { + result = new File(getContextPath(), dir); + } else { + result = new File(getContextPath()); + } + return result; + } + +} Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ImageDisplay.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ImageDisplay.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ImageDisplay.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -19,6 +19,7 @@ import java.io.File; import org.apache.tapestry5.BindingConstants; +import org.apache.tapestry5.annotations.InjectComponent; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.annotations.Persist; import org.apache.tapestry5.annotations.Property; @@ -26,6 +27,7 @@ import org.apache.tapestry5.ioc.annotations.Inject; import org.chorem.pollen.business.dto.ChoiceDTO; import org.chorem.pollen.business.dto.PollDTO; +import org.chorem.pollen.ui.components.ImageContextLink; import org.chorem.pollen.ui.data.Lien; import org.chorem.pollen.ui.services.Configuration; @@ -70,6 +72,13 @@ @Property private ChoiceDTO choice; + @InjectComponent + private ImageContextLink imgContext; + + public ImageContextLink getImgContext() { + return imgContext; + } + public PollDTO getPoll() { return poll; } @@ -97,13 +106,6 @@ this.pageStyle = pageStyle; } - /** Retourne le chemin de l'image correspondant au choix courant */ - public String getChoiceImageSrc() { - File dir = new File(conf.getProperty("upImgDir"), poll.getPollId()); - File file = new File(dir, choice.getName()); - return file.getAbsolutePath(); - } - /** * Initialisation de la page */ Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollCreation.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollCreation.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollCreation.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -63,7 +63,10 @@ import org.chorem.pollen.common.ChoiceType; import org.chorem.pollen.common.PollType; import org.chorem.pollen.common.VoteCountingType; +import org.chorem.pollen.ui.base.ContextLink; import org.chorem.pollen.ui.components.FeedBack; +import org.chorem.pollen.ui.components.FeedContextLink; +import org.chorem.pollen.ui.components.ImageContextLink; import org.chorem.pollen.ui.data.GenericSelectModel; import org.chorem.pollen.ui.data.Lien; import org.chorem.pollen.ui.data.PollHelper; @@ -307,6 +310,18 @@ private List<ImageChoiceUIO> imgTypeChoices; /** + * Contexte pour l'upload des images (parametres definis dans .tml) + */ + @InjectComponent + private ImageContextLink imgContext; + + /** + * Contexte pour la gestion du flux RSS + */ + @InjectComponent + private ContextLink feedContext; + + /** * Formulaire de création de sondage */ @Component(id = "pollCreationForm") @@ -812,8 +827,8 @@ // Création des images if (poll.getChoiceType() == ChoiceType.IMAGE) { - ImageUtil.saveImages(imgTypeChoices, new File(conf - .getProperty("upImgDir"), poll.getPollId())); + File dir = imgContext.getImageDir(); + ImageUtil.saveImages(imgTypeChoices, dir); } // Mise à jour du sondage @@ -830,8 +845,7 @@ PollAccountDTO creator = servicePollAccount.findPollAccountById(poll .getCreatorId()); String voteURL = siteURL + "poll/VoteFor/" + poll.getPollId(); - File feedFile = new File(conf.getProperty("feedDir"), poll.getPollId() - + ".xml"); + File feedFile = feedContext.getFile(poll.getPollId()); FeedUtil.createFeed(feedFile, "atom_1.0", messages.format( "pollFeed_title", poll.getTitle()), siteURL, messages.format( Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -16,7 +16,6 @@ package org.chorem.pollen.ui.pages.poll; -import java.io.File; import java.text.DateFormat; import java.util.ArrayList; import java.util.Collections; @@ -47,6 +46,7 @@ import org.chorem.pollen.common.PollType; import org.chorem.pollen.ui.components.Chart; import org.chorem.pollen.ui.components.FeedBack; +import org.chorem.pollen.ui.components.ImageContextLink; import org.chorem.pollen.ui.data.Lien; import org.chorem.pollen.ui.services.Configuration; import org.slf4j.Logger; @@ -153,6 +153,13 @@ @Inject private ServiceResults serviceResults; + @InjectComponent + private ImageContextLink imgContext; + + public ImageContextLink getImgContext() { + return imgContext; + } + /** Récupération de la liste des résultats pour le diagramme. */ public ArrayList<ArrayList<String>> getChoices() { ArrayList<ArrayList<String>> choices = new ArrayList<ArrayList<String>>(); @@ -310,13 +317,6 @@ return new Date(Long.valueOf(result.getName())); } - /** Retourne le chemin de la miniature correspondant au résultat courant */ - public String getResultThumbSrc() { - File dir = new File(conf.getProperty("upImgDir"), poll.getPollId()); - File file = new File(dir, "thumb_" + result.getName()); - return file.getAbsolutePath(); - } - /** Action réalisée lorsqu'on clique sur l'image */ Object onDisplayImage(String resultName) { String choiceId = ""; Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -66,7 +66,9 @@ import org.chorem.pollen.common.ChoiceType; import org.chorem.pollen.common.PollType; import org.chorem.pollen.common.VoteCountingType; +import org.chorem.pollen.ui.base.ContextLink; import org.chorem.pollen.ui.components.FeedBack; +import org.chorem.pollen.ui.components.ImageContextLink; import org.chorem.pollen.ui.data.EvenOdd; import org.chorem.pollen.ui.data.Lien; import org.chorem.pollen.ui.data.PollAction; @@ -259,6 +261,34 @@ @Inject private ServiceResults serviceResults; + /** + * Composant pour la gestion des flux RSS + */ + @InjectComponent + private ContextLink feedContext; + + /** + * Context to get feed of the current poll + * @return a FeedContext defined in .tml file + */ + public ContextLink getFeedContext() { + return feedContext; + } + + /** + * Composant pour la gestion des upload d'images + */ + @InjectComponent + private ImageContextLink imgContext; + + /** + * Context to get images for choices. + * @return an ImageContextLink defined in .tml file + */ + public ImageContextLink getImgContext() { + return imgContext; + } + /** Méthode appelée après la soumission du vote. */ @Log Object onSuccessFromVoteForm() { @@ -484,7 +514,7 @@ private void addFeedEntry(PollAction pollAction, String titleStr, String contentStr) { String voteURL = siteURL + "poll/VoteFor/" + poll.getPollId(); - File feedFile = new File(getFeedFileName()); + File feedFile = getFeedContext().getFile(poll.getPollId()); String title = null; String content = null; @@ -601,23 +631,17 @@ * * @return vrai si le fichier existe */ + @Log public boolean isFeedFileExisting() { - File feedFile = new File(getFeedFileName()); + File feedFile = getFeedContext().getFile(poll.getPollId()); + if (log.isDebugEnabled()) { + log.debug("feed context path : " + getFeedContext().getContextPath()); + log.debug("feed absolute path : " + feedFile.getAbsolutePath()); + } return feedFile.exists() ? true : false; } - + /** - * Retourne le nom complet du fichier de flux de syndication. - * - * @return le nom du fichier - */ - public String getFeedFileName() { - File feedFile = new File(conf.getProperty("feedDir"), poll.getPollId() - + ".xml"); - return feedFile.getAbsolutePath(); - } - - /** * Supprime le 0 final d'un nombre à virgule. Le résultat peut-être un * double : 1,0 -> 1 et 1,2 -> 1,2. * @@ -743,8 +767,8 @@ newImageChoice.setName(newImageChoice.getImg().getFileName() .replace(' ', '_')); poll.getChoiceDTOs().add(newImageChoice); - ImageUtil.saveImage(newImageChoice, new File(conf - .getProperty("upImgDir"), poll.getPollId())); + File imgFile = getImgContext().getImageDir(); // dir set in getImgContext() + ImageUtil.saveImage(newImageChoice, imgFile); choiceName = newImageChoice.getName(); choiceDesc = newImageChoice.getDescription(); } @@ -912,20 +936,6 @@ return new Date(Long.valueOf(choiceOfPoll.getName())); } - /** Retourne le chemin de l'image correspondant au choix courant */ - public String getChoiceImageSrc() { - File dir = new File(conf.getProperty("upImgDir"), poll.getPollId()); - File file = new File(dir, choiceOfPoll.getName()); - return file.getAbsolutePath(); - } - - /** Retourne le chemin de la miniature correspondant au choix courant */ - public String getChoiceThumbSrc() { - File dir = new File(conf.getProperty("upImgDir"), poll.getPollId()); - File file = new File(dir, "thumb_" + choiceOfPoll.getName()); - return file.getAbsolutePath(); - } - /** Action réalisée lorsqu'on clique sur l'image */ Object onDisplayImage(String choiceId) { imageDisplay.setPoll(poll); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/Configuration.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/Configuration.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/Configuration.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -27,6 +27,9 @@ */ public interface Configuration { + public static final String FEED_DIR = "feedDir"; + public static final String IMG_DIR = "upImgDir"; + /** * Retourne les propriétés. * Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/ImageUtil.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/ImageUtil.java 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/ImageUtil.java 2009-11-04 15:26:08 UTC (rev 2789) @@ -30,6 +30,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.pollen.ui.components.ImageContextLink; import org.chorem.pollen.ui.data.uio.ImageChoiceUIO; /** @@ -112,7 +113,7 @@ graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(image, 0, 0, width, height, null); - File thumbCopied = new File(dir, "thumb_" + img.getName()); + File thumbCopied = new File(dir, ImageContextLink.THUMB_PREFIX + img.getName()); try { ImageIO.write(thumbImage, "jpg", thumbCopied); } catch (IOException e) { Modified: trunk/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml =================================================================== --- trunk/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml 2009-11-04 15:26:08 UTC (rev 2789) @@ -4,8 +4,9 @@ <head> <title>${message:pollen}</title> <link rel="shortcut icon" type="image/x-icon" href="${asset:context:favicon.ico}" /> + <t:FeedContextLink t:id="feedContext" /> <t:if test="${feedFileExisting}"> - <t:headlink rel="alternate" type="application/atom+xml" href="${feedUrl}" /> + <t:headlink rel="alternate" type="application/atom+xml" href="${feedFilename}" t:context="feedContext" /> </t:if> <script type="text/javascript" src="${asset:context:js/pollen.js}" /> </head> Modified: trunk/pollen-ui/src/main/resources/pollen.properties =================================================================== --- trunk/pollen-ui/src/main/resources/pollen.properties 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/resources/pollen.properties 2009-11-04 15:26:08 UTC (rev 2789) @@ -31,7 +31,7 @@ adminEmail=admin@domain.com ## R\u00C3\u00A9pertoire des images transf\u00C3\u00A9r\u00C3\u00A9es -upImgDir=~/.pollen/uploadedImages +upImgDir=.pollen/uploadedImages ## Taille maximal des images transf\u00C3\u00A9r\u00C3\u00A9es (en octets) upload.filesize-max=1048576 @@ -43,7 +43,7 @@ email_from=bot@pollen.org ## R\u00C3\u00A9pertoire des flux de syndication (Atom) -feedDir=~/.pollen/feeds +feedDir=.pollen/feeds ## Adresse du site (utilis\u00C3\u00A9e pour les emails de rappel) siteUrl= Modified: trunk/pollen-ui/src/main/webapp/poll/ImageDisplay.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/poll/ImageDisplay.tml 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/webapp/poll/ImageDisplay.tml 2009-11-04 15:26:08 UTC (rev 2789) @@ -16,9 +16,9 @@ </div> <h3>${choice.name}</h3> - + <t:ImageContextLink t:id="imgContext" t:dir="poll.pollId"/> <div class="center"> - <t:image src="${choiceImageSrc}" alt="${choiceImageSrc}"/> + <t:image src="${choice.name}" alt="${choice.name}" t:context="imgContext"/> </div> <div class="center" style="margin-top: 10px;"> Modified: trunk/pollen-ui/src/main/webapp/poll/PollCreation.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/poll/PollCreation.tml 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/webapp/poll/PollCreation.tml 2009-11-04 15:26:08 UTC (rev 2789) @@ -221,6 +221,7 @@ <!-- Étape CHOICES - Formulaire différent car t:upload ne fonctionne pas en ajax --> <t:if test="inChoices"> + <t:FeedContextLink t:id="feedContext" /> <t:form t:id="choicesCreationForm"> <div id="choicesCreationFormDiv"> <div> @@ -259,6 +260,7 @@ </div> </t:formfragment> <t:formfragment t:id="imgChoiceFragment" visible="isImgChoices()"> + <t:ImageContextLink t:id="imgContext" t:dir="poll.pollId" /> <div t:type="loop" t:source="imgTypeChoices" t:value="imgTypeChoice" t:volatile="true"> <div class="fleft choiceName"> <t:label for="imgFile" /> Modified: trunk/pollen-ui/src/main/webapp/poll/Results.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/poll/Results.tml 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/webapp/poll/Results.tml 2009-11-04 15:26:08 UTC (rev 2789) @@ -44,9 +44,10 @@ <t:output value="resultNameAsDate" format="dateFormat"/> </t:if> <t:if test="imageType"> + <t:ImageContextLink t:id="imgContext" t:thumb="true" t:dir="poll.pollId" /> <span t:type="ck/Tooltip" value="${result.name}" effect="appear"> <t:eventlink event="displayImage" context="${result.name}"> - <t:image src="${resultThumbSrc}" alt="${result.name}" /> + <t:image src="${result.name}" alt="${result.name}" t:context="imgContext" /> </t:eventlink> </span> </t:if> Modified: trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2009-11-02 04:28:18 UTC (rev 2788) +++ trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2009-11-04 15:26:08 UTC (rev 2789) @@ -1,5 +1,5 @@ -<t:border t:address="address" t:pageLogo="literal:Vote" t:feedUrl="${feedFileName}" +<t:border t:address="address" t:pageLogo="literal:Vote" t:feedFilename="${poll.pollId}" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter"> <t:feedback t:id="feedback"/> @@ -19,8 +19,9 @@ <img src="${asset:context:img/count.png}" title="${message:results-help}" alt="${message:results}"/> </t:PageLink> </t:if> + <t:FeedContextLink t:id="feedContext" /> <t:if test="feedFileExisting"> - <t:FileLink src="${feedFileName}" type="literal:application/atom+xml"> + <t:FileLink filename="${poll.pollId}" type="literal:application/atom+xml" t:context="feedContext"> <img src="${asset:context:img/feed.png}" title="Atom" alt="Atom"/> </t:FileLink> </t:if> @@ -93,19 +94,20 @@ </t:loop> </t:if> <t:if test="imageType"> + <t:ImageContextLink t:id="imgContext" t:thumb="true" t:dir="poll.pollId"/> <t:loop t:source="poll.choiceDTOs" t:value="choiceOfPoll" volatile="true"> <t:unless test="isDescNull()"> <th class="desc"> <span t:type="ck/Tooltip" title="${message:description}" value="${choiceOfPoll.description}" effect="blind"> <t:eventlink event="displayImage" context="${choiceOfPoll.id}"> - <t:image src="${choiceThumbSrc}" alt="${choiceOfPoll.name}" /> + <t:image src="${choiceOfPoll.name}" alt="${choiceOfPoll.name}" t:context="imgContext"/> </t:eventlink> </span> </th> <p:else> <th> <t:eventlink event="displayImage" context="${choiceOfPoll.id}"> - <t:image src="${choiceThumbSrc}" alt="${choiceOfPoll.name}" /> + <t:image src="${choiceOfPoll.name}" alt="${choiceOfPoll.name}" t:context="imgContext"/> </t:eventlink> </th> </p:else>
participants (1)
-
fdesbois@users.chorem.org