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/10 17:39:32 UTC
svn commit: r1769164 - in /openmeetings/application:
branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/
branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/
branches/3.1.x/openmeetings-we...
Author: solomax
Date: Thu Nov 10 17:39:32 2016
New Revision: 1769164
URL: http://svn.apache.org/viewvc?rev=1769164&view=rev
Log:
[OPENMEETINGS-1488] some actions are filtered for group admins
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/forms.css
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/forms.css
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java Thu Nov 10 17:39:32 2016
@@ -79,11 +79,18 @@ public abstract class AdminBaseForm<T> e
protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
AdminBaseForm.this.onDeleteError(target, form);
}
-
- };
- add(savePanel);
+ @Override
+ protected boolean isNewBtnVisible() {
+ return AdminBaseForm.this.isNewBtnVisible();
+ }
+ @Override
+ protected boolean isDelBtnVisible() {
+ return AdminBaseForm.this.isDelBtnVisible();
+ }
+ };
+ add(savePanel);
}
/**
@@ -92,7 +99,7 @@ public abstract class AdminBaseForm<T> e
public void hideNewRecord() {
savePanel.hideNewRecord();
}
-
+
/**
* @see AdminBaseForm#showNewRecord()
*/
@@ -100,6 +107,13 @@ public abstract class AdminBaseForm<T> e
savePanel.showNewRecord();
}
+ protected boolean isNewBtnVisible() {
+ return true;
+ }
+
+ protected boolean isDelBtnVisible() {
+ return true;
+ }
/**
* invoked when user press save button
*
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html Thu Nov 10 17:39:32 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
@@ -20,12 +20,8 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="formNewButton">
- <input type="submit" value="" wicket:id="ajax-new-button" wicket:message="title:155" />
- </div>
- <div class="formCancelButton">
- <div wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
- </div>
+ <div class="formNewButton" wicket:id="ajax-new-button" wicket:message="title:155"></div>
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
<span wicket:id="newRecord"></span>
</wicket:extend>
</html>
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java Thu Nov 10 17:39:32 2016
@@ -29,7 +29,7 @@ import org.apache.wicket.model.Model;
public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
private static final long serialVersionUID = 1L;
- private Label newRecord;
+ private final Label newRecord;
private final Form<T> form;
public AdminSavePanel(String id, final Form<T> form) {
@@ -38,9 +38,12 @@ public abstract class AdminSavePanel<T>
newRecord = new Label("newRecord", Model.of(Application.getString(344L)));
add(newRecord.setVisible(false).setOutputMarkupId(true));
-
- // add a new button that can be used to submit the form via ajax
- add(new AjaxButton("ajax-new-button", form) {
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ AjaxButton newBtn = new AjaxButton("ajax-new-button", form) {
private static final long serialVersionUID = 1L;
@Override
@@ -58,14 +61,9 @@ public abstract class AdminSavePanel<T>
target.add(feedback);
onNewError(target, form);
}
- });
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
+ };
// add a cancel button that can be used to submit the form via ajax
- add(new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
+ ConfirmableAjaxBorder delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
private static final long serialVersionUID = 1L;
@Override
@@ -83,9 +81,10 @@ public abstract class AdminSavePanel<T>
hideNewRecord();
onDeleteSubmit(target, form);
}
- });
+ };
+ add(newBtn.setVisible(isNewBtnVisible()), delBtn.setVisible(isDelBtnVisible()));
}
-
+
/**
* Hide the new record text
*/
@@ -93,7 +92,7 @@ public abstract class AdminSavePanel<T>
public void hideNewRecord() {
newRecord.setVisible(false);
}
-
+
/**
* Hide the new record text
*/
@@ -101,6 +100,9 @@ public abstract class AdminSavePanel<T>
newRecord.setVisible(true);
}
+ protected abstract boolean isNewBtnVisible();
+ protected abstract boolean isDelBtnVisible();
+
protected abstract void onNewSubmit(AjaxRequestTarget target, Form<?> form);
protected abstract void onNewError(AjaxRequestTarget target, Form<?> form);
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java Thu Nov 10 17:39:32 2016
@@ -19,7 +19,9 @@
package org.apache.openmeetings.web.admin.groups;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
import static org.apache.openmeetings.util.OmFileHelper.getGroupLogo;
import static org.apache.openmeetings.web.util.GroupLogoResourceReference.getUrl;
@@ -68,7 +70,7 @@ public class GroupForm extends AdminBase
super(id, new CompoundPropertyModel<Group>(group));
this.groupList = groupList;
setOutputMarkupId(true);
-
+
usersPanel = new GroupUsersPanel("users", getGroupId());
add(usersPanel);
@@ -114,8 +116,20 @@ public class GroupForm extends AdminBase
}
@Override
+ protected boolean isNewBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
+ protected boolean isDelBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
protected void onInitialize() {
super.onInitialize();
+ final boolean isGroupAdmin = hasGroupAdminLevel(getRights());
+ userToadd.setEnabled(!isGroupAdmin);
add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
add(new UploadableImagePanel("logo") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java Thu Nov 10 17:39:32 2016
@@ -92,7 +92,7 @@ public class GroupsPanel extends AdminPa
final Group g = item.getModelObject();
item.add(new Label("id"));
item.add(new Label("name"));
- if (isGroupAdmin && groupIds.contains(g.getId())) {
+ if (!isGroupAdmin || (isGroupAdmin && groupIds.contains(g.getId()))) {
item.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html Thu Nov 10 17:39:32 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
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=1769164&r1=1769163&r2=1769164&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 Thu Nov 10 17:39:32 2016
@@ -48,7 +48,7 @@ div.formSaveButton input {
.delButton {
background: url(images/forms/cancel_icon.png) no-repeat;
}
-div.formNewButton input {
+.formNewButton {
background: url(images/forms/plus_icon.png) no-repeat;
float: left;
cursor: pointer;
@@ -58,7 +58,7 @@ div.formNewButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formNewButton.disabled input {
+.formNewButton.disabled {
background: url(images/forms/plus_icon_disabled.png) no-repeat;
}
div.formRefreshButton input {
@@ -71,7 +71,7 @@ div.formRefreshButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formCancelButton>div {
+.formCancelButton {
background: url(images/forms/cancel_icon.png) no-repeat;
display: inline-block;
float: left;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java Thu Nov 10 17:39:32 2016
@@ -79,11 +79,18 @@ public abstract class AdminBaseForm<T> e
protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
AdminBaseForm.this.onDeleteError(target, form);
}
-
- };
- add(savePanel);
+ @Override
+ protected boolean isNewBtnVisible() {
+ return AdminBaseForm.this.isNewBtnVisible();
+ }
+ @Override
+ protected boolean isDelBtnVisible() {
+ return AdminBaseForm.this.isDelBtnVisible();
+ }
+ };
+ add(savePanel);
}
/**
@@ -92,7 +99,7 @@ public abstract class AdminBaseForm<T> e
public void hideNewRecord() {
savePanel.hideNewRecord();
}
-
+
/**
* @see AdminBaseForm#showNewRecord()
*/
@@ -100,6 +107,13 @@ public abstract class AdminBaseForm<T> e
savePanel.showNewRecord();
}
+ protected boolean isNewBtnVisible() {
+ return true;
+ }
+
+ protected boolean isDelBtnVisible() {
+ return true;
+ }
/**
* invoked when user press save button
*
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html Thu Nov 10 17:39:32 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
@@ -20,12 +20,8 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="formNewButton">
- <input type="submit" value="" wicket:id="ajax-new-button" wicket:message="title:155" />
- </div>
- <div class="formCancelButton">
- <div wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
- </div>
+ <div class="formNewButton" wicket:id="ajax-new-button" wicket:message="title:155"></div>
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
<span wicket:id="newRecord"></span>
</wicket:extend>
</html>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java Thu Nov 10 17:39:32 2016
@@ -29,7 +29,7 @@ import org.apache.wicket.model.Model;
public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
private static final long serialVersionUID = 1L;
- private Label newRecord;
+ private final Label newRecord;
private final Form<T> form;
public AdminSavePanel(String id, final Form<T> form) {
@@ -38,9 +38,12 @@ public abstract class AdminSavePanel<T>
newRecord = new Label("newRecord", Model.of(Application.getString(344L)));
add(newRecord.setVisible(false).setOutputMarkupId(true));
-
- // add a new button that can be used to submit the form via ajax
- add(new AjaxButton("ajax-new-button", form) {
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ AjaxButton newBtn = new AjaxButton("ajax-new-button", form) {
private static final long serialVersionUID = 1L;
@Override
@@ -58,14 +61,9 @@ public abstract class AdminSavePanel<T>
target.add(feedback);
onNewError(target, form);
}
- });
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
+ };
// add a cancel button that can be used to submit the form via ajax
- add(new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
+ ConfirmableAjaxBorder delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
private static final long serialVersionUID = 1L;
@Override
@@ -83,9 +81,10 @@ public abstract class AdminSavePanel<T>
hideNewRecord();
onDeleteSubmit(target, form);
}
- });
+ };
+ add(newBtn.setVisible(isNewBtnVisible()), delBtn.setVisible(isDelBtnVisible()));
}
-
+
/**
* Hide the new record text
*/
@@ -93,7 +92,7 @@ public abstract class AdminSavePanel<T>
public void hideNewRecord() {
newRecord.setVisible(false);
}
-
+
/**
* Hide the new record text
*/
@@ -101,6 +100,9 @@ public abstract class AdminSavePanel<T>
newRecord.setVisible(true);
}
+ protected abstract boolean isNewBtnVisible();
+ protected abstract boolean isDelBtnVisible();
+
protected abstract void onNewSubmit(AjaxRequestTarget target, Form<?> form);
protected abstract void onNewError(AjaxRequestTarget target, Form<?> form);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java Thu Nov 10 17:39:32 2016
@@ -19,7 +19,9 @@
package org.apache.openmeetings.web.admin.groups;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
import static org.apache.openmeetings.util.OmFileHelper.getGroupLogo;
import static org.apache.openmeetings.web.util.GroupLogoResourceReference.getUrl;
@@ -68,7 +70,7 @@ public class GroupForm extends AdminBase
super(id, new CompoundPropertyModel<Group>(group));
this.groupList = groupList;
setOutputMarkupId(true);
-
+
usersPanel = new GroupUsersPanel("users", getGroupId());
add(usersPanel);
@@ -114,8 +116,20 @@ public class GroupForm extends AdminBase
}
@Override
+ protected boolean isNewBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
+ protected boolean isDelBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
protected void onInitialize() {
super.onInitialize();
+ final boolean isGroupAdmin = hasGroupAdminLevel(getRights());
+ userToadd.setEnabled(!isGroupAdmin);
add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
add(new UploadableImagePanel("logo") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java Thu Nov 10 17:39:32 2016
@@ -92,7 +92,7 @@ public class GroupsPanel extends AdminPa
final Group g = item.getModelObject();
item.add(new Label("id"));
item.add(new Label("name"));
- if (isGroupAdmin && groupIds.contains(g.getId())) {
+ if (!isGroupAdmin || (isGroupAdmin && groupIds.contains(g.getId()))) {
item.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html Thu Nov 10 17:39:32 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
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=1769164&r1=1769163&r2=1769164&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 Thu Nov 10 17:39:32 2016
@@ -48,7 +48,7 @@ div.formSaveButton input {
.delButton {
background: url(images/forms/cancel_icon.png) no-repeat;
}
-div.formNewButton input {
+.formNewButton {
background: url(images/forms/plus_icon.png) no-repeat;
float: left;
cursor: pointer;
@@ -58,7 +58,7 @@ div.formNewButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formNewButton.disabled input {
+.formNewButton.disabled {
background: url(images/forms/plus_icon_disabled.png) no-repeat;
}
div.formRefreshButton input {
@@ -71,7 +71,7 @@ div.formRefreshButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formCancelButton>div {
+.formCancelButton {
background: url(images/forms/cancel_icon.png) no-repeat;
display: inline-block;
float: left;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java Thu Nov 10 17:39:32 2016
@@ -79,11 +79,18 @@ public abstract class AdminBaseForm<T> e
protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
AdminBaseForm.this.onDeleteError(target, form);
}
-
- };
- add(savePanel);
+ @Override
+ protected boolean isNewBtnVisible() {
+ return AdminBaseForm.this.isNewBtnVisible();
+ }
+ @Override
+ protected boolean isDelBtnVisible() {
+ return AdminBaseForm.this.isDelBtnVisible();
+ }
+ };
+ add(savePanel);
}
/**
@@ -92,7 +99,7 @@ public abstract class AdminBaseForm<T> e
public void hideNewRecord() {
savePanel.hideNewRecord();
}
-
+
/**
* @see AdminBaseForm#showNewRecord()
*/
@@ -100,6 +107,13 @@ public abstract class AdminBaseForm<T> e
savePanel.showNewRecord();
}
+ protected boolean isNewBtnVisible() {
+ return true;
+ }
+
+ protected boolean isDelBtnVisible() {
+ return true;
+ }
/**
* invoked when user press save button
*
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html Thu Nov 10 17:39:32 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
@@ -20,12 +20,8 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="formNewButton">
- <input type="submit" value="" wicket:id="ajax-new-button" wicket:message="title:155" />
- </div>
- <div class="formCancelButton">
- <div wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
- </div>
+ <div class="formNewButton" wicket:id="ajax-new-button" wicket:message="title:155"></div>
+ <div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
<span wicket:id="newRecord"></span>
</wicket:extend>
</html>
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java Thu Nov 10 17:39:32 2016
@@ -29,7 +29,7 @@ import org.apache.wicket.model.Model;
public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
private static final long serialVersionUID = 1L;
- private Label newRecord;
+ private final Label newRecord;
private final Form<T> form;
public AdminSavePanel(String id, final Form<T> form) {
@@ -38,9 +38,12 @@ public abstract class AdminSavePanel<T>
newRecord = new Label("newRecord", Model.of(Application.getString(344L)));
add(newRecord.setVisible(false).setOutputMarkupId(true));
-
- // add a new button that can be used to submit the form via ajax
- add(new AjaxButton("ajax-new-button", form) {
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ AjaxButton newBtn = new AjaxButton("ajax-new-button", form) {
private static final long serialVersionUID = 1L;
@Override
@@ -58,14 +61,9 @@ public abstract class AdminSavePanel<T>
target.add(feedback);
onNewError(target, form);
}
- });
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
+ };
// add a cancel button that can be used to submit the form via ajax
- add(new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
+ ConfirmableAjaxBorder delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), form) {
private static final long serialVersionUID = 1L;
@Override
@@ -83,9 +81,10 @@ public abstract class AdminSavePanel<T>
hideNewRecord();
onDeleteSubmit(target, form);
}
- });
+ };
+ add(newBtn.setVisible(isNewBtnVisible()), delBtn.setVisible(isDelBtnVisible()));
}
-
+
/**
* Hide the new record text
*/
@@ -93,7 +92,7 @@ public abstract class AdminSavePanel<T>
public void hideNewRecord() {
newRecord.setVisible(false);
}
-
+
/**
* Hide the new record text
*/
@@ -101,6 +100,9 @@ public abstract class AdminSavePanel<T>
newRecord.setVisible(true);
}
+ protected abstract boolean isNewBtnVisible();
+ protected abstract boolean isDelBtnVisible();
+
protected abstract void onNewSubmit(AjaxRequestTarget target, Form<?> form);
protected abstract void onNewError(AjaxRequestTarget target, Form<?> form);
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java Thu Nov 10 17:39:32 2016
@@ -19,7 +19,9 @@
package org.apache.openmeetings.web.admin.groups;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
import static org.apache.openmeetings.util.OmFileHelper.getGroupLogo;
import static org.apache.openmeetings.web.util.GroupLogoResourceReference.getUrl;
@@ -68,7 +70,7 @@ public class GroupForm extends AdminBase
super(id, new CompoundPropertyModel<Group>(group));
this.groupList = groupList;
setOutputMarkupId(true);
-
+
usersPanel = new GroupUsersPanel("users", getGroupId());
add(usersPanel);
@@ -114,8 +116,20 @@ public class GroupForm extends AdminBase
}
@Override
+ protected boolean isNewBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
+ protected boolean isDelBtnVisible() {
+ return !hasGroupAdminLevel(getRights());
+ }
+
+ @Override
protected void onInitialize() {
super.onInitialize();
+ final boolean isGroupAdmin = hasGroupAdminLevel(getRights());
+ userToadd.setEnabled(!isGroupAdmin);
add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
add(new UploadableImagePanel("logo") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java Thu Nov 10 17:39:32 2016
@@ -92,7 +92,7 @@ public class GroupsPanel extends AdminPa
final Group g = item.getModelObject();
item.add(new Label("id"));
item.add(new Label("name"));
- if (isGroupAdmin && groupIds.contains(g.getId())) {
+ if (!isGroupAdmin || (isGroupAdmin && groupIds.contains(g.getId()))) {
item.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html?rev=1769164&r1=1769163&r2=1769164&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html Thu Nov 10 17:39:32 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
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=1769164&r1=1769163&r2=1769164&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 Thu Nov 10 17:39:32 2016
@@ -48,7 +48,7 @@ div.formSaveButton input {
.delButton {
background: url(images/forms/cancel_icon.png) no-repeat;
}
-div.formNewButton input {
+.formNewButton {
background: url(images/forms/plus_icon.png) no-repeat;
float: left;
cursor: pointer;
@@ -58,7 +58,7 @@ div.formNewButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formNewButton.disabled input {
+.formNewButton.disabled {
background: url(images/forms/plus_icon_disabled.png) no-repeat;
}
div.formRefreshButton input {
@@ -71,7 +71,7 @@ div.formRefreshButton input {
margin-left: 2px;
margin-top: 2px;
}
-div.formCancelButton>div {
+.formCancelButton {
background: url(images/forms/cancel_icon.png) no-repeat;
display: inline-block;
float: left;