/** * Copyright (c) 2008-2012 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.sakaiproject.profile2.tool.pages.windows; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton; import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextArea; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.Model; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.spring.injection.annot.SpringBean; import org.sakaiproject.profile2.logic.ProfileLogic; import org.sakaiproject.profile2.logic.SakaiProxy; import org.sakaiproject.profile2.model.Message; import org.sakaiproject.profile2.tool.models.NewMessageModel; /** * ModalWindow panel used when we know who we want to send the message to, ie when link is clicked from a user's profile or connection list * Doesn't contain the AutoComplete Field as we already know who it is. */ public class QuickMessageTo extends Panel { private static final long serialVersionUID = 1L; @SpringBean(name="org.sakaiproject.profile2.logic.SakaiProxy") private SakaiProxy sakaiProxy; @SpringBean(name="org.sakaiproject.profile2.logic.ProfileLogic") private ProfileLogic profileLogic; public QuickMessageTo(String id, final ModalWindow window, final String uuidTo){ super(id); //window setup window.setTitle(new ResourceModel("title.message.compose")); //window.setInitialHeight(150); //window.setInitialWidth(500); window.setResizable(false); //current userId final String userId = sakaiProxy.getCurrentUserId(); //setup model NewMessageModel messageHelper = new NewMessageModel(); messageHelper.setTo(uuidTo); messageHelper.setFrom(userId); //setup form Form<Message> form = new Form<Message>("form"); //to label form.add(new Label("toLabel", new ResourceModel("message.to"))); //to label form.add(new Label("toContent", new Model<String>(sakaiProxy.getUserDisplayName(uuidTo)))); //subject form.add(new Label("subjectLabel", new ResourceModel("message.subject"))); TextField<String> subjectField = new TextField<String>("subjectField"); form.add(subjectField); //body form.add(new Label("messageLabel", new ResourceModel("message.message"))); final TextArea<String> messageField = new TextArea<String>("messageField"); messageField.setRequired(true); form.add(messageField); //send button IndicatingAjaxButton sendButton = new IndicatingAjaxButton("sendButton", form) { private static final long serialVersionUID = 1L; protected void onSubmit(AjaxRequestTarget target, Form form) { } protected void onError(AjaxRequestTarget target, Form form) { } }; form.add(sendButton); sendButton.setModel(new ResourceModel("button.message.send")); add(form); } }