This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit b403cb0b63aed99cccc8b4ab55c3ed41d657e667
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Thu Apr 12 23:38:42 2018 +0700

    [OPENMEETINGS-1864] deleted users are somehow displayed
---
 .../apache/openmeetings/db/dao/user/UserDao.java   |  59 ++++++-----
 .../openmeetings/web/admin/AdminBaseForm.java      |  13 +++
 .../web/admin/configurations/ConfigForm.java       |   6 --
 .../openmeetings/web/admin/groups/GroupForm.java   |   5 -
 .../openmeetings/web/admin/ldaps/LdapForm.java     |   6 --
 .../openmeetings/web/admin/oauth/OAuthForm.java    |   6 --
 .../openmeetings/web/admin/rooms/RoomForm.java     |   6 --
 .../openmeetings/web/admin/users/UserForm.java     |  12 +--
 .../openmeetings/web/admin/users/UsersPanel.java   |   6 +-
 .../apache/openmeetings/web/app/Application.java   |   1 +
 .../web/data/SearchableGroupAdminDataProvider.java |   4 +-
 .../web/user/dashboard/StartWidgetView.java        |   4 +-
 openmeetings-web/src/main/webapp/css/admin.css     | 108 ++++++++-------------
 pom.xml                                            |   2 +-
 14 files changed, 103 insertions(+), 135 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
index 7a36806..fea0529 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
@@ -146,19 +146,47 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                }
        }
 
-       public List<User> get(String search, int start, int count, String sort, 
boolean filterContacts, Long currentUserId) {
+       private List<User> get(String search, Integer start, Integer count, 
String order, boolean filterContacts, Long currentUserId, boolean 
filterDeleted) {
                Map<String, Object> params = new HashMap<>();
-               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", 
getAdditionalJoin(filterContacts), search, true, true, false
-                               , getAdditionalWhere(filterContacts, 
currentUserId, params), sort, searchFields), User.class);
-               q.setFirstResult(start);
-               q.setMaxResults(count);
+               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", 
getAdditionalJoin(filterContacts), search, true, filterDeleted, false
+                               , getAdditionalWhere(filterContacts, 
currentUserId, params), order, searchFields), User.class);
+               if (start != null) {
+                       q.setFirstResult(start);
+               }
+               if (count != null) {
+                       q.setMaxResults(count);
+               }
                setAdditionalParams(q, params);
                return q.getResultList();
        }
 
+       //This is AdminDao method
+       public List<User> get(String search, boolean excludeContacts, int 
first, int count) {
+               Map<String, Object> params = new HashMap<>();
+               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", null, search, true, true, 
false
+                               , getAdditionalWhere(excludeContacts, params), 
null, searchFields), User.class);
+               setAdditionalParams(q, params);
+               q.setFirstResult(first);
+               q.setMaxResults(count);
+               return q.getResultList();
+       }
+
+       public List<User> get(String search, boolean filterContacts, Long 
currentUserId) {
+               return get(search, null, null, null, filterContacts, 
currentUserId, true);
+       }
+
+       public List<User> get(String search, int start, int count, String sort, 
boolean filterContacts, Long currentUserId) {
+               return get(search, start, count, sort, filterContacts, 
currentUserId, true);
+       }
+
+       @Override
+       public List<User> adminGet(String search, int start, int count, String 
order) {
+               return get(search, start, count, order, false, null, false);
+       }
+
        @Override
        public List<User> adminGet(String search, Long adminId, int start, int 
count, String order) {
-               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("GroupUser gu, IN(gu.user)", "u", null, 
search, true, true, false
+               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("GroupUser gu, IN(gu.user)", "u", null, 
search, true, false, false
                                , "gu.group.id IN (SELECT gu1.group.id FROM 
GroupUser gu1 WHERE gu1.moderator = true AND gu1.user.id = :adminId)", order, 
searchFields), User.class);
                q.setParameter("adminId", adminId);
                q.setFirstResult(start);
@@ -198,25 +226,6 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                return q.getSingleResult();
        }
 
-       //This is AdminDao method
-       public List<User> get(String search, boolean excludeContacts, int 
first, int count) {
-               Map<String, Object> params = new HashMap<>();
-               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", null, search, true, true, 
false
-                               , getAdditionalWhere(excludeContacts, params), 
null, searchFields), User.class);
-               setAdditionalParams(q, params);
-               q.setFirstResult(first);
-               q.setMaxResults(count);
-               return q.getResultList();
-       }
-
-       public List<User> get(String search, boolean filterContacts, Long 
currentUserId) {
-               Map<String, Object> params = new HashMap<>();
-               TypedQuery<User> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", 
getAdditionalJoin(filterContacts), search, true, true, false
-                               , getAdditionalWhere(filterContacts, 
currentUserId, params), null, searchFields), User.class);
-               setAdditionalParams(q, params);
-               return q.getResultList();
-       }
-
        @Override
        public User update(User u, Long userId) {
                if (u.getId() == null) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
index 3273d1f..ef850fb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
@@ -19,9 +19,11 @@
 package org.apache.openmeetings.web.admin;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.util.time.Duration;
 
 /**
  * provides basic functionality to insert, update, remove, refresh record in
@@ -34,6 +36,8 @@ import org.apache.wicket.model.IModel;
 public abstract class AdminBaseForm<T> extends Form<T> {
        private static final long serialVersionUID = 1L;
        private AdminSavePanel<T> savePanel;
+       protected final AjaxFormValidatingBehavior validationBehavior
+                       = new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND);
 
        public AdminBaseForm(String id, IModel<T> object) {
                super(id, object);
@@ -94,6 +98,15 @@ public abstract class AdminBaseForm<T> extends Form<T> {
                add(savePanel);
        }
 
+       @Override
+       protected void onInitialize() {
+               super.onInitialize();
+
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               add(validationBehavior);
+       }
+
        /**
         * @see AdminBaseForm#hideNewRecord()
         */
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
index 66d877c..7b1b132 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
@@ -29,7 +29,6 @@ import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.util.DateLabel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.CheckBox;
@@ -43,7 +42,6 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -81,10 +79,6 @@ public class ConfigForm extends AdminBaseForm<Configuration> 
{
                add(new Label("user.login"));
                add(new TextArea<String>("comment"));
                update(null);
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
        private void refresh(AjaxRequestTarget target) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
index a6a5701..388b958 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
@@ -38,7 +38,6 @@ import 
org.apache.openmeetings.web.admin.AdminUserChoiceProvider;
 import org.apache.openmeetings.web.common.UploadableImagePanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
@@ -49,7 +48,6 @@ import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
 import org.wicketstuff.select2.Select2Choice;
 
 public class GroupForm extends AdminBaseForm<Group> {
@@ -132,9 +130,6 @@ public class GroupForm extends AdminBaseForm<Group> {
                                }
                        }
                });
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
        static String formatUser(User choice) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
index 05ed843..a305eab 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
@@ -24,7 +24,6 @@ import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.util.DateLabel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.CheckBox;
@@ -35,7 +34,6 @@ import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
 
 /**
  * Form components to insert/update/delete {@link LdapConfig}
@@ -62,10 +60,6 @@ public class LdapForm extends AdminBaseForm<LdapConfig> {
                add(new CheckBox("addDomainToUserName"));
                add(new TextField<String>("domain"));
                add(new TextArea<String>("comment"));
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
        @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
index bb45bd8..0320683 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
@@ -28,7 +28,6 @@ import org.apache.openmeetings.db.entity.server.OAuthServer;
 import org.apache.openmeetings.db.entity.server.OAuthServer.RequestMethod;
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
@@ -39,7 +38,6 @@ import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
 
 public class OAuthForm extends AdminBaseForm<OAuthServer> {
        private static final long serialVersionUID = 1L;
@@ -55,10 +53,6 @@ public class OAuthForm extends AdminBaseForm<OAuthServer> {
 
                add(new CheckBox("isEnabled"));
                add(new DropDownChoice<>("requestTokenMethod", 
Arrays.asList(RequestMethod.values()), new 
ChoiceRenderer<RequestMethod>("name", "name")));
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
        @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index b225268..2801f7c 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@ -55,7 +55,6 @@ import org.apache.openmeetings.web.util.RoomTypeDropDown;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -75,7 +74,6 @@ import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.model.util.CollectionModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.string.Strings;
-import org.apache.wicket.util.time.Duration;
 import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2Choice;
@@ -421,10 +419,6 @@ public class RoomForm extends AdminBaseForm<Room> {
                                updateView(target);
                        }
                }.setOutputMarkupId(true));
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
        void updateClients(AjaxRequestTarget target) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index 880c411..fbd6e17 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@ -53,7 +53,6 @@ import org.apache.openmeetings.web.common.GeneralUserForm;
 import org.apache.openmeetings.web.util.DateLabel;
 import org.apache.openmeetings.web.util.RestrictiveChoiceProvider;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -69,7 +68,6 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.string.Strings;
-import org.apache.wicket.util.time.Duration;
 import org.danekja.java.util.function.serializable.SerializableConsumer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -174,16 +172,18 @@ public class UserForm extends AdminBaseForm<User> {
                        }
                }));
                add(new ComunityUserForm("comunity", getModel()));
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
                add(adminPass);
        }
 
        @Override
        protected void onModelChanged() {
                super.onModelChanged();
+               setEnabled(!getModelObject().isDeleted());
+               if (getModelObject().isDeleted()) {
+                       remove(validationBehavior);
+               } else {
+                       add(validationBehavior);
+               }
                password.setModelObject(null);
                generalForm.updateModelObject(getModelObject(), true);
                passValidator.setUser(getModelObject());
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
index 38794c2..d10f919 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
@@ -77,7 +77,11 @@ public class UsersPanel extends AdminBasePanel {
                                                form.update(target);
                                        }
                                });
-                               item.add(AttributeModifier.append(ATTR_CLASS, 
getRowClass(u.getId(), form.getModelObject().getId())));
+                               StringBuilder cl = getRowClass(u.getId(), 
form.getModelObject().getId());
+                               if (u.isDeleted()) {
+                                       cl.append(" deleted");
+                               }
+                               item.add(AttributeModifier.append(ATTR_CLASS, 
cl));
                        }
                };
                add(listContainer.add(dataView).setOutputMarkupId(true));
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 2c67458..9f5f530 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -269,6 +269,7 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
 
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(getHomePage()));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(NOTINIT_MAPPING, NotInitedPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("denied", AccessDeniedPage.class));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(HASH_MAPPING, HashPage.class));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(SIGNIN_MAPPING, getSignInPageClass()));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("oauth/${oauthid}", getSignInPageClass()));
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/data/SearchableGroupAdminDataProvider.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/data/SearchableGroupAdminDataProvider.java
index 9198c78..af12e51 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/data/SearchableGroupAdminDataProvider.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/data/SearchableGroupAdminDataProvider.java
@@ -43,13 +43,13 @@ public class SearchableGroupAdminDataProvider<T extends 
IDataProviderEntity> ext
        public Iterator<? extends T> iterator(long first, long count) {
                return (hasGroupAdminLevel(getRights())
                                ? getDao().adminGet(search, getUserId(), 
(int)first, (int)count, getSortStr())
-                               : getDao().get(search, (int)first, (int)count, 
getSortStr())).iterator();
+                               : getDao().adminGet(search, (int)first, 
(int)count, getSortStr())).iterator();
        }
 
        @Override
        public long size() {
                return hasGroupAdminLevel(getRights())
                                ? getDao().adminCount(search, getUserId())
-                               : getDao().count(search);
+                               : getDao().adminCount(search);
        }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
index 5d801de..f7caad7 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
@@ -22,6 +22,7 @@ import static 
org.apache.openmeetings.web.common.BasePanel.EVT_CLICK;
 import static org.apache.openmeetings.web.util.OmUrlFragment.CALENDAR;
 import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
 
+import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -46,7 +47,8 @@ public class StartWidgetView extends WidgetView {
                add(new WebMarkupContainer("step2").add(new 
PublicRoomsEventBehavior()));
                add(new WebMarkupContainer("step3").add(new 
PublicRoomsEventBehavior()));
                add(new WebMarkupContainer("step4").add(new 
PublicRoomsEventBehavior()));
-               add(new Label("123msg", 
getString("widget.start.desc")).setEscapeModelStrings(false));
+               add(new Label("123msg", 
Application.getString("widget.start.desc")) //Application here is used to 
substitute {0}
+                               .setEscapeModelStrings(false));
                add(new Button("start").add(new PublicRoomsEventBehavior()));
                add(new Button("calendar").add(new AjaxEventBehavior(EVT_CLICK) 
{
                        private static final long serialVersionUID = 1L;
diff --git a/openmeetings-web/src/main/webapp/css/admin.css 
b/openmeetings-web/src/main/webapp/css/admin.css
index 91323fb..a863b4e 100644
--- a/openmeetings-web/src/main/webapp/css/admin.css
+++ b/openmeetings-web/src/main/webapp/css/admin.css
@@ -28,168 +28,136 @@
        display: inline-block;
        vertical-align: top;
 }
-
-table.adminListTable {
+.adminListTable {
        max-width: 518px;
        min-width: 518px;
 }
-
-table.adminListTable tr:nth-child(odd), table.adminListTableSmall 
tr:nth-child(odd) {
+.adminListTable tr:nth-child(odd), .adminListTableSmall tr:nth-child(odd) {
        opacity: .8;
 }
-
-table.adminListTable tr:hover, table.adminListTableSmall tr:hover, 
.room-row:hover {
+.adminListTable tr.deleted {
+       background-image: repeating-linear-gradient(-45deg, transparent, 
transparent 5px, /* gap */ #cccccc 6px, /* overall width incluing gap */ 
#cccccc 6px);
+}
+.adminListTable tr:hover, .adminListTableSmall tr:hover, .room-row:hover {
        /*SHOULD BE MANUALLY IN SYNC WITH THEME .ui-state-hover */
        border: 1px solid #74b2e2;
-       background: #e4f1fb;
+       background-color: #e4f1fb;
        font-weight: normal;
        color: #0070a3;
 }
-
-table.adminListTable th.two_column_layout_column1 {
+.adminListTable th.two_column_layout_column1 {
        width: 136px;
 }
-
-table.adminListTable th.two_column_layout_column2 {
+.adminListTable th.two_column_layout_column2 {
        width: 354px;
 }
-
-table.adminListTable td.two_column_layout_column1 {
+.adminListTable td.two_column_layout_column1 {
        width: 136px;
 }
-
-table.adminListTable td.two_column_layout_column2 {
+.adminListTable td.two_column_layout_column2 {
        width: 354px;
 }
-
-table.adminListTable td div.two_column_layout_divcolumn1 {
+.adminListTable td div.two_column_layout_divcolumn1 {
        word-wrap: break-word;
        width: 136px;
 }
-
-table.adminListTable td div.two_column_layout_divcolumn2 {
+.adminListTable td div.two_column_layout_divcolumn2 {
        word-wrap: break-word;
        width: 354px;
 }
-
-table.adminListTable th.three_column_layout_column1 {
+.adminListTable th.three_column_layout_column1 {
        width: 96px;
 }
-
-table.adminListTable th.three_column_layout_column2 {
+.adminListTable th.three_column_layout_column2 {
        width: 150px;
 }
-
-table.adminListTable th.three_column_layout_column3 {
+.adminListTable th.three_column_layout_column3 {
        width: 244px;
 }
-
-.rooms table.adminListTable th.three_column_layout_column1 {
+.rooms .adminListTable th.three_column_layout_column1 {
        width: 46px;
 }
-
-.rooms table.adminListTable th.three_column_layout_column2 {
+.rooms .adminListTable th.three_column_layout_column2 {
        width: 370px;
 }
-
-.rooms table.adminListTable th.three_column_layout_column3 {
+.rooms .adminListTable th.three_column_layout_column3 {
        width: 74px;
 }
-
-table.adminListTableSmall th.three_column_layout_column1 {
+.adminListTableSmall th.three_column_layout_column1 {
        width: 50px;
 }
-
-table.adminListTableSmall th.three_column_layout_column2 {
+.adminListTableSmall th.three_column_layout_column2 {
        width: 50px;
 }
-
-table.adminListTableSmall th.three_column_layout_column3 {
+.adminListTableSmall th.three_column_layout_column3 {
        width: 218px;
 }
-table.adminListTableSmall th.three_column_layout_column4 {
+.adminListTableSmall th.three_column_layout_column4 {
        width: 150px;
 }
-table.adminListTableSmall th.three_column_layout_column5 {
+.adminListTableSmall th.three_column_layout_column5 {
        width: 50px;
 }
-
-table.adminListTable td.three_column_layout_column1 {
+.adminListTable td.three_column_layout_column1 {
        width: 96px;
 }
-
-table.adminListTable td.three_column_layout_column2 {
+.adminListTable td.three_column_layout_column2 {
        width: 150px;
 }
-
-table.adminListTable td.three_column_layout_column3 {
+.adminListTable td.three_column_layout_column3 {
        width: 244px;
 }
-
-table.adminListTableSmall td.three_column_layout_column1 {
+.adminListTableSmall td.three_column_layout_column1 {
        width: 50px;
 }
-
-table.adminListTableSmall td.three_column_layout_column2 {
+.adminListTableSmall td.three_column_layout_column2 {
        width: 50px;
 }
-
-table.adminListTableSmall td.three_column_layout_column3 {
+.adminListTableSmall td.three_column_layout_column3 {
        width: 218px;
 }
-table.adminListTableSmall td.three_column_layout_column4 {
+.adminListTableSmall td.three_column_layout_column4 {
        width: 150px;
 }
-table.adminListTableSmall td.three_column_layout_column5 {
+.adminListTableSmall td.three_column_layout_column5 {
        width: 50px;
 }
-
-table.adminListTable td div.three_column_layout_divcolumn1 {
+.adminListTable td div.three_column_layout_divcolumn1 {
        word-wrap: break-word;
        width: 96px;
 }
-
-table.adminListTable td div.three_column_layout_divcolumn2 {
+.adminListTable td div.three_column_layout_divcolumn2 {
        word-wrap: break-word;
        width: 150px;
 }
-
-table.adminListTable td div.three_column_layout_divcolumn3 {
+.adminListTable td div.three_column_layout_divcolumn3 {
        word-wrap: break-word;
        width: 244px;
 }
-
-.rooms table.adminListTable td div.three_column_layout_divcolumn1 {
+.rooms .adminListTable td div.three_column_layout_divcolumn1 {
        word-wrap: break-word;
        width: 44px;
 }
-
-.rooms table.adminListTable td div.three_column_layout_divcolumn2 {
+.rooms .adminListTable td div.three_column_layout_divcolumn2 {
        word-wrap: break-word;
        width: 382px;
 }
-
-.rooms table.adminListTable td div.three_column_layout_divcolumn3 {
+.rooms .adminListTable td div.three_column_layout_divcolumn3 {
        word-wrap: break-word;
        width: 74px;
 }
-
 table.adminListTableSmall td div.three_column_layout_divcolumn1 {
        width: 50px;
 }
-
 table.adminListTableSmall td div.three_column_layout_divcolumn2 {
        width: 50px;
 }
-
 table.adminListTableSmall td div.three_column_layout_divcolumn3 {
        width: 218px;
 }
-
 table.adminListTableSmall td div.three_column_layout_divcolumn4 {
        width: 150px;
 }
-
 table.adminListTableSmall td div.three_column_layout_divcolumn5 {
        width: 50px;
 }
diff --git a/pom.xml b/pom.xml
index db382dd..ad6e61d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
                <reflow-skin.version>1.3.6</reflow-skin.version>
                
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
                
<maven-project-info-reports-plugin.version>2.9</maven-project-info-reports-plugin.version>
-               <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
+               <maven-jar-plugin.version>3.1.0</maven-jar-plugin.version>
                
<maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
                
<maven-dependency-plugin.version>3.0.2</maven-dependency-plugin.version>
                <maven-bundle-plugin.version>3.5.0</maven-bundle-plugin.version>

-- 
To stop receiving notification emails like this one, please contact
solo...@apache.org.

Reply via email to