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 2016/11/18 06:07:57 UTC
svn commit: r1770316 - in /openmeetings/application:
branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/
branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/
branches/3.1.x/openmeetings-we...
Author: solomax
Date: Fri Nov 18 06:07:57 2016
New Revision: 1770316
URL: http://svn.apache.org/viewvc?rev=1770316&view=rev
Log:
[OPENMEETINGS-1501] emails are now can be deleted
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/admin.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/admin.css
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/admin.css
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java Fri Nov 18 06:07:57 2016
@@ -35,12 +35,12 @@ import org.springframework.transaction.a
public class MailMessageDao implements IDataProviderDao<MailMessage> {
@PersistenceContext
private EntityManager em;
-
+
@Override
public MailMessage get(long id) {
return get(Long.valueOf(id));
}
-
+
@Override
public MailMessage get(Long id) {
return em.createNamedQuery("getMailMessageById", MailMessage.class).setParameter("id", id).getSingleResult();
@@ -56,7 +56,7 @@ public class MailMessageDao implements
return em.createNamedQuery("getMailMessagesByStatus", MailMessage.class).setParameter("status", status)
.setFirstResult(start).setMaxResults(count).getResultList();
}
-
+
private <T> TypedQuery<T> getQuery(boolean isCount, String search, String order, Class<T> clazz) {
StringBuilder sb = new StringBuilder("SELECT ");
sb.append(isCount ? "COUNT(m)" : "m")
@@ -73,7 +73,7 @@ public class MailMessageDao implements
}
return q;
}
-
+
@Override
public List<MailMessage> get(String search, int start, int count, String order) {
return getQuery(false, search, order, MailMessage.class).setFirstResult(start).setMaxResults(count).getResultList();
@@ -96,14 +96,14 @@ public class MailMessageDao implements
.setParameter("date", date)
.executeUpdate();
}
-
+
public void resetSendingStatus(Long id) {
em.createNamedQuery("resetMailStatusById")
.setParameter("noneStatus", Status.NONE)
.setParameter("id", id)
.executeUpdate();
}
-
+
@Override
public MailMessage update(MailMessage m, Long userId) {
if (m.getId() == null) {
@@ -118,6 +118,14 @@ public class MailMessageDao implements
@Override
public void delete(MailMessage m, Long userId) {
- em.remove(m);
+ if (m != null) {
+ delete(m.getId(), userId);
+ }
+ }
+
+ public void delete(Long id, Long userId) {
+ if (id != null) {
+ em.remove(get(id));
+ }
}
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java Fri Nov 18 06:07:57 2016
@@ -48,27 +48,24 @@ public class MailMessage implements IDat
private static final long serialVersionUID = 1L;
public enum Status {
- NONE
- , SENDING
- , ERROR
- , DONE
+ NONE, SENDING, ERROR, DONE
}
-
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
-
+
@Lob
@Column(name = "recipients")
private String recipients;
-
+
@Column(name = "replyTo")
private String replyTo;
-
+
@Column(name = "subject")
private String subject;
-
+
@Lob
@Column(name = "body")
private String body;
@@ -83,13 +80,13 @@ public class MailMessage implements IDat
@Column(name = "inserted")
private Calendar inserted;
-
+
@Column(name = "updated")
private Calendar updated;
-
+
@Column(name = "error_count", nullable = false)
private int errorCount = 0;
-
+
@Lob
@Column(name = "last_error")
private String lastError;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java Fri Nov 18 06:07:57 2016
@@ -20,12 +20,14 @@ package org.apache.openmeetings.web.admi
import static org.apache.openmeetings.util.OpenmeetingsVariables.WEB_DATE_PATTERN;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.wicket.datetime.markup.html.basic.DateLabel.forDatePattern;
import java.util.Date;
import org.apache.openmeetings.db.dao.basic.MailMessageDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
+import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -42,9 +44,12 @@ public class EmailForm extends Form<Mail
private final DateLabel updated;
private final Label status;
private final AjaxButton reset;
+ private ConfirmableAjaxBorder delBtn;
+ private final WebMarkupContainer list;
public EmailForm(String id, final WebMarkupContainer list, MailMessage m) {
super(id, new CompoundPropertyModel<>(m));
+ this.list = list;
add(status = new Label("status", Model.of("")));
add(new Label("subject"));
add(new Label("recipients"));
@@ -66,12 +71,34 @@ public class EmailForm extends Form<Mail
}
@Override
+ protected void onInitialize() {
+ super.onInitialize();
+ // add a cancel button that can be used to submit the form via ajax
+ delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), this) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ getBean(MailMessageDao.class).delete(getModelObject().getId(), getUserId());
+ setModelObject(new MailMessage());
+ target.add(list, EmailForm.this);
+ }
+ };
+ add(delBtn.setOutputMarkupId(true).setEnabled(false));
+ }
+
+ @Override
protected void onModelChanged() {
super.onModelChanged();
MailMessage m = getModelObject();
+ delBtn.setEnabled(m.getId() != null);
status.setDefaultModelObject(getString("admin.email.status." + m.getStatus().name()));
- inserted.setModelObject(m.getInserted().getTime());
- updated.setModelObject(m.getInserted().getTime());
+ inserted.setModelObject(m.getInserted() == null ? null : m.getInserted().getTime());
+ updated.setModelObject(m.getUpdated() == null ? null : m.getUpdated().getTime());
reset.setEnabled(m.getId() != null && MailMessage.Status.ERROR == m.getStatus());
}
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html Fri Nov 18 06:07:57 2016
@@ -9,7 +9,7 @@
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
@@ -46,6 +46,9 @@
</div>
<div class="adminPanelColumnForm">
<form wicket:id="form" class="adminForm">
+ <div class="formSaveBar ui-widget-header">
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
+ </div>
<div class="scrollcontent" id="adminForm">
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="admin.email.group.label" /></legend>
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/admin.css
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/admin.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/admin.css (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/admin.css Fri Nov 18 06:07:57 2016
@@ -277,6 +277,7 @@ table.adminListTable td div.four_column_
border: solid 1px #aacfe4;
width: 280px;
min-height: 20px;
+ white-space: initial;
}
.adminForm input {
border: solid 1px #aacfe4;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css Fri Nov 18 06:07:57 2016
@@ -19,7 +19,6 @@
/**** FIXME TODO need to be unified with other icons used ****/
div.formSaveBar {
- width: 100%;
height: 22px;
}
.addButton, .delButton {
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java Fri Nov 18 06:07:57 2016
@@ -35,12 +35,12 @@ import org.springframework.transaction.a
public class MailMessageDao implements IDataProviderDao<MailMessage> {
@PersistenceContext
private EntityManager em;
-
+
@Override
public MailMessage get(long id) {
return get(Long.valueOf(id));
}
-
+
@Override
public MailMessage get(Long id) {
return em.createNamedQuery("getMailMessageById", MailMessage.class).setParameter("id", id).getSingleResult();
@@ -56,7 +56,7 @@ public class MailMessageDao implements
return em.createNamedQuery("getMailMessagesByStatus", MailMessage.class).setParameter("status", status)
.setFirstResult(start).setMaxResults(count).getResultList();
}
-
+
private <T> TypedQuery<T> getQuery(boolean isCount, String search, String order, Class<T> clazz) {
StringBuilder sb = new StringBuilder("SELECT ");
sb.append(isCount ? "COUNT(m)" : "m")
@@ -73,7 +73,7 @@ public class MailMessageDao implements
}
return q;
}
-
+
@Override
public List<MailMessage> get(String search, int start, int count, String order) {
return getQuery(false, search, order, MailMessage.class).setFirstResult(start).setMaxResults(count).getResultList();
@@ -96,14 +96,14 @@ public class MailMessageDao implements
.setParameter("date", date)
.executeUpdate();
}
-
+
public void resetSendingStatus(Long id) {
em.createNamedQuery("resetMailStatusById")
.setParameter("noneStatus", Status.NONE)
.setParameter("id", id)
.executeUpdate();
}
-
+
@Override
public MailMessage update(MailMessage m, Long userId) {
if (m.getId() == null) {
@@ -118,6 +118,14 @@ public class MailMessageDao implements
@Override
public void delete(MailMessage m, Long userId) {
- em.remove(m);
+ if (m != null) {
+ delete(m.getId(), userId);
+ }
+ }
+
+ public void delete(Long id, Long userId) {
+ if (id != null) {
+ em.remove(get(id));
+ }
}
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java Fri Nov 18 06:07:57 2016
@@ -48,27 +48,24 @@ public class MailMessage implements IDat
private static final long serialVersionUID = 1L;
public enum Status {
- NONE
- , SENDING
- , ERROR
- , DONE
+ NONE, SENDING, ERROR, DONE
}
-
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
-
+
@Lob
@Column(name = "recipients")
private String recipients;
-
+
@Column(name = "replyTo")
private String replyTo;
-
+
@Column(name = "subject")
private String subject;
-
+
@Lob
@Column(name = "body")
private String body;
@@ -83,13 +80,13 @@ public class MailMessage implements IDat
@Column(name = "inserted")
private Calendar inserted;
-
+
@Column(name = "updated")
private Calendar updated;
-
+
@Column(name = "error_count", nullable = false)
private int errorCount = 0;
-
+
@Lob
@Column(name = "last_error")
private String lastError;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java Fri Nov 18 06:07:57 2016
@@ -20,12 +20,14 @@ package org.apache.openmeetings.web.admi
import static org.apache.openmeetings.util.OpenmeetingsVariables.WEB_DATE_PATTERN;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.wicket.datetime.markup.html.basic.DateLabel.forDatePattern;
import java.util.Date;
import org.apache.openmeetings.db.dao.basic.MailMessageDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
+import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -42,9 +44,12 @@ public class EmailForm extends Form<Mail
private final DateLabel updated;
private final Label status;
private final AjaxButton reset;
+ private ConfirmableAjaxBorder delBtn;
+ private final WebMarkupContainer list;
public EmailForm(String id, final WebMarkupContainer list, MailMessage m) {
super(id, new CompoundPropertyModel<>(m));
+ this.list = list;
add(status = new Label("status", Model.of("")));
add(new Label("subject"));
add(new Label("recipients"));
@@ -66,12 +71,34 @@ public class EmailForm extends Form<Mail
}
@Override
+ protected void onInitialize() {
+ super.onInitialize();
+ // add a cancel button that can be used to submit the form via ajax
+ delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), this) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ getBean(MailMessageDao.class).delete(getModelObject().getId(), getUserId());
+ setModelObject(new MailMessage());
+ target.add(list, EmailForm.this);
+ }
+ };
+ add(delBtn.setOutputMarkupId(true).setEnabled(false));
+ }
+
+ @Override
protected void onModelChanged() {
super.onModelChanged();
MailMessage m = getModelObject();
+ delBtn.setEnabled(m.getId() != null);
status.setDefaultModelObject(getString("admin.email.status." + m.getStatus().name()));
- inserted.setModelObject(m.getInserted().getTime());
- updated.setModelObject(m.getInserted().getTime());
+ inserted.setModelObject(m.getInserted() == null ? null : m.getInserted().getTime());
+ updated.setModelObject(m.getUpdated() == null ? null : m.getUpdated().getTime());
reset.setEnabled(m.getId() != null && MailMessage.Status.ERROR == m.getStatus());
}
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html Fri Nov 18 06:07:57 2016
@@ -9,7 +9,7 @@
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
@@ -46,6 +46,9 @@
</div>
<div class="adminPanelColumnForm">
<form wicket:id="form" class="adminForm">
+ <div class="formSaveBar ui-widget-header">
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
+ </div>
<div class="scrollcontent" id="adminForm">
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="admin.email.group.label" /></legend>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/admin.css
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/admin.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/admin.css (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/admin.css Fri Nov 18 06:07:57 2016
@@ -277,6 +277,7 @@ table.adminListTable td div.four_column_
border: solid 1px #aacfe4;
width: 280px;
min-height: 20px;
+ white-space: initial;
}
.adminForm input {
border: solid 1px #aacfe4;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css Fri Nov 18 06:07:57 2016
@@ -19,7 +19,6 @@
/**** FIXME TODO need to be unified with other icons used ****/
div.formSaveBar {
- width: 100%;
height: 22px;
}
.addButton, .delButton {
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/MailMessageDao.java Fri Nov 18 06:07:57 2016
@@ -35,12 +35,12 @@ import org.springframework.transaction.a
public class MailMessageDao implements IDataProviderDao<MailMessage> {
@PersistenceContext
private EntityManager em;
-
+
@Override
public MailMessage get(long id) {
return get(Long.valueOf(id));
}
-
+
@Override
public MailMessage get(Long id) {
return em.createNamedQuery("getMailMessageById", MailMessage.class).setParameter("id", id).getSingleResult();
@@ -56,7 +56,7 @@ public class MailMessageDao implements
return em.createNamedQuery("getMailMessagesByStatus", MailMessage.class).setParameter("status", status)
.setFirstResult(start).setMaxResults(count).getResultList();
}
-
+
private <T> TypedQuery<T> getQuery(boolean isCount, String search, String order, Class<T> clazz) {
StringBuilder sb = new StringBuilder("SELECT ");
sb.append(isCount ? "COUNT(m)" : "m")
@@ -73,7 +73,7 @@ public class MailMessageDao implements
}
return q;
}
-
+
@Override
public List<MailMessage> get(String search, int start, int count, String order) {
return getQuery(false, search, order, MailMessage.class).setFirstResult(start).setMaxResults(count).getResultList();
@@ -96,14 +96,14 @@ public class MailMessageDao implements
.setParameter("date", date)
.executeUpdate();
}
-
+
public void resetSendingStatus(Long id) {
em.createNamedQuery("resetMailStatusById")
.setParameter("noneStatus", Status.NONE)
.setParameter("id", id)
.executeUpdate();
}
-
+
@Override
public MailMessage update(MailMessage m, Long userId) {
if (m.getId() == null) {
@@ -118,6 +118,14 @@ public class MailMessageDao implements
@Override
public void delete(MailMessage m, Long userId) {
- em.remove(m);
+ if (m != null) {
+ delete(m.getId(), userId);
+ }
+ }
+
+ public void delete(Long id, Long userId) {
+ if (id != null) {
+ em.remove(get(id));
+ }
}
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/MailMessage.java Fri Nov 18 06:07:57 2016
@@ -48,27 +48,24 @@ public class MailMessage implements IDat
private static final long serialVersionUID = 1L;
public enum Status {
- NONE
- , SENDING
- , ERROR
- , DONE
+ NONE, SENDING, ERROR, DONE
}
-
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
-
+
@Lob
@Column(name = "recipients")
private String recipients;
-
+
@Column(name = "replyTo")
private String replyTo;
-
+
@Column(name = "subject")
private String subject;
-
+
@Lob
@Column(name = "body")
private String body;
@@ -83,13 +80,13 @@ public class MailMessage implements IDat
@Column(name = "inserted")
private Calendar inserted;
-
+
@Column(name = "updated")
private Calendar updated;
-
+
@Column(name = "error_count", nullable = false)
private int errorCount = 0;
-
+
@Lob
@Column(name = "last_error")
private String lastError;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailForm.java Fri Nov 18 06:07:57 2016
@@ -20,12 +20,14 @@ package org.apache.openmeetings.web.admi
import static org.apache.openmeetings.util.OpenmeetingsVariables.WEB_DATE_PATTERN;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.wicket.datetime.markup.html.basic.DateLabel.forDatePattern;
import java.util.Date;
import org.apache.openmeetings.db.dao.basic.MailMessageDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
+import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -42,9 +44,12 @@ public class EmailForm extends Form<Mail
private final DateLabel updated;
private final Label status;
private final AjaxButton reset;
+ private ConfirmableAjaxBorder delBtn;
+ private final WebMarkupContainer list;
public EmailForm(String id, final WebMarkupContainer list, MailMessage m) {
super(id, new CompoundPropertyModel<>(m));
+ this.list = list;
add(status = new Label("status", Model.of("")));
add(new Label("subject"));
add(new Label("recipients"));
@@ -66,12 +71,34 @@ public class EmailForm extends Form<Mail
}
@Override
+ protected void onInitialize() {
+ super.onInitialize();
+ // add a cancel button that can be used to submit the form via ajax
+ delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), this) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ getBean(MailMessageDao.class).delete(getModelObject().getId(), getUserId());
+ setModelObject(new MailMessage());
+ target.add(list, EmailForm.this);
+ }
+ };
+ add(delBtn.setOutputMarkupId(true).setEnabled(false));
+ }
+
+ @Override
protected void onModelChanged() {
super.onModelChanged();
MailMessage m = getModelObject();
+ delBtn.setEnabled(m.getId() != null);
status.setDefaultModelObject(getString("admin.email.status." + m.getStatus().name()));
- inserted.setModelObject(m.getInserted().getTime());
- updated.setModelObject(m.getInserted().getTime());
+ inserted.setModelObject(m.getInserted() == null ? null : m.getInserted().getTime());
+ updated.setModelObject(m.getUpdated() == null ? null : m.getUpdated().getTime());
reset.setEnabled(m.getId() != null && MailMessage.Status.ERROR == m.getStatus());
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html Fri Nov 18 06:07:57 2016
@@ -9,7 +9,7 @@
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
@@ -46,6 +46,9 @@
</div>
<div class="adminPanelColumnForm">
<form wicket:id="form" class="adminForm">
+ <div class="formSaveBar ui-widget-header">
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
+ </div>
<div class="scrollcontent" id="adminForm">
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="admin.email.group.label" /></legend>
Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/admin.css
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/admin.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/admin.css (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/admin.css Fri Nov 18 06:07:57 2016
@@ -277,6 +277,7 @@ table.adminListTable td div.four_column_
border: solid 1px #aacfe4;
width: 280px;
min-height: 20px;
+ white-space: initial;
}
.adminForm input {
border: solid 1px #aacfe4;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css?rev=1770316&r1=1770315&r2=1770316&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css Fri Nov 18 06:07:57 2016
@@ -19,7 +19,6 @@
/**** FIXME TODO need to be unified with other icons used ****/
div.formSaveBar {
- width: 100%;
height: 22px;
}
.addButton, .delButton {