- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 12 Oct 2009 16:02:53 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/action In directory hutz:/tmp/cvs-serv27228/src/org/w3c/unicorn/action Modified Files: LanguageAction.java Log Message: do not send a mail if nothing has changed (and display an error message) + changed subject in case of an anonymous submission Index: LanguageAction.java =================================================================== RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/action/LanguageAction.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- LanguageAction.java 12 Oct 2009 15:26:46 -0000 1.12 +++ LanguageAction.java 12 Oct 2009 16:02:51 -0000 1.13 @@ -92,7 +92,7 @@ PrintWriter writer = resp.getWriter(); String langParameter = req.getParameter(Property.get("UNICORN_PARAMETER_PREFIX") + "lang"); - if (langParameter == null) + if (langParameter == null || req.getAttribute("submitted") != null) Templates.write("language.vm", velocityContext, writer); else { if (Framework.getLanguageProperties().containsKey(langParameter)) { @@ -166,6 +166,7 @@ langProps = (Properties) languageProperties.get(languageParameter).clone(); StringBuilder changeLog = new StringBuilder(); + boolean changed = false; for (Object obj : req.getParameterMap().keySet()) { String paramKey = (String) obj; String key; @@ -175,6 +176,8 @@ key = paramKey.replace(languageParameter + "_", ""); if (!req.getParameter(paramKey).equals("") && !req.getParameter(paramKey).equals(langProps.getProperty(key))) { + changed = true; + changeLog.append("\n" + key + ":\n"); changeLog.append("\t + " + req.getParameter(paramKey) + "\n"); if (langProps.getProperty(key) != null) @@ -184,6 +187,13 @@ } } + if (!changed) { + MessageList messages = new MessageList(); + messages.add(new Message(Message.ERROR, "You haven't made any changes.")); + req.setAttribute("messages", messages); + doGet(req, resp); + } + ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(baos, "UTF-8"); langProps.store(osw, "Submitted by " + req.getParameter("translator_name") + " <" + req.getParameter("translator_mail") + ">"); @@ -206,14 +216,16 @@ MessageList messages = new MessageList(); messages.add(new Message(Message.INFO, "Thank you for your submission.")); req.setAttribute("messages", messages); - if (req.getParameterMap().containsKey("ucn_lang")) - req.getParameterMap().remove("ucn_lang"); + req.setAttribute("submitted", true); doGet(req, resp); - // From now on the response is committed, careful String[] recipients = {Property.getProps("mail.properties").getProperty("unicorn.mail.language.to"), req.getParameter("translator_mail")}; - String subject = "Unicorn - Translation in " + contextObjects.get("language") + " (submitted by " + req.getParameter("translator_name") + ")"; + String subject; + if (!"".equals(req.getParameter("translator_name"))) + subject = "Unicorn - Translation in " + contextObjects.get("language") + " (submitted by " + req.getParameter("translator_name") + ")"; + else + subject = "Unicorn - Translation in " + contextObjects.get("language") + " (anonymous submission)"; OutputFormater mainOutputFormater = new SimpleOutputFormater("language.mail", Property.get("DEFAULT_LANGUAGE"), "text/plain"); OutputFormater fileOutputFormater = new FileOutputFormater("language.properties", Property.get("DEFAULT_LANGUAGE"), "text/plain", languageParameter + ".properties");
Received on Monday, 12 October 2009 16:02:57 UTC