/*
This file is part of OpenMyEWB.
OpenMyEWB is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenMyEWB is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenMyEWB. If not, see <http://www.gnu.org/licenses/>.
OpenMyEWB is Copyright 2005-2009 Nicolas Kruchten (nicolas@kruchten.com), Francis Kung, Engineers Without Borders Canada, Michael Trauttmansdorff, Jon Fishbein, David Kadish
*/
package ca.myewb.frame.forms;
import java.util.LinkedList;
import ca.myewb.frame.PostParamWrapper;
import ca.myewb.frame.forms.element.Element;
import ca.myewb.frame.forms.element.Text;
import ca.myewb.frame.forms.element.TextArea;
public class ReplyEditForm extends Form
{
public ReplyEditForm(String target, PostParamWrapper requestParams, boolean canSend, String shortname)
throws Exception
{
super(target, "preview reply");
Element elem = addTextArea("Body", "Body", requestParams.get("Body"),
true);
elem.setInstructionTemplate("formatting");
((TextArea)elem).makeTwoCols();
if(canSend)
{
addCheckbox("SendAsEmail", "Send as email?", requestParams.get("SendAsEmail"),
"check this box to email this reply to the [" + shortname + "] list");
}
elem = addFileChooser("File", "Attach file(s)",
requestParams.get("File"), false);
Text tagField = addText("Keywords", "Tags to add to this post",
requestParams.get("Keywords"), false);
tagField.setSize(350);
tagField.setInstructionTemplate("tags");
}
public boolean cleanAndValidate(boolean isClean)
{
LinkedList<Character> allowed = new LinkedList<Character>();
allowed.add(new Character(' '));
allowed.add(new Character('-'));
allowed.add(new Character(','));
isClean = (getElement("Keywords")).ensureAlphanumeric(allowed, true)
&& isClean;
return isClean;
}
}