You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/05/29 09:03:00 UTC
svn commit: r1487344 - in /openmeetings/trunk/singlewebapp:
WebContent/WEB-INF/ src/org/apache/openmeetings/web/app/
src/org/apache/openmeetings/web/common/
src/org/apache/openmeetings/web/user/profile/
src/org/apache/openmeetings/web/user/record/
Author: solomax
Date: Wed May 29 07:03:00 2013
New Revision: 1487344
URL: http://svn.apache.org/r1487344
Log:
[OPENMEETINGS-615] add folder functionality is added;
static resources are added to wicket "ignore list";
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.java
Modified:
openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
Modified: openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml (original)
+++ openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml Wed May 29 07:03:00 2013
@@ -55,6 +55,10 @@
<param-name>configuration</param-name>
<param-value>@wicket.mode@</param-value>
</init-param>
+ <init-param>
+ <param-name>ignorePaths</param-name>
+ <param-value>conf,css,default,docs,images,js,persistence,public,screensharing,streams,upload,uploadtemp</param-value>
+ </init-param>
</filter>
<filter-mapping>
<filter-name>OpenmeetingsApplication</filter-name>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java Wed May 29 07:03:00 2013
@@ -40,7 +40,7 @@ import org.apache.wicket.RestartResponse
import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
-import org.apache.wicket.core.request.mapper.HomePageMapper;
+import org.apache.wicket.core.request.mapper.MountedMapper;
import org.apache.wicket.markup.MarkupFactory;
import org.apache.wicket.markup.MarkupParser;
import org.apache.wicket.markup.MarkupResourceStream;
@@ -48,7 +48,9 @@ import org.apache.wicket.markup.html.Web
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Url;
+import org.apache.wicket.request.component.IRequestablePage;
import org.apache.wicket.request.mapper.info.PageComponentInfo;
+import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
import org.apache.wicket.settings.IPageSettings;
import ro.fortsoft.wicket.dashboard.WidgetRegistry;
@@ -100,25 +102,35 @@ public class Application extends Authent
mountPage("swf", SwfPage.class);
mountPage("install", InstallWizardPage.class);
mountPage("signin", getSignInPageClass());
- mountPage("notinited", NotInitedPage.class);
mountResource("/recordings/mp4/${id}", new Mp4RecordingResourceReference());
mountResource("/recordings/ogg/${id}", new OggRecordingResourceReference());
- getRootRequestMapperAsCompound().add(new HomePageMapper(getHomePage()) {
- @Override
- protected void encodePageComponentInfo(Url url, PageComponentInfo info) {
- //Does nothing
- }
-
- @Override
- public Url mapHandler(IRequestHandler requestHandler) {
- if (requestHandler instanceof ListenerInterfaceRequestHandler) {
- return null;
- } else {
- return super.mapHandler(requestHandler);
- }
+ getRootRequestMapperAsCompound().add(new NoVersionMapper(getHomePage()));
+ getRootRequestMapperAsCompound().add(new NoVersionMapper("notinited", NotInitedPage.class));
+ }
+
+ private static class NoVersionMapper extends MountedMapper {
+ public NoVersionMapper(final Class<? extends IRequestablePage> pageClass) {
+ this("/", pageClass);
+ }
+
+ public NoVersionMapper(String mountPath, final Class<? extends IRequestablePage> pageClass) {
+ super(mountPath, pageClass, new PageParametersEncoder());
+ }
+
+ @Override
+ protected void encodePageComponentInfo(Url url, PageComponentInfo info) {
+ //Does nothing
+ }
+
+ @Override
+ public Url mapHandler(IRequestHandler requestHandler) {
+ if (requestHandler instanceof ListenerInterfaceRequestHandler) {
+ return null;
+ } else {
+ return super.mapHandler(requestHandler);
}
- });
+ }
}
public static OmAuthenticationStrategy getAuthenticationStrategy() {
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.html?rev=1487344&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.html Wed May 29 07:03:00 2013
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache 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.apache.org/licenses/LICENSE-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.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+ <form wicket:id="form">
+ <span style="padding-left: 20px; padding-right: 20px;"><wicket:ommessage key="572"/></span><input type="text" wicket:id="title"/>
+ <div wicket:id="feedback"></div>
+ </form>
+</wicket:panel>
+</html>
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.java?rev=1487344&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/AddFolderDialog.java Wed May 29 07:03:00 2013
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache 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.apache.org/licenses/LICENSE-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.apache.openmeetings.web.common;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.Model;
+
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
+public abstract class AddFolderDialog extends AbstractFormDialog<String> {
+ private static final long serialVersionUID = 1L;
+ private static final DialogButton add = new DialogButton(WebSession.getString(1261));
+ private static final DialogButton cancel = new DialogButton(WebSession.getString(219));
+ private final Form<String> form;
+ private final FeedbackPanel feedback = new FeedbackPanel("feedback");
+ private final String name;
+
+ public AddFolderDialog(String id) {
+ this(id, null);
+ }
+
+ public AddFolderDialog(String id, String name) {
+ super(id, WebSession.getString(1260), Model.of(name));
+ this.name = name;
+ form = new Form<String>("form", getModel()) {
+ private static final long serialVersionUID = 1L;
+ {
+ add(new RequiredTextField<String>("title", getModel()));
+ add(feedback.setOutputMarkupId(true));
+ }
+ };
+ add(form);
+ }
+
+ @Override
+ protected void onOpen(AjaxRequestTarget target) {
+ super.onOpen(target);
+
+ setModelObject(name);
+ getFeedbackMessages().clear();
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(add, cancel);
+ }
+
+ @Override
+ protected DialogButton getSubmitButton() {
+ return add;
+ }
+
+ @Override
+ public Form<String> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
+ }
+}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html Wed May 29 07:03:00 2013
@@ -29,7 +29,7 @@
<div class="email sent clickable" wicket:id="sent"><wicket:ommessage key="1223"/></div>
<div class="email trash clickable" wicket:id="trash"><wicket:ommessage key="1224"/></div>
<div class="email newdir clickable ui-widget-header ui-corner-all" wicket:id="newdir" wicket:ommessage="title:1259"><wicket:ommessage key="1258"/></div>
- <div>
+ <div wicket:id="folders">
<div wicket:id="folder"><div wicket:id="name"></div><div wicket:id="delete"></div></div>
</div>
</td>
@@ -65,5 +65,6 @@
</td>
</tr>
</table>
+ <div wicket:id="addFolder"></div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Wed May 29 07:03:00 2013
@@ -23,12 +23,14 @@ import static org.apache.openmeetings.we
import static org.apache.wicket.util.time.Duration.seconds;
import java.util.Iterator;
+import java.util.List;
import org.apache.openmeetings.data.user.dao.PrivateMessageFolderDao;
import org.apache.openmeetings.data.user.dao.PrivateMessagesDao;
import org.apache.openmeetings.persistence.beans.user.PrivateMessage;
import org.apache.openmeetings.persistence.beans.user.PrivateMessageFolder;
import org.apache.openmeetings.web.admin.SearchableDataView;
+import org.apache.openmeetings.web.common.AddFolderDialog;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
import org.apache.openmeetings.web.common.UserPanel;
import org.apache.openmeetings.web.data.DataViewContainer;
@@ -48,16 +50,31 @@ import org.apache.wicket.model.Model;
public class MessagesContactsPanel extends UserPanel {
private static final long serialVersionUID = 8098087441571734957L;
private final WebMarkupContainer container = new WebMarkupContainer("container");
+ private final WebMarkupContainer folders = new WebMarkupContainer("folders");
private final IModel<Long> unreadModel = Model.of(0L);
private final static long INBOX_FOLDER_ID = -1;
private final static long SENT_FOLDER_ID = -2;
private final static long TRASH_FOLDER_ID = -3;
private final IModel<Long> selectedModel = Model.of(INBOX_FOLDER_ID);
+ private final IModel<List<? extends PrivateMessageFolder>> foldersModel;
@SuppressWarnings("unchecked")
public MessagesContactsPanel(String id) {
super(id);
+ foldersModel = Model.ofList(getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE));
+ final AddFolderDialog addFolder = new AddFolderDialog("addFolder") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ PrivateMessageFolderDao fDao = getBean(PrivateMessageFolderDao.class);
+ fDao.addPrivateMessageFolder(getModelObject(), getUserId());
+ foldersModel.setObject(fDao.get(0, Integer.MAX_VALUE));
+ target.add(folders);
+ }
+ };
+ add(addFolder);
add(new WebMarkupContainer("new").add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@@ -97,9 +114,10 @@ public class MessagesContactsPanel exten
@Override
protected void onEvent(AjaxRequestTarget target) {
+ addFolder.open(target);
}
}));
- add(new ListView<PrivateMessageFolder>("folder", getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE)) {
+ add(folders.add(new ListView<PrivateMessageFolder>("folder", foldersModel) {
private static final long serialVersionUID = 1L;
@Override
@@ -107,7 +125,7 @@ public class MessagesContactsPanel exten
item.add(new Label("name", item.getModelObject().getFolderName()));
item.add(new WebMarkupContainer("delete"));
}
- });
+ }).setOutputMarkupId(true));
unreadModel.setObject(getBean(PrivateMessagesDao.class).count(getUserId(), null, false, false));
SearchableDataProvider<PrivateMessage> sdp = new SearchableDataProvider<PrivateMessage>(PrivateMessagesDao.class) {
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html Wed May 29 07:03:00 2013
@@ -84,5 +84,6 @@
</td>
</tr>
</table>
+ <div wicket:id="addFolder"></div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1487344&r1=1487343&r2=1487344&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java Wed May 29 07:03:00 2013
@@ -34,6 +34,7 @@ import org.apache.openmeetings.data.user
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
import org.apache.openmeetings.persistence.beans.flvrecord.FlvRecording;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.AddFolderDialog;
import org.apache.openmeetings.web.common.ConfirmableAjaxLink;
import org.apache.openmeetings.web.common.UserPanel;
import org.apache.openmeetings.web.util.AjaxDownload;
@@ -80,13 +81,13 @@ public class RecordingsPanel extends Use
super(id);
rm.getObject().setFlvRecordingId(-3);
rm.getObject().setOwnerId(getUserId());
- add(new WebMarkupContainer("create").add(new AjaxEventBehavior("onclick") {
- private static final long serialVersionUID = -110084769805785972L;
+ final AddFolderDialog addFolder = new AddFolderDialog("addFolder", WebSession.getString(712)) {
+ private static final long serialVersionUID = 1L;
@Override
- protected void onEvent(AjaxRequestTarget target) {
+ protected void onSubmit(AjaxRequestTarget target) {
FlvRecording f = new FlvRecording();
- f.setFileName(WebSession.getString(712));
+ f.setFileName(getModelObject());
f.setInsertedBy(getUserId());
f.setInserted(new Date());
f.setIsFolder(true);
@@ -99,6 +100,15 @@ public class RecordingsPanel extends Use
getBean(FlvRecordingDao.class).updateFlvRecording(f);
target.add(trees);
}
+ };
+ add(addFolder);
+ add(new WebMarkupContainer("create").add(new AjaxEventBehavior("onclick") {
+ private static final long serialVersionUID = -110084769805785972L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ addFolder.open(target);
+ }
}));
add(new WebMarkupContainer("refresh").add(new AjaxEventBehavior("onclick") {
private static final long serialVersionUID = -110084769805785972L;